/*
rev. 2025-07-04
copyright © 2025
*/
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */

/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */

/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */

/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */

/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */

/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */

/* ============================================ */

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */

/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */

/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */

/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */

/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */

/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea { /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */

[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */

/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */

/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

:root {
  --base-font-color: #333;
  --base-font-size: 10px;
  --base-line-height: 1.8;
  --border-color: #333;
  --content-width: 76.8rem;
  --wide-layout-width: 99.2rem;
  --font-family-body: Inter, Hiragino Sans, Hiragino Kaku Gothic ProN, Noto Sans JP, Meiryo, sans-serif;
  --font-family-heading: Helvetica, Inter, Hiragino Sans, Hiragino Kaku Gothic ProN, Noto Sans JP, Meiryo, sans-serif;
  --font-size-h1: 4em;
  --font-size-h2: 2.66667em;
  --font-size-h3: 2em;
  --font-size-h4: 1.6em;
  --font-size-h5: 1.33333em;
  --font-size-h6: 1.14286em;
  --z-index-btn-sticky: 5;
  --z-index-header: 100;
  --z-index-header-cart: 11;
  --z-index-header-my-page: 11;
  --z-index-header-search: 13;
  --z-index-modal: 15;
  font-size: var(--base-font-size);
}

/* --- library --- */

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}

@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}

@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}

@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}

.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/**
 * Swiper 11.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 2, 2025
 */

/* FONT_START */

@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}

/* FONT_END */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */

/* 3D Shadows */

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Slide styles end */

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size)/44*27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size)/2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* stylelint-disable selector-max-universal -- this is universal selector rules */

*, *::before, *::after {
  box-sizing: border-box;
}

/* stylelint-enable selector-max-universal */

body {
  padding: 0;
  margin: 0;
  font-family: var(--font-family-body);
  font-size: 1rem;
  line-height: var(--base-line-height);
  color: var(--base-font-color);
  /* stylelint-disable-next-line selector-class-pattern */
}

body .swiper.swiper-horizontal {
  touch-action: auto;
}

button {
  border-radius: 0;
}

html[data-screen-locked=true] {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  overflow-y: scroll;
}

img {
  min-inline-size: 0;
  min-block-size: 0;
}

/* --- components --- */

.c-page-sub {
  block-size: auto;
  overflow: hidden;
}

.c-page-sub__header {
  position: relative;
  grid-area: header;
  padding-block-start: 70px;
}

@media (min-width: 768px) {
  .c-page-sub__header {
    padding-block-start: 87px;
  }
}

.c-page-sub__nav-global {
  grid-area: nav-global;
}

.c-page-sub__main {
  grid-area: main;
}

.c-page-sub__nav-sitemap {
  grid-area: nav-sitemap;
}

.c-page-sub__footer {
  grid-area: footer;
}

.c-page-sub__content {
  padding-inline: 2em;
}

.c-page-sub__title-page {
  max-inline-size: var(--wide-layout-width);
  margin-block-end: 1em;
  margin-inline: auto;
}

.c-page-sub__content-index {
  max-inline-size: var(--content-width);
  padding-block-end: 3.5294117647em;
  margin-inline: auto;
}

.c-page-sub__content-main {
  max-inline-size: var(--content-width);
  margin-inline: auto;
}

.c-page-sub__container {
  max-inline-size: 1312px;
  padding-inline: 32px;
  margin-inline: auto;
}

.c-nav-global {
  position: relative;
  margin-block-end: 1em;
  border-block-end: 1px solid var(--border-color);
}

.c-nav-global__body {
  margin-block: 0;
  margin-inline: auto;
}

.c-nav-global__list {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  padding: 0;
  margin: 0;
}

@media (max-width: 991px) {
  .c-nav-global__list {
    flex-wrap: wrap;
  }
}

@media (max-width: 991px) {
  .c-nav-global__list {
    display: block;
  }
}

.c-nav-global__item {
  display: block;
  flex: 1 1 auto;
}

.c-nav-global__item > a {
  display: block;
  color: inherit;
  text-align: center;
  text-decoration: none;
}

@media (max-width: 991px) {
  .c-nav-global__item > a {
    border-block-end: 1px solid var(--border-color);
  }
}

.c-nav-global__item > a > span {
  display: block;
  padding-block: 1em;
  padding-inline: 2em;
  border-inline-start: 1px solid var(--border-color);
}

@media (max-width: 991px) {
  .c-nav-global__item > a > span {
    border-inline-start: none;
  }
}

.c-nav-global__item:first-child > a > span {
  border: none;
}

@media (max-width: 991px) {
  .c-nav-global__item:last-child > a {
    border: none;
  }
}

.c-nav-global__sub-nav {
  position: absolute;
  inset-inline-start: 0;
  inline-size: 100%;
}

@media (max-width: 991px) {
  .c-nav-global__sub-nav {
    position: static;
  }
}

.c-nav-global__sub-nav > ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}

@media (max-width: 991px) {
  .c-nav-global__sub-nav > ul {
    display: block;
    padding: 0;
  }
}

.c-nav-global__sub-nav > ul > li {
  list-style: none;
}

@media (max-width: 991px) {
  .c-nav-global__sub-nav > ul > li {
    border-block-end: 1px solid var(--border-color);
  }
}

.c-nav-global__sub-nav > ul > li > a {
  display: block;
  inline-size: 100%;
  padding: 1em;
  color: inherit;
  text-decoration: none;
}

@media (max-width: 991px) {
  .c-nav-global__sub-nav > ul > li > a {
    text-align: center;
  }
}

.c-nav-global__sub-nav > ul > li > a:hover {
  opacity: 0.7;
}

.c-nav-sitemap {
  padding-block: 2em;
  padding-inline: 0;
}

@media (max-width: 575px) {
  .c-nav-sitemap {
    padding: 0;
  }
}

.c-nav-sitemap ul[data-sitemap-level="3"], .c-nav-sitemap ul[data-sitemap-level="2"], .c-nav-sitemap ul[data-sitemap-level="1"] {
  margin: 0;
}

.c-nav-sitemap li[data-sitemap-level="3"], .c-nav-sitemap li[data-sitemap-level="2"], .c-nav-sitemap li[data-sitemap-level="1"] {
  display: block;
  padding: 0;
  margin: 0;
}

.c-nav-sitemap a {
  display: block;
  padding-inline-start: 2em;
  color: inherit;
  text-decoration: none;
}

@media (max-width: 575px) {
  .c-nav-sitemap a {
    padding-block: 1em;
    padding-inline: 2em;
  }
}

.c-nav-sitemap__body {
  max-inline-size: var(--wide-layout-width);
  margin-block: 0;
  margin-inline: auto;
  overflow: hidden;
}

@media (max-width: 991px) {
  .c-nav-sitemap__body {
    max-inline-size: 100%;
  }
}

.c-nav-sitemap ul[data-sitemap-level="1"] {
  column-count: 4;
  padding: 0;
}

@media (max-width: 576px) {
  .c-nav-sitemap ul[data-sitemap-level="1"] {
    column-count: 1;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .c-nav-sitemap ul[data-sitemap-level="1"] {
    column-count: 2;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .c-nav-sitemap ul[data-sitemap-level="1"] {
    column-count: 3;
  }
}

.c-nav-sitemap li[data-sitemap-level="1"] {
  display: inline-block;
  inline-size: 100%;
  margin-block: 0 1em;
  margin-inline: 0;
  break-inside: avoid-column;
}

@media (max-width: 575px) {
  .c-nav-sitemap li[data-sitemap-level="1"] a {
    margin: 0;
    border-block-end: 2px solid var(--border-color);
  }
  .c-nav-sitemap li[data-sitemap-level="1"] a ::before {
    display: none;
    margin: 0;
  }
}

.c-nav-sitemap ul[data-sitemap-level="2"] {
  padding-inline-start: 1em;
}

@media (max-width: 575px) {
  .c-nav-sitemap ul[data-sitemap-level="2"] {
    padding: 0;
  }
}

.c-nav-sitemap li[data-sitemap-level="2"] {
  margin-block: 0 0.5em;
  margin-inline: 0;
}

@media (max-width: 575px) {
  .c-nav-sitemap li[data-sitemap-level="2"] {
    margin: 0;
  }
}

@media (max-width: 575px) {
  .c-nav-sitemap li[data-sitemap-level="2"] a {
    padding-block: 1em;
    padding-inline: 2em;
    border-block-end: 1px solid var(--border-color);
  }
}

@media (max-width: 575px) {
  .c-nav-sitemap li[data-sitemap-level="2"] a::before {
    display: none;
    margin: 0;
  }
}

.c-nav-sitemap ul[data-sitemap-level="3"] {
  padding-inline-start: 1em;
}

@media (max-width: 575px) {
  .c-nav-sitemap ul[data-sitemap-level="3"] {
    padding: 0;
  }
}

.c-nav-sitemap li[data-sitemap-level="3"] a::before {
  border: 1px solid var(--border-color);
}

@media (max-width: 575px) {
  .c-nav-sitemap li[data-sitemap-level="3"] a::before {
    display: none;
    margin: 0;
  }
}

.c-nav-breadcrumb {
  padding: 20px 48px;
  overflow-x: auto;
}

@media (max-width: 767px) {
  .c-nav-breadcrumb {
    padding-inline: 32px;
  }
}

.c-nav-breadcrumb__body {
  max-inline-size: 1248px;
  margin: 0 auto;
}

.c-nav-breadcrumb ol {
  display: inline-flex;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.c-nav-breadcrumb ol > li {
  font-size: 1.3rem;
  line-height: 18.2px;
  letter-spacing: 0.26px;
  list-style: none;
}

@media (max-width: 767px) {
  .c-nav-breadcrumb ol > li {
    font-size: 1.1rem;
    font-feature-settings: "palt" on;
    line-height: 15.4px;
    letter-spacing: 0.5px;
  }
}

.c-nav-breadcrumb ol > li:last-child {
  padding-inline-end: 24px;
}

@media (max-width: 767px) {
  .c-nav-breadcrumb ol > li:last-child {
    padding-inline-end: 32px;
  }
}

.c-nav-breadcrumb ol > li:last-child a::after {
  display: none;
}

.c-nav-breadcrumb a {
  display: flex;
  align-items: center;
  color: #333;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-nav-breadcrumb a:hover {
    opacity: 0.8;
  }
}

.c-nav-breadcrumb a::after {
  display: inline-block;
  min-inline-size: 8px;
  min-block-size: 11px;
  margin-inline-start: 8px;
  content: "";
  background-image: url("../img/common/icon-arrow-right-01.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (max-width: 767px) {
  .c-nav-breadcrumb a::after {
    margin-block-end: 4px;
    margin-inline-start: 8px;
  }
}

.c-nav-breadcrumb__item {
  display: inline-block;
}

.c-nav-breadcrumb__item:not(:first-child) {
  margin-inline-start: 8px;
}

.c-nav-breadcrumb__item[data-breadcrumb=current] a {
  position: relative;
  z-index: -1;
  opacity: 0.5;
}

.c-title-page h1 {
  margin: 0;
  font-size: var(--font-size-h1);
  text-align: start;
  border: 1px solid transparent;
  border-radius: 5px;
}

.c-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11.7647058824em, 1fr));
  gap: 0.5em;
}

.c-card {
  position: relative;
  block-size: 100%;
  overflow: hidden;
  border: 1px solid var(--border-color);
  outline: 2px solid transparent;
  transition: outline 300ms;
}

.c-card:has(a:hover) {
  border: 1px solid var(--border-color);
  outline: 2px solid var(--border-color);
}

.c-card > a {
  block-size: 100%;
  color: currentcolor;
  text-decoration: none;
}

.c-card__img {
  inline-size: 100%;
}

.c-card__img img {
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center top;
}

.c-card__header {
  flex: 0 1 auto;
  padding-inline: 1em;
}

.c-card__body {
  flex: 0 1 100%;
  padding-block: 0.5em 2em;
  padding-inline: 1em;
}

.c-card__title {
  padding: 0;
  margin-block: 0;
  margin-inline: auto;
}

.c-card__time {
  display: none;
}

.c-card__tags ul {
  padding: 0;
  margin-block: 0;
  margin-inline: auto;
  list-style: none;
}

.c-card__tag-item {
  display: inline-block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-card__tag-item span {
  display: block;
  padding-block: 0.2em;
  padding-inline: 1em;
}

.c-card__author {
  display: none;
}

.c-card__description {
  padding: 0;
  margin: 0;
}

.c-card__description p {
  padding: 0;
  margin: 0;
}

.c-media-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em;
}

.c-media {
  position: relative;
  block-size: 100%;
  overflow: hidden;
  border: 1px solid var(--border-color);
  outline: 2px solid transparent;
  transition: outline 300ms;
}

.c-media:has(a:hover) {
  border: 1px solid var(--border-color);
  outline: 2px solid var(--border-color);
}

.c-media > a {
  display: grid;
  grid-template: "img header" auto "img body" auto/33.3333333333% 66.6666666667%;
  block-size: 100%;
  color: currentcolor;
  text-decoration: none;
}

.c-media__img {
  grid-area: img;
}

.c-media__img img {
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center top;
}

.c-media__header {
  flex: 0 1 auto;
  grid-area: header;
  padding-block: 0;
  padding-inline: 1.5em;
}

.c-media__body {
  flex: 0 1 100%;
  grid-area: body;
  padding-block: 0.5em 2em;
  padding-inline: 1.5em;
}

.c-media__title {
  padding: 0;
  margin-block: 0;
  margin-inline: auto;
}

.c-media__time {
  display: none;
}

.c-media__tags ul {
  padding: 0;
  margin-block: 0;
  margin-inline: auto;
  list-style: none;
}

.c-media__tag-item {
  display: inline-block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-media__tag-item span {
  display: block;
  padding-block: 0.2em;
  padding-inline: 1em;
}

.c-media__author {
  display: none;
}

.c-media__description {
  padding: 0;
  margin: 0;
}

.c-media__description p {
  padding: 0;
  margin: 0;
}

.c-content-index__body {
  margin-block: 0;
  margin-inline: auto;
}

.c-content-main :where(*) {
  text-underline-offset: 3px;
}

.c-content-main :where(h2, h3, h4, h5, h6, p) {
  margin-block-end: max(0.75em, 1rem);
}

.c-content-main :where(ul, ol, table, blockquote) {
  margin-block-end: 2em;
}

.c-content-main :where(h2) {
  font-size: var(--font-size-h2);
}

.c-content-main :where(h3) {
  font-size: var(--font-size-h3);
}

.c-content-main :where(h4) {
  font-size: var(--font-size-h4);
}

.c-content-main :where(h5) {
  font-size: var(--font-size-h5);
}

.c-content-main :where(h6) {
  font-size: var(--font-size-h6);
}

.c-content-main :where(ul, ol) {
  list-style-position: inside;
}

.c-content-main :where(blockquote) {
  padding-inline: 1em;
  border-inline-start: 3px solid var(--border-color);
}

.c-content-main :where(table) {
  inline-size: 100%;
  border-collapse: collapse;
}

.c-content-main :where(th, td) {
  padding: 1em;
  border: 1px solid var(--border-color);
}

.c-content-main .cc-form {
  margin: 0 auto;
}

.c-content-main .cc-form-fieldset {
  display: block;
  padding: 1em 2em;
}

.c-content-main .cc-form-fieldset fieldset {
  padding: 0;
  margin: 0;
  border: none;
}

.c-content-main .cc-form-fieldset legend {
  padding: 0;
  margin: 0;
}

.c-content-main .cc-form-fieldset-heading {
  display: flex;
  align-items: center;
  font-size: 1.125em;
  font-weight: bold;
}

.c-content-main .cc-form-fieldset-heading label {
  display: block;
  cursor: pointer;
}

.c-content-main .cc-form-fieldset-heading .required,
.c-content-main .cc-form-fieldset-heading .optional {
  display: block;
  margin: 0 0 0 0.5em;
  font-size: 0.6666666667em;
  line-height: 1;
  border-radius: 0.2em;
}

.c-content-main .cc-form-fieldset-attention {
  margin: 0.5em 0;
  font-size: 0.6666666667em;
  font-weight: normal;
}

.c-content-main .mail-field {
  padding: 0 0 1em;
  margin: 0 0 0 1em;
}

.c-content-main .mail-field:last-child {
  border-block-end: 1px solid var(--border-color);
}

.c-content-main .mail-field[data-type=text], .c-content-main .mail-field[data-type=select] {
  display: grid;
  grid-template: "before-attachment input after-attachment" auto "description description description" auto "error-message error-message error-message" auto/auto 1fr auto;
  grid-gap: 0;
}

.c-content-main .mail-field[data-type=text] > *, .c-content-main .mail-field[data-type=select] > * {
  place-self: center flex-start;
}

.c-content-main .mail-field[data-type=text] .mail-before-attachment, .c-content-main .mail-field[data-type=select] .mail-before-attachment {
  grid-area: before-attachment;
  margin: 0 1em 0 0;
}

.c-content-main .mail-field[data-type=text] .mail-before-attachment:empty, .c-content-main .mail-field[data-type=select] .mail-before-attachment:empty {
  margin: 0;
}

.c-content-main .mail-field[data-type=text] .mail-input, .c-content-main .mail-field[data-type=select] .mail-input {
  grid-area: input;
}

.c-content-main .mail-field[data-type=text] .mail-after-attachment, .c-content-main .mail-field[data-type=select] .mail-after-attachment {
  grid-area: after-attachment;
  margin: 0 0 0 1em;
}

.c-content-main .mail-field[data-type=text] .mail-after-attachment:empty, .c-content-main .mail-field[data-type=select] .mail-after-attachment:empty {
  margin: 0;
}

.c-content-main .mail-field[data-type=text] .mail-description, .c-content-main .mail-field[data-type=select] .mail-description {
  grid-area: description;
  font-size: 0.75em;
}

.c-content-main .mail-field[data-type=text] .error-message, .c-content-main .mail-field[data-type=select] .error-message {
  grid-area: error-message;
  font-size: 0.75em;
}

.c-content-main .mail-field .mail-before-attachment {
  font-weight: bold;
}

.c-content-main .mail-field .mail-input {
  display: block;
  grid-area: input;
  inline-size: 100%;
}

.c-content-main .mail-field .mail-input input:not([type=radio], [type=checkbox]),
.c-content-main .mail-field .mail-input textarea {
  inline-size: 100%;
  padding-inline: 0.5em;
  font-family: inherit;
  font-size: inherit;
  border: 1px solid var(--border-color);
  border-radius: 0.2em;
}

.c-content-main .mail-field .mail-input input:not([type=radio], [type=checkbox])[size],
.c-content-main .mail-field .mail-input textarea[size] {
  inline-size: auto;
}

.c-content-main .mail-field .mail-input input:not([type=radio], [type=checkbox])[type=file],
.c-content-main .mail-field .mail-input textarea[type=file] {
  padding-block: 0;
  padding-inline: 0 1em;
}

.c-content-main .mail-field .mail-input input:not([type=radio], [type=checkbox])[type=file]::-webkit-file-upload-button,
.c-content-main .mail-field .mail-input textarea[type=file]::-webkit-file-upload-button {
  appearance: none;
  border: none;
}

.c-content-main .mail-field .mail-input input:not([type=radio], [type=checkbox]):not([size]) {
  inline-size: 100%;
}

.c-content-main .mail-field .mail-input textarea:not([cols]) {
  inline-size: 100%;
}

.c-content-main .mail-field .mail-input select {
  padding: 0.5em calc(0.5em + 26px) 0.5em 0.5em;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg%20viewBox='0%200%20140%20140'%20width='24'%20height='24'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='m121.3,34.6c-1.6-1.6-4.2-1.6-5.8,0l-51,51.1-51.1-51.1c-1.6-1.6-4.2-1.6-5.8,0-1.6,1.6-1.6,4.2%200,5.8l53.9,53.9c0.8,0.8%201.8,1.2%202.9,1.2%201,0%202.1-0.4%202.9-1.2l53.9-53.9c1.7-1.6%201.7-4.2%200.1-5.8z'/%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.2em + 2px) top calc(50% + 2px);
  border: 1px solid var(--border-color);
  border-radius: 0.2em;
}

.c-content-main .mail-field .checkbox {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.c-content-main .mail-field .checkbox input {
  display: block;
  padding: 0;
  margin: 0;
  line-height: 1;
}

.c-content-main .mail-field .checkbox label {
  cursor: pointer;
}

.c-content-main .mail-field .mail-group-radio > span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.c-content-main .mail-field .mail-group-radio > span input {
  display: block;
  padding: 0;
  margin: 0 0.5em 0 0;
  line-height: 1;
}

.c-content-main .mail-field .mail-group-radio > span label {
  cursor: pointer;
}

.c-button-favorite {
  position: relative;
  display: inline-block;
  margin-block-start: 28px;
  transition: opacity 200ms ease-out;
}

@media (max-width: 767px) {
  .c-button-favorite {
    margin-block-start: 21px;
  }
}

@media (min-width: 768px) {
  .c-button-favorite:hover {
    opacity: 0.8;
  }
}

.c-button-favorite__standard, .c-button-favorite__checked {
  position: relative;
  display: flex;
  padding-inline-start: 20px;
  font-size: 1.4rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
  cursor: pointer;
}

@media (max-width: 767px) {
  .c-button-favorite__standard, .c-button-favorite__checked {
    font-size: 1.2rem;
  }
}

.c-button-favorite__standard::before, .c-button-favorite__checked::before {
  position: absolute;
  inset-block-start: 1px;
  inset-inline-start: -2px;
  inline-size: 18px;
  block-size: 19px;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 767px) {
  .c-button-favorite__standard::before, .c-button-favorite__checked::before {
    inset-block-start: -1px;
    inset-inline-start: -3px;
  }
}

.c-button-favorite__standard::before {
  background-image: url("../img/common/icon-favorite-01.svg");
}

.c-button-favorite__checked::before {
  background-image: url("../img/common/icon-check-01.svg");
}

.c-button-product .c-button-product__button-grey, .c-button-product .c-button-product__button-green {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  min-block-size: 70px;
  padding: 5px 10px;
  font-size: 1.8rem;
  font-weight: 600;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.12em;
  border-radius: 4px;
  transition: opacity 200ms ease-out;
}

@media (max-width: 767px) {
  .c-button-product .c-button-product__button-grey, .c-button-product .c-button-product__button-green {
    min-block-size: 52px;
    font-size: 1.6rem;
  }
}

@media (min-width: 768px) {
  .c-button-product .c-button-product__button-grey:hover, .c-button-product .c-button-product__button-green:hover {
    opacity: 0.8;
  }
}

.c-button-product__button-green {
  position: relative;
  cursor: pointer;
  background-color: #00a272;
}

.c-button-product__button-green::after {
  position: absolute;
  inset-block-start: calc(50% - 1px);
  inset-inline-end: 36px;
  inline-size: 21px;
  block-size: 21px;
  content: "";
  background: url("../img/common/icon-edit-02.svg") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-button-product__button-green:disabled, .c-button-product__button-green[tabindex="-1"] {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.6;
}

.c-button-product__button-green:disabled::after, .c-button-product__button-green[tabindex="-1"]::after {
  display: none;
}

.c-button-product__button-grey {
  pointer-events: none;
  background-color: #adadad;
}

@media (max-width: 767px) {
  .c-button-product__pc {
    display: none;
  }
}

@media (min-width: 768px) {
  .c-button-product__sp {
    display: none;
  }
}

.c-option-radio {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.c-option-radio__column, .c-option-radio__column-sm {
  position: relative;
}

.c-option-radio__column > input, .c-option-radio__column-sm > input {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  cursor: pointer;
}

@media (min-width: 768px) {
  .c-option-radio__column > input:hover + label, .c-option-radio__column-sm > input:hover + label {
    border-color: #5c5c5c;
  }
}

.c-option-radio__column > input:checked + label, .c-option-radio__column-sm > input:checked + label {
  color: #fff;
  background-color: #5c5c5c;
  border: 1px solid #5c5c5c;
}

@media (min-width: 768px) {
  .c-option-radio__column > input:checked:hover + label > span, .c-option-radio__column-sm > input:checked:hover + label > span {
    opacity: 0.8;
  }
}

.c-option-radio__column > label, .c-option-radio__column-sm > label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: 52px;
  padding: 11px 0;
  font-size: 1.8rem;
  font-weight: 600;
  font-feature-settings: "palt" on;
  line-height: 1.3888888889;
  text-align: center;
  letter-spacing: 0.12em;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #858585;
  border-radius: 4px;
  transition: all 200ms ease-out;
}

@media (max-width: 767px) {
  .c-option-radio__column > label, .c-option-radio__column-sm > label {
    padding: 13px 5px;
    font-size: 1.6rem;
    line-height: 1.375;
  }
}

.c-option-radio__column > label > span, .c-option-radio__column-sm > label > span {
  transition: opacity 200ms ease-out;
}

.c-option-radio__column {
  inline-size: calc(50% - 6px);
}

.c-option-radio__column-sm {
  inline-size: calc(20% - 9.6px);
}

@media (max-width: 767px) {
  .c-option-radio__column-sm {
    inline-size: calc(25% - 9px);
  }
}

.c-option-radio__sub {
  display: block;
  margin-block-start: 2px;
  font-size: 1.3rem;
  font-weight: normal;
  line-height: 1.3846153846;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-option-radio__sub {
    padding-block-end: 2px;
    font-size: 1.1rem;
    line-height: 1.3636363636;
  }
}

.c-tag-discount {
  display: grid;
  row-gap: 8px;
  margin-block-start: 20px;
}

@media (max-width: 767px) {
  .c-tag-discount {
    margin-block-start: 16px;
  }
}

.c-tag-discount__inner {
  display: inline-flex;
  flex-wrap: wrap;
  column-gap: 10px;
  padding: 4px 13px 4px 6px;
  font-size: 1.3rem;
  line-height: 1.3846153846;
  letter-spacing: 0.08em;
  background-color: #f5f5f5;
}

@media (max-width: 767px) {
  .c-tag-discount__inner {
    font-size: 1.1rem;
    line-height: 1.3636363636;
  }
}

.c-tag-discount__icon {
  flex: 0 0 auto;
}

.c-tag-discount__text {
  flex: 1 1 0;
}

@media (max-width: 767px) {
  .c-tag-discount__text {
    padding-block-start: 2px;
  }
}

.c-list-search-card__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 20px;
}

@media (max-width: 767px) {
  .c-list-search-card__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 1px;
  }
}

.c-list-search-card__pagination {
  padding: 32px 0;
  margin-block-start: 32px;
}

.c-search-pagination {
  display: flex;
  column-gap: 32px;
  align-self: center;
  justify-content: center;
  overflow: hidden;
  clear: both;
  text-align: center;
}

.c-search-pagination a {
  color: currentcolor;
  text-decoration: none;
  background: none;
}

.c-search-pagination__prev[aria-hidden=true], .c-search-pagination__next[aria-hidden=true] {
  display: none;
}

.c-search-pagination__prev a, .c-search-pagination__next a {
  position: relative;
  display: block;
  inline-size: 25px;
  block-size: 25px;
  background: url("../img/common/icon-right-arrow-02.svg?$staticlink$") no-repeat;
  background-size: contain;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-search-pagination__prev a:hover, .c-search-pagination__next a:hover {
    opacity: 0.8;
  }
}

.c-search-pagination__prev {
  order: 1;
}

.c-search-pagination__prev a {
  transform: rotate(180deg);
}

.c-search-pagination__next {
  order: 3;
}

.c-search-pagination__numbers {
  display: flex;
  column-gap: 32px;
  align-items: center;
  order: 2;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-search-pagination__number {
  display: block;
  list-style: none;
  /* stylelint-disable selector-class-pattern */
  /* stylelint-enable selector-class-pattern */
}

.c-search-pagination__number--current a {
  opacity: 1;
}

.c-search-pagination__number a {
  display: block;
  color: #333;
  opacity: 0.5;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-search-pagination__number a:hover {
    opacity: 1;
  }
}

.c-search-pagination__number a[aria-current=page] {
  opacity: 1;
}

.c-page-product-detail__main {
  display: flex;
  column-gap: 20px;
  max-inline-size: 1300px;
  padding: 0 48px 84px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .c-page-product-detail__main {
    display: block;
    padding: 0 32px 60px;
  }
}

.c-page-product-detail__sub {
  max-inline-size: 1300px;
  padding: 84px 26px 84px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .c-page-product-detail__sub {
    display: block;
    padding: 20px 32px 60px;
  }
}

.c-page-product-detail__slider {
  inline-size: 49.1987179487%;
}

@media (max-width: 767px) {
  .c-page-product-detail__slider {
    inline-size: 100%;
  }
}

.c-page-product-detail__content {
  flex: 1 1 auto;
  padding: 0 20px;
}

@media (max-width: 767px) {
  .c-page-product-detail__content {
    padding: 0;
  }
}

.c-page-product-detail__content-body {
  max-inline-size: 402px;
  padding-block-start: 48px;
  margin: 0 auto;
  /* stylelint-disable-next-line selector-nested-pattern */
  /* stylelint-disable-next-line selector-nested-pattern */
  /* stylelint-disable-next-line selector-nested-pattern */
}

@media (max-width: 767px) {
  .c-page-product-detail__content-body {
    max-inline-size: none;
    padding-block-start: 20px;
  }
}

.c-page-product-detail__content-body .c-price-text {
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-page-product-detail__content-body .c-price-text {
    margin-block-start: 24px;
  }
}

.c-page-product-detail__content-body .c-price-text__standard {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-family: Inter, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 2rem;
  line-height: 1.2;
}

.c-page-product-detail__content-body .c-price-text__standard > span {
  display: block;
}

.c-page-product-detail__content-body .c-price-text__standard .c-price-text__unit {
  align-self: flex-end;
  letter-spacing: 0.02em;
}

.c-page-product-detail__content-body .c-price-text__dash {
  padding: 0 4px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-page-product-detail__content-body .c-price-text__unit {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .c-page-product-detail__content-body .c-price-text__discount .c-price-text__unit {
    font-size: 1.2rem;
  }
}

.c-page-product-detail__content-body .c-price-text__discount-before-text {
  position: relative;
  display: inline-flex;
  column-gap: 4px;
  align-items: center;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.2;
  text-decoration: none;
}

@media (max-width: 767px) {
  .c-page-product-detail__content-body .c-price-text__discount-before-text {
    font-size: 1.3rem;
  }
}

.c-page-product-detail__content-body .c-price-text__discount-before-text::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  content: "";
  background-color: #333;
  transform: translateY(-50%);
}

.c-page-product-detail__content-body .c-price-text__discount-now-text {
  display: flex;
  column-gap: 2px;
  align-items: center;
  margin-block-start: 2px;
  font-size: 2rem;
  font-feature-settings: "palt" on;
  line-height: 1.2;
  color: #fb0020;
  text-decoration: none;
}

@media (max-width: 767px) {
  .c-page-product-detail__content-body .c-price-text__discount-now-text {
    column-gap: 12px;
    font-size: 1.8rem;
  }
}

.c-page-product-detail__content-body .c-button-product {
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-page-product-detail__content-body .c-button-product {
    margin-block-start: 24px;
  }
}

.c-page-product-detail__content-body .c-button-year-album {
  margin-block-start: 24px;
}

.c-page-product-detail__heading {
  font-size: 2.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-product-detail__heading {
    font-size: 2rem;
  }
}

.c-page-product-detail__heading > span {
  display: block;
}

.c-page-product-detail__title {
  --mb-pc: 24px;
  --mb-sp: 20px;
  --mt-sp: 0;
  --mt-pc: 0;
  margin-block: var(--mt-pc) var(--mb-pc);
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.5;
  color: #00a272;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .c-page-product-detail__title {
    margin-block: var(--mt-sp) var(--mb-sp);
    font-size: 1.6rem;
  }
}

.c-page-product-detail__btn-sticky {
  position: fixed;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-btn-sticky);
  inline-size: 100%;
  padding: 16px;
  background-color: #fff;
  transition: transform 200ms ease-in-out;
  transform: translateY(101%);
}

@media (min-width: 768px) {
  .c-page-product-detail__btn-sticky {
    display: none;
  }
}

.c-page-product-detail__btn-sticky[aria-hidden=false] {
  transform: translateY(0);
}

.c-page-product-detail__section, .c-page-product-detail__section-green, .c-page-product-detail__section-grey, .c-page-product-detail__section-grey-02, .c-page-product-detail__section-brown, .c-page-product-detail__section-fern, .c-page-product-detail__section-dark-green, .c-page-product-detail__section-blue, .c-page-product-detail__section-coral, .c-page-product-detail__section-orange, .c-page-product-detail__section-light-brown {
  --padding-block-pc: 60px;
  --padding-block-sp: 48px;
  position: relative;
  padding: var(--padding-block-pc) 48px;
  border-block-end: 1px solid #d6d6d6;
}

@media (max-width: 767px) {
  .c-page-product-detail__section, .c-page-product-detail__section-green, .c-page-product-detail__section-grey, .c-page-product-detail__section-grey-02, .c-page-product-detail__section-brown, .c-page-product-detail__section-fern, .c-page-product-detail__section-dark-green, .c-page-product-detail__section-blue, .c-page-product-detail__section-coral, .c-page-product-detail__section-orange, .c-page-product-detail__section-light-brown {
    padding: var(--padding-block-sp) 32px;
  }
}

.c-page-product-detail__section:last-of-type, .c-page-product-detail__section-green:last-of-type, .c-page-product-detail__section-grey:last-of-type, .c-page-product-detail__section-grey-02:last-of-type, .c-page-product-detail__section-brown:last-of-type, .c-page-product-detail__section-fern:last-of-type, .c-page-product-detail__section-dark-green:last-of-type, .c-page-product-detail__section-blue:last-of-type, .c-page-product-detail__section-coral:last-of-type, .c-page-product-detail__section-orange:last-of-type, .c-page-product-detail__section-light-brown:last-of-type {
  border-block-end: 0;
}

.c-page-product-detail__section:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-green:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-grey:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-grey-02:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-brown:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-fern:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-dark-green:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-blue:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-coral:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-orange:not(:has(.c-page-product-detail__section-normal))::before, .c-page-product-detail__section-light-brown:not(:has(.c-page-product-detail__section-normal))::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: url("../img/common/bg-section-01.png?$staticlink$") #fff repeat;
  background-blend-mode: multiply;
  opacity: 0.03;
}

.c-page-product-detail__section:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-green:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-grey:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-grey-02:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-brown:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-fern:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-dark-green:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-blue:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-coral:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-orange:has(.c-page-product-detail__section-normal), .c-page-product-detail__section-light-brown:has(.c-page-product-detail__section-normal) {
  border-block-start: 1px solid #d6d6d6;
}

.c-page-product-detail__section-green {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(65, 171, 177, 0.08);
}

.c-page-product-detail__section-grey {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(148, 148, 148, 0.08);
}

.c-page-product-detail__section-grey-02 {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(145, 144, 144, 0.08);
}

.c-page-product-detail__section-brown {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(89, 34, 2, 0.08);
}

.c-page-product-detail__section-fern {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(50, 130, 38, 0.08);
}

.c-page-product-detail__section-dark-green {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(127, 137, 79, 0.08);
}

.c-page-product-detail__section-light-brown {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(127, 73, 29, 0.08);
}

.c-page-product-detail__section-blue {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(95, 117, 158, 0.0784313725);
}

.c-page-product-detail__section-coral {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(181, 73, 65, 0.08);
}

.c-page-product-detail__section-orange {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(208, 123, 80, 0.08);
}

.c-page-product-detail__section-body, .c-page-product-detail__section-normal {
  position: relative;
  z-index: 1;
  max-inline-size: 1248px;
  margin: 0 auto;
}

.c-page-product-detail__section-body + .c-page-product-detail__section-body, .c-page-product-detail__section-body + .c-page-product-detail__section-normal, .c-page-product-detail__section-normal + .c-page-product-detail__section-body, .c-page-product-detail__section-normal + .c-page-product-detail__section-normal {
  --mt-pc: 84px;
  --mt-sp: 40px;
  margin-block-start: var(--mt-pc);
}

@media (max-width: 767px) {
  .c-page-product-detail__section-body + .c-page-product-detail__section-body, .c-page-product-detail__section-body + .c-page-product-detail__section-normal, .c-page-product-detail__section-normal + .c-page-product-detail__section-body, .c-page-product-detail__section-normal + .c-page-product-detail__section-normal {
    margin-block-start: var(--mt-sp);
  }
}

.c-page-product-detail__container {
  position: relative;
  z-index: 1;
  max-inline-size: 1440px;
  margin: 0 auto;
}

.c-page-product-detail__section-heading {
  --mt-sp: 0;
  --mt-pc: 0;
  --mb-sp: 24px;
  --mb-pc: 48px;
  margin-block: var(--mt-pc) var(--mb-pc);
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading {
    margin-block: var(--mt-sp) var(--mb-sp);
  }
}

.c-page-product-detail__section-heading-title, .c-page-product-detail__section-heading-title-large, .c-page-product-detail__section-heading-title-large-02 {
  font-size: 2rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading-title, .c-page-product-detail__section-heading-title-large, .c-page-product-detail__section-heading-title-large-02 {
    font-size: 1.8rem;
  }
}

.c-page-product-detail__section-heading-title-large {
  font-size: 2.4rem;
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading-title-large {
    font-size: 1.8rem;
  }
}

.c-page-product-detail__section-heading-title-large-02 {
  font-size: 2.4rem;
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading-title-large-02 {
    font-size: 2rem;
  }
}

.c-page-product-detail__section-heading-title-eng {
  font-family: Inter, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: 500;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 1.6px;
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading-title-eng {
    font-size: 1.8rem;
    letter-spacing: 1.44px;
  }
}

.c-page-product-detail__section-heading-text {
  margin-block-start: 12px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #5c5c5c;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading-text {
    font-size: 1.4rem;
    letter-spacing: 1.12px;
  }
}

.c-page-product-detail__section-heading-text a {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .c-page-product-detail__section-heading-text a:hover {
    text-decoration: none;
  }
}

.c-page-product-detail__section-heading-col {
  display: flex;
  column-gap: 30px;
  align-items: center;
}

@media (max-width: 767px) {
  .c-page-product-detail__section-heading-col {
    display: block;
  }
}

.c-page-product-detail__section-heading-col-text {
  flex: 1 1 auto;
}

.c-page-product-detail__link-arrow-heading > a, .c-page-product-detail__link-arrow-inner > a {
  position: relative;
  display: inline-block;
  padding-inline-end: 36px;
  font-family: "Vollkorn", Inter, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 1.5rem;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

.c-page-product-detail__link-arrow-heading > a::before, .c-page-product-detail__link-arrow-inner > a::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 27px;
  inline-size: 2px;
  block-size: 8px;
  content: "";
  background: url("../img/common/icon-colon-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-page-product-detail__link-arrow-heading > a::after, .c-page-product-detail__link-arrow-inner > a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0;
  inline-size: 19px;
  block-size: 19px;
  content: "";
  background: url("../img/common/icon-right-arrow-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-page-product-detail__link-arrow-heading {
  transition: opacity 200ms ease-out;
}

@media (max-width: 767px) {
  .c-page-product-detail__link-arrow-heading {
    display: none;
  }
}

.c-page-product-detail__link-arrow-heading:hover {
  opacity: 0.8;
}

.c-page-product-detail__link-arrow-inner {
  margin-block-start: 24px;
  text-align: end;
}

@media (min-width: 768px) {
  .c-page-product-detail__link-arrow-inner {
    display: none;
  }
}

.c-page-product-detail__image {
  --width-pc: 100%;
  --mb-sp: 24px;
  --mb-pc: 48px;
  display: flex;
  justify-content: center;
  margin-block-end: var(--mb-pc);
}

@media (max-width: 767px) {
  .c-page-product-detail__image {
    margin-block-end: var(--mb-sp);
    margin-inline: -32px;
  }
}

.c-page-product-detail__image picture {
  display: contents;
}

.c-page-product-detail__image img {
  inline-size: 100%;
  max-inline-size: var(--width-pc);
  block-size: auto;
}

@media (max-width: 767px) {
  .c-page-product-detail__image img {
    max-inline-size: 100%;
  }
}

.c-page-product-detail__print {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 32px;
}

@media (max-width: 767px) {
  .c-page-product-detail__print {
    grid-template-columns: 100%;
  }
}

.c-page-product-detail__print-green, .c-page-product-detail__print-grey {
  position: relative;
  padding-block: 24px;
}

.c-page-product-detail__print-green {
  border: 1px solid #00a272;
  border-radius: 4px;
}

.c-page-product-detail__print-green .c-page-product-detail__print-badge {
  color: #fff;
  background-color: #00a272;
}

.c-page-product-detail__print-grey {
  border: 1px solid #d6d6d6;
  border-radius: 4px;
}

.c-page-product-detail__print-grey .c-page-product-detail__print-badge {
  color: #fff;
  background-color: #adadad;
}

.c-page-product-detail__print-badge {
  position: absolute;
  inset-block-start: -11px;
  inset-inline-start: 50%;
  padding: 1px 20px 2px;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
  border-radius: 12px;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .c-page-product-detail__print-badge {
    font-size: 1.3rem;
  }
}

.c-page-product-detail__print-title {
  position: relative;
  padding-block-end: 12px;
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .c-page-product-detail__print-title {
    font-size: 1.6rem;
  }
}

.c-page-product-detail__print-title::after {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  content: "";
  background-color: #d6d6d6;
}

.c-page-product-detail__print-text {
  padding-inline: 23px;
  margin-block-start: 20px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  letter-spacing: 0.08em;
  word-break: break-all;
}

@media (max-width: 767px) {
  .c-page-product-detail__print-text {
    font-size: 1.4rem;
  }
}

.c-page-product-detail__promotion {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px;
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-page-product-detail__promotion {
    margin-block-start: 20px;
  }
}

.c-page-product-detail__promotion::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  border: 1px solid #d6d6d6;
}

.c-page-product-detail__promotion p {
  font-size: 1.3rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__promotion p {
    font-size: 1.1rem;
  }
}

.c-page-product-detail__promotion-red {
  color: #fb0020;
}

.c-page-product-detail__note {
  margin-block-start: 12px;
  font-size: 1.3rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  color: #5c5c5c;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__note {
    font-size: 1.1rem;
  }
}

.c-page-product-detail__table {
  inline-size: 100%;
  padding-block: 84px 0;
  /* stylelint-disable-next-line selector-nested-pattern */
}

@media (max-width: 767px) {
  .c-page-product-detail__table {
    padding-block: 20px 0;
  }
}

.c-page-product-detail__table colgroup col {
  --width-sp: auto;
  --width-pc: auto;
  inline-size: var(--width-pc);
}

@media (max-width: 767px) {
  .c-page-product-detail__table colgroup col {
    inline-size: var(--width-sp);
  }
}

.c-page-product-detail__table .c-page-product-detail__favorite {
  margin-block-start: 24px;
}

@media (max-width: 767px) {
  .c-page-product-detail__table .c-page-product-detail__favorite {
    margin-block-start: 20px;
  }
}

.c-page-product-detail__table table {
  inline-size: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.c-page-product-detail__table table span:not([class]) {
  display: block;
}

.c-page-product-detail__table thead th {
  padding: 7.5px 24px;
  font-size: 1.5rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #858585;
  text-align: center;
  letter-spacing: 0.08em;
  vertical-align: middle;
  border: 1px solid #d6d6d6;
}

.c-page-product-detail__table tbody th {
  padding: 7.8px 24px 7.8px 24px;
  font-size: 1.5rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  letter-spacing: 0.08em;
  vertical-align: middle;
  border: 1px solid #d6d6d6;
}

.c-page-product-detail__table tbody th p:has(.c-page-product-detail__table-note) {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-page-product-detail__table tbody th p:has(.c-page-product-detail__table-note) {
    min-block-size: 139px;
  }
}

.c-page-product-detail__table tbody td {
  padding: 7.8px 24px 7.8px 24px;
  font-size: 1.6rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  color: #5c5c5c;
  text-align: center;
  letter-spacing: 0.02em;
  vertical-align: middle;
  border: 1px solid #d6d6d6;
}

.c-page-product-detail__table tbody td.c-page-product-detail__table-text {
  font-size: 1.4rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-page-product-detail__table .c-button-product {
  margin-block-start: 48px;
}

@media (min-width: 768px) {
  .c-page-product-detail__table .c-button-product {
    max-inline-size: 394px;
  }
}

@media (max-width: 767px) {
  .c-page-product-detail__table .c-button-product {
    margin-block-start: 24px;
  }
}

.c-page-product-detail__table-item {
  position: relative;
}

.c-page-product-detail__table-item::before {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  content: "";
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__table-content {
  overflow: hidden;
  transition: max-height 300ms ease-out;
}

.c-page-product-detail__table-content[aria-hidden=true] {
  max-block-size: 0;
}

.c-page-product-detail__table-inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 24px 28px;
}

@media (max-width: 767px) {
  .c-page-product-detail__table-inner {
    padding: 20px 12px 28px;
  }
}

.c-page-product-detail__table-container {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.c-page-product-detail__table-container::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  pointer-events: none;
  content: "";
  border: 1px solid #d6d6d6;
  border-radius: 4px;
}

@media (min-width: 768px) {
  .c-page-product-detail__sp {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-page-product-detail__pc {
    display: none;
  }
}

.c-page-product-detail__table-none {
  display: none;
}

.c-page-product-detail__table-note {
  display: block;
  margin-block-start: 4px;
  font-size: 1.2rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  color: #858585;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__table-note {
    font-size: 1.1rem;
  }
}

.c-page-product-detail__table-tax {
  margin-inline-start: 4px;
  font-size: 1.2rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__table-tax {
    font-size: 1.1rem;
  }
}

.c-page-product-detail__table-heading {
  --mb-pc: 48px;
  --mb-sp: 24px;
  margin-block-end: var(--mb-pc);
  font-size: 2.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-product-detail__table-heading {
    margin-block-end: var(--mb-sp);
    font-size: 2rem;
  }
}

.c-page-product-detail__table-select {
  position: relative;
  inline-size: 100%;
  block-size: 39px;
  cursor: pointer;
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__table-select::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 4px;
  inline-size: 13px;
  block-size: 13px;
  content: "";
  background: url("../img/common/icon-arrow-down-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-page-product-detail__table-select select {
  position: relative;
  z-index: 1;
  block-size: 100%;
  padding: 8px 4px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  text-align: start;
  letter-spacing: 0.08em;
  border: none;
  box-shadow: none;
}

.c-page-product-detail__table-button {
  position: relative;
  inline-size: 100%;
  padding-block: 15.5px;
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.5;
  color: #00a272;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .c-page-product-detail__table-button {
    padding-block: 17px;
    font-size: 1.6rem;
  }
}

.c-page-product-detail__table-button::before {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  pointer-events: none;
  content: "";
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__table-button::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0;
  min-inline-size: 28px;
  min-block-size: 28px;
  content: "";
  background-image: url("../img/common/icon-plus-01.svg?$staticlink$");
  transform: translateY(-50%);
}

.c-page-product-detail__table-button[aria-expanded=true]::after {
  background-image: url("../img/common/icon-minus-01.svg?$staticlink$");
}

.c-page-product-detail__extra {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .c-page-product-detail__extra {
    display: none;
  }
}

.c-page-product-detail__extra span:not([class]) {
  display: block;
}

.c-page-product-detail__extra-heading {
  padding: 16px;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  letter-spacing: 0.08em;
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__extra-note {
  display: block;
  margin-block-start: 4px;
  font-size: 1.1rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-page-product-detail__extra-title {
  display: flex;
  gap: 5px;
  justify-content: space-between;
  padding: 4px 16px;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #858585;
  text-align: center;
  letter-spacing: 0.08em;
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__extra-title > * {
  max-inline-size: calc(50% - 2.5px);
}

.c-page-product-detail__extra-item {
  display: flex;
  gap: 5px;
  justify-content: space-between;
  padding: 3.5px 16px;
  font-size: 1.3rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__extra-item > * {
  max-inline-size: calc(50% - 2.5px);
}

.c-page-product-detail__extra-price {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.c-page-product-detail__extra-tax {
  margin-inline-start: 4px;
  font-size: 1.1rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-page-product-detail__extra-select {
  display: flex;
  gap: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 15.5px 24px;
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__extra-select > p {
  max-inline-size: 100px;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #858585;
  letter-spacing: 0.08em;
}

.c-page-product-detail__extra-select-inner {
  position: relative;
  flex: 1 0 0;
  inline-size: 100%;
  block-size: 36px;
  cursor: pointer;
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__extra-select-inner::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 4px;
  inline-size: 13px;
  block-size: 13px;
  content: "";
  background: url("../img/common/icon-arrow-down-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-page-product-detail__extra-select-inner select {
  position: relative;
  z-index: 1;
  block-size: 100%;
  padding: 8px 4px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  text-align: start;
  letter-spacing: 0.08em;
  border: none;
  box-shadow: none;
}

.c-page-product-detail__extra-total {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: space-between;
  padding: 15.5px 16px;
}

.c-page-product-detail__extra-total:not(:last-child) {
  border-block-end: 1px solid #d6d6d6;
}

.c-page-product-detail__extra-total > p:not([class]) {
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #858585;
  letter-spacing: 0.08em;
}

.c-page-product-detail__fee {
  display: flex;
  gap: 24px;
  justify-content: flex-end;
}

@media (max-width: 767px) {
  .c-page-product-detail__fee {
    flex-direction: column;
  }
}

.c-page-product-detail__fee:has(> *:nth-child(2)) {
  justify-content: space-between;
}

@media (max-width: 767px) {
  .c-page-product-detail__fee:has(.c-page-product-detail__fee-note) {
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .c-page-product-detail__fee:has(.c-select-quantity) {
    gap: 27px;
  }
}

.c-page-product-detail__fee .c-select-quantity {
  max-inline-size: 584px;
}

.c-page-product-detail__fee-box {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.5;
  text-align: end;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .c-page-product-detail__fee-box {
    font-size: 1.6rem;
  }
}

.c-page-product-detail__fee-yen {
  color: #000;
}

.c-page-product-detail__fee-total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  inline-size: 140px;
  block-size: 40px;
  padding: 10px;
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.5;
  text-align: end;
  letter-spacing: 0.04em;
  background-color: #ebebeb;
}

@media (max-width: 767px) {
  .c-page-product-detail__fee-total {
    font-size: 1.6rem;
  }
}

.c-page-product-detail__fee-note {
  font-size: 1.2rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__fee-note {
    font-size: 1.1rem;
  }
}

.c-page-product-detail__table-fee {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-page-product-detail__table-fee-heading {
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .c-page-product-detail__table-fee-heading {
    font-size: 1.6rem;
  }
}

.c-page-product-detail__film {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 32px;
  margin-block-start: 48px;
}

@media (max-width: 767px) {
  .c-page-product-detail__film {
    grid-template-columns: 100%;
    margin-block-start: 24px;
  }
}

.c-page-product-detail__film-card {
  display: flex;
  gap: 24px 16px;
}

@media (min-width: 768px) {
  .c-page-product-detail__film-card {
    flex-direction: column;
  }
}

.c-page-product-detail__film-image {
  flex-shrink: 0;
}

.c-page-product-detail__film-image img {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 1.5;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-image img {
    inline-size: 155px;
    aspect-ratio: 1.4903846154;
  }
}

.c-page-product-detail__film-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-info {
    gap: 4px;
    inline-size: 100%;
  }
}

.c-page-product-detail__film-title {
  font-size: 2rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-title {
    font-size: 1.8rem;
  }
}

.c-page-product-detail__film-select {
  position: relative;
  inline-size: 100%;
  block-size: 39px;
  cursor: pointer;
  border-block-end: 1px solid #d6d6d6;
}

@media (min-width: 768px) {
  .c-page-product-detail__film-select {
    max-inline-size: 191px;
  }
}

.c-page-product-detail__film-select::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 4px;
  inline-size: 13px;
  block-size: 13px;
  content: "";
  background: url("../img/common/icon-arrow-down-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-page-product-detail__film-select select {
  position: relative;
  z-index: 1;
  block-size: 100%;
  padding: 8px 4px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  text-align: start;
  letter-spacing: 0.08em;
  border: none;
  box-shadow: none;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-select select {
    font-size: 1.3rem;
  }
}

.c-page-product-detail__film-price {
  display: flex;
  align-items: baseline;
  margin-block-start: 48px;
  font-size: 2rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.2;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-price {
    margin-block-start: 24px;
    font-size: 1.8rem;
  }
}

.c-page-product-detail__film-dash {
  margin-inline: 4px;
  font-size: 1.4rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-dash {
    font-size: 1.2rem;
  }
}

.c-page-product-detail__film-tax {
  margin-inline-start: 4px;
  font-size: 1.3rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail__film-tax {
    font-size: 1.2rem;
  }
}

.c-page-product-detail__film-button {
  margin-block-start: 32px;
}

@media (min-width: 768px) {
  .c-page-product-detail__film-button {
    max-inline-size: 394px;
  }
}

@media (max-width: 767px) {
  .c-page-product-detail__film-button {
    margin-block-start: 20px;
  }
}

@media (max-width: 767px) {
  .c-page-product-detail__year-album-button {
    display: none;
  }
}

.c-product-gallery-main {
  /* stylelint-disable selector-class-pattern, selector-nested-pattern */
  /* stylelint-enable  selector-class-pattern, selector-nested-pattern */
}

.c-product-gallery-main__image {
  position: relative;
  aspect-ratio: 1/1;
}

.c-product-gallery-main__image img {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-product-gallery-main .swiper-button-prev,
.c-product-gallery-main .swiper-button-next {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 18px;
  margin: 0;
  transition: opacity 200ms ease-out;
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .c-product-gallery-main .swiper-button-prev,
  .c-product-gallery-main .swiper-button-next {
    inset-inline-end: 8px;
  }
}

.c-product-gallery-main .swiper-button-prev::after,
.c-product-gallery-main .swiper-button-next::after {
  display: block;
  inline-size: 25px;
  block-size: 25px;
  content: "";
  background: url("../img/common/icon-right-arrow-02.svg?$staticlink$") no-repeat;
  background-size: contain;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .c-product-gallery-main .swiper-button-prev::after,
  .c-product-gallery-main .swiper-button-next::after {
    inline-size: 19px;
    block-size: 19px;
  }
}

@media (min-width: 768px) {
  .c-product-gallery-main .swiper-button-prev:hover,
  .c-product-gallery-main .swiper-button-next:hover {
    opacity: 0.8;
  }
}

.c-product-gallery-main .swiper-button-prev {
  inset-inline-start: 18px;
  inset-inline-end: unset;
  transform: rotate(180deg) translateY(50%);
  transform-origin: center;
}

@media (max-width: 767px) {
  .c-product-gallery-main .swiper-button-prev {
    inset-inline-start: 8px;
  }
}

.c-product-gallery-thumbs {
  margin-block-start: 26px;
  /* stylelint-disable selector-class-pattern, selector-nested-pattern */
  /* stylelint-enable selector-class-pattern, selector-nested-pattern */
}

@media (max-width: 767px) {
  .c-product-gallery-thumbs {
    margin-block-start: 10px;
  }
}

.c-product-gallery-thumbs__image {
  position: relative;
  aspect-ratio: 1/1;
}

.c-product-gallery-thumbs__image img {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-product-gallery-thumbs .swiper-wrapper {
  cursor: grab;
}

.c-product-gallery-thumbs .swiper-wrapper:active {
  cursor: grabbing;
}

.c-product-gallery-thumbs .swiper-slide.swiper-slide-thumb-active {
  opacity: 0.5;
}

.c-select-quantity {
  position: relative;
  inline-size: 100%;
  max-inline-size: 191px;
  block-size: 39px;
  margin-block-start: 32px;
  cursor: pointer;
  border-block-end: 1px solid #d6d6d6;
}

@media (max-width: 767px) {
  .c-select-quantity {
    block-size: 36px;
    margin-block-start: 24px;
  }
}

.c-select-quantity + .c-select-quantity {
  margin-block-start: 8px;
}

.c-select-quantity:has(.c-select-quantity__select-full) {
  max-inline-size: 100%;
}

.c-select-quantity::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 4px;
  inline-size: 13px;
  block-size: 13px;
  content: "";
  background: url("../img/common/icon-arrow-down-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-select-quantity__title {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 4px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .c-select-quantity__title {
    font-size: 1.3rem;
  }
}

.c-select-quantity__select {
  text-align-last: right;
}

.c-select-quantity__select-full {
  text-align-last: left;
}

.c-select-quantity__select, .c-select-quantity__select-full {
  --pl-sp: 40px;
  --pl-pc: 40px;
  position: relative;
  z-index: 1;
  block-size: 100%;
  padding-inline: var(--pl-pc) 40px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
  border: none;
  box-shadow: none;
}

@media (max-width: 767px) {
  .c-select-quantity__select, .c-select-quantity__select-full {
    padding-inline-start: var(--pl-sp);
    font-size: 1.3rem;
  }
}

.c-select-quantity__select > option, .c-select-quantity__select-full > option {
  direction: rtl;
}

.c-modal-product-detail {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-modal);
  display: none;
  inline-size: 100%;
  block-size: 100%;
  overflow: auto;
}

.c-modal-product-detail[aria-hidden=false] {
  display: block;
}

.c-modal-product-detail::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: #5c5c5c;
  opacity: 0.5;
}

.c-modal-product-detail__container {
  position: relative;
  z-index: 1;
  display: flex;
  inline-size: 100%;
  block-size: 100%;
  padding: 20px;
}

@media (max-width: 767px) {
  .c-modal-product-detail__container {
    align-items: flex-end;
    padding: 0;
  }
}

.c-modal-product-detail__body {
  position: relative;
  inline-size: 544px;
  margin: auto;
  background-color: #fff;
  border-radius: 8px;
}

@media (max-width: 767px) {
  .c-modal-product-detail__body {
    inline-size: 100%;
    margin: 0;
    border-radius: 0;
  }
}

.c-modal-product-detail__close {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-end: 16px;
  inline-size: 24px;
  block-size: 24px;
  background: url("../img/common/icon-close.svg?$staticlink$") no-repeat;
  background-size: contain;
  transition: opacity 300ms ease-out;
}

@media (max-width: 767px) {
  .c-modal-product-detail__close {
    inset-block-start: 24px;
    inset-inline-end: 16px;
  }
}

@media (min-width: 768px) {
  .c-modal-product-detail__close:hover {
    opacity: 0.7;
  }
}

.c-modal-product-detail__sp {
  padding-block-end: 32px;
}

@media (min-width: 768px) {
  .c-modal-product-detail__sp {
    display: none;
  }
}

.c-modal-product-detail__pc {
  padding: 24px;
}

@media (max-width: 767px) {
  .c-modal-product-detail__pc {
    display: none;
  }
}

.c-modal-photo-book {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-modal);
  display: none;
  inline-size: 100%;
  block-size: 100%;
  overflow: hidden;
}

.c-modal-photo-book[aria-hidden=false] {
  display: block;
}

@media (max-width: 767px) {
  .c-modal-photo-book[aria-hidden=false] .c-modal-photo-book__body {
    transform: translateY(0);
  }
}

.c-modal-photo-book::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: #5c5c5c;
  opacity: 0.5;
}

.c-modal-photo-book__container {
  position: relative;
  z-index: 1;
  display: flex;
  inline-size: 100%;
  block-size: 100%;
  padding: 20px;
}

@media (max-width: 767px) {
  .c-modal-photo-book__container {
    align-items: flex-end;
    padding: 0;
  }
}

.c-modal-photo-book__body {
  position: relative;
  inline-size: 544px;
  margin: auto;
  background-color: #fff;
  border-radius: 8px;
}

@media (max-width: 767px) {
  .c-modal-photo-book__body {
    inline-size: 100%;
    margin: 0;
    border-radius: 0;
    /* stylelint-disable-next-line time-min-milliseconds */
    transition: transform 200ms ease-out 30ms;
    transform: translateY(100%);
  }
}

.c-modal-photo-book__close {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-end: 16px;
  inline-size: 24px;
  block-size: 24px;
  background: url("../img/common/icon-close.svg?$staticlink$") no-repeat;
  background-size: contain;
  transition: opacity 300ms ease-out;
}

@media (max-width: 767px) {
  .c-modal-photo-book__close {
    inset-block-start: 24px;
    inset-inline-end: 16px;
  }
}

@media (min-width: 768px) {
  .c-modal-photo-book__close:hover {
    opacity: 0.7;
  }
}

.c-modal-photo-book__sp {
  padding-block-end: 32px;
}

@media (min-width: 768px) {
  .c-modal-photo-book__sp {
    display: none;
  }
}

.c-modal-photo-book__pc {
  padding: 24px;
}

@media (max-width: 767px) {
  .c-modal-photo-book__pc {
    display: none;
  }
}

.c-text-error {
  margin-block-start: 12px;
  font-size: 1.3rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  color: #fb0020;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-text-error {
    font-size: 1.1rem;
  }
}

.c-card-search {
  display: block;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-card-search:hover {
    opacity: 0.8;
  }
}

.c-card-search__image {
  position: relative;
  aspect-ratio: 1/1;
}

.c-card-search__image > img {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-card-search__image04 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.c-card-search__image04-item {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 1/1;
}

.c-card-search__image04-item > img {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-card-search__detail {
  margin-block-start: 12px;
}

@media (max-width: 767px) {
  .c-card-search__detail {
    padding: 0 16px;
  }
}

.c-card-search__name {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-card-search__name {
    font-size: 1.3rem;
  }
}

.c-card-search__text {
  margin-block-start: 8px;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@media (max-width: 767px) {
  .c-card-search__text {
    font-size: 1.1rem;
  }
}

.c-card-search__text span {
  display: block;
}

.c-card-search__price {
  margin-block-start: 8px;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  /* stylelint-disable-next-line selector-nested-pattern */
}

@media (max-width: 767px) {
  .c-card-search__price {
    font-size: 1.3rem;
  }
}

.c-card-search__price del,
.c-card-search__price ins {
  text-decoration: none;
}

.c-card-search__price .c-price-text {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

@media (max-width: 767px) {
  .c-card-search__price .c-price-text {
    font-size: 1.3rem;
  }
}

.c-card-search__price .c-price-text__dash {
  padding-inline: 4px 4px;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .c-card-search__price .c-price-text__dash {
    font-size: 1.1rem;
  }
}

.c-card-search__price .c-price-text__unit {
  font-size: 1.2rem;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .c-card-search__price .c-price-text__unit {
    font-size: 1.1rem;
  }
}

.c-card-search__price .c-price-text__discount-before-text {
  position: relative;
  display: inline-block;
  color: #fb0020;
  text-decoration: line-through;
}

.c-card-search__price .c-price-text__discount-now-text {
  text-decoration: none;
}

.c-card-search__price-dash {
  padding-inline-start: 4px;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .c-card-search__price-dash {
    font-size: 1.1rem;
  }
}

.c-card-search__price-unit {
  font-size: 1.2rem;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .c-card-search__price-unit {
    font-size: 1.1rem;
  }
}

.c-card-search__price-discount {
  position: relative;
  display: inline-block;
  color: #fb0020;
  text-decoration: line-through;
}

.c-card-search__price-discount::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  content: "";
  background-color: #fb0020;
  transform: translateY(-50%);
}

.c-card-search__sold-out {
  margin-block-start: 8px;
  font-size: 1.3rem;
  line-height: 1.5;
  color: #858585;
  letter-spacing: 0.02em;
}

@media (max-width: 767px) {
  .c-card-search__sold-out {
    font-size: 1.1rem;
  }
}

.c-cart-error {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  margin-block-start: 30px;
  border: 1px solid #fb0020;
}

@media (max-width: 767px) {
  .c-cart-error {
    margin-block-start: 24px;
  }
}

.c-cart-error__title, .c-cart-error__text {
  font-size: 1.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  color: #fb0020;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-cart-error__title, .c-cart-error__text {
    font-size: 1.2rem;
  }
}

.c-cart-error__title {
  font-weight: bold;
}

.c-cart-error__text {
  font-weight: 400;
}

.c-slider-controls {
  display: flex;
  gap: 46px;
  align-items: center;
  /* stylelint-disable selector-class-pattern, selector-nested-pattern */
  /* stylelint-enable selector-class-pattern, selector-nested-pattern */
}

@media (max-width: 767px) {
  .c-slider-controls {
    gap: 18px;
  }
}

.c-slider-controls__arrows {
  position: relative;
  display: flex;
  flex-shrink: 0;
  gap: 32px;
  align-items: center;
  align-self: flex-end;
  padding-block-end: 2px;
}

@media (max-width: 767px) {
  .c-slider-controls__arrows {
    gap: 20px;
  }
}

.c-slider-controls__arrows::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  display: block;
  inline-size: 2px;
  block-size: 8px;
  content: "";
  background: url("../img/common/icon-colon-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
}

.c-slider-controls__progress {
  position: relative;
  display: flex;
  align-items: center;
  inline-size: 100%;
  block-size: 32px;
}

.c-slider-controls .swiper-button-prev,
.c-slider-controls .swiper-button-next {
  position: static;
  inline-size: auto;
  block-size: auto;
  margin: 0;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-slider-controls .swiper-button-prev:hover,
  .c-slider-controls .swiper-button-next:hover {
    opacity: 0.8;
  }
}

.c-slider-controls .swiper-button-prev::after,
.c-slider-controls .swiper-button-next::after {
  display: block;
  inline-size: 27px;
  block-size: 27px;
  content: "";
  background: url("../img/common/icon-right-arrow-02.svg?$staticlink$") no-repeat;
  background-size: contain;
}

.c-slider-controls .swiper-button-prev.swiper-button-disabled,
.c-slider-controls .swiper-button-next.swiper-button-disabled {
  cursor: default;
  opacity: 1;
  transition: none;
}

.c-slider-controls .swiper-button-prev.swiper-button-disabled::after,
.c-slider-controls .swiper-button-next.swiper-button-disabled::after {
  background-image: url("../img/common/icon-right-arrow-disabled-02.svg?$staticlink$");
}

.c-slider-controls .swiper-button-prev {
  transform: rotate(180deg);
}

@media (max-width: 767px) {
  .c-slider-controls .swiper-button-prev {
    inset-inline-end: unset;
  }
}

.c-slider-controls .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: relative;
  inset-block: auto;
  inset-inline-start: auto;
  inline-size: 100%;
  block-size: 2px;
  background-color: transparent;
}

.c-slider-controls .swiper-scrollbar.swiper-scrollbar-horizontal::after {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 1px;
  content: "";
  background-color: #d6d6d6;
}

.c-slider-controls .swiper-scrollbar-drag {
  z-index: 1;
  background-color: #333;
  border-radius: 0;
}

.c-select-app-pc {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

.c-select-app-pc__heading, .c-select-app-pc__heading-icon {
  margin-block-end: 16px;
  font-size: 1.5rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-select-app-pc__heading-icon {
  display: flex;
  column-gap: 12px;
  align-items: center;
  margin-block-end: 24px;
  font-size: 1.4rem;
}

.c-select-app-pc__heading-icon > img {
  display: block;
  inline-size: 40px;
  block-size: 40px;
}

.c-select-app-pc__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  block-size: 64px;
  padding: 10px 32px;
  font-size: 1.5rem;
  font-weight: 600;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  letter-spacing: 0.08em;
  background-color: #00a272;
  border-radius: 4px;
  transition: opacity 300ms ease-out;
}

@media (min-width: 768px) {
  .c-select-app-pc__button:hover {
    opacity: 0.7;
  }
}

.c-select-app-pc__inner {
  padding: 16px;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
}

.c-select-app-pc__column {
  display: flex;
  justify-content: space-between;
}

.c-select-app-pc__app-title {
  margin-block-end: 16px;
  font-size: 1.4rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  color: #5c5c5c;
  letter-spacing: 0.08em;
}

.c-select-app-pc__app a {
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-select-app-pc__app a:hover {
    opacity: 0.8;
  }
}

.c-select-app-pc__app-ios, .c-select-app-pc__app-android {
  display: block;
  inline-size: 175px;
  block-size: auto;
}

.c-select-app-pc__app-android {
  inline-size: 216px;
}

.c-select-app-pc__app-qr {
  display: block;
  inline-size: 160px;
  block-size: 160px;
  margin-block-start: 24px;
}

.c-select-app__heading {
  padding: 25px 40px 22px 24px;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
}

.c-select-app__list {
  border-block-start: 1px solid #d6d6d6;
}

.c-select-app__list > li {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 12px 24px;
  border-block-end: 1px solid #d6d6d6;
}

.c-select-app__title {
  display: flex;
  flex-shrink: 0;
  gap: 10px;
  align-items: center;
  font-size: 1.3rem;
  font-weight: bold;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.c-select-app__title > img {
  display: block;
  inline-size: 40px;
  block-size: 40px;
}

.c-select-app__button {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  max-inline-size: 141px;
  block-size: 52px;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  letter-spacing: 0.12em;
  background-color: #00a272;
  border-radius: 4px;
}

.c-select-app__btn-ios, .c-select-app__btn-android {
  display: block;
  flex: 1 1 auto;
  max-inline-size: 142px;
}

.c-select-app__btn-ios > img, .c-select-app__btn-android > img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-select-app__btn-android {
  max-inline-size: 176px;
}

.c-header {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-header);
  inline-size: 100%;
  background-color: #fff;
  transition: transform 400ms ease-out;
  transform: translateY(0);
}

.c-header-hide {
  transform: translateY(-87px);
}

.c-header-fixed {
  position: fixed;
}

.c-header-fixed > .c-header__container > .c-header__information {
  display: none;
}

.c-header__container {
  position: relative;
  display: flex;
  border-block-end: 1px solid #d6d6d6;
}

@media (min-width: 768px) {
  .c-header__container {
    z-index: 2;
    align-items: center;
    justify-content: center;
    block-size: 87px;
    padding: 0 336px;
  }
}

@media (max-width: 1199px) {
  .c-header__container {
    padding: 0 330px 0 175px;
  }
}

@media (max-width: 991px) {
  .c-header__container {
    padding: 0 246px 0 148px;
  }
}

@media (max-width: 767px) {
  .c-header__container {
    display: flex;
    block-size: 70px;
    padding: 20px 24px;
  }
}

@media (max-width: 767px) {
  .c-header__logo {
    order: 1;
  }
}

@media (min-width: 768px) {
  .c-header__logo {
    position: absolute;
    inset-block-start: 25px;
    inset-inline-start: calc(48px + clamp(0px, (100vw - 1440px) / 2, 100vw));
    z-index: 2;
  }
}

@media (max-width: 1199px) {
  .c-header__logo {
    inset-inline-start: calc(20px + clamp(0px, (100vw - 1440px) / 2, 100vw));
  }
}

.c-header__logo a {
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__logo a:hover {
    opacity: 0.8;
  }
}

.c-header__logo figure {
  display: flex;
}

.c-header__logo figure img {
  inline-size: 108px;
  block-size: auto;
}

@media (max-width: 767px) {
  .c-header__logo figure img {
    inline-size: 86px;
    block-size: auto;
  }
}

@media (max-width: 767px) {
  .c-header__menus-container {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 2;
    order: 3;
    inline-size: 100%;
    block-size: 100dvh;
    background-color: #fff;
    transition: transform 300ms ease-in-out;
    transform: translateX(101%);
  }
}

@media (min-width: 768px) {
  .c-header__menus-container {
    display: flex;
    font-size: 1.4rem;
    font-feature-settings: "palt" on;
    line-height: 23.8px;
    letter-spacing: 1.12px;
  }
}

@media (max-width: 767px) {
  .c-header__menus-container-open {
    overflow-y: auto;
    transform: translateX(0);
  }
}

.c-header__menus-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  block-size: 70px;
  padding: 0 24px;
}

@media (min-width: 768px) {
  .c-header__menus-header {
    display: none;
  }
}

.c-header__menus-header img {
  display: block;
  inline-size: 86.4px;
  block-size: auto;
}

.c-header__menus-header-close, .c-header__cart-header-close {
  position: relative;
  display: block;
  inline-size: 24px;
  block-size: 24px;
}

@media (min-width: 768px) {
  .c-header__menus-header-close, .c-header__cart-header-close {
    display: none;
  }
}

.c-header__menus-header-close > span, .c-header__cart-header-close > span {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  display: block;
  inline-size: 20px;
  block-size: 2px;
  background-color: #333;
  transform: rotate(45deg);
}

.c-header__menus-header-close > span:nth-child(2), .c-header__cart-header-close > span:nth-child(2) {
  transform: rotate(-45deg);
}

.c-header__cart-header-text {
  font-size: 1.8rem;
}

.c-header__my-page {
  display: flex;
  flex-direction: column;
  padding: 0 24px 16px 24px;
}

@media (max-width: 767px) {
  .c-header__my-page {
    position: absolute;
    inset-block-start: 70px;
    inset-inline-start: 0;
    z-index: 2;
    inline-size: 100%;
    padding-block-start: 12px;
    pointer-events: none;
    background-color: #fff;
    opacity: 0;
    transition: opacity 300ms ease-in-out;
  }
}

@media (min-width: 768px) {
  .c-header__my-page {
    position: fixed;
    inset-block-start: 100%;
    inset-inline-end: calc(132px + clamp(0px, (100vw - 1440px) / 2, 100vw));
    z-index: var(--z-index-header-my-page);
    gap: 16px;
    min-inline-size: 160px;
    max-inline-size: 403px;
    padding: 24px;
    font-size: 1.4rem;
    font-feature-settings: "palt" on;
    line-height: 23.8px;
    letter-spacing: 1.12px;
    visibility: hidden;
    background-color: #fff;
    border-block-end: 1px solid #d6d6d6;
    border-inline-start: 1px solid #d6d6d6;
    border-inline-end: 1px solid #d6d6d6;
    opacity: 0;
    transition: opacity 200ms ease-out, visibility 300ms ease-in-out;
  }
}

@media (max-width: 991px) {
  .c-header__my-page {
    inset-inline-end: calc(52px + clamp(0px, (100vw - 1440px) / 2, 100vw));
  }
}

.c-header__my-page + * {
  block-size: 100%;
}

.c-header__my-page-btn {
  color: var(--base-font-color);
  transition: opacity 200ms ease-out;
}

@media (max-width: 767px) {
  .c-header__my-page-btn {
    padding: 16px 0 15px;
    font-size: 1.6rem;
    font-feature-settings: "palt" on;
    line-height: 22px;
    letter-spacing: 1.28px;
  }
}

@media (min-width: 768px) {
  .c-header__my-page-btn:hover {
    color: var(--base-font-color);
    opacity: 0.8;
  }
}

@media (max-width: 767px) {
  .c-header__my-page-open {
    max-block-size: calc(100dvh - 70px);
    overflow-y: auto;
    pointer-events: auto;
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .c-header__my-page-open {
    visibility: visible;
    opacity: 1;
  }
}

.c-header__my-page-open ~ .c-header__controls .c-header__controls-account-my-page {
  opacity: 0.6;
}

.c-header__search-pc {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: clamp(0px, (100vw - 1440px) / 2, 100vw);
  z-index: var(--z-index-header-search);
  min-inline-size: 720px;
  visibility: hidden;
  background-color: #fff;
  opacity: 0;
  transition: visibility 300ms ease-in-out, opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__search-pc {
    position: fixed;
  }
}

@media (max-width: 991px) {
  .c-header__search-pc {
    min-inline-size: 620px;
  }
}

@media (max-width: 767px) {
  .c-header__search-pc {
    display: none;
  }
}

.c-header__search-pc-open {
  visibility: visible;
  opacity: 1;
}

.c-header__search-pc-overlay-open {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100vw;
  block-size: 86px;
  background-color: #fff;
}

.c-header__search-pc-input-container {
  display: flex;
  gap: 24px;
  block-size: 86px;
  padding: 22px 48px 22px 10px;
}

.c-header__search-pc-input-inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  inline-size: 100%;
  block-size: 43px;
  padding-inline-start: 36px;
  border-block-end: 1px solid #d6d6d6;
}

.c-header__search-pc-input-inner form {
  inline-size: 100%;
}

.c-header__search-pc-input-inner input {
  inline-size: 100%;
  block-size: 27px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  color: #333;
  letter-spacing: 1.2px;
  outline: none;
}

.c-header__search-pc-input-inner input::placeholder {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  color: rgba(51, 51, 51, 0.5);
  letter-spacing: 1.2px;
}

.c-header__search-pc-input-inner::before {
  position: absolute;
  inset-block-start: 9px;
  inset-inline-start: 0;
  inline-size: 24px;
  block-size: 25px;
  content: "";
  background: url("../img/common/icon-magnifier-01.svg") no-repeat;
}

.c-header__search-pc-input-cancel {
  display: inline-flex;
  align-items: center;
  min-inline-size: max-content;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  text-wrap: nowrap;
  letter-spacing: 1.2px;
  cursor: pointer;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__search-pc-input-cancel:hover {
    opacity: 0.8;
  }
}

.c-header__search-pc-result {
  max-inline-size: 720px;
  padding: 32px;
  border: 1px solid #d6d6d6;
}

.c-header__search-pc-result-keyword {
  margin-block-end: 32px;
  font-size: 1.4rem;
  font-feature-settings: "palt" on;
  line-height: 23.8px;
  letter-spacing: 1.12px;
}

.c-header__search-pc-result-keyword-word {
  text-decoration: underline;
  text-decoration-line: underline;
  text-decoration-thickness: auto;
  text-decoration-style: solid;
  text-underline-offset: auto;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__search-pc-result-keyword-word:hover {
    opacity: 0.8;
  }
}

.c-header__search-pc-result-title {
  margin-block-end: 24px;
  font-size: 1.4rem;
  font-feature-settings: "palt" on;
  line-height: 23.8px;
  letter-spacing: 1.12px;
}

.c-header__search-pc-result-products {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-block-size: calc(100vh - 310px);
  overflow-y: auto;
  scrollbar-width: thin;
}

.c-header__search-pc-result-product {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 1.4rem;
  font-feature-settings: "palt" on;
  line-height: 23.8px;
  letter-spacing: 1.12px;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__search-pc-result-product:hover {
    opacity: 0.8;
  }
}

.c-header__search-pc-result-product figure {
  inline-size: 72px;
  min-inline-size: 72px;
  block-size: 72px;
}

.c-header__search-pc-result-product figure img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-header__search-result {
  display: none;
}

@media (max-width: 767px) {
  .c-header__search-result {
    padding: 32px 24px;
  }
}

@media (max-width: 767px) {
  .c-header__cart {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 32px;
    z-index: 2;
    inline-size: calc(100% - 32px);
    block-size: 100dvh;
    padding: 0 24px;
    background-color: #fff;
    transition: transform 300ms ease-in-out;
    transform: translateX(101%);
  }
}

@media (min-width: 768px) {
  .c-header__cart {
    position: fixed;
    inset-block-start: 100%;
    inset-inline-end: clamp(0px, (100vw - 1440px) / 2, 100vw);
    z-index: var(--z-index-header-cart);
    inline-size: 100%;
    max-inline-size: 403px;
    padding: 24px;
    visibility: hidden;
    background-color: #fff;
    border-block-end: 1px solid #d6d6d6;
    border-inline-start: 1px solid #d6d6d6;
    border-inline-end: 1px solid #d6d6d6;
    opacity: 0;
    transition: visibility 300ms ease-in-out, opacity 200ms ease-out;
  }
}

@media (max-width: 767px) {
  .c-header__cart-open {
    overflow-y: auto;
    transform: translateX(0);
  }
}

@media (min-width: 768px) {
  .c-header__cart-open {
    max-block-size: calc(100vh - 87px);
    overflow-y: auto;
    visibility: visible;
    opacity: 1;
  }
}

.c-header__cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  block-size: 70px;
}

@media (min-width: 768px) {
  .c-header__cart-header {
    display: none;
  }
}

.c-header__cart-products {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-block-size: calc(100vh - 194px);
  padding-block-start: 24px;
  margin-block-end: 24px;
  overflow-y: auto;
}

@media (min-width: 768px) {
  .c-header__cart-products {
    inset-inline-end: calc(48px + clamp(0px, (100vw - 1440px) / 2, 100vw));
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-block-size: calc(100vh - 230px);
    padding-block-start: 0;
    margin-block-end: 24px;
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

.c-header__cart-product {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 18.2px;
  letter-spacing: 0.26px;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__cart-product:hover {
    opacity: 0.8;
  }
}

.c-header__cart-product figure {
  inline-size: 62px;
  min-inline-size: 62px;
  block-size: 62px;
}

.c-header__cart-product figure img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-header__cart-product-name {
  flex-grow: 1;
  padding: 13px 0;
  margin-inline-start: 12px;
  word-break: break-all;
}

.c-header__cart-product-amount {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: end;
  inline-size: min-content;
  min-inline-size: 62px;
  padding: 13px 0;
  margin-inline-start: 20px;
  text-wrap: nowrap;
}

.c-header__cart-button, .c-header__cart-button-02 {
  display: block;
  block-size: 52px;
  padding: 16px 20px;
  font-size: 1.5rem;
  font-weight: 600;
  font-feature-settings: "palt" on;
  line-height: 19.6px;
  color: #fff;
  text-align: center;
  letter-spacing: 1.12px;
  background-color: #333;
  border-radius: 4px;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__cart-button:hover, .c-header__cart-button-02:hover {
    color: #fff;
    opacity: 0.8;
  }
}

.c-header__cart-button-02 {
  margin-block-start: 30px;
  background-color: #00a272;
}

.c-header__cart-empty {
  padding-block: 16px;
  font-size: 1.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-header__cart-empty {
    padding-block-start: 30px;
  }
}

.c-header__cart-empty-login {
  padding-block-start: 4px;
  font-size: 1.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-header__cart-empty-login {
    padding-block-start: 30px;
  }
}

@media (max-width: 767px) {
  .c-header__menus {
    padding: 0 24px 16px 24px;
  }
}

@media (min-width: 768px) {
  .c-header__menus {
    display: flex;
    gap: 32px;
    block-size: 87px;
  }
}

@media (max-width: 991px) {
  .c-header__menus {
    gap: 10px;
  }
}

.c-header__menu {
  display: block;
}

@media (min-width: 768px) {
  .c-header__menu {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    block-size: 100%;
  }
}

@media (max-width: 767px) {
  .c-header__menu > button {
    position: relative;
    display: block;
    inline-size: 100%;
    padding: 16px 0 15px;
    font-size: 1.6rem;
    font-feature-settings: "palt" on;
    line-height: 22px;
    letter-spacing: 1.28px;
    border-block-end: 1px solid #d6d6d6;
  }
}

@media (min-width: 768px) {
  .c-header__menu > button {
    display: flex;
    align-items: center;
    block-size: 100%;
    transition: opacity 200ms ease-out;
  }
}

@media (min-width: 768px) {
  .c-header__menu > button:hover {
    opacity: 0.8;
  }
}

@media (max-width: 767px) {
  .c-header__menu > button::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 0;
    min-inline-size: 19px;
    min-block-size: 20px;
    content: "";
    background-image: url("../img/common/icon-plus-01.svg");
    transform: translateY(-50%);
  }
}

@media (max-width: 767px) {
  .c-header__menu > button[aria-expanded=true]::after {
    background-image: url("../img/common/icon-minus-01.svg");
  }
}

@media (min-width: 768px) {
  .c-header__menu:hover:not(:has(.c-header__menu-grand-menu-bg:hover)), .c-header__menu-hover:not(:has(.c-header__menu-grand-menu-bg:hover)) {
    box-shadow: inset 0 -3px 0 0 #333;
  }
}

@media (min-width: 768px) {
  .c-header__menu:hover:not(:has(.c-header__menu-grand-menu-bg:hover)) + .c-header__menu-grand-menu, .c-header__menu-hover:not(:has(.c-header__menu-grand-menu-bg:hover)) + .c-header__menu-grand-menu {
    visibility: visible;
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .c-header__menu + .c-header__menu-grand-menu:hover {
    visibility: visible;
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .c-header__menu:has(+ .c-header__menu-grand-menu:hover) {
    box-shadow: inset 0 -3px 0 0 #333;
  }
}

@media (max-width: 767px) {
  .c-header__menu-link > a {
    display: block;
    padding: 16px 0 15px;
    font-size: 1.6rem;
    font-feature-settings: "palt" on;
    line-height: 22px;
    letter-spacing: 1.28px;
    border-block-end: 1px solid #d6d6d6;
  }
}

@media (min-width: 768px) {
  .c-header__menu-link > a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    block-size: 100%;
    color: var(--base-font-color);
    transition: opacity 200ms ease-out;
  }
  .c-header__menu-link > a:hover {
    color: var(--base-font-color);
    opacity: 0.8;
  }
}

@media (max-width: 767px) {
  .c-header__detail {
    inline-size: 100%;
    padding: 32px 24px;
    font-size: 1.4rem;
    font-feature-settings: "palt" on;
    line-height: 23.8px;
    letter-spacing: 1.12px;
  }
}

@media (min-width: 768px) {
  .c-header__detail {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-header__detail-inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 767px) {
  .c-header__detail-box, .c-header__detail-help {
    position: relative;
    padding-inline-start: 33px;
  }
}

@media (max-width: 767px) {
  .c-header__detail-box::before, .c-header__detail-help::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 2px;
    display: block;
    margin-inline-end: 8px;
    content: "";
  }
}

@media (max-width: 767px) {
  .c-header__detail-box::before {
    min-inline-size: 21px;
    min-block-size: 22px;
    background: url("../img/common/icon-box-01.svg") no-repeat;
  }
}

@media (max-width: 767px) {
  .c-header__detail-box-company {
    margin-block-start: 2px;
    font-size: 1.2rem;
    line-height: 16.8px;
  }
}

@media (max-width: 767px) {
  .c-header__detail-help::before {
    min-inline-size: 20px;
    min-block-size: 21px;
    background: url("../img/common/icon-help-01.svg") no-repeat;
  }
}

@media (max-width: 767px) {
  .c-header__search-container {
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 24px;
  }
}

@media (min-width: 768px) {
  .c-header__search-container {
    display: none;
  }
}

.c-header__controls {
  display: flex;
}

@media (max-width: 767px) {
  .c-header__controls {
    order: 2;
    margin-inline-start: auto;
  }
}

@media (min-width: 768px) {
  .c-header__controls {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: calc(48px + clamp(0px, (100vw - 1440px) / 2, 100vw));
    align-items: center;
    block-size: 100%;
  }
}

@media (max-width: 991px) {
  .c-header__controls {
    inset-inline-end: calc(20px + clamp(0px, (100vw - 1440px) / 2, 100vw));
  }
}

.c-header__controls-help {
  display: none;
}

@media (min-width: 768px) {
  .c-header__controls-help {
    display: flex;
    gap: 20px;
    padding-block-start: 4px;
    padding-inline-start: 30px;
    font-size: 1.2rem;
    font-feature-settings: "palt" on;
    line-height: 16.8px;
    letter-spacing: 0.96px;
  }
}

@media (max-width: 991px) {
  .c-header__controls-help {
    gap: 10px;
    padding-inline-start: 15px;
  }
}

.c-header__controls-help-icon, .c-header__controls-edit-icon {
  color: var(--base-font-color);
}

@media (min-width: 768px) {
  .c-header__controls-help-icon, .c-header__controls-edit-icon {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: center;
    justify-content: space-between;
    transition: opacity 200ms ease-out;
  }
}

@media (min-width: 768px) {
  .c-header__controls-help-icon:hover, .c-header__controls-edit-icon:hover {
    color: var(--base-font-color);
    opacity: 0.8;
  }
}

@media (min-width: 768px) {
  .c-header__controls-help-icon figure, .c-header__controls-edit-icon figure {
    display: flex;
  }
  .c-header__controls-help-icon figure img, .c-header__controls-edit-icon figure img {
    inline-size: auto;
    block-size: 24px;
  }
}

@media (min-width: 768px) {
  .c-header__controls-help-icon figure img {
    block-size: 22px;
  }
}

.c-header__controls-account {
  display: flex;
  gap: 20px;
  align-items: center;
}

@media (min-width: 768px) {
  .c-header__controls-account {
    position: relative;
    block-size: 100%;
    padding-inline-end: 32px;
    margin-block-start: 5px;
  }
}

@media (max-width: 991px) {
  .c-header__controls-account {
    gap: 10px;
    padding-inline-end: 15px;
  }
}

@media (max-width: 767px) {
  .c-header__controls-account {
    gap: 20px;
    padding-inline-end: 0;
  }
}

@media (min-width: 768px) {
  .c-header__controls-account::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 0;
    inline-size: 1px;
    block-size: 16px;
    content: "";
    background-color: #d6d6d6;
    transform: translateY(-50%);
  }
}

@media (min-width: 768px) {
  .c-header__controls-account > .c-header__hamburger-menu {
    display: none;
  }
}

.c-header__controls-account-cart {
  block-size: 100%;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-header__controls-account-cart {
    display: flex;
    align-items: center;
    cursor: pointer;
  }
}

@media (min-width: 768px) {
  .c-header__controls-account-cart:hover {
    opacity: 0.8;
  }
}

.c-header__controls-account-cart-inner {
  position: relative;
  display: block;
}

.c-header__controls-account-cart-amount {
  position: absolute;
  inset-block-start: -5px;
  inset-inline-start: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 16px;
  min-block-size: 16px;
  max-block-size: 16px;
  padding: 0 3px;
  font-size: 0.9rem;
  font-feature-settings: "palt" on;
  line-height: 9px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.72px;
  background-color: #00a272;
  border-radius: 8px;
}

@media (min-width: 768px) {
  .c-header__controls-account-cart-amount {
    inset-block-start: -6px;
    inset-inline-start: 14px;
  }
}

.c-header__controls-account-search-icon {
  display: flex;
  align-items: center;
  block-size: 100%;
  cursor: pointer;
  transition: opacity 200ms ease-out;
}

@media (max-width: 767px) {
  .c-header__controls-account-search-icon {
    display: none;
  }
}

@media (min-width: 768px) {
  .c-header__controls-account-search-icon:hover {
    opacity: 0.8;
  }
}

@media (min-width: 768px) {
  .c-header__controls-account-my-page {
    display: flex;
    align-items: center;
    block-size: 100%;
    cursor: pointer;
    transition: opacity 200ms ease-out;
  }
}

@media (min-width: 768px) {
  .c-header__controls-account-my-page:hover {
    opacity: 0.8;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    inline-size: 20px;
    block-size: 14px;
    margin: 0 2px;
    cursor: pointer;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu span {
    inline-size: 100%;
    block-size: 2px;
    background-color: #333;
    transition: all 300ms ease;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu span:nth-of-type(1) {
    transform-origin: top left;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu span:nth-of-type(2) {
    transform-origin: center;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu span:nth-of-type(3) {
    transform-origin: bottom left;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu-open span:nth-of-type(1) {
    transform: rotate(41deg) translate(3px, -2px);
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu-open span:nth-of-type(2) {
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .c-header__hamburger-menu-open span:nth-of-type(3) {
    transform: rotate(-41deg) translate(2px, 3px);
  }
}

.c-header-edit-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-inline-size: max-content;
  padding-inline-start: 37px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  text-wrap: nowrap;
  letter-spacing: 1.2px;
  cursor: pointer;
}

.c-header-edit-button::before {
  position: absolute;
  inset-block-start: 9px;
  inset-inline-start: 0;
  inline-size: 24px;
  block-size: 25px;
  content: "";
  background: url("../img/common/icon-edit-01.svg") no-repeat;
}

.c-header-cancel-button {
  position: relative;
  display: none;
  align-items: center;
  min-inline-size: max-content;
  padding-inline-start: 0;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  text-wrap: nowrap;
  letter-spacing: 1.2px;
  cursor: pointer;
}

.c-header-search-box {
  position: relative;
  display: inline-flex;
  align-items: center;
  inline-size: 100%;
  block-size: 43px;
  padding-inline-start: 36px;
  border-block-end: 1px solid #d6d6d6;
}

.c-header-search-box form {
  inline-size: 100%;
}

.c-header-search-box input {
  inline-size: 100%;
  block-size: 27px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  color: #333;
  letter-spacing: 1.2px;
  outline: none;
}

.c-header-search-box input::placeholder {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 27px;
  color: rgba(51, 51, 51, 0.5);
  letter-spacing: 1.2px;
}

.c-header-search-box::before {
  position: absolute;
  inset-block-start: 9px;
  inset-inline-start: 0;
  inline-size: 24px;
  block-size: 25px;
  content: "";
  background: url("../img/common/icon-magnifier-01.svg") no-repeat;
}

.c-header-overlay {
  --top-sp: 0;
  position: fixed;
  inset-block-start: 87px;
  inset-inline-start: 0;
  z-index: 1;
  inline-size: 100%;
  block-size: 100vh;
  visibility: hidden;
  background-color: rgba(51, 51, 51, 0.5);
  opacity: 0;
  transition: opacity 200ms ease-out, visibility 300ms ease-in-out;
}

@media (max-width: 767px) {
  .c-header-overlay {
    inset-block-start: var(--top-sp);
  }
}

.c-header-overlay__active {
  visibility: visible;
  opacity: 1;
}

.c-page-product-detail-option {
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-page-product-detail-option {
    margin-block-start: 25px;
  }
}

.c-page-product-detail-option + .c-page-product-detail__button {
  margin-block-start: 28px;
}

@media (max-width: 767px) {
  .c-page-product-detail-option + .c-page-product-detail__button {
    margin-block-start: 24px;
  }
}

.c-page-product-detail-option__heading {
  margin-block-end: 16px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail-option__heading {
    margin-block-end: 12px;
    font-size: 1.3rem;
  }
}

.c-page-product-detail-option__item + .c-page-product-detail-option__item {
  margin-block-start: 16px;
}

@media (max-width: 767px) {
  .c-page-product-detail-option__item + .c-page-product-detail-option__item {
    margin-block-start: 12px;
  }
}

.c-page-product-detail-option__box-title {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
  justify-content: space-between;
  margin-block-end: 12px;
  font-size: 1.4rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-page-product-detail-option__box-title {
    font-size: 1.2rem;
  }
}

.c-page-product-detail-option__title {
  flex: 0 0 auto;
}

.c-page-product-detail-option__text {
  flex: 1 1 0;
  text-align: end;
}

.c-page-product-detail-option__text a {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .c-page-product-detail-option__text a:hover {
    text-decoration: none;
  }
}

.c-page-search-list__mv {
  padding: 24px 26px;
}

@media (max-width: 767px) {
  .c-page-search-list__mv {
    padding: 24px 32px 0;
  }
}

.c-page-search-list__mv-body {
  display: flex;
  column-gap: 40px;
  justify-content: space-between;
  max-inline-size: 1248px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .c-page-search-list__mv-body {
    display: block;
    max-inline-size: none;
  }
}

.c-page-search-list__mv-content {
  flex: 1 1 auto;
  align-self: center;
  max-inline-size: 518px;
}

@media (max-width: 767px) {
  .c-page-search-list__mv-content {
    max-inline-size: none;
  }
}

.c-page-search-list__mv-heading {
  margin-block-end: 32px;
  font-size: 3rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-search-list__mv-heading {
    margin-block-end: 24px;
    font-size: 1.8rem;
  }
}

.c-page-search-list__mv-heading-sub {
  margin-block-end: 16px;
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .c-page-search-list__mv-heading-sub {
    margin-block-end: 9px;
    font-size: 1.6rem;
  }
}

.c-page-search-list__mv-text {
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

@media (max-width: 767px) {
  .c-page-search-list__mv-text {
    font-size: 1.4rem;
  }
}

.c-page-search-list__mv-text span {
  display: block;
}

.c-page-search-list__mv-image-pc {
  position: relative;
  flex: 1 1 auto;
  max-inline-size: 49.1987179487%;
}

@media (max-width: 767px) {
  .c-page-search-list__mv-image-pc {
    display: none;
  }
}

.c-page-search-list__mv-image-pc > img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-page-search-list__mv-image-sp {
  margin: 24px -32px 24px;
}

@media (min-width: 768px) {
  .c-page-search-list__mv-image-sp {
    display: none;
  }
}

.c-page-search-list__mv-image-sp > img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-page-search-list__section, .c-page-search-list__section-border {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 64px;
  padding: 48px 26px;
}

@media (max-width: 767px) {
  .c-page-search-list__section, .c-page-search-list__section-border {
    padding: 32px 0;
  }
}

@media (max-width: 767px) {
  .c-page-search-list__section-border {
    margin-block-start: 32px;
    border-block-start: 1px solid #d6d6d6;
  }
}

.c-page-search-list__section-02 {
  --margin-block-pc: 60px;
  --margin-block-sp: 32px;
  padding: 0 26px;
  margin-block: var(--margin-block-pc) var(--margin-block-pc);
}

@media (max-width: 767px) {
  .c-page-search-list__section-02 {
    padding: 0 32px;
    margin-block: var(--margin-block-sp) var(--margin-block-sp);
  }
}

.c-page-search-list__section-body {
  inline-size: 100%;
  max-inline-size: 1248px;
  margin: 0 auto;
}

.c-page-search-list__section-heading {
  --margin-block-end-pc: 32px;
  --margin-block-end-sp: 32px;
  margin-block-end: var(--margin-block-end-pc);
  font-size: 2.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-search-list__section-heading {
    padding-inline: 32px;
    margin-block-end: var(--margin-block-end-sp);
    font-size: 2rem;
  }
}

.c-page-search-list__section-heading-02 {
  margin-block-end: 40px;
  font-size: 2rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-page-search-list__section-heading-02 {
    font-size: 1.8rem;
  }
}

.c-page-search-list__full-image {
  max-inline-size: 1440px;
  margin: 0 auto;
}

.c-page-search-list__full-image img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.c-page-search-list__rank {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-block-end: 32px;
}

@media (max-width: 767px) {
  .c-page-search-list__rank {
    padding-inline: 32px;
  }
}

.c-page-search-list__rank-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 2.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  letter-spacing: 2.88px;
}

@media (max-width: 767px) {
  .c-page-search-list__rank-heading {
    font-size: 2rem;
    letter-spacing: 2.4px;
  }
}

.c-page-search-list__rank-no1, .c-page-search-list__rank-no2, .c-page-search-list__rank-no3, .c-page-search-list__rank-no {
  align-content: center;
  inline-size: 40px;
  block-size: 40px;
  font-family: Inter, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0;
}

.c-page-search-list__rank-no1 {
  background: url("../img/common/icon-rank-01.png?$staticlink$") 50%/contain no-repeat;
}

.c-page-search-list__rank-no2 {
  background: url("../img/common/icon-rank-02.png?$staticlink$") 50%/contain no-repeat;
}

.c-page-search-list__rank-no3 {
  background: url("../img/common/icon-rank-03.png?$staticlink$") 50%/contain no-repeat;
}

.c-page-search-list__rank-no {
  background: url("../img/common/icon-rank-04.png?$staticlink$") 50%/contain no-repeat;
}

.c-page-search-list__rank-text {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #5c5c5c;
  letter-spacing: 1.2px;
}

@media (max-width: 767px) {
  .c-page-search-list__rank-text {
    font-size: 1.4rem;
    letter-spacing: 1.12px;
  }
}

.c-page-search-list__zero-text {
  margin-block: 48px;
  font-size: 1.5rem;
}

@media (max-width: 767px) {
  .c-page-search-list__zero-text {
    padding-inline: 32px;
    margin-block: 32px;
    font-size: 1.4rem;
  }
}

.c-page-search-list__top-link {
  font-size: 1.5rem;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .c-page-search-list__top-link {
    padding-inline: 32px;
    font-size: 1.4rem;
  }
}

@media (min-width: 768px) {
  .c-page-search-list__top-link:hover {
    text-decoration: none;
  }
}

.c-product-recommended {
  /* stylelint-disable selector-class-pattern, selector-nested-pattern */
  /* stylelint-enable selector-class-pattern, selector-nested-pattern */
}

.c-product-recommended__main {
  display: flex;
  column-gap: 20px;
  max-inline-size: 1300px;
  padding: 0 26px 84px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .c-product-recommended__main {
    display: block;
    padding: 0 32px 60px;
  }
}

.c-product-recommended__slider {
  inline-size: 49.1987179487%;
}

@media (max-width: 767px) {
  .c-product-recommended__slider {
    inline-size: 100%;
  }
}

.c-product-recommended__content {
  flex: 1 1 auto;
  padding: 0 20px;
}

@media (max-width: 767px) {
  .c-product-recommended__content {
    padding: 0;
  }
}

.c-product-recommended__content-body {
  max-inline-size: 402px;
  padding-block-start: 48px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .c-product-recommended__content-body {
    max-inline-size: none;
    padding-block-start: 20px;
  }
}

.c-product-recommended__heading {
  font-size: 2.4rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-product-recommended__heading {
    font-size: 2rem;
  }
}

.c-product-recommended__heading > span {
  display: block;
}

.c-product-recommended__title {
  --mb-pc: 24px;
  --mb-sp: 20px;
  --mt-sp: 0;
  --mt-pc: 0;
  margin-block: var(--mt-pc) var(--mb-pc);
  font-size: 1.8rem;
  font-feature-settings: "palt" on;
  font-variant-numeric: lining-nums proportional-nums;
  line-height: 1.5;
  color: #00a272;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .c-product-recommended__title {
    margin-block: var(--mt-sp) var(--mb-sp);
    font-size: 1.6rem;
  }
}

.c-product-recommended__description {
  margin-block-start: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-product-recommended__description {
    margin-block-start: 8px;
    font-size: 1.4rem;
  }
}

.c-product-recommended__tag-discount {
  margin-block-start: 20px;
}

@media (max-width: 767px) {
  .c-product-recommended__tag-discount {
    margin-block-start: 16px;
  }
}

.c-product-recommended__spec {
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-product-recommended__spec {
    margin-block-start: 20px;
  }
}

.c-product-recommended__button {
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-product-recommended__button {
    margin-block-start: 24px;
  }
}

.c-product-recommended__quantity {
  margin-block-start: 32px;
}

@media (max-width: 767px) {
  .c-product-recommended__quantity {
    margin-block-start: 24px;
  }
}

.c-product-recommended__quantity + .c-product-recommended__error {
  margin-block-start: 12px;
}

.c-product-recommended__quantity + .c-product-recommended__button {
  margin-block-start: 24px;
}

.c-product-recommended__error {
  margin-block-start: 12px;
}

.c-product-recommended__error + .c-product-recommended__button {
  margin-block-start: 24px;
}

.c-product-recommended__favorite {
  margin-block-start: 28px;
}

@media (max-width: 767px) {
  .c-product-recommended__favorite {
    margin-block-start: 21px;
  }
}

.c-product-recommended__btn-sticky {
  position: fixed;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-btn-sticky);
  inline-size: 100%;
  padding: 16px;
  background-color: #fff;
  transition: transform 200ms ease-in-out;
  transform: translateY(101%);
}

@media (min-width: 768px) {
  .c-product-recommended__btn-sticky {
    display: none;
  }
}

.c-product-recommended__btn-sticky[aria-hidden=false] {
  transform: translateY(0);
}

.c-product-recommended__section, .c-product-recommended__section-green, .c-product-recommended__section-grey, .c-product-recommended__section-brown, .c-product-recommended__section-fern, .c-product-recommended__section-dark-green, .c-product-recommended__section-blue, .c-product-recommended__section-coral, .c-product-recommended__section-orange, .c-product-recommended__section-light-brown {
  --padding-block-pc: 60px;
  --padding-block-sp: 48px;
  position: relative;
  padding: var(--padding-block-pc) 48px;
  border-block-end: 1px solid #d6d6d6;
}

@media (max-width: 767px) {
  .c-product-recommended__section, .c-product-recommended__section-green, .c-product-recommended__section-grey, .c-product-recommended__section-brown, .c-product-recommended__section-fern, .c-product-recommended__section-dark-green, .c-product-recommended__section-blue, .c-product-recommended__section-coral, .c-product-recommended__section-orange, .c-product-recommended__section-light-brown {
    padding: var(--padding-block-sp) 32px;
  }
}

.c-product-recommended__section:last-of-type, .c-product-recommended__section-green:last-of-type, .c-product-recommended__section-grey:last-of-type, .c-product-recommended__section-brown:last-of-type, .c-product-recommended__section-fern:last-of-type, .c-product-recommended__section-dark-green:last-of-type, .c-product-recommended__section-blue:last-of-type, .c-product-recommended__section-coral:last-of-type, .c-product-recommended__section-orange:last-of-type, .c-product-recommended__section-light-brown:last-of-type {
  border-block-end: 0;
}

.c-product-recommended__section:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-green:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-grey:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-brown:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-fern:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-dark-green:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-blue:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-coral:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-orange:not(:has(.c-product-recommended__section-normal))::before, .c-product-recommended__section-light-brown:not(:has(.c-product-recommended__section-normal))::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  content: "";
  background: url("../img/common/bg-section-01.png?$staticlink$") #fff repeat;
  background-blend-mode: multiply;
  opacity: 0.03;
}

.c-product-recommended__section:has(.c-product-recommended__section-normal), .c-product-recommended__section-green:has(.c-product-recommended__section-normal), .c-product-recommended__section-grey:has(.c-product-recommended__section-normal), .c-product-recommended__section-brown:has(.c-product-recommended__section-normal), .c-product-recommended__section-fern:has(.c-product-recommended__section-normal), .c-product-recommended__section-dark-green:has(.c-product-recommended__section-normal), .c-product-recommended__section-blue:has(.c-product-recommended__section-normal), .c-product-recommended__section-coral:has(.c-product-recommended__section-normal), .c-product-recommended__section-orange:has(.c-product-recommended__section-normal), .c-product-recommended__section-light-brown:has(.c-product-recommended__section-normal) {
  border-block-start: 1px solid #d6d6d6;
}

.c-product-recommended__section-green {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(65, 171, 177, 0.08);
}

.c-product-recommended__section-grey {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(148, 148, 148, 0.08);
}

.c-product-recommended__section-brown {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(89, 34, 2, 0.08);
}

.c-product-recommended__section-fern {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(50, 130, 38, 0.08);
}

.c-product-recommended__section-dark-green {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(127, 137, 79, 0.08);
}

.c-product-recommended__section-light-brown {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(127, 73, 29, 0.08);
}

.c-product-recommended__section-blue {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(95, 117, 158, 0.0784313725);
}

.c-product-recommended__section-coral {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(181, 73, 65, 0.08);
}

.c-product-recommended__section-orange {
  --padding-block-pc: 84px;
  --padding-block-sp: 60px;
  background-color: rgba(208, 123, 80, 0.08);
}

.c-product-recommended__section-body, .c-product-recommended__section-normal {
  position: relative;
  z-index: 1;
  max-inline-size: 1248px;
  margin: 0 auto;
}

.c-product-recommended__section-body + .c-product-recommended__section-body, .c-product-recommended__section-body + .c-product-recommended__section-normal, .c-product-recommended__section-normal + .c-product-recommended__section-body, .c-product-recommended__section-normal + .c-product-recommended__section-normal {
  --mt-pc: 84px;
  --mt-sp: 40px;
  margin-block-start: var(--mt-pc);
}

@media (max-width: 767px) {
  .c-product-recommended__section-body + .c-product-recommended__section-body, .c-product-recommended__section-body + .c-product-recommended__section-normal, .c-product-recommended__section-normal + .c-product-recommended__section-body, .c-product-recommended__section-normal + .c-product-recommended__section-normal {
    margin-block-start: var(--mt-sp);
  }
}

.c-product-recommended__container {
  position: relative;
  z-index: 1;
  max-inline-size: 1440px;
  margin: 0 auto;
}

.c-product-recommended__section-heading {
  --mt-sp: 0;
  --mt-pc: 0;
  --mb-sp: 24px;
  --mb-pc: 48px;
  margin-block: var(--mt-pc) var(--mb-pc);
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading {
    margin-block: var(--mt-sp) var(--mb-sp);
  }
}

.c-product-recommended__section-heading-title, .c-product-recommended__section-heading-title-large, .c-product-recommended__section-heading-title-large-02 {
  font-size: 2rem;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading-title, .c-product-recommended__section-heading-title-large, .c-product-recommended__section-heading-title-large-02 {
    font-size: 1.8rem;
  }
}

.c-product-recommended__section-heading-title-large {
  font-size: 2.4rem;
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading-title-large {
    font-size: 1.8rem;
  }
}

.c-product-recommended__section-heading-title-large-02 {
  font-size: 2.4rem;
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading-title-large-02 {
    font-size: 2rem;
  }
}

.c-product-recommended__section-heading-title-eng {
  font-family: Inter, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: 500;
  font-feature-settings: "palt" on;
  line-height: 1.5;
  letter-spacing: 1.6px;
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading-title-eng {
    font-size: 1.8rem;
    letter-spacing: 1.44px;
  }
}

.c-product-recommended__section-heading-text {
  margin-block-start: 12px;
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.7;
  color: #5c5c5c;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading-text {
    font-size: 1.4rem;
    letter-spacing: 1.12px;
  }
}

.c-product-recommended__section-heading-text a {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .c-product-recommended__section-heading-text a:hover {
    text-decoration: none;
  }
}

.c-product-recommended__section-heading-col {
  display: flex;
  column-gap: 30px;
  align-items: center;
}

@media (max-width: 767px) {
  .c-product-recommended__section-heading-col {
    display: block;
  }
}

.c-product-recommended__section-heading-col-text {
  flex: 1 1 auto;
}

.c-product-recommended__link-arrow-heading > a, .c-product-recommended__link-arrow-inner > a {
  position: relative;
  display: inline-block;
  padding-inline-end: 36px;
  font-family: "Vollkorn", Inter, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 1.5rem;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

.c-product-recommended__link-arrow-heading > a::before, .c-product-recommended__link-arrow-inner > a::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 27px;
  inline-size: 2px;
  block-size: 8px;
  content: "";
  background: url("../img/common/icon-colon-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-product-recommended__link-arrow-heading > a::after, .c-product-recommended__link-arrow-inner > a::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0;
  inline-size: 19px;
  block-size: 19px;
  content: "";
  background: url("../img/common/icon-right-arrow-01.svg?$staticlink$") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.c-product-recommended__link-arrow-heading {
  transition: opacity 200ms ease-out;
}

@media (max-width: 767px) {
  .c-product-recommended__link-arrow-heading {
    display: none;
  }
}

.c-product-recommended__link-arrow-heading:hover {
  opacity: 0.8;
}

.c-product-recommended__link-arrow-inner {
  margin-block-start: 24px;
  text-align: end;
}

@media (min-width: 768px) {
  .c-product-recommended__link-arrow-inner {
    display: none;
  }
}

.c-product-recommended__carousel {
  display: block;
}

.c-product-recommended__controls {
  --mt-pc: 48px;
  --mt-sp: 24px;
  margin-block-start: var(--mt-pc);
}

@media (max-width: 767px) {
  .c-product-recommended__controls {
    margin-block-start: var(--mt-sp);
  }
}

.c-product-recommended__controls[aria-hidden=true] {
  display: none;
}

.c-product-recommended .swiper {
  overflow: visible;
}

@media (min-width: 768px) {
  .c-product-recommended .swiper {
    clip-path: inset(-9999px -9999px -9999px 0);
  }
}

.c-product-recommended .swiper-slide {
  block-size: auto;
}

@media (min-width: 768px) {
  .c-product-recommended .swiper-slide:has(.c-card-product-journal):not(:last-child)::after {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: -40px;
    display: block;
    inline-size: 1px;
    block-size: 100%;
    content: "";
    background-color: #d6d6d6;
  }
}

.c-product-recommended .swiper-wrapper[data-touchmove=true] {
  cursor: grabbing;
}

.c-product-recommended .swiper-wrapper[data-touchmove=true] .swiper-slide a {
  cursor: grabbing;
}

.c-card-product-recommend {
  display: block;
  transition: opacity 200ms ease-out;
}

@media (min-width: 768px) {
  .c-card-product-recommend:hover {
    opacity: 0.8;
  }
}

.c-card-product-recommend__image {
  position: relative;
  aspect-ratio: 1/1;
}

.c-card-product-recommend__image > img {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.c-card-product-recommend__name {
  margin-block-start: 20px;
  font-size: 1.6rem;
  font-feature-settings: "palt" on;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .c-card-product-recommend__name {
    margin-block-start: 16px;
    font-size: 1.4rem;
  }
}

.c-card-product-recommend__price {
  margin-block-start: 8px;
  /* stylelint-disable-next-line selector-nested-pattern */
}

.c-card-product-recommend__price .c-price-text {
  font-size: 1.5rem;
  font-feature-settings: "palt" on;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

@media (max-width: 767px) {
  .c-card-product-recommend__price .c-price-text {
    font-size: 1.3rem;
  }
}

.c-card-product-recommend__price .c-price-text__dash {
  padding-inline: 4px 4px;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .c-card-product-recommend__price .c-price-text__dash {
    font-size: 1.1rem;
  }
}

.c-card-product-recommend__price .c-price-text__unit {
  font-size: 1.2rem;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .c-card-product-recommend__price .c-price-text__unit {
    font-size: 1.1rem;
  }
}

.c-card-product-recommend__price .c-price-text__discount-before-text {
  position: relative;
  display: inline-block;
  color: #fb0020;
  text-decoration: line-through;
}

.c-card-product-recommend__price .c-price-text__discount-now-text {
  text-decoration: none;
}

.c-card-product-recommend__controls {
  margin-block-start: 52px;
}

@media (max-width: 767px) {
  .c-card-product-recommend__controls {
    margin-block-start: 36px;
  }
}/*$vite$:1*/