@charset "UTF-8";
/* ====================================================
   foundation
====================================================*/
/* ========================================
   Reset CSS
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dd,
figure,
blockquote {
  margin: 0;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
  border: none;
  background: transparent;
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

iframe {
  border: none;
}

/* color
====================================================*/
/* font
====================================================*/
/* layout
====================================================*/
/* company layout
====================================================*/
/* dealer layout
   ディーラーページ用のレイアウト変数（会社概要と同様の横スクロール幅・ロケーター列幅など）
====================================================*/
/* gallery layout
====================================================*/
/* privacy layout
====================================================*/
/* product layout
====================================================*/
/* breakpoint
====================================================*/
/* font-face
====================================================*/
@font-face {
  font-family: "";
  src: url("../fonts/") format("woff2");
  font-display: swap;
}
/* base
====================================================*/
:root {
  font-size: max(12px, min(0.927vw, 16px));
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  background-color: #0a0a0a;
  color: #dcdddd;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
}

/* ====================================================
   layout
====================================================*/
.l-header {
  position: fixed;
  top: 0;
  z-index: 100;
}

.l-main {
  padding-top: 60px;
  overflow-x: hidden;
}

.l-container {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}

.l-footer {
  margin-top: -9.5vw;
}
@media (min-width: 2000px) {
  .l-footer {
    margin-top: -190px;
  }
}

/* ====================================================
   object
====================================================*/
/* ---------------------------------------------
   conponent
   --------------------------------------------- */
.c-section-heading {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 3rem;
  overflow: hidden;
}
.c-section-heading::after {
  content: "";
  display: block;
  margin-top: -0.5rem;
  width: 100%;
  height: 2.7rem;
  background-image: url("../../assets/images/common/title_line.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .c-section-heading::after {
    height: 1.8rem;
  }
}
@media screen and (max-width: 425px) {
  .c-section-heading::after {
    height: 1.2rem;
  }
}
.c-section-heading__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
}
.c-section-heading__ja {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.c-section-heading__title {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: left;
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
}

.c-button {
  display: inline-block;
  position: relative;
  padding: 18px 98px;
  background: none;
  border: 2px solid #3241c7;
  border-right: none;
  border-radius: 0;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.c-button::before {
  content: "";
  position: absolute;
  top: 0;
  right: -0.005rem;
  width: 2px;
  height: 20%;
  background-color: #3241c7;
}
.c-button::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -0.005rem;
  width: 2px;
  height: 20%;
  background-color: #3241c7;
}
.c-button:hover .c-button__arrow {
  right: -4rem;
}
.c-button__arrow {
  position: absolute;
  top: 50%;
  right: -3.2rem;
  width: 6rem;
  height: 2px;
  border-radius: 9999px;
  background-color: #3241c7;
  transform: translateY(-50%);
  transition: right 0.3s ease;
}
.c-button__arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 1.8rem;
  height: 2px;
  border-radius: 9999px;
  background-color: #3241c7;
  transform: rotate(26deg);
  transform-origin: calc(100% + 1px) 50%;
}

.c-pagetop {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  width: 48px;
  height: 48px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: #674498;
  text-decoration: none;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-pagetop.is-visible {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 768px) {
  .c-pagetop {
    right: 1rem;
    bottom: 1rem;
  }
}
.c-pagetop__icon {
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 10px solid #fff;
  margin-top: -4px;
}

.c-main-content {
  padding-top: 5rem;
  padding-bottom: 20rem;
  margin-inline: auto;
  width: 100%;
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .c-main-content {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}

/* 
 * ホイールと背景画像の重なりを制御するコンポーネント
 *
 * ホイールのサイズや背景画像との重なり方はCSSカスタムプロパティで調整できます。
 * ページや背景画像ごとにレイアウトを微調整する場合は、`.c-wheel-wrapper`を上書きしてください。
 *
 * 例：
 * &.c-wheel-wrapper {
 *     --wheel-width-base: 48%;
 * 
 *     &:has(.c-wheel-backdrop--1) {
 *         --wheel-overlap-ratio: 0.6;
 *         --wheel-next-overlap-ratio: 0.75;
 *         --wheel-backdrop-horizontal-offset-ratio: -0.05;
 *     }
 * }
 */
.c-wheel-wrapper {
  /* ==================================================
   * 設定値
   * ================================================== */
  --wheel-backdrop-width-base: 100%;
  --wheel-width-base: 100%;
  --wheel-max-width: 480px;
  /* backdropをホイールに重ねる比率 */
  --wheel-overlap-ratio: 0.6;
  /* 次の要素をbackdropに重ねる比率 */
  --wheel-next-overlap-ratio: 0.6;
  /* backdropを横方向に動かす比率 */
  --wheel-backdrop-horizontal-offset-ratio: 0;
  /* ホイールに対するbackdropの最大高さ比率 */
  --wheel-backdrop-max-height-ratio: 0.7;
  /* ==================================================
   * 計算値
   * ================================================== */
  --wheel-width: min(var(--wheel-width-base), var(--wheel-max-width));
  --wheel-backdrop-max-width: calc((var(--wheel-width) * 3.1111111111) * var(--wheel-backdrop-max-height-ratio));
  --wheel-backdrop-width: min(var(--wheel-backdrop-width-base), var(--wheel-backdrop-max-width));
  /* backdropがホイールからはみ出している縦幅 */
  --wheel-backdrop-space: calc(var(--wheel-backdrop-width) / 3.1111111111 * var(--wheel-overlap-ratio));
  /* ホイール下に実際に確保する縦幅 */
  --wheel-margin-bottom: calc(var(--wheel-backdrop-space) * (1 - var(--wheel-next-overlap-ratio)));
  /* ==================================================
   * レイアウト
   * ================================================== */
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: var(--wheel-margin-bottom);
}
.c-wheel-wrapper .c-wheel {
  position: relative;
  z-index: 1;
  width: var(--wheel-width);
  aspect-ratio: 1;
}
.c-wheel-wrapper .c-wheel-backdrop {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 0;
  width: var(--wheel-backdrop-width);
  aspect-ratio: 3.1111111111;
  background-image: url("../../assets/images/common/wheel_back-01.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translateX(calc(-50% + var(--wheel-backdrop-horizontal-offset-ratio) * 100%)) translateY(calc(-100% * var(--wheel-overlap-ratio)));
}
.c-wheel-wrapper .c-wheel-backdrop--1 {
  background-image: url("../../assets/images/common/wheel_back-01.webp");
}
.c-wheel-wrapper .c-wheel-backdrop--2 {
  background-image: url("../../assets/images/common/wheel_back-02.webp");
}
.c-wheel-wrapper .c-wheel-backdrop--3 {
  background-image: url("../../assets/images/common/wheel_back-03.webp");
}

.c-image-dialog {
  --image-dialog-max-width: 72rem;
  --image-dialog-gutter: 32px;
  place-items: center;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  border: 0;
  padding: calc(var(--image-dialog-gutter) + 52px) var(--image-dialog-gutter) var(--image-dialog-gutter);
  background: rgba(3, 3, 3, 0.78);
  color: #fff;
}
.c-image-dialog[open], .c-image-dialog.is-fallback-open {
  display: grid;
}
.c-image-dialog::backdrop {
  background: rgba(0, 0, 0, 0.62);
}
.c-image-dialog.is-fallback-open {
  position: fixed;
  z-index: 1000;
  inset: 0;
  transform: none;
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.62);
}
.c-image-dialog--wheel {
  --image-dialog-max-width: 48.5rem;
}
.c-image-dialog__stage {
  position: relative;
  width: max-content;
  max-width: min(100%, var(--image-dialog-max-width));
}
.c-image-dialog__stage img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100dvh - 116px);
  object-fit: contain;
}
.c-image-dialog__close, .c-image-dialog__arrow {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  padding: 0;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  cursor: pointer;
}
.c-image-dialog__close:hover, .c-image-dialog__arrow:hover {
  background: rgba(0, 0, 0, 0.85);
}
.c-image-dialog__close:focus-visible, .c-image-dialog__arrow:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #111;
}
.c-image-dialog.is-pointer-open .c-image-dialog__close:focus {
  outline: none;
  box-shadow: none;
}
.c-image-dialog__close {
  bottom: calc(100% + 8px);
  right: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.c-image-dialog__close:hover {
  background: transparent;
}
.c-image-dialog__close {
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
}
.c-image-dialog__arrow {
  top: 50%;
  transform: translateY(-50%);
}
.c-image-dialog__arrow span {
  display: block;
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
}
.c-image-dialog__arrow--prev {
  left: 8px;
}
.c-image-dialog__arrow--prev span {
  transform: translateX(2px) rotate(-45deg);
}
.c-image-dialog__arrow--next {
  right: 8px;
}
.c-image-dialog__arrow--next span {
  transform: translateX(-2px) rotate(135deg);
}
@media screen and (max-width: 768px) {
  .c-image-dialog {
    --image-dialog-max-width: 100vw;
    --image-dialog-gutter: 0px;
    padding-block: 68px 64px;
  }
  .c-image-dialog--wheel {
    --image-dialog-gutter: 16px;
  }
  .c-image-dialog__close {
    font-size: 30px;
  }
  .c-image-dialog__arrow {
    width: 36px;
    height: 36px;
  }
  .c-image-dialog__arrow::before {
    content: "";
    position: absolute;
    inset: -4px;
  }
  .c-image-dialog__arrow span {
    width: 10px;
    height: 10px;
  }
  .c-image-dialog__stage img {
    max-height: calc(100dvh - 132px);
  }
}

html:has(.c-image-dialog[open]),
html:has(.c-image-dialog.is-fallback-open) {
  overflow: hidden;
}

/* ---------------------------------------------
   project
   --------------------------------------------- */
/* common */
@keyframes navFadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-header {
  display: flex;
  align-items: center;
  width: 100%;
  height: 60px;
  background-color: #0a0a0a;
  border-bottom: 5px solid #3241c7;
  justify-content: space-between;
  padding: 0 1rem;
}
@media screen and (max-width: 1024px) {
  .p-header {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-header {
    gap: 0.2rem;
    padding: 0 1rem;
  }
}
.p-header__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 34vw;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.p-header__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left, var(--color-bg) 0%, transparent 100%);
}
.p-header__logo {
  width: 18.125rem;
  margin-right: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-header__logo {
    width: 45vw;
    margin-right: 0.2rem;
  }
}
.p-header__catch {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  font-size: 0.625rem;
  z-index: 99;
}
@media screen and (max-width: 1024px) {
  .p-header__catch {
    margin-left: -2vw;
  }
}
.p-header__right {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .p-header__right {
    margin-left: auto;
  }
}
.p-header__contact {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-left: 4vw;
  margin-right: 1vw;
}
@media screen and (max-width: 1024px) {
  .p-header__contact {
    margin-left: 3vw;
    margin-right: 3vw;
  }
}
.p-header__icon {
  width: 32px;
  flex-shrink: 0;
}
.p-header__tel {
  color: #3241c7;
  font-style: italic;
  font-size: 1.25rem;
  font-weight: bold;
  white-space: nowrap;
}
.p-header__sp-nav {
  display: none;
  padding: 0;
  border: 0;
  background: transparent;
}
@media screen and (max-width: 1024px) {
  .p-header__sp-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
  }
  .p-header__sp-nav span {
    display: block;
    width: 28px;
    height: 2px;
    background: #3241c7;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center;
  }
  .p-header__sp-nav span:nth-child(2) {
    width: 18px;
    margin-left: auto;
  }
  .p-header__sp-nav.is-open {
    animation: navFadeIn 0.3s ease forwards;
  }
  .p-header__sp-nav.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .p-header__sp-nav.is-open span:nth-child(2) {
    opacity: 0;
  }
  .p-header__sp-nav.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}
.p-header {
  /* GTranslate */
}
.p-header [data-gtranslate-loading] {
  visibility: hidden;
}
.p-header {
  /* GTranslate */
}
.p-header .gtranslate_wrapper [data-gt-lang] {
  display: block;
}
.p-header .gtranslate_wrapper [data-gt-lang].gt-current-lang {
  display: none;
}
.p-header .gtranslate_wrapper [data-gt-lang=ja],
.p-header .gtranslate_wrapper [data-gt-lang=en] {
  font-size: 0;
}
.p-header .gtranslate_wrapper [data-gt-lang=ja]::before,
.p-header .gtranslate_wrapper [data-gt-lang=en]::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-header .gtranslate_wrapper [data-gt-lang=ja]::before {
  background-image: url("../../assets/images/common/icon_japanese.webp");
}
.p-header .gtranslate_wrapper [data-gt-lang=en]::before {
  background-image: url("../../assets/images/common/icon_english.webp");
}
@media screen and (max-width: 320px) {
  .p-header {
    padding: 0 0.5rem;
  }
  .p-header__logo {
    width: 32vw;
    margin-right: 0.125rem;
  }
  .p-header__catch {
    font-size: 0.5rem;
  }
  .p-header__contact {
    gap: 0.25rem;
    margin-left: 0;
    margin-right: 0;
  }
  .p-header__icon {
    width: 24px;
  }
  .p-header__sp-nav {
    width: 24px;
    flex-shrink: 0;
  }
  .p-header__sp-nav span {
    width: 24px;
  }
  .p-header__sp-nav span:nth-child(2) {
    width: 16px;
  }
}

body.admin-bar .l-header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .l-header {
    top: 46px;
  }
}
.p-footer__logo {
  width: 11vw;
  max-width: 254px;
  margin: 0 30px;
}
@media screen and (max-width: 1024px) {
  .p-footer__logo {
    margin: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .p-footer__logo {
    width: 100%;
    margin: 0;
  }
}
.p-footer__mountain {
  position: relative;
  z-index: 1;
}
.p-footer__wrapper {
  height: 42px;
  background: #0a0a0a;
  font-size: 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 24px 10px;
}
@media screen and (max-width: 768px) {
  .p-footer__wrapper {
    height: auto;
    flex-direction: column;
    gap: 1.5rem;
  }
}
.p-footer__nav-col {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.p-footer__nav-col a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #dcdddd;
  border: 1px solid #dcdddd;
  min-width: 7vw;
  width: auto;
  padding: 0 6px;
  white-space: nowrap;
  flex: 1 1 auto;
}
.p-footer__nav-col a:first-child {
  border-top: none;
  border-bottom: none;
}
.p-footer__nav-col a + a {
  border-left: none;
  border-top: none;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .p-footer__nav-col {
    flex-wrap: wrap;
    row-gap: 1rem;
  }
  .p-footer__nav-col a {
    flex: 0 1 auto;
    width: auto;
  }
}
.p-footer__nav {
  flex: 1 1 auto;
}
@media screen and (max-width: 768px) {
  .p-footer__nav {
    flex: 0 1 auto;
  }
}
.p-footer__copyright {
  margin: 0 30px;
}
@media screen and (max-width: 1024px) {
  .p-footer__copyright {
    margin: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .p-footer__copyright {
    margin: 0;
  }
}

.p-gnav {
  font-size: 0.75rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .p-gnav {
    display: none;
  }
  .p-gnav.is-open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 60px;
    right: 0;
    left: auto;
    width: max-content;
    min-width: 50%;
    max-width: 100%;
    height: calc(100vh - 60px);
    background: #000;
    opacity: 0.8;
    font-size: 1.2rem;
    z-index: 99;
    padding: 2rem 2rem;
    gap: 3rem;
    align-items: flex-start;
    overflow-y: scroll;
  }
}
.p-gnav__list {
  display: flex;
  align-items: center;
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  .p-gnav__list {
    gap: clamp(10px, 4.9vw - 40px, 44px);
  }
}
@media screen and (max-width: 1024px) {
  .p-gnav__list {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 2.2rem;
    height: auto;
  }
}
.p-gnav__item {
  position: relative;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .p-gnav__item {
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .p-gnav__item:hover .p-gnav__sub-list, .p-gnav__item:focus-within .p-gnav__sub-list {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
  }
  .p-gnav__sub-list::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 26px;
  }
}
.p-gnav__parent {
  display: flex;
  align-items: center;
}
.p-gnav__sub-list-wrapper {
  transition: padding-top 0.3s ease, grid-template-rows 0.3s ease, opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .p-gnav__sub-list-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    padding-top: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-1rem);
  }
  .p-gnav__sub-list-wrapper > * {
    min-height: 0;
    overflow: hidden;
  }
}
.p-gnav__sub-list {
  position: absolute;
  top: calc(50% + 32.5px);
  left: 50%;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 180px;
  background: rgba(0, 0, 0, 0.8);
  visibility: hidden;
  z-index: 100;
  transform: translate(-50%, -0.5rem);
  opacity: 0;
  transition: grid-template-rows 0.3s ease, opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
@media screen and (max-width: 1024px) {
  .p-gnav__sub-list {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    display: grid;
    padding-left: calc(1.2vw + 2rem + 1rem);
    gap: 2rem;
    min-width: 0;
  }
}
@media screen and (max-width: 1024px) {
  .p-gnav__item.is-open > .p-gnav__sub-list-wrapper {
    padding-top: 2rem;
    grid-template-rows: 1fr;
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
}
.p-gnav__sub-item {
  width: 100%;
}
.p-gnav__sub-link {
  display: block;
  padding: 12px 20px;
  color: #dcdddd;
  text-decoration: none;
  white-space: nowrap;
}
.p-gnav__sub-link:hover, .p-gnav__sub-link:focus-visible {
  background: rgba(69, 86, 170, 0.65);
}
@media screen and (max-width: 1024px) {
  .p-gnav__sub-link {
    padding: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
.p-gnav__link {
  text-decoration: none;
  color: var(--color-text);
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 0 2rem;
  margin-left: 2rem;
}
.p-gnav__link.is-active {
  position: relative;
}
.p-gnav__link.is-active::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #4556aa;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .p-gnav__link.is-active::after {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .p-gnav__link {
    padding: 0 1.2vw;
    height: fit-content;
  }
}
@media screen and (min-width: 1025px) {
  .p-gnav__link {
    padding-inline: clamp(5px, 1vw - 5px, 12px);
    margin-left: 0;
  }
}
.p-gnav {
  /*
  &__item--has-child &__link {
      margin-left: 0;
  }
  */
}
@media screen and (max-width: 1024px) {
  .p-gnav__item--has-child .p-gnav__link {
    margin-left: 0;
  }
}
.p-gnav {
  /* SPメニューの矢印 */
}
.p-gnav__toggle {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-gnav__toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: auto;
    margin-top: -0.1rem;
    background: transparent;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
  }
  .p-gnav__toggle::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
    transition: transform 0.3s;
  }
}
.p-gnav__icons {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-gnav.is-open .p-gnav__icons {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
  }
}
.p-gnav__icon {
  display: inline-block;
  width: 32px;
  flex-shrink: 0;
}

.p-breadcrumb {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-breadcrumb {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-breadcrumb {
  padding-top: 2rem;
}
.p-breadcrumb .l-container {
  max-width: 1200px;
  margin: 0 auto;
}
.p-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.p-breadcrumb__item:not(:last-child)::after {
  content: ">";
  color: #727171;
  font-size: 0.75rem;
}
.p-breadcrumb__link {
  color: #dcdddd;
  text-decoration: none;
  transition: opacity 0.3s;
}
.p-breadcrumb__link:hover {
  opacity: 0.7;
}
.p-breadcrumb__current {
  color: #dcdddd;
}

/* top */
.p-top-main {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-top-main {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-top-main__wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.37rem;
}
@media screen and (max-width: 768px) {
  .p-top-main__wrapper {
    gap: 8rem;
  }
}
.p-top-main__wrapper--bg {
  background-image: url("../../assets/images/top/bg_road.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
.p-top-main__button-container {
  padding-top: 100px;
  padding-bottom: calc(100px + 9.5vw);
  display: flex;
  justify-content: flex-end;
  padding-right: 16rem;
}
@media screen and (max-width: 768px) {
  .p-top-main__button-container {
    padding-right: 0;
    justify-content: center;
  }
}

@keyframes scrollDownFloat {
  0% {
    bottom: 6rem;
  }
  50% {
    bottom: 6.8rem;
  }
  100% {
    bottom: 6rem;
  }
}
@media screen and (max-width: 768px) {
  @keyframes scrollDownFloat {
    0% {
      bottom: 2rem;
    }
    50% {
      bottom: 2.8rem;
    }
    100% {
      bottom: 2rem;
    }
  }
}
.p-top-hero {
  position: relative;
  overflow: hidden;
  height: calc(100vh - 60px);
  height: calc(100svh - 60px);
}
.p-top-hero__scroll-down {
  position: absolute;
  bottom: 6rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  cursor: pointer;
  animation: scrollDownFloat 2s ease-in-out infinite;
}
.p-top-hero__scroll-down:hover {
  animation-play-state: paused;
}
@media screen and (max-width: 768px) {
  .p-top-hero__scroll-down {
    bottom: 2rem;
  }
}
.p-top-hero__scroll-down-svg {
  width: 3.5rem;
  height: auto;
  color: #674498;
}
.p-top-hero__mountain {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 5;
}
.p-top-hero__mountain img {
  width: 100vw;
  display: block;
}
.p-top-hero__side {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 44px;
  z-index: 5;
}
.p-top-hero__side img {
  width: auto;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-hero__side {
    left: 12px;
  }
}
.p-top-hero__slides {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-top-hero__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.5s ease;
}
.p-top-hero__slide picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-top-hero__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-hero__slide:first-child {
  position: relative;
  opacity: 1;
}
.p-top-hero__dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.p-top-hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: background 0.3s;
}
.p-top-hero__dot.is-active {
  background: #fff;
}

body.admin-bar .p-top-hero {
  height: calc(100vh - 92px);
  height: calc(100svh - 92px);
}

@media screen and (max-width: 782px) {
  body.admin-bar .p-top-hero {
    height: calc(100vh - 106px);
    height: calc(100svh - 106px);
  }
}
.p-top-catch {
  font-family: "Helvetica Neue", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", sans-serif;
  font-size: 1.5625rem;
  text-align: center;
  margin-bottom: 8rem;
  margin-top: 3.4rem;
}

.p-top-wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.37rem;
}
@media screen and (max-width: 768px) {
  .p-top-wrapper {
    gap: 8rem;
  }
}
.p-top-wrapper__bg {
  background-image: url("../../assets/images/top/bg_road.webp");
  /* 画像パスを指定 */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
.p-top-wrapper__button {
  margin-top: 100px;
  margin-bottom: calc(100px + 9.5vw);
  display: flex;
  justify-content: flex-end;
  padding-right: 16rem;
}

.p-top-container {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top-container {
    flex-direction: column;
    gap: 3rem;
  }
}
.p-top-container__image {
  width: 51%;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-top-container__image {
    width: 100%;
    order: 2;
  }
}
.p-top-container__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 49%;
}
.p-top-container__content:nth-child(odd) {
  margin-top: 1.375rem;
}
.p-top-container__content:nth-child(even) {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top-container__content {
    width: 100%;
    order: 1;
  }
  .p-top-container__content:nth-child(odd), .p-top-container__content:nth-child(even) {
    margin-top: 0;
  }
  .p-top-container__content::before {
    width: 70vw;
  }
}
.p-top-container__info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.8rem;
  margin-left: 2.37rem;
}
@media screen and (max-width: 768px) {
  .p-top-container__info {
    flex-direction: column;
    margin-left: 0;
  }
}
.p-top-container__logo {
  height: 4rem;
}
.p-top-container__logo img {
  width: auto;
  height: 100%;
}
.p-top-container__info-right {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .p-top-container__info-right {
    align-items: stretch;
  }
}
.p-top-container__spec {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-left: 1px solid #dcdddd;
}
.p-top-container__spec-title {
  padding: 0 1.5rem;
}
.p-top-container__spec-container {
  display: flex;
  gap: 0.37rem;
  justify-content: center;
}
.p-top-container__spec-item {
  width: 3.7vw;
}
@media screen and (max-width: 768px) {
  .p-top-container__spec-item {
    width: 11vw;
  }
}
.p-top-container__inch {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.p-top-container__inch-item {
  display: block;
  flex: 1;
  aspect-ratio: 25/22;
  max-width: 2.88rem;
  background-size: contain;
  background-repeat: no-repeat;
}
.p-top-container__inch-item--15 {
  background-image: url("../../assets/images/product/inch_icon/icon_15inch.webp");
}
.p-top-container__inch-item--16 {
  background-image: url("../../assets/images/product/inch_icon/icon_16inch.webp");
}
.p-top-container__inch-item--17 {
  background-image: url("../../assets/images/product/inch_icon/icon_17inch.webp");
}
.p-top-container__inch-item--18 {
  background-image: url("../../assets/images/product/inch_icon/icon_18inch.webp");
}
.p-top-container__inch-item--20 {
  background-image: url("../../assets/images/product/inch_icon/icon_20inch.webp");
}
.p-top-container__inch-item--22 {
  background-image: url("../../assets/images/product/inch_icon/icon_22inch.webp");
}
.p-top-container__wheel-wrapper.c-wheel-wrapper {
  --wheel-width-base: 48%;
}
.p-top-container__wheel-wrapper.c-wheel-wrapper:has(.c-wheel-backdrop--1) {
  --wheel-overlap-ratio: 0.6;
  --wheel-next-overlap-ratio: 0.75;
  --wheel-backdrop-horizontal-offset-ratio: -0.05;
}
.p-top-container__wheel-wrapper.c-wheel-wrapper:has(.c-wheel-backdrop--2) {
  --wheel-overlap-ratio: 0.8;
  --wheel-next-overlap-ratio: 0.85;
  --wheel-backdrop-horizontal-offset-ratio: -0.03;
}
.p-top-container__wheel-wrapper.c-wheel-wrapper:has(.c-wheel-backdrop--3) {
  --wheel-overlap-ratio: 0.85;
  --wheel-next-overlap-ratio: 0.9;
  --wheel-backdrop-horizontal-offset-ratio: -0.05;
}
@media screen and (max-width: 768px) {
  .p-top-container__wheel-wrapper.c-wheel-wrapper:has(.c-wheel-backdrop) {
    --wheel-backdrop-horizontal-offset-ratio: 0;
  }
}

#zzyzx {
  padding-top: 20rem;
}
@media screen and (max-width: 768px) {
  #zzyzx {
    padding-top: 0;
  }
}

#jf6 {
  margin-bottom: 8rem;
}

.p-top-news {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 64px;
  font-size: small;
}
@media screen and (max-width: 768px) {
  .p-top-news {
    flex-direction: column;
    padding-top: 0;
  }
}
.p-top-news__image {
  width: 34.5%;
  max-width: 500px;
  margin-right: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-top-news__image {
    margin-right: 0;
    margin-left: -10vw;
    width: 100%;
  }
}
.p-top-news__content {
  width: 59.6%;
}
@media screen and (max-width: 768px) {
  .p-top-news__content {
    width: 100%;
  }
}
.p-top-news__line {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-top: 24px;
  padding-bottom: 8px;
  border-bottom: 1px solid #dcdddd;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-top-news__line {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    grid-template-areas: "date tag . thumbnail" "detail detail detail thumbnail";
    gap: 0px 1rem;
    align-items: center;
    padding: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .p-top-news__date {
    grid-area: date;
    align-self: start;
    padding-top: 3px;
  }
}
.p-top-news__tag {
  background-color: #0e6ebb;
  min-width: 76px;
  width: auto;
  padding: 4px 0.5rem;
  text-align: center;
}
.p-top-news__tag--news {
  background-color: #ee1d23;
}
.p-top-news__tag--event {
  background-color: #00aeef;
}
.p-top-news__tag--media {
  background-color: #4cb848;
}
@media screen and (max-width: 768px) {
  .p-top-news__tag {
    grid-area: tag;
    padding: 1.8px 0.2rem;
    align-self: start;
  }
}
.p-top-news__detail {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-top-news__detail {
    grid-area: detail;
  }
}
.p-top-news__thumbnail {
  width: 120px;
  height: 80px;
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-news__thumbnail {
    grid-area: thumbnail;
    width: 80px;
    height: 53px;
  }
}
.p-top-news__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-top-parallax__inner {
  position: relative;
  height: 840px;
  overflow: hidden;
}
.p-top-parallax--1 .p-top-parallax__inner {
  clip-path: polygon(0 0, 100% 0, 100% 83%, 0 100%);
}
.p-top-parallax--1 .p-top-parallax__image {
  background-image: url("../../assets/images/top/image_parallax_01.webp");
}
.p-top-parallax--1 .p-top-parallax__mountain {
  margin-top: -17rem;
}
.p-top-parallax--2 .p-top-parallax__inner {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 85%);
}
.p-top-parallax--2 .p-top-parallax__image {
  background-image: url("../../assets/images/top/image_parallax_02.webp");
}
.p-top-parallax--2 .p-top-parallax__mountain {
  margin-top: -15rem;
  transform: rotate(10deg);
}
.p-top-parallax__image {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  will-change: transform;
}
.p-top-parallax__image.is-ios {
  position: absolute;
  top: -30%;
  height: 160%;
}
.p-top-parallax__mountain {
  position: relative;
  z-index: 1;
}

.p-top-parallax-sp img {
  width: 100%;
  display: block;
}

/* company */
.p-company {
  overflow-x: hidden;
}

.p-company-hero {
  position: relative;
  background-image: url("../../assets/images/company/bg_company.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 40vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-company-hero {
    background-image: url("../../assets/images/company/bg_company_sp.webp");
    align-items: flex-start;
    min-height: 58vh;
  }
}
.p-company-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 10vw;
  min-height: 60px;
  background-image: url("../../assets/images/top/top_hero_mountain.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
.p-company-hero__inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 4rem 0 calc(4rem + 4.7vw) 5.25vw;
}
@media screen and (max-width: 768px) {
  .p-company-hero__inner {
    padding: 3rem 1.5rem 3rem;
    align-items: flex-start;
    width: 70%;
    margin: 0 auto;
  }
}
.p-company-hero__title {
  display: grid;
  place-content: center;
}
.p-company-hero__title-image {
  display: grid;
  place-content: center;
  width: clamp(20rem, 23.5vw, 25rem);
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-company-hero__title-image {
    width: fit-content;
  }
}
.p-company-hero__title-image img {
  grid-area: 1/1;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-company-hero__title-text {
  grid-area: 1/1;
  place-self: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-company-hero__title-text {
    font-size: 2rem;
  }
}

.p-company-outline {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-company-outline {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-company-outline {
  padding: 5rem 0 20rem;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-company-outline {
    padding: 4rem 0 6rem;
  }
}
.p-company-outline.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.p-company-outline__inner {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-company-outline__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-company-outline__heading {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: left;
  width: 100%;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-company-outline__heading {
    margin-bottom: 1rem;
  }
}
.p-company-outline__heading::after {
  content: "";
  display: block;
  margin-top: -0.5rem;
  width: 100%;
  height: 2.7rem;
  background-image: url("../../assets/images/common/title_line.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .p-company-outline__heading::after {
    height: 1.8rem;
  }
}
@media screen and (max-width: 425px) {
  .p-company-outline__heading::after {
    height: 1.2rem;
  }
}
.p-company-outline__list {
  margin: 0;
  font-weight: normal;
  gap: 1rem;
  display: grid;
}
@media screen and (max-width: 768px) {
  .p-company-outline__list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    max-width: 100%;
    grid-template-columns: 12rem max-content;
  }
}
.p-company-outline__row {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-company-outline__row {
    grid-template-columns: subgrid;
    grid-column: 1/-1;
    min-width: 37rem;
  }
}
.p-company-outline__term {
  font-weight: normal;
  background-color: #373435;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-company-outline__term {
    padding: 1rem 1.25rem;
  }
}
.p-company-outline__term {
  color: #dcdddd;
  display: flex;
  align-items: start;
  justify-content: center;
}
.p-company-outline__desc {
  font-weight: normal;
  background-color: #373435;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-company-outline__desc {
    padding: 1rem 1.25rem;
  }
}
.p-company-outline__desc {
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-company-outline__desc {
    white-space: nowrap;
  }
}
.p-company-outline__desc:has(.p-company-history) {
  padding-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-company-outline__desc:has(.p-company-history) {
    white-space: normal;
    min-width: max-content;
  }
}

.p-company-history {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .p-company-history {
    width: max-content;
    min-width: 100%;
  }
}
.p-company-history__row {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-company-history__row {
    grid-template-columns: 6rem max-content;
  }
}
.p-company-history__term {
  margin: 0;
  font-weight: normal;
}
.p-company-history__desc {
  margin: 0;
  line-height: 1.8;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .p-company-history__desc {
    white-space: nowrap;
  }
}

/* dealer（取扱販売店ページ） */
/* ディーラーページ全体：横方向のはみ出しを抑止（子要素の横スクロールは維持） */
.p-dealer {
  overflow-x: hidden;
}

.p-dealer__body {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-dealer__body {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-dealer__body .p-breadcrumb,
.p-dealer__body .p-dealer-outline,
.p-dealer__body .p-dealer-description {
  background-image: none;
}

/* ディーラーページ ファーストビュー（会社概要ヒーローと同構成） */
.p-dealer-hero {
  position: relative;
  background-image: url("../../assets/images/dealer/hero_dealer.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 40vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-dealer-hero {
    background-image: url("../../assets/images/dealer/hero_dealer_sp.webp");
    align-items: flex-start;
    min-height: 58vh;
  }
}
.p-dealer-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 10vw;
  min-height: 60px;
  background-image: url("../../assets/images/top/top_hero_mountain.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
.p-dealer-hero__inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 4rem 0 calc(4rem + 4.7vw) 5.25vw;
}
@media screen and (max-width: 768px) {
  .p-dealer-hero__inner {
    padding: 3rem 1.5rem 3rem;
    align-items: flex-start;
    width: 70%;
    margin: 0 auto;
  }
}
.p-dealer-hero__title {
  display: grid;
  place-content: center;
}
.p-dealer-hero__title-image {
  display: grid;
  place-content: center;
  width: clamp(20rem, 23.5vw, 25rem);
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-dealer-hero__title-image {
    width: fit-content;
  }
}
.p-dealer-hero__title-image img {
  grid-area: 1/1;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-dealer-hero__title-text {
  grid-area: 1/1;
  place-self: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-dealer-hero__title-text {
    font-size: 2rem;
  }
}

/* DEALER LOCATOR セクション枠（会社概要と同じ背景・見出しスタイル） */
.p-dealer-outline {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-dealer-outline {
  padding: 5rem 0 0;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline {
    padding: 4rem 0 0;
  }
}
.p-dealer-outline.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.p-dealer-outline__inner {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-dealer-outline__heading-block {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 3rem;
  overflow: hidden;
}
.p-dealer-outline__heading-block::after {
  content: "";
  display: block;
  margin-top: -0.5rem;
  width: 100%;
  height: 2.7rem;
  background-image: url("../../assets/images/common/title_line.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__heading-block::after {
    height: 1.8rem;
  }
}
@media screen and (max-width: 425px) {
  .p-dealer-outline__heading-block::after {
    height: 1.2rem;
  }
}
.p-dealer-outline__heading-block .p-dealer-outline__heading {
  margin-bottom: 0;
}
.p-dealer-outline__heading-block .p-dealer-outline__heading::after {
  content: none;
}
.p-dealer-outline__heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
}
.p-dealer-outline__heading-ja {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.p-dealer-outline__heading {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: left;
  width: 100%;
  min-width: 0;
  margin-bottom: 1rem;
}
.p-dealer-outline__list {
  margin: 0;
  font-weight: normal;
  gap: 1rem;
  display: grid;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    max-width: 100%;
    grid-template-columns: 12rem max-content;
  }
}
.p-dealer-outline__row {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__row {
    grid-template-columns: subgrid;
    grid-column: 1/-1;
    min-width: 37rem;
  }
}
.p-dealer-outline__term {
  font-weight: normal;
  background-color: #373435;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__term {
    padding: 1rem 1.25rem;
  }
}
.p-dealer-outline__term {
  color: #dcdddd;
  display: flex;
  align-items: start;
  justify-content: center;
}
.p-dealer-outline__desc {
  font-weight: normal;
  background-color: #373435;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__desc {
    padding: 1rem 1.25rem;
  }
}
.p-dealer-outline__desc {
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__desc {
    white-space: nowrap;
  }
}
.p-dealer-outline__desc:has(.p-dealer-history) {
  padding-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-outline__desc:has(.p-dealer-history) {
    white-space: normal;
    min-width: max-content;
  }
}

/* 国別・店舗別ディーラー情報テーブル */
.p-dealer-locator__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.5rem;
  /* SP：見出しが長い場合の横スクロール */
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__heading {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.p-dealer-locator__heading-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: 1.75rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__heading-left {
    font-size: 1.5rem;
  }
}
.p-dealer-locator__heading-left img {
  width: auto;
  height: 2.5rem;
  display: block;
}
.p-dealer-locator__heading-ja {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-style: normal;
  font-size: 1.25rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__heading-ja {
    font-size: 1.1rem;
  }
}
.p-dealer-locator__heading-ja--sub {
  font-size: 1.2rem;
}
.p-dealer-locator__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__list {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}
.p-dealer-locator {
  /* SP横スクロール枠（会社概要 dl と同様：枠は100%、中身がはみ出す） */
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    max-width: 100%;
  }
}
.p-dealer-locator__grid {
  display: grid;
  grid-template-columns: 1.5fr 0.75fr 2fr;
  grid-auto-rows: auto;
  gap: 1rem;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__grid {
    width: max-content;
    min-width: 100%;
    grid-template-columns: 14rem 10rem minmax(18rem, max-content);
  }
}
.p-dealer-locator__col {
  margin: 0;
  color: #fff;
  min-width: 0;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) {
  display: contents;
}
.p-dealer-locator__col--full {
  display: contents;
  width: 100%;
}
.p-dealer-locator__row {
  display: flex;
  margin: 0;
  min-height: 100%;
}
.p-dealer-locator__cell {
  flex: 1;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  color: #0a0a0a;
  display: flex;
  min-height: 2.5rem;
  padding: 1rem;
  align-items: center;
  line-height: 1.6;
}
.p-dealer-locator__cell img {
  width: 70%;
  height: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.p-dealer-locator {
  /* 画像列：行数に合わせて全行にまたがる */
}
.p-dealer-locator__col--image {
  display: block;
  grid-column: 1;
  grid-row: 1/span var(--dealer-rows, 5);
  align-self: stretch;
  position: relative;
  min-height: calc(4.5rem * var(--dealer-rows, 5) + 1rem * (var(--dealer-rows, 5) - 1));
}
.p-dealer-locator__col--image .p-dealer-locator__japan-excellent {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 2;
  margin: 0;
  color: #e22b2b;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.2;
}
.p-dealer-locator__col--image .p-dealer-locator__excellent {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 2;
  margin: 0;
  color: #e6a600;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.2;
}
.p-dealer-locator__col--image .p-dealer-locator__row--image {
  position: absolute;
  inset: 0;
  display: flex;
  min-height: 100%;
}
.p-dealer-locator__col--image .p-dealer-locator__cell {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
  padding: 0;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(1) {
  grid-column: 2;
  grid-row: 1;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(2) {
  grid-column: 2;
  grid-row: 2;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(3) {
  grid-column: 2;
  grid-row: 3;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(4) {
  grid-column: 2;
  grid-row: 4;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(5) {
  grid-column: 2;
  grid-row: 5;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(6) {
  grid-column: 2;
  grid-row: 6;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(7) {
  grid-column: 2;
  grid-row: 7;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(8) {
  grid-column: 2;
  grid-row: 8;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(9) {
  grid-column: 2;
  grid-row: 9;
}
.p-dealer-locator__col:not(.p-dealer-locator__col--image):not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(10) {
  grid-column: 2;
  grid-row: 10;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(1) {
  grid-column: 3;
  grid-row: 1;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(2) {
  grid-column: 3;
  grid-row: 2;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(3) {
  grid-column: 3;
  grid-row: 3;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(4) {
  grid-column: 3;
  grid-row: 4;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(5) {
  grid-column: 3;
  grid-row: 5;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(6) {
  grid-column: 3;
  grid-row: 6;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(7) {
  grid-column: 3;
  grid-row: 7;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(8) {
  grid-column: 3;
  grid-row: 8;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(9) {
  grid-column: 3;
  grid-row: 9;
}
.p-dealer-locator__col--full .p-dealer-locator__row:nth-child(10) {
  grid-column: 3;
  grid-row: 10;
}
.p-dealer-locator__col--full {
  /* SP：値列を折り返さず横スクロールで全文表示 */
}
@media screen and (max-width: 768px) {
  .p-dealer-locator__col--full .p-dealer-locator__cell {
    white-space: nowrap;
    min-width: max-content;
  }
}
.p-dealer-locator {
  /* 国内店舗 A〜Z：2列レイアウト（ロゴ + 店名・リンク） */
}
.p-dealer-locator--2col .p-dealer-locator__grid {
  grid-template-columns: 1.5fr 2.75fr;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator--2col .p-dealer-locator__grid {
    grid-template-columns: 14rem minmax(28rem, max-content);
  }
}
.p-dealer-locator--2col .p-dealer-locator__row {
  display: flex;
  margin: 0;
  min-height: 100%;
  max-height: 6rem;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(3) {
  grid-column: 1;
  grid-row: 3;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(4) {
  grid-column: 1;
  grid-row: 4;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(5) {
  grid-column: 1;
  grid-row: 5;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(6) {
  grid-column: 1;
  grid-row: 6;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(7) {
  grid-column: 1;
  grid-row: 7;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(8) {
  grid-column: 1;
  grid-row: 8;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(9) {
  grid-column: 1;
  grid-row: 9;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__row:nth-child(10) {
  grid-column: 1;
  grid-row: 10;
}
.p-dealer-locator--2col .p-dealer-locator__col:not(.p-dealer-locator__col--full) .p-dealer-locator__cell {
  padding: 1rem;
  justify-content: center;
  align-items: center;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(1) {
  grid-column: 2;
  grid-row: 1;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(2) {
  grid-column: 2;
  grid-row: 2;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(3) {
  grid-column: 2;
  grid-row: 3;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(4) {
  grid-column: 2;
  grid-row: 4;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(5) {
  grid-column: 2;
  grid-row: 5;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(6) {
  grid-column: 2;
  grid-row: 6;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(7) {
  grid-column: 2;
  grid-row: 7;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(8) {
  grid-column: 2;
  grid-row: 8;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(9) {
  grid-column: 2;
  grid-row: 9;
}
.p-dealer-locator--2col .p-dealer-locator__col--full .p-dealer-locator__row:nth-child(10) {
  grid-column: 2;
  grid-row: 10;
}
.p-dealer-locator--2col .p-dealer-locator__cell-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator--2col .p-dealer-locator__cell-inner {
    white-space: nowrap;
    min-width: max-content;
  }
}
.p-dealer-locator--2col .p-dealer-locator__link {
  color: #6b1685;
  font-weight: bold;
  text-decoration: none;
  flex-shrink: 0;
}

/* 世界地図：色付き地域へのページ内リンク（ホバー演出なし・判定のみ） */
.p-dealer-locator-map {
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator-map__viewport {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    max-width: 100%;
  }
}
.p-dealer-locator-map__inner {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-dealer-locator-map__inner {
    width: calc(1190px + 3rem);
    min-width: 100%;
  }
}
.p-dealer-locator-map__image {
  display: block;
  width: 100%;
  height: auto;
}
.p-dealer-locator-map__links {
  position: absolute;
  inset: 0;
}
.p-dealer-locator-map__link {
  position: absolute;
  display: block;
  background: transparent;
}
.p-dealer-locator-map__link--china {
  left: 28.29%;
  top: 30.51%;
  width: 26.17%;
  height: 22.52%;
}
.p-dealer-locator-map__link--japan {
  left: 48.06%;
  top: 37.14%;
  width: 6.23%;
  height: 7.99%;
}
.p-dealer-locator-map__link--malaysia {
  left: 34.52%;
  top: 59.66%;
  width: 6.23%;
  height: 4.71%;
}
.p-dealer-locator-map__link--philippines {
  left: 42.19%;
  top: 47.12%;
  width: 7.55%;
  height: 16.37%;
}
.p-dealer-locator-map__link--indonesia {
  left: 30.64%;
  top: 63.26%;
  width: 17.18%;
  height: 9.35%;
}
.p-dealer-locator-map__link--hawaii {
  left: 61.5%;
  top: 49%;
  width: 7%;
  height: 11%;
}

/* 地図リンク先アンカー：固定ヘッダー分のスクロール余白 */
.p-dealer-locator[id] {
  scroll-margin-top: 6rem;
}

#dealer-locator {
  scroll-margin-top: 6rem;
}

#dealer-philippines {
  margin-top: 3rem;
}

/* Export Agent + 国別ブロックの縦並び */
.main-dealer-locator {
  display: grid;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .main-dealer-locator {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main-dealer-locator > .p-dealer-locator {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}

/* 業者様向け案内（DEALER LOCATOR とは別セクション） */
.p-dealer-description {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-dealer-description {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-dealer-description {
  padding: 9rem 0 9rem;
  max-width: none;
  width: 100%;
  /* 
   * アンカーリンクから遷移されたとき、画面上部に要素が来るよう最小高さを設定
   * 55pxはヘッダー高さ
   * フッターは可変のため考慮しない
   * wpヘッダーの有無は考慮しない
   */
  min-height: calc(100dvh - 55px);
  scroll-margin-top: 55px;
}
@media screen and (max-width: 768px) {
  .p-dealer-description {
    padding: 4rem 0 6rem;
  }
}
.p-dealer-description.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.p-dealer-locator-description h2 {
  font-size: 20px;
  font-weight: bold;
  color: #cfa7cd;
}

.p-dealer-download {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 30px;
  width: 100%;
  margin-top: 3rem;
  padding: 19px 34px 15px 40px;
  border-radius: 20px;
  background: #373290;
  color: #fff;
  text-decoration: none;
}
.p-dealer-download:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.p-dealer-download:hover .p-dealer-download__arrow, .p-dealer-download:focus-visible .p-dealer-download__arrow {
  transform: translateX(0.8rem);
}
.p-dealer-download__content {
  display: block;
  flex: 1;
  min-width: 0;
}
.p-dealer-download__heading {
  display: grid;
  grid-template-columns: 344px minmax(0, 1fr);
  align-items: end;
  gap: 22px;
  margin-bottom: 14px;
  transform: translateY(-1px);
}
.p-dealer-download__title {
  display: block;
  color: #cfa7cd;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1.4px;
  line-height: 1.4;
  text-indent: -1px;
}
.p-dealer-download__title::after {
  content: "";
  display: block;
  width: calc(100% + 4px);
  height: 2px;
  margin-left: -1px;
  margin-top: 12px;
  background: #fff;
}
.p-dealer-download__arrow {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  transition: transform 0.3s ease;
}
.p-dealer-download__arrow::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  clip-path: polygon(0 0, calc(100% - 2px) 0, 100% 50%, calc(100% - 2px) 100%, 0 100%);
}
.p-dealer-download__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 25px;
  height: 2px;
  background: #fff;
  clip-path: polygon(0 0, calc(100% - 2px) 0, 100% 50%, calc(100% - 2px) 100%, 0 100%);
  transform: rotate(28deg);
  transform-origin: right center;
}
.p-dealer-download__description {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: normal;
  letter-spacing: 0.2px;
  line-height: 31px;
}
.p-dealer-download__icon {
  display: block;
  width: 77px;
  flex-shrink: 0;
  transform: translate(1px, 1.5px);
}
.p-dealer-download__icon img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-dealer-download {
    gap: 24px;
    padding: 18px 24px;
    border-radius: 16px;
  }
  .p-dealer-download__heading {
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 10px;
    transform: none;
  }
  .p-dealer-download__title {
    font-size: 18px;
    letter-spacing: 1px;
    text-indent: 0;
  }
  .p-dealer-download__title::after {
    width: 100%;
    margin-top: 8px;
    margin-left: 0;
  }
  .p-dealer-download__description {
    font-size: 16px;
    font-weight: normal;
    letter-spacing: normal;
    line-height: 1.8;
  }
  .p-dealer-download__icon {
    width: 64px;
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .p-dealer-download {
    gap: 1rem;
    margin-top: 2rem;
    padding: 1rem;
    border-radius: 8px;
  }
  .p-dealer-download__heading {
    grid-template-columns: minmax(0, auto) minmax(2rem, 1fr);
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    transform: none;
  }
  .p-dealer-download__title {
    font-size: 0.875rem;
    letter-spacing: normal;
    text-indent: 0;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .p-dealer-download__title::after {
    width: 100%;
    height: 1px;
    margin-left: 0;
    margin-top: 0.375rem;
  }
  .p-dealer-download__arrow {
    height: 1px;
  }
  .p-dealer-download__arrow::before, .p-dealer-download__arrow::after {
    height: 1px;
  }
  .p-dealer-download__arrow::after {
    width: 1rem;
  }
  .p-dealer-download__description {
    font-size: 0.75rem;
    font-weight: normal;
    letter-spacing: normal;
    line-height: 1.7;
  }
  .p-dealer-download__icon {
    width: 2.75rem;
    transform: none;
  }
}
@media screen and (min-width: 426px) and (max-width: 768px) {
  .p-dealer-download__title {
    font-size: 1.5rem;
  }
  .p-dealer-download__description {
    font-size: 1.333333rem;
  }
}
@media screen and (max-width: 425px) {
  .p-dealer-download__title {
    font-size: 1.166667rem;
  }
  .p-dealer-download__description {
    font-size: 1rem;
  }
}
@media screen and (max-width: 240px) {
  .p-dealer-download {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    padding: 0.75rem;
  }
  .p-dealer-download__heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }
  .p-dealer-download__title::after {
    content: none;
  }
  .p-dealer-download__icon {
    align-self: center;
    width: 2.5rem;
  }
}

/* privacy（プライバシーポリシー） */
.p-privacy {
  overflow-x: hidden;
}

.p-privacy-hero {
  position: relative;
  background-image: url("../../assets/images/privacy/hero_privacy.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 40vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-privacy-hero {
    background-image: url("../../assets/images/privacy/hero_privacy_sp.webp");
    align-items: flex-start;
    min-height: 58vh;
  }
}
.p-privacy-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 10vw;
  min-height: 60px;
  background-image: url("../../assets/images/top/top_hero_mountain.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
.p-privacy-hero__inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 4rem 0 calc(4rem + 4.7vw) 5.25vw;
}
@media screen and (max-width: 768px) {
  .p-privacy-hero__inner {
    padding: 3rem 1.5rem 3rem;
    align-items: flex-start;
    width: 70%;
    margin: 0 auto;
  }
}
.p-privacy-hero__title {
  display: grid;
  place-content: center;
}
.p-privacy-hero__title-image {
  display: grid;
  place-content: center;
  width: clamp(20rem, 23.5vw, 25rem);
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-privacy-hero__title-image {
    width: fit-content;
  }
}
.p-privacy-hero__title-image img {
  grid-area: 1/1;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-privacy-hero__title-text {
  grid-area: 1/1;
  place-self: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-privacy-hero__title-text {
    font-size: 2rem;
  }
}

.p-privacy-content {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-privacy-content {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-privacy-content {
  padding: 5rem 0 20rem;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-privacy-content {
    padding: 4rem 0 6rem;
  }
}
.p-privacy-content.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.p-privacy-content__inner {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-privacy-content__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-privacy-content__heading {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: left;
  width: 100%;
  margin-bottom: 3rem;
}
.p-privacy-content__heading::after {
  content: "";
  display: block;
  margin-top: -0.5rem;
  width: 100%;
  height: 2.7rem;
  background-image: url("../../assets/images/common/title_line.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .p-privacy-content__heading::after {
    height: 1.8rem;
  }
}
@media screen and (max-width: 425px) {
  .p-privacy-content__heading::after {
    height: 1.2rem;
  }
}
.p-privacy-content__lead {
  line-height: 1.9;
  margin-bottom: 3rem;
}
.p-privacy-content__body {
  line-height: 1.9;
}
.p-privacy-content__section {
  margin-bottom: 3rem;
}
.p-privacy-content__section:last-child {
  margin-bottom: 0;
}
.p-privacy-content__section-title {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.p-privacy-content__text {
  line-height: 1.9;
  margin-bottom: 1rem;
}
.p-privacy-content__text:last-child {
  margin-bottom: 0;
}
.p-privacy-content__list {
  margin: 1rem 0 0;
  padding-left: 1.5rem;
  line-height: 1.9;
  list-style: disc;
}
.p-privacy-content__list li + li {
  margin-top: 0.5rem;
}
.p-privacy-content__ordered-list {
  margin: 0 0 1rem;
  padding-left: 1.5rem;
  line-height: 1.9;
  list-style: decimal;
}
.p-privacy-content__ordered-list > li + li {
  margin-top: 1rem;
}
.p-privacy-content__ordered-list .p-privacy-content__list {
  margin-top: 0.75rem;
}
.p-privacy-content__link {
  color: #674498;
  text-decoration: underline;
}
.p-privacy-content__link:hover {
  opacity: 0.8;
}
.p-privacy-content__contact {
  line-height: 1.9;
}

/* caution（アルミホイールの安全な取り扱い） */
.p-caution {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-caution {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-caution {
  overflow-x: hidden;
  padding-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .p-caution {
    padding-bottom: 6rem;
  }
}
.p-caution .p-breadcrumb {
  background-image: none;
}
.p-caution__content {
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-caution__content {
    padding-top: 2rem;
  }
}
.p-caution__title {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-weight: bold;
  line-height: 1.5;
}
.p-caution__title::after {
  aspect-ratio: 1200/28;
  background: url("../../assets/images/common/title_line.webp") no-repeat left top/100% auto;
  content: "";
  display: block;
  margin-top: 0.5rem;
  width: 100%;
}
.p-caution__title {
  color: #ffc400;
  font-size: 20px;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-caution__title {
    font-size: 18px;
  }
}
.p-caution__lead {
  align-items: flex-start;
  color: #ff2d3f;
  display: flex;
  font-size: 15px;
  font-weight: bold;
  gap: 0.75rem;
  line-height: 1.75;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-caution__lead {
    font-size: 14px;
    margin-bottom: 2.5rem;
  }
}
.p-caution__lead-icon {
  flex: 0 0 auto;
  height: auto;
  margin-top: 0.15rem;
  width: 1.5rem;
}
.p-caution__section {
  margin-bottom: 3rem;
}
.p-caution__section:last-child {
  margin-bottom: 0;
}
.p-caution__section-title {
  align-items: flex-end;
  border-bottom: 2px solid #3241c7;
  color: #fff;
  display: flex;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  gap: 1rem;
  line-height: 1.5;
  margin: 0 0 0.75rem;
  white-space: nowrap;
}
.p-caution__section-title::after {
  background-image: linear-gradient(#3241c7, #3241c7), linear-gradient(to top right, transparent calc(50% - 1px), #3241c7 calc(50% - 1px), #3241c7 calc(50% + 1px), transparent calc(50% + 1px));
  background-position: left top, right top;
  background-repeat: no-repeat;
  background-size: calc(100% - 1.625rem) 2px, 1.3125rem 100%;
  content: "";
  flex: 1 1 auto;
  height: 0.625rem;
  min-width: 2rem;
}
.p-caution__item + .p-caution__item {
  margin-top: 1rem;
}
.p-caution__label {
  color: #d5d5d5;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.7;
  margin-bottom: 0.15rem;
  padding-left: 1.5rem;
  position: relative;
}
.p-caution__label::before {
  content: "※";
  left: 0;
  position: absolute;
}
.p-caution__text {
  color: #d5d5d5;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.015em;
  padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-caution__text {
    line-height: 1.8;
  }
}

/* product（製品情報） */
.p-product {
  overflow-x: hidden;
}
.p-product #zzyzx {
  padding-top: 0;
}
.p-product__button-container {
  padding-top: 100px;
  display: flex;
  justify-content: flex-end;
  padding-right: 16rem;
}
@media screen and (max-width: 768px) {
  .p-product__button-container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    justify-content: center;
  }
  .p-product__button-container .c-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 23.5rem;
  }
}
@media screen and (max-width: 360px) {
  .p-product__button-container .c-button {
    max-width: calc(100% - 3rem);
    padding-inline: 4.5rem;
  }
  .p-product__button-container .c-button__arrow {
    right: -2rem;
    width: 4.5rem;
  }
  .p-product__button-container .c-button:hover .c-button__arrow {
    right: -2rem;
  }
}
.p-product__h2 {
  text-align: center;
}
.p-product__h2 img {
  display: inline-block;
  width: 25%;
}
@media screen and (max-width: 768px) {
  .p-product__h2 img {
    width: 65%;
  }
}

.p-product-hero {
  position: relative;
  background-image: url("../../assets/images/product/hero_product.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 40vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-product-hero {
    background-image: url("../../assets/images/product/hero_product_sp.webp");
    align-items: flex-start;
    min-height: 58vh;
  }
}
.p-product-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 10vw;
  min-height: 60px;
  background-image: url("../../assets/images/top/top_hero_mountain.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
.p-product-hero__inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 4rem 0 calc(4rem + 4.7vw) 5.25vw;
}
@media screen and (max-width: 768px) {
  .p-product-hero__inner {
    padding: 3rem 1.5rem 3rem;
    align-items: flex-start;
    width: 70%;
    margin: 0 auto;
  }
}
.p-product-hero__title {
  display: grid;
  place-content: center;
}
.p-product-hero__title-image {
  display: grid;
  place-content: center;
  width: clamp(20rem, 23.5vw, 25rem);
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-product-hero__title-image {
    width: fit-content;
  }
}
.p-product-hero__title-image img {
  grid-area: 1/1;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-product-hero__title-text {
  grid-area: 1/1;
  place-self: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-product-hero__title-text {
    font-size: 2rem;
  }
}

.p-product-content {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-product-content {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-product-content {
  z-index: 1;
  position: relative;
  padding: 6rem 0 20rem;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-product-content {
    padding: 4rem 0 6rem;
  }
}
.p-product-content.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.p-product-content__inner {
  max-width: calc(1190px + 3rem);
  padding-inline: 1.5rem;
  width: 100%;
  margin: 0 auto;
}
.p-product-content__tabs {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0;
  margin-bottom: 6rem;
  border-bottom: 1px solid #fff;
}
.p-product-content__tab {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2rem;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.05em;
  padding: 1.75rem 4.5rem;
  border: 1px solid #727171;
  background-color: transparent;
  color: #727171;
  cursor: pointer;
  transition: opacity 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-product-content__tab {
    font-size: 0.875rem;
    padding: 1rem 0.75rem;
    letter-spacing: 0;
    flex: 1;
  }
}
.p-product-content__tab:hover {
  opacity: 0.8;
}
.p-product-content__tab.is-active {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
  border-bottom: none;
  margin-bottom: -1px;
  position: relative;
  z-index: 1;
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-product-content__tab.is-active {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-product-content__tab.is-active {
  background-color: #0a0a0a;
  color: #0e6ebb;
  opacity: 1;
}
.p-product-content__description {
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.9;
  font-size: 1.2rem;
  margin-inline: auto;
  width: fit-content;
  text-align: left;
}
.p-product-content__description span {
  color: #fff100;
}
@media screen and (max-width: 768px) {
  .p-product-content__description {
    width: min(100%, 22rem);
    padding-inline: 1.25rem;
    margin-bottom: 4rem;
    font-size: 1rem;
    line-height: 1.75;
    text-wrap: pretty;
  }
  .p-product-content__description br {
    display: none;
  }
}
.p-product-content__panels {
  min-height: 12rem;
}
.p-product-content__list {
  display: flex;
  flex-direction: column;
  gap: 3.37rem;
}
@media screen and (max-width: 768px) {
  .p-product-content__list {
    gap: 8rem;
  }
}
.p-product-content__list .p-product-item__info-right {
  /* 
   * topページとサイズ感を揃えるための調整
   * productは親要素基準、topは子要素基準で横幅が決まるためこのような対応に 
   */
  width: 54%;
}
@media screen and (max-width: 768px) {
  .p-product-content__list .p-product-item__info-right {
    width: 100%;
  }
}
.p-product-content__list .p-product-item__spec {
  grid-template-columns: minmax(80px, 2fr) 4fr;
}
.p-product-content__list .p-product-item__spec-title {
  font-size: 1rem;
}
.p-product-content__series-stack, .p-product-content__series-stack > #deep-lip-rim-series {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.p-product-content__series-stack .p-product-dually, .p-product-content__series-stack .p-product-deep-rim {
  margin-top: 0;
}
.p-product-content__panel {
  display: none;
}
.p-product-content__panel.is-active {
  display: block;
}

.p-product-item {
  --product-side-gap: clamp(3rem, 5vw, 6rem);
  --product-vehicle-breakout: max(0px, calc(50vw - 50%));
  --product-wheel-size: 23.18vw;
  display: flex;
  align-items: center;
  column-gap: var(--product-side-gap);
}
@media screen and (max-width: 768px) {
  .p-product-item {
    --product-side-gap: 0;
    --product-vehicle-breakout: 0px;
    --product-wheel-size: min(50vw, 240px);
    flex-direction: column;
    gap: 3rem;
  }
}
.p-product-item__image {
  flex: 0 0 calc(51% - var(--product-side-gap) / 2 + var(--product-vehicle-breakout));
  width: calc(51% - var(--product-side-gap) / 2 + var(--product-vehicle-breakout));
  margin-right: calc(-1 * var(--product-vehicle-breakout));
  z-index: 5;
}
.p-product-item__image:first-child {
  margin-right: 0;
  margin-left: calc(-1 * var(--product-vehicle-breakout));
}
@media screen and (max-width: 768px) {
  .p-product-item__image {
    flex-basis: auto;
    width: calc(100% + 3rem);
    margin-right: 0;
    margin-left: 0;
    align-self: center;
    order: 2;
  }
  .p-product-item__image:first-child {
    margin-left: 0;
  }
}
.p-product-item__content {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  width: calc(49% - var(--product-side-gap) / 2);
}
.p-product-item__content::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: calc(var(--product-wheel-size) * 1.86);
  aspect-ratio: 1400/450;
  left: 50%;
  top: calc(var(--product-wheel-size) * 0.67);
  transform: translateX(-50%);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}
.p-product-item__content > .p-product-item__wheel,
.p-product-item__content > .p-product-item__finish-list,
.p-product-item__content > .p-product-item__info {
  position: relative;
  z-index: 1;
}
.p-product-item__content > .p-product-item__wheel,
.p-product-item__content > .p-product-item__finish-list {
  grid-column: 1;
}
.p-product-item__content > .p-product-item__info {
  grid-column: 1;
  justify-self: center;
}
.p-product-item__content:nth-child(odd) {
  margin-top: 1.375rem;
}
.p-product-item__content:nth-child(even) {
  margin-top: 5rem;
  grid-template-columns: 1fr;
  justify-items: center;
}
.p-product-item__content:nth-child(even) > .p-product-item__wheel,
.p-product-item__content:nth-child(even) > .p-product-item__finish-list {
  grid-column: 1;
}
.p-product-item__content:nth-child(even) > .p-product-item__info {
  grid-column: 1;
  justify-self: center;
}
@media screen and (max-width: 768px) {
  .p-product-item__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    order: 1;
  }
  .p-product-item__content::before {
    display: block;
  }
  .p-product-item__content > .p-product-item__info {
    order: 1;
    margin-top: 0;
    margin-bottom: 2rem;
  }
  .p-product-item__content > .p-product-item__wheel {
    order: 2;
  }
  .p-product-item__content > .p-product-item__finish-list {
    order: 3;
  }
  .p-product-item__content > .p-product-item__wheel {
    order: 1;
  }
  .p-product-item__content > .p-product-item__finish-list {
    order: 2;
  }
  .p-product-item__content > .p-product-item__info {
    order: 3;
    margin-top: 2rem;
    margin-bottom: 0;
  }
  .p-product-item__content:nth-child(odd), .p-product-item__content:nth-child(even) {
    margin-top: 0;
  }
}
.p-product-item__wheel {
  width: var(--product-wheel-size);
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-product-item__wheel {
    width: var(--product-wheel-size);
  }
  .p-product-item__wheel::before {
    content: none;
  }
}
.p-product-item__finish-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  width: 23.18vw;
  margin-top: 1rem;
}
.p-product-item__finish-list img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-product-item__finish-list {
    width: 100%;
    max-width: 360px;
  }
}
.p-product-item__finish-list--2 {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.p-product-item__finish-list--2 img {
  width: calc((100% - 2rem) / 3);
  flex: 0 0 calc((100% - 2rem) / 3);
}
.p-product-item__info {
  display: flex;
  flex-direction: row;
  width: 100%;
  align-items: center;
  gap: 1.8rem;
  margin-top: 1.38rem;
  margin-left: 0;
  max-width: none;
}
.p-product-item__info:has(.p-product-item__logo--stack) {
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .p-product-item__info {
    flex-direction: column;
    align-items: center;
    width: min(22.5rem, 100%);
    margin-left: 0;
    max-width: 100%;
  }
}
.p-product-item__info-left {
  flex-shrink: 0;
  min-width: 0;
  max-width: 100%;
  display: flex;
  align-items: center;
  height: 3.7vw;
}
.p-product-item__info-left:has(.p-product-item__logo--stack) {
  display: flex;
  align-self: stretch;
}
@media screen and (max-width: 768px) {
  .p-product-item__info-left {
    width: 100%;
    height: auto;
    justify-content: center;
  }
  .p-product-item__info-left .p-product-item__logo {
    display: flex;
    justify-content: center;
  }
}
.p-product-item__logo {
  height: 4rem;
  max-width: 100%;
}
.p-product-item__logo img {
  width: auto;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-product-item__logo--stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  overflow: hidden;
}
.p-product-item__logo--stack img {
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-product-item__logo {
    width: min(18rem, 100%);
    height: 4.5rem;
    margin-inline: auto;
  }
}
.p-product-item__info-right {
  display: flex;
  gap: 0.4rem;
  flex-direction: column;
  container-type: inline-size;
  /* 6で割り切れる数値にしないとインチ画像の横幅が揃わない */
  width: min(100%, 342px);
}
@media screen and (max-width: 768px) {
  .p-product-item__info-right {
    width: min(100%, 282px);
  }
}
.p-product-item__spec {
  display: grid;
  grid-template-columns: minmax(100px, 2fr) 4fr;
  align-items: center;
  border-left: 1px solid #dcdddd;
}
@container (max-width: 140px) {
  .p-product-item__spec {
    grid-template-columns: 0.7fr;
    justify-content: center;
    gap: 0.2rem;
  }
}
.p-product-item__spec-title {
  padding: 0 0.2rem;
  margin: 0;
  min-width: 0;
  font-size: 14px;
  text-align: center;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
@media screen and (max-width: 768px) {
  .p-product-item__spec-title {
    font-size: 12px;
  }
}
.p-product-item__spec-container {
  --product-spec-gap: clamp(0.25rem, 0.37rem, 0.375rem);
  display: flex;
  gap: var(--product-spec-gap);
  justify-content: flex-end;
}
.p-product-item__spec-item {
  /* spec-itemが2要素の場合もあるため、3要素分の幅を確保している */
  flex: 0 0 calc((100% - var(--product-spec-gap) * 2) / 3);
}
.p-product-item__inch {
  --product-inch-size: clamp(1.375rem, 2.67vw, 2.88rem);
  display: flex;
  flex-direction: row;
  width: max-content;
  max-width: 100%;
  align-self: flex-end;
  gap: 0.4rem;
  justify-content: flex-end;
}
.p-product-item__inch .p-product-item__inch-item {
  flex: 0 0 var(--product-inch-size);
  width: var(--product-inch-size);
}
@media screen and (max-width: 768px) {
  .p-product-item__inch {
    align-self: flex-end;
    justify-content: flex-end;
  }
  .p-product-item__inch .p-product-item__inch-item {
    flex: 0 0 min(11vw, 2.88rem);
    width: min(11vw, 2.88rem);
  }
}
.p-product-item__inch-item {
  display: block;
  flex: 1;
  aspect-ratio: 25/22;
  width: clamp(1.375rem, 2.67vw, 2.88rem);
  max-width: 2.88rem;
  background-size: contain;
  background-repeat: no-repeat;
}
.p-product-item__inch-item--15 {
  background-image: url("../../assets/images/product/inch_icon/icon_15inch.webp");
}
.p-product-item__inch-item--16 {
  background-image: url("../../assets/images/product/inch_icon/icon_16inch.webp");
}
.p-product-item__inch-item--17 {
  background-image: url("../../assets/images/product/inch_icon/icon_17inch.webp");
}
.p-product-item__inch-item--18 {
  background-image: url("../../assets/images/product/inch_icon/icon_18inch.webp");
}
.p-product-item__inch-item--20 {
  background-image: url("../../assets/images/product/inch_icon/icon_20inch.webp");
}
.p-product-item__inch-item--22 {
  background-image: url("../../assets/images/product/inch_icon/icon_22inch.webp");
}

@media screen and (max-width: 768px) {
  .p-product-item__info,
  #jf6 .p-product-item__info,
  #deep-lip-rim-series .p-product-item__info,
  #raguna3 .p-product-item__info {
    flex-direction: column;
    align-items: center;
    width: min(26.4rem, 100%);
    gap: 1.25rem;
  }
  .p-product-item__info-left,
  #raguna3 .p-product-item__info-left {
    flex: 0 0 auto;
    align-self: center;
    width: 100%;
    max-width: 100%;
    justify-content: center;
  }
  .p-product-item__logo,
  #raguna3 .p-product-item__logo--stack {
    width: min(18rem, 100%);
    max-width: 100%;
    margin-inline: auto;
  }
  .p-product-item__inch .p-product-item__inch-item {
    width: min(9vw, 2.88rem);
    max-width: 2.88rem;
    justify-self: start;
  }
}
.p-product-item__inch {
  align-self: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .p-product-item__inch {
    align-self: flex-start;
    justify-content: flex-start;
  }
}

.p-product-item__inch {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
}
.p-product-item__inch .p-product-item__inch-item {
  width: 100%;
  max-width: none;
}
@media screen and (max-width: 768px) {
  .p-product-item__inch .p-product-item__inch-item {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .p-product-item__info {
    --product-logo-width: clamp(8.5rem, calc(15.5vw + 1.0625rem), 15rem);
    gap: clamp(1rem, 1.5vw, 1.8rem);
  }
  .p-product-item__info-left {
    flex: 0 0 var(--product-logo-width);
    width: var(--product-logo-width);
    max-width: var(--product-logo-width);
    justify-content: center;
  }
  .p-product-item__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(3.25rem, 1.79vw + 2.39rem, 4rem);
  }
  .p-product-item__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-product-item__spec-title {
    padding-inline: 0.5rem;
  }
}
#d-force .p-product-item__content::before,
#jf6 .p-product-item__content::before,
#rfw-series .p-product-item__content::before,
#aldebaran .p-product-item__content::before {
  background-image: url("../../assets/images/common/wheel_back-01.webp");
}

@media screen and (max-width: 768px) {
  #d-force .p-product-item__wheel::before,
  #jf6 .p-product-item__wheel::before,
  #rfw-series .p-product-item__wheel::before,
  #aldebaran .p-product-item__wheel::before {
    background-image: url("../../assets/images/common/wheel_back-01.webp");
  }
}
#trucker .p-product-item__content::before,
#raguna3 .p-product-item__content::before,
#raguna1 .p-product-item__content::before,
#zzyzx-ox .p-product-item__content::before {
  background-image: url("../../assets/images/common/wheel_back-02.webp");
}

@media screen and (max-width: 768px) {
  #trucker .p-product-item__wheel::before,
  #raguna3 .p-product-item__wheel::before,
  #raguna1 .p-product-item__wheel::before,
  #zzyzx-ox .p-product-item__wheel::before {
    background-image: url("../../assets/images/common/wheel_back-02.webp");
  }
}
#offroader2 .p-product-item__content::before,
#zzyzx .p-product-item__content::before,
#deep-lip-rim-series .p-product-item__content::before {
  background-image: url("../../assets/images/common/wheel_back-03.webp");
}

@media screen and (max-width: 768px) {
  #offroader2 .p-product-item__wheel::before,
  #zzyzx .p-product-item__wheel::before,
  #deep-lip-rim-series .p-product-item__wheel::before {
    background-image: url("../../assets/images/common/wheel_back-03.webp");
  }
}
#deep-lip-rim-series .p-product-item__logo {
  height: 4rem;
}
@media screen and (max-width: 768px) {
  #deep-lip-rim-series .p-product-item__logo {
    height: 4.5rem;
  }
}

#jf6 .p-product-item__info,
#deep-lip-rim-series .p-product-item__info {
  gap: 1.5rem;
}

#jf6 .p-product-item__info-right,
#deep-lip-rim-series .p-product-item__info-right {
  align-self: auto;
}

@media screen and (max-width: 768px) {
  .p-product-item__info,
  #jf6 .p-product-item__info,
  #deep-lip-rim-series .p-product-item__info,
  #raguna3 .p-product-item__info {
    flex-direction: row;
    align-items: flex-start;
    width: min(22.5rem, 100%);
    gap: 1rem;
  }
  .p-product-item__info-left,
  #raguna3 .p-product-item__info-left {
    flex: 0 0 7.5rem;
    align-self: flex-start;
    width: 7.5rem;
    max-width: 7.5rem;
    height: auto;
    align-items: flex-start;
  }
  .p-product-item__logo,
  #raguna3 .p-product-item__logo--stack {
    width: 7.5rem;
    max-width: 7.5rem;
    margin-inline: 0;
  }
  .p-product-item__spec-title,
  #raguna3 .p-product-item__spec-title {
    padding: 0 0.5rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .p-product-item__info,
  #jf6 .p-product-item__info,
  #deep-lip-rim-series .p-product-item__info,
  #raguna3 .p-product-item__info {
    flex-direction: column;
    align-items: center;
    width: min(26.4rem, 100%);
    gap: 1.25rem;
  }
  .p-product-item__info-left,
  #raguna3 .p-product-item__info-left {
    flex: 0 0 auto;
    align-self: center;
    width: 100%;
    max-width: 100%;
    justify-content: center;
  }
  .p-product-item__logo,
  #raguna3 .p-product-item__logo--stack {
    width: min(18rem, 100%);
    max-width: 100%;
    margin-inline: auto;
  }
  .p-product-item__inch {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    gap: 4px;
  }
  .p-product-item__inch .p-product-item__inch-item {
    width: 100%;
    max-width: none;
    justify-self: start;
  }
  .p-product-item__spec-title,
  #raguna3 .p-product-item__spec-title {
    padding: 0 1rem;
  }
}
.p-product-detail-hero {
  height: auto;
  aspect-ratio: 1700/850;
}
.p-product-detail-hero .p-top-hero__slides,
.p-product-detail-hero .p-top-hero__slide,
.p-product-detail-hero picture {
  height: 100%;
}
.p-product-detail-hero picture {
  display: block;
}
.p-product-detail-hero .p-top-hero__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .p-product-detail-hero {
    aspect-ratio: 3/2;
  }
}

.p-product-detail {
  --detail-accent: #4556aa;
  --detail-panel: rgba(10, 10, 10, 0.82);
  --detail-border: rgba(220, 221, 221, 0.58);
  max-width: calc(1190px + 3rem);
  width: 100%;
  padding-inline: 1.5rem;
  margin-inline: auto;
}
.p-product-detail__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 6rem);
  align-items: start;
}
.p-product-detail__wheel-stage {
  position: sticky;
  top: 2rem;
  min-width: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-product-detail__wheel-stage .c-wheel-wrapper {
    --wheel-width-base: 80%;
  }
}
.p-product-detail__wheel {
  padding: 0;
  cursor: zoom-in;
}
.p-product-detail__offroad-chain-main {
  position: relative;
  width: min(100%, 34rem);
  margin-inline: auto;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}
.p-product-detail__offroad-chain-main img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  transition: opacity 0.2s ease;
}
.p-product-detail__wheel-frame {
  position: relative;
  width: min(100%, 34rem);
  margin-inline: auto;
}
.p-product-detail__selected-spec, .p-product-detail__finish-list, .p-product-detail__color-select {
  position: relative;
  z-index: 1;
}
.p-product-detail__selected-spec {
  width: min(100%, 34rem);
  min-height: 1.8em;
  margin: 1rem auto 0;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-align: left;
}
.p-product-detail__color-select {
  width: min(100%, 34rem);
  min-height: 1.8em;
  margin: 1rem auto 0;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-align: left;
}
.p-product-detail__color-select p:first-child {
  position: relative;
  padding-left: 1rem;
}
.p-product-detail__color-select p:first-child::before {
  content: "";
  position: absolute;
  top: 0.825em;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}
.p-product-detail__color-select p:nth-child(2) {
  margin-top: 0.25rem;
  display: grid;
  grid-template-columns: 1.125rem minmax(0, 1fr);
  gap: 0.35rem;
  align-items: start;
}
.p-product-detail__finish-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem 0.8rem;
  max-width: 34rem;
  margin: 1.25rem auto 0;
}
.p-product-detail__finish-button {
  position: relative;
  border: 1px solid transparent;
  padding: 0.25rem;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.p-product-detail__finish-button img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
.p-product-detail__finish-button span {
  display: block;
  min-height: 2.5em;
  margin-top: 0.4rem;
  font-size: 0.7rem;
  line-height: 1.25;
}
.p-product-detail__finish-button:hover, .p-product-detail__finish-button:focus-visible, .p-product-detail__finish-button[aria-pressed=true] {
  border-color: #fff;
  outline: none;
}
.p-product-detail__finish-button[aria-pressed=true]::after {
  content: "";
  position: absolute;
  inset: auto 20% -0.45rem;
  height: 2px;
  background: var(--detail-accent);
}
.p-product-detail__content {
  width: 100%;
  min-width: 0;
  padding-top: 1rem;
}
.p-product-detail__accessory-content {
  width: 100%;
  min-width: 0;
  padding-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-product-detail__accessory-content {
    padding-top: 0;
    margin-bottom: 3rem;
  }
}
.p-product-detail__logo {
  width: min(100%, 22rem);
  margin-inline: auto;
}
.p-product-detail__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.p-product-detail--jf6 .p-product-detail__logo {
  width: min(100%, 13rem);
}
.p-product-detail__heading {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  margin-top: 2.5rem;
  border-bottom: 2px solid #3241c7;
}
.p-product-detail__heading::before {
  content: "";
  flex: 1 1 auto;
  min-width: 2rem;
  height: 0.625rem;
  background-image: linear-gradient(#3241c7, #3241c7), linear-gradient(to top left, transparent calc(50% - 1px), #3241c7 calc(50% - 1px), #3241c7 calc(50% + 1px), transparent calc(50% + 1px));
  background-repeat: no-repeat;
  background-position: right top, left top;
  background-size: calc(100% - 1.625rem) 2px, 1.3125rem 100%;
}
.p-product-detail__heading h2 {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  min-width: 0;
  white-space: normal;
}
.p-product-detail__accessory-heading {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  margin: 2.5rem 0;
  border-bottom: 2px solid #3241c7;
}
.p-product-detail__accessory-heading::before {
  content: "";
  flex: 1 1 auto;
  min-width: 2rem;
  height: 0.625rem;
  background-image: linear-gradient(#3241c7, #3241c7), linear-gradient(to top left, transparent calc(50% - 1px), #3241c7 calc(50% - 1px), #3241c7 calc(50% + 1px), transparent calc(50% + 1px));
  background-repeat: no-repeat;
  background-position: right top, left top;
  background-size: calc(100% - 1.625rem) 2px, 1.3125rem 100%;
}
.p-product-detail__accessory-heading h3 {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  text-align: right;
  margin-bottom: 0.5rem;
  letter-spacing: 0.06rem;
}
@media screen and (max-width: 768px) {
  .p-product-detail__accessory-heading {
    gap: 0.5rem;
    margin: 0.75rem 0;
  }
  .p-product-detail__accessory-heading::before {
    min-width: 1rem;
    height: 0.4rem;
  }
  .p-product-detail__accessory-heading h3 {
    font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
  }
}
.p-product-detail__product-spec {
  display: flex;
  justify-content: flex-start;
  margin-top: 3rem;
}
.p-product-detail__product-spec .p-product-item__inch:not(:has(.p-product-item__inch-item:nth-child(6))) .p-product-item__inch-item:first-child {
  grid-column: auto;
}
.p-product-detail__product-spec .p-product-item__inch-item {
  display: block;
  width: 100%;
  max-width: none;
  aspect-ratio: 25/22;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-product-detail__description {
  margin-top: 2rem;
  line-height: 2;
  text-align: justify;
}
.p-product-detail__accessory-description {
  margin-top: 2rem;
  line-height: 2;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-product-detail__accessory-description {
    margin-top: 3px;
    line-height: 1.5;
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
.p-product-detail__vehicle {
  display: block;
  width: calc(100% + max(0px, (100vw - 1190px) / 2));
  max-width: none;
  margin: 2.5rem 0 0;
}
.p-product-detail__section {
  margin-top: clamp(6rem, 10vw, 10rem);
}
.p-product-detail__chain-section {
  max-width: calc(1190px + 3rem);
  margin: clamp(3rem, 5vw, 5rem) auto 0;
}
@media screen and (max-width: 1024px) {
  .p-product-detail__chain-section {
    width: 90%;
  }
}
.p-product-detail__section-heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0 0 calc(1.75rem + 3px);
}
.p-product-detail__section-heading::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 28px;
  width: auto;
  background-image: url("../../assets/images/common/title_line.webp");
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.p-product-detail__section-heading h2:not(.p-product-accessories-detail__name) {
  margin: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  flex: 0 0 auto;
  font-size: calc(max(12px, 0.875rem) + 2px);
  font-weight: 400;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.p-product-detail__section-heading p {
  margin: 0 0 0 auto;
  font-size: 0.8rem;
}
@media screen and (max-width: 768px) {
  .p-product-detail__section-heading {
    min-height: 0;
    padding-bottom: calc(0.75rem + 3px);
  }
}
.p-product-detail__chain-section-heading {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 3rem;
  padding-bottom: 1.75rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  position: relative;
}
.p-product-detail__chain-section-heading::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  bottom: 0;
  left: 2.1rem;
  height: 28px;
  width: 100%;
  background-image: url("../../assets/images/common/title_line.webp");
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.p-product-detail__chain-section-heading h2:not(.p-product-accessories-detail__name) {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  padding-top: 0.2rem;
  text-align: left;
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-product-detail__chain-section-heading h2:not(.p-product-accessories-detail__name) {
    font-size: 1.2rem;
    margin: 0;
  }
}
.p-product-detail__chain-section-heading h2 {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  line-height: 1.75rem;
  font-weight: bold;
  text-align: left;
  width: 100%;
  margin: 0 0 0.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-product-detail__chain-section-heading h2 {
    font-size: 1.2rem;
    margin: 0;
  }
}
.p-product-detail__chain-section-heading:has(> p) h2,
.p-product-detail__chain-section-heading:has(> p) h2:not(.p-product-accessories-detail__name) {
  width: auto;
  flex: 0 1 auto;
}
.p-product-detail__chain-section-heading p {
  margin: 0 0 0 auto;
  padding: 0;
  font-size: 0.8rem;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-product-detail__chain-section-heading {
    overflow: hidden;
    padding: 0 0 0.3rem 0.1rem;
    margin: 0;
  }
  .p-product-detail__chain-section-heading h2,
  .p-product-detail__chain-section-heading h2:not(.p-product-accessories-detail__name) {
    min-width: 0;
    white-space: normal;
  }
  .p-product-detail__chain-section-heading:has(> p) {
    padding-bottom: 2rem;
  }
  .p-product-detail__chain-section-heading p {
    position: absolute;
    left: 0;
    right: auto;
    top: auto;
    bottom: 0.35rem;
    margin: 0;
  }
  .p-product-detail__chain-section-heading::after {
    right: 0;
    left: 2.1rem;
    bottom: -0.5rem;
    height: 28px;
  }
}
.p-product-detail__chain-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-color: var(--detail-accent) #1c1c1c;
}
.p-product-detail__chain-scroll-inner {
  width: max-content;
  min-width: 100%;
}
.p-product-detail__section-icon {
  flex: 0 0 auto;
  width: 1.45rem;
  height: auto;
  max-height: 1.45rem;
  object-fit: contain;
}
.p-product-detail__section-heading--specs + .p-product-detail__spec-group {
  margin-top: 2.5rem;
}
.p-product-detail__section-heading--specs + .p-product-detail__offroad-chain-spec-group, .p-product-detail__section-heading--specs + .p-product-detail__chain-scroll {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-product-detail__section-heading--specs + .p-product-detail__offroad-chain-spec-group, .p-product-detail__section-heading--specs + .p-product-detail__chain-scroll {
    margin-top: 0;
  }
}
.p-product-detail__section-heading--specs p {
  position: relative;
  top: -0.75rem;
  z-index: 1;
}
.p-product-detail__buy {
  margin: 1.5rem 0 0;
  text-align: center;
}
.p-product-detail__buy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 338px;
  height: 56px;
  padding: 0 120px 0 0;
  background-color: #674498;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  white-space: nowrap;
  transition: opacity 0.2s ease;
  margin-top: 1rem;
}
.p-product-detail__buy-button:hover, .p-product-detail__buy-button:focus-visible {
  opacity: 0.85;
  color: #fff;
}
.p-product-detail__buy-button img {
  width: 45px;
  height: 45px;
  padding: 7px;
  margin-right: 80px;
  filter: brightness(0) invert(1);
}
.p-product-detail__info-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  width: 100%;
  margin-inline: 0;
}
.p-product-detail__info-option-accessories {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  width: 100%;
  margin-inline: 0;
  margin-top: clamp(3rem, 5vw, 5rem);
}
@media screen and (max-width: 768px) {
  .p-product-detail__info-option-accessories {
    grid-template-columns: 1fr;
  }
}
.p-product-detail__accessory-list {
  width: 100%;
  margin-inline: 0;
  margin: auto;
  padding: 1rem;
}
.p-product-detail__accessory-list > div:not(.p-product-detail__beadlock-comment) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 3rem);
  align-items: start;
  margin: 1.5rem auto;
}
@media screen and (max-width: 1024px) {
  .p-product-detail__accessory-list {
    width: 100%;
    margin-inline: 0 auto;
  }
  .p-product-detail__accessory-list > div:not(.p-product-detail__beadlock-comment) {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    padding: 1rem;
    width: 90%;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-product-detail__accessory-list {
    width: 100%;
    margin-inline: 0 auto;
  }
  .p-product-detail__accessory-list > div:not(.p-product-detail__beadlock-comment) {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 0;
    margin-top: 0;
    margin-inline: auto;
    justify-content: center;
  }
}
.p-product-detail__beadlock-comment {
  width: 100%;
  margin-inline: 0;
  margin: auto;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .p-product-detail__beadlock-comment {
    width: 95%;
  }
}
.p-product-detail__subheading {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  margin: 0 0 0.75rem;
  border-bottom: 2px solid #3241c7;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #d4a91e;
  font-size: calc(max(12px, 0.875rem) + 2px);
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  white-space: nowrap;
}
.p-product-detail__subheading::after {
  content: "";
  flex: 1 1 auto;
  min-width: 2rem;
  height: 0.625rem;
  background-image: linear-gradient(#3241c7, #3241c7), linear-gradient(to top right, transparent calc(50% - 1px), #3241c7 calc(50% - 1px), #3241c7 calc(50% + 1px), transparent calc(50% + 1px));
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: calc(100% - 1.625rem) 2px, 1.3125rem 100%;
}
.p-product-detail__info-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
  font-size: 0.75rem;
  line-height: 1.65;
}
.p-product-detail__info-list li {
  position: relative;
  padding-left: 1rem;
}
.p-product-detail__info-list li::before {
  content: "";
  position: absolute;
  top: 0.825em;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}
.p-product-detail__notice-list {
  width: 100%;
  list-style: none;
  margin: 2rem 0 0;
  padding-left: 0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.75;
}
.p-product-detail__notice-list li {
  display: grid;
  grid-template-columns: 1.125rem minmax(0, 1fr);
  gap: 0.35rem;
  align-items: start;
}
.p-product-detail__notice-list li + li {
  margin-top: 0.25rem;
}
.p-product-detail__notice-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.p-product-detail__notice-link:hover {
  opacity: 0.8;
}
.p-product-detail__offroad-chain-notice-list {
  width: 100%;
  list-style: none;
  margin: 1rem 0 0;
  padding-left: 0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.75;
}
.p-product-detail__offroad-chain-notice-list li {
  display: grid;
  grid-template-columns: 1.125rem minmax(0, 1fr);
  gap: 0.35rem;
  align-items: start;
}
.p-product-detail__offroad-chain-notice-list li + li {
  margin-top: 0.25rem;
}
.p-product-detail__notice-icon {
  width: 1.125rem;
  height: auto;
  margin-top: 0.1rem;
}
.p-product-detail__notice-icon-wrap {
  display: flex;
  align-items: center;
  height: 1.75em;
}
.p-product-detail__notice-icon-wrap .p-product-detail__notice-icon {
  margin-top: 0;
}
.p-product-detail__banner-link {
  display: block;
  width: min(100%, 21.0625rem);
  margin: 2.5rem auto 0;
}
.p-product-detail__banner {
  display: block;
  width: 100%;
  height: auto;
}
.p-product-detail__options, .p-product-detail__option-group {
  min-width: 0;
}
.p-product-detail__option-group + .p-product-detail__option-group {
  margin-top: 1rem;
}
.p-product-detail__option-heading {
  margin: 0.75rem 0 0.1rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
}
.p-product-detail__option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.p-product-detail__option-grid:has(> .p-product-detail__option-card:only-child) {
  grid-template-columns: minmax(0, 1fr);
}
.p-product-detail__option-grid:has(> .p-product-detail__option-card:only-child) img {
  max-width: 12rem;
}
.p-product-detail__option-card {
  margin: 0;
}
.p-product-detail__option-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.p-product-detail__option-card figcaption {
  margin-top: 0.45rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.55;
}
.p-product-detail__chain-set-card {
  display: block;
  width: 80%;
  object-fit: cover;
  margin: 30px auto;
}
@media screen and (max-width: 768px) {
  .p-product-detail__chain-set-card {
    margin: 20px auto;
  }
}
.p-product-detail__accessory-card {
  display: block;
  width: 65%;
  object-fit: cover;
  margin: 30px auto;
  width: 400px;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .p-product-detail__accessory-card {
    width: 60%;
    margin: 1rem auto;
  }
}
@media screen and (max-width: 768px) {
  .p-product-detail__accessory-card {
    width: 75%;
    margin: 0.5rem auto;
  }
}
.p-product-detail__option-note {
  display: block;
  font-size: 0.5625rem;
  line-height: 1.55;
  letter-spacing: -0.035em;
  white-space: nowrap;
}
.p-product-detail__option-status {
  display: block;
}
.p-product-detail__dealer {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
  padding-right: 3.5rem;
}
.p-product-detail__dealer .c-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 338px;
  height: 56px;
  padding: 0 40px;
  font-size: 14px;
  white-space: nowrap;
}
.p-product-detail__gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.5rem;
}
.p-product-detail__gallery-item {
  overflow: hidden;
  aspect-ratio: 1;
}
.p-product-detail__gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.p-product-detail__gallery-item:hover img {
  transform: scale(1.04);
}
.p-product-detail__spec-group {
  width: 100%;
  max-width: 67rem;
  margin-inline: auto;
}
.p-product-detail__spec-group + .p-product-detail__spec-group--has-caption {
  margin-top: clamp(3rem, 5vw, 5rem);
}
.p-product-detail__table-caption {
  caption-side: top;
  padding-bottom: 0.5rem;
  text-align: left;
}
.p-product-detail__offroad-chain-spec-group {
  width: 100%;
  max-width: 67rem;
  margin-inline: auto;
}
.p-product-detail__table-wrap {
  overflow-x: auto;
  scrollbar-color: var(--detail-accent) #1c1c1c;
}
.p-product-detail__table {
  width: 100%;
  min-width: 67rem;
  border-collapse: collapse;
  table-layout: auto;
  color: #fff;
  font-size: 0.78rem;
  text-align: center;
}
.p-product-detail__table th,
.p-product-detail__table td {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.38);
  padding: 0.48rem 0.35rem;
  vertical-align: middle;
  overflow-wrap: normal;
}
.p-product-detail__table thead th,
.p-product-detail__table .p-product-detail__table-repeat-heading th {
  background: #574da4;
  border-top: 1px solid rgba(255, 255, 255, 0.68);
  border-bottom-color: rgba(255, 255, 255, 0.68);
  font-weight: 400;
  letter-spacing: 0.03em;
}
.p-product-detail__table tbody th {
  background: rgba(22, 22, 22, 0.72);
  font-weight: 400;
  text-align: center;
}
.p-product-detail__table tbody td {
  background: rgba(22, 22, 22, 0.72);
  font-weight: 400;
}
.p-product-detail__table small {
  display: inline-flex;
  align-items: center;
  font-size: inherit;
  font-weight: 400;
}
.p-product-detail__table small::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.6rem;
  margin-left: 0.2rem;
  border: 1px solid #ef4478;
  border-radius: 1px;
  background: repeating-linear-gradient(to bottom, transparent 0 1px, #ef4478 1px 2px, transparent 2px 3px);
  transform: skewX(-10deg) rotate(4deg);
}
.p-product-detail__table th:nth-last-child(-n+2) small::after {
  content: none;
}
.p-product-detail__table tbody th,
.p-product-detail__table tbody td {
  white-space: nowrap;
  padding-inline: 0.75rem;
}
.p-product-detail__table .p-product-detail__table-repeat-heading th {
  white-space: normal;
}
.p-product-detail__table-chain {
  width: 100%;
  min-width: 67rem;
  border-collapse: collapse;
  color: #fff;
  font-size: 0.78rem;
  text-align: center;
}
.p-product-detail__table-chain th,
.p-product-detail__table-chain td {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.38);
  padding: 0.48rem 0.35rem;
  vertical-align: middle;
}
.p-product-detail__table-chain thead th {
  background: #574da4;
  border-top: 1px solid rgba(255, 255, 255, 0.68);
  border-bottom-color: rgba(255, 255, 255, 0.68);
  font-weight: 400;
  letter-spacing: 0.03em;
}
.p-product-detail__table-chain tbody th {
  background: rgba(22, 22, 22, 0.72);
  font-weight: 400;
  text-align: center;
}
.p-product-detail__table-chain tbody td {
  background: rgba(22, 22, 22, 0.72);
  font-weight: 400;
}
.p-product-detail__table-chain small {
  display: inline-flex;
  align-items: center;
  font-size: inherit;
  font-weight: 400;
}
.p-product-detail__table-chain small::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.6rem;
  margin-left: 0.2rem;
  border: 1px solid #ef4478;
  border-radius: 1px;
  background: repeating-linear-gradient(to bottom, transparent 0 1px, #ef4478 1px 2px, transparent 2px 3px);
  transform: skewX(-10deg) rotate(4deg);
}
.p-product-detail__table-chain-ec-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 25px;
  background-color: #734607;
  color: #fff;
  text-decoration: none;
  font-size: 10px;
  border-radius: 5px;
}
.p-product-detail__table-chain-ec-button:hover {
  opacity: 0.8;
}
.p-product-detail__table-chain-band-wrap {
  overflow-x: auto;
  scrollbar-color: var(--detail-accent) #1c1c1c;
}
.p-product-detail__table-chain-band {
  width: 100%;
  min-width: 67rem;
  border-collapse: collapse;
  color: #fff;
  font-size: 0.78rem;
  text-align: center;
}
.p-product-detail__table-chain-band th,
.p-product-detail__table-chain-band td {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.38);
  padding: 0.48rem 1.5rem;
  vertical-align: middle;
}
.p-product-detail__table-chain-band thead th {
  background: #574da4;
  border-top: 1px solid rgba(255, 255, 255, 0.68);
  border-bottom-color: rgba(255, 255, 255, 0.68);
  font-weight: 400;
  letter-spacing: 0.03em;
}
.p-product-detail__table-chain-band tbody th {
  background: rgba(22, 22, 22, 0.72);
  font-weight: 400;
  text-align: center;
}
.p-product-detail__table-chain-band tbody td {
  background: rgba(22, 22, 22, 0.72);
  font-weight: 400;
}
.p-product-detail__table-chain-band small {
  display: inline-flex;
  align-items: center;
  font-size: inherit;
  font-weight: 400;
}
.p-product-detail__table-chain-band small::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.6rem;
  margin-left: 0.2rem;
  border: 1px solid #ef4478;
  border-radius: 1px;
  background: repeating-linear-gradient(to bottom, transparent 0 1px, #ef4478 1px 2px, transparent 2px 3px);
  transform: skewX(-10deg) rotate(4deg);
}
.p-product-detail__spec-notes {
  list-style: none;
  margin: 2.5rem 0 0;
  padding-left: 0;
  font-size: 0.8rem;
  line-height: 1.8;
}
.p-product-detail__offroad-chain-spec-notes {
  list-style: none;
  margin: 2.5rem 0 0;
  padding-left: 0;
  font-size: 0.8rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-product-detail__offroad-chain-spec-notes {
    margin: 1rem 0 0;
  }
}
.p-product-detail__spec-notes--table-aligned {
  width: 100%;
  max-width: 67rem;
  margin-inline: auto;
}
.p-product-detail__offroad-chain-spec-notes--table-aligned {
  width: 100%;
  max-width: 67rem;
  margin-inline: auto;
}
.p-product-detail__description, .p-product-detail__info-list, .p-product-detail__notice-list, .p-product-detail__option-heading, .p-product-detail__spec-notes, .p-product-detail__offroad-chain-spec-notes {
  font-size: max(12px, 0.875rem);
  line-height: 1.9;
  letter-spacing: 0.015em;
}
.p-product-detail__option-card figcaption, .p-product-detail__option-note, .p-product-detail__table {
  font-size: max(12px, 0.75rem);
}
.p-product-detail__spec-note {
  position: relative;
  padding-left: 1.1rem;
}
.p-product-detail__spec-note a {
  color: inherit;
  text-decoration: none;
}
.p-product-detail__spec-note a:hover, .p-product-detail__spec-note a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.p-product-detail__spec-note::before {
  position: absolute;
  left: 0;
  color: #fff;
}
.p-product-detail__spec-note--bullet::before {
  content: "";
  top: 0.65em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #fff;
}
.p-product-detail__spec-note--asterisk::before {
  content: "※";
  top: 0;
}
.p-product-detail__spec-note--inset-guide::before {
  content: "";
  top: 0.95em;
  width: 0.7rem;
  height: 0.8rem;
  border: 1px solid #ef4478;
  border-radius: 1px;
  background: repeating-linear-gradient(to bottom, transparent 0 1px, #ef4478 1px 2px, transparent 2px 3px);
  transform: translateY(-50%) skewX(-10deg) rotate(4deg);
}
.p-product-detail__inset--ultra {
  color: #f00;
}
.p-product-detail__inset--vehicle {
  color: #ff0;
}
@media screen and (max-width: 1024px) {
  .p-product-detail__gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .p-product-detail {
    padding-inline: 1rem;
  }
  .p-product-detail__lead, .p-product-detail__info-option, .p-product-detail__info-option-accessories {
    grid-template-columns: 1fr;
  }
  .p-product-detail__wheel-stage {
    position: static;
  }
  .p-product-detail__finish-list {
    max-width: 24rem;
  }
  .p-product-detail__content {
    padding-top: 2rem;
  }
  .p-product-detail__logo {
    width: min(75%, 22rem);
  }
  .p-product-detail__heading {
    width: min(90%, 27.5rem);
    margin-top: 1rem;
    margin-inline: auto;
  }
  .p-product-detail__product-spec {
    width: min(90%, 27.5rem);
    margin-inline: auto;
  }
  .p-product-detail__product-spec .p-product-item__spec-container {
    gap: 0.35rem;
  }
  .p-product-detail__vehicle {
    width: calc(100% + 2rem);
    max-width: none;
    margin: 2.5rem -1rem 0;
  }
  .p-product-detail__section-heading p {
    width: 100%;
    margin-left: 0;
  }
  .p-product-detail__section-heading--specs p {
    top: 0;
  }
  .p-product-detail__buy {
    text-align: center;
  }
  .p-product-detail__buy-button {
    width: min(338px, 100% - 1.5rem);
    padding: 0 65px 0 0;
    margin-top: 0;
  }
  .p-product-detail__buy-button img {
    width: 40px;
    height: 40px;
    padding: 7px;
    margin-right: 40px;
    filter: brightness(0) invert(1);
    transform: translateX(-45px);
  }
  .p-product-detail__gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .p-product-detail__dealer {
    justify-content: center;
    padding-right: 1.5rem;
  }
  .p-product-detail__dealer .c-button {
    width: min(338px, 100% - 1.5rem);
    padding: 0 20px;
  }
  .p-product-detail__dealer .c-button__arrow {
    right: -1.5rem;
    width: 3rem;
  }
  .p-product-detail__dealer .c-button:hover .c-button__arrow {
    right: -1.75rem;
  }
}
@media screen and (max-width: 640px) {
  .p-product-detail__option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-product-detail__option-note {
    white-space: normal;
  }
}
@media screen and (max-width: 768px) {
  .p-product-detail__offroad-chain-main img {
    width: 87%;
    margin-inline: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-product-detail__wheel-main img, .p-product-detail__gallery-item img, .p-product-detail__offroad-chain-main img {
    transition: none;
  }
}

body.admin-bar .p-product-detail-hero {
  height: auto;
}

.p-product-deep-rim {
  margin-top: 5rem;
  text-align: center;
}
.p-product-deep-rim__title {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
  color: #3241c7;
}
.p-product-deep-rim__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 60rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-product-deep-rim__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.p-product-deep-rim__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.p-product-deep-rim__item > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.p-product-deep-rim__image {
  width: 100%;
  max-width: 12rem;
  margin-inline: auto;
}
.p-product-deep-rim__image img {
  width: 100%;
  height: auto;
}
.p-product-deep-rim__name {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}

.p-product-dually {
  margin-top: 5rem;
  text-align: center;
}
.p-product-dually__title {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
  color: #3241c7;
}
.p-product-dually__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  max-width: 40rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-product-dually__list {
    gap: 2rem;
  }
}
.p-product-dually__list--single {
  grid-template-columns: minmax(0, 12rem);
  justify-content: center;
}
.p-product-dually__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.p-product-dually__item > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.p-product-dually__image {
  width: 100%;
  max-width: 12rem;
  margin-inline: auto;
}
.p-product-dually__image img {
  width: 100%;
  height: auto;
}
.p-product-dually__name {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}

.p-product-rfw {
  margin-top: 5rem;
  text-align: center;
}
.p-product-rfw__title {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
  color: #3241c7;
}
.p-product-rfw__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 60rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-product-rfw__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.p-product-rfw__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.p-product-rfw__image {
  width: 100%;
  max-width: 12rem;
}
.p-product-rfw__image img {
  width: 100%;
  height: auto;
}
.p-product-rfw__name {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}

.p-product-beadrock {
  margin-top: 5rem;
  text-align: center;
}
.p-product-beadrock__title {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
  color: #e6a600;
}
.p-product-beadrock__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 40rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-product-beadrock__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.p-product-beadrock__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.p-product-beadrock__item:only-child {
  grid-column: 1/-1;
}
.p-product-beadrock__item > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.p-product-beadrock__image {
  width: 100%;
  max-width: 12rem;
  margin-inline: auto;
}
.p-product-beadrock__image img {
  width: 100%;
  height: auto;
}
.p-product-beadrock__name {
  font-family: "Vollkorn", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}

.p-product-accessories .p-breadcrumb, .p-product-accessories__content {
  background-image: linear-gradient(to right, transparent 16.38vw, #0a0a0a 25.2vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-product-accessories .p-breadcrumb, .p-product-accessories__content {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-product-accessories__content {
  position: relative;
  z-index: 1;
  padding: 0 2rem 22rem;
}
.p-product-accessories__content > div {
  max-width: calc(1190px + 3rem);
  margin: clamp(3rem, 5vw, 5rem) auto 0;
}
.p-product-accessories__inner {
  width: min(80.75vw, 87.1rem, 100% - 4rem);
  margin: 0 auto;
}
.p-product-accessories__heading {
  margin: 0 0 5.2rem;
  color: #3241c7;
  font-family: "Vollkorn", serif;
  font-size: 2.1875rem;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
}
.p-product-accessories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  column-gap: clamp(2rem, 5.6vw, 6.05rem);
  row-gap: clamp(6rem, 10vw, 10.9rem);
}
.p-product-accessories__accessories-title {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: left;
  width: 100%;
  margin-bottom: 3rem;
}
.p-product-accessories__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.p-product-accessories__image {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: 25/33.6;
}
.p-product-accessories__image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
@media screen and (min-width: 1025px) {
  .p-product-accessories__item.u-fade-left, .p-product-accessories__item.u-fade-right {
    transform: translateY(60px);
  }
  .p-product-accessories__item:nth-child(3n+2) {
    transition-delay: 0.12s;
  }
  .p-product-accessories__item:nth-child(3n+3) {
    transition-delay: 0.24s;
  }
  .p-product-accessories__item.u-fade-left.is-visible, .p-product-accessories__item.u-fade-right.is-visible {
    transform: translateY(0);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .p-product-accessories__item.u-fade-left, .p-product-accessories__item.u-fade-right {
    transform: translateY(60px);
  }
  .p-product-accessories__item:nth-child(even) {
    transition-delay: 0.12s;
  }
  .p-product-accessories__item.u-fade-left.is-visible, .p-product-accessories__item.u-fade-right.is-visible {
    transform: translateY(0);
  }
}
.p-product-accessories__item--chain .p-product-accessories__image img {
  width: 99.6%;
}
.p-product-accessories__item--chain .p-product-accessories__name {
  margin-top: 2.8rem;
}
.p-product-accessories__name {
  margin: 1.8rem 0 0;
  color: #fff;
  font-family: "Vollkorn", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-product-accessories__content {
    padding: 0 3rem 16rem;
  }
  .p-product-accessories__inner {
    width: 100%;
  }
  .p-product-accessories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(70vw, 61rem);
    margin-inline: auto;
    column-gap: clamp(2rem, 5vw, 5rem);
    row-gap: clamp(5rem, 8vw, 8rem);
  }
}
@media screen and (max-width: 768px) {
  .p-product-accessories__content {
    padding: 0 0 10rem;
  }
  .p-product-accessories__inner {
    width: calc(100% - 3rem);
  }
  .p-product-accessories__heading {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
  .p-product-accessories__image {
    aspect-ratio: auto;
  }
  .p-product-accessories__grid {
    width: min(65vw, 28rem);
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(4rem, 10vw, 6rem);
  }
  .p-product-accessories__item--chain .p-product-accessories__name {
    margin-top: 2rem;
  }
  .p-product-accessories__name {
    margin-top: 1.5rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 425px) {
  .p-product-accessories__inner {
    width: calc(100% - 2rem);
  }
  .p-product-accessories__name {
    font-size: 1.25rem;
  }
}

.p-product-accessories-detail .p-product-detail__chain-section-heading::after {
  right: unset;
  left: unset;
  bottom: 0;
  height: 28px;
  width: 100%;
  background-image: url("../../assets/images/common/title_line.webp");
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.p-product-accessories-detail .p-product-detail__price-note {
  display: block;
  object-fit: cover;
  margin: 0 auto;
  width: 400px;
  max-width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-product-accessories-detail .p-product-detail__price-note {
    margin: 0;
  }
}
.p-product-accessories-detail__name {
  margin: 1.8rem 2.5rem 0;
  color: #fff;
  font-family: "Vollkorn", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-product-accessories-detail__name {
    font-size: 1.5rem;
    margin: 1.8rem 1.5rem 0;
  }
}
@media screen and (max-width: 768px) {
  .p-product-accessories-detail__name {
    margin-top: 0;
  }
  .p-product-accessories-detail .p-product-detail__heading {
    width: 100%;
    margin-top: 1rem;
    margin-inline: auto;
  }
  .p-product-accessories-detail .p-product-detail__accessory-content--last {
    padding-top: 0;
    margin-bottom: 0;
    width: 100%;
    margin-inline: auto;
  }
  .p-product-accessories-detail .p-product-detail__price-note {
    display: block;
    object-fit: cover;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs {
    min-height: 0;
    padding-top: 0.5em;
  }
  .p-product-accessories-detail .p-product-detail__chain-section-heading.p-product-detail__section-heading--specs {
    overflow: visible;
    margin-bottom: 1rem;
  }
  .p-product-accessories-detail .p-product-detail__chain-section-heading.p-product-detail__section-heading--specs h2 {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
  }
  .p-product-accessories-detail .p-product-detail__chain-section-heading.p-product-detail__section-heading--specs p {
    position: absolute;
    left: 0;
    right: auto;
    top: auto;
    bottom: 0.35rem;
    z-index: 1;
    margin: 0;
  }
  .p-product-accessories-detail .p-product-detail__chain-section-heading.p-product-detail__section-heading--specs:has(> p) {
    padding-bottom: 2rem;
    overflow: visible;
    margin-bottom: 2rem;
  }
  .p-product-accessories-detail .p-product-detail__chain-section-heading.p-product-detail__section-heading--specs:first-of-type::after {
    right: 0;
    left: 0;
    bottom: -17px;
    z-index: 99;
    height: 28px;
    background-size: contain;
    background-position: center;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs + .p-product-detail__offroad-chain-spec-group:last-of-type,
  .p-product-accessories-detail .p-product-detail__section-heading--specs + .p-product-detail__chain-scroll:last-of-type {
    margin-top: 2rem;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs:has(.p-product-detail__section-icon):not(.p-product-detail__chain-section-heading) {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2rem;
    padding-top: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs:has(.p-product-detail__section-icon):not(.p-product-detail__chain-section-heading)::after {
    top: 2rem;
    bottom: 0;
    left: 0;
    height: 1.5rem;
    background-size: 100% auto;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs:has(.p-product-detail__section-icon):not(.p-product-detail__chain-section-heading) .p-product-detail__section-icon {
    flex: 0 0 1.45rem;
    width: 1.45rem;
    min-width: 1.45rem;
    max-width: 1.45rem;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs:has(.p-product-detail__section-icon):not(.p-product-detail__chain-section-heading) h2 {
    flex: 0 0 auto;
    min-width: max-content;
    font-size: 1.2rem;
  }
  .p-product-accessories-detail .p-product-detail__section-heading--specs:has(.p-product-detail__section-icon):not(.p-product-detail__chain-section-heading) p {
    position: absolute;
    left: 0;
    right: auto;
    top: auto;
    bottom: 0.75rem;
    width: max-content;
    margin: 0;
    text-align: left;
  }
}

.p-product-offroadchain .p-product-hero {
  background-image: url("../../assets/images/product/offroad-spikechain/hero_offroad-spikechain.webp");
}
@media screen and (max-width: 768px) {
  .p-product-offroadchain .p-product-detail__section {
    margin-top: 0;
  }
}
.p-product-offroadchain img {
  object-fit: contain;
}
.p-product-offroadchain .p-product-detail__logo img {
  aspect-ratio: 580/231;
  object-position: bottom;
}
.p-product-offroadchain .p-product-detail__dealer {
  margin-top: 0;
}
.p-product-offroadchain #offroad-chain-size-title {
  word-break: auto-phrase;
}
.p-product-offroadchain__content, .p-product-offroadchain__product {
  display: flex;
  flex-direction: column;
  gap: clamp(6rem, 12vw, 14rem);
}
.p-product-offroadchain__content {
  /* 他ページと同様の上部マージンを確保 */
  margin-top: clamp(3rem, 5vw, 5rem);
}
.p-product-offroadchain__product {
  scroll-margin-top: 100px;
  gap: clamp(4rem, 8vw, 10rem);
}
.p-product-offroadchain__introduction {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(2.5rem, 5vw, 6rem);
}
@media screen and (max-width: 768px) {
  .p-product-offroadchain__introduction {
    grid-template-columns: 1fr;
    row-gap: clamp(4rem, 8vw, 10rem);
    /* モバイルはロゴを先頭に表示する */
  }
  .p-product-offroadchain__introduction > :nth-child(2) {
    order: -1;
  }
}
.p-product-offroadchain__lead {
  margin-top: 10%;
  /* __vehicleの上部マージンを確保するためのマージン */
  margin-bottom: 12%;
}
@media screen and (max-width: 768px) {
  .p-product-offroadchain__lead {
    margin-block: 0;
  }
}
.p-product-offroadchain__vehicle {
  margin-top: -10%;
  /* p-product-accessories__contentのpaddingとp-product-detailのpaddingを相殺するためのマージン */
  margin-right: -3.5rem;
}
@media screen and (max-width: 1024px) {
  .p-product-offroadchain__vehicle {
    margin-right: -4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-product-offroadchain__vehicle {
    margin-top: clamp(6rem, 12vw, 14rem);
    margin-right: -1rem;
  }
}
.p-product-offroadchain__vehicle img {
  aspect-ratio: 4/3;
}
.p-product-offroadchain__youtube-link {
  display: inline-block;
  margin-top: 2rem;
  transition: opacity 0.3s ease;
}
.p-product-offroadchain__youtube-link:hover {
  opacity: 0.8;
}
.p-product-offroadchain__youtube-link img {
  aspect-ratio: 800/451;
}
.p-product-offroadchain__images-main img {
  aspect-ratio: 2000/1333;
}
.p-product-offroadchain__images-sub {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.p-inset-guide {
  overflow-x: hidden;
}
.p-inset-guide__body {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-inset-guide__body {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-inset-guide__body {
  padding: 6rem 0 20rem;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-inset-guide__body {
    padding: 4rem 0 6rem;
  }
}
.p-inset-guide__inner {
  width: 100%;
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-inset-guide__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-inset-guide__header {
  width: 100%;
  margin-bottom: 3rem;
}
.p-inset-guide__title {
  margin: 0;
  width: 100%;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: left;
  text-wrap: balance;
}
.p-inset-guide__title::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 100%;
  height: 2.3rem;
  margin-top: 0.5rem;
  background-image: url("../../assets/images/common/title_line.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .p-inset-guide__title::after {
    height: 1.3rem;
  }
}
@media screen and (max-width: 425px) {
  .p-inset-guide__title::after {
    height: 0.9rem;
  }
}
@media screen and (max-width: 320px) {
  .p-inset-guide__title::after {
    height: 0.5rem;
  }
}
.p-inset-guide__figure {
  width: min(100%, 920px);
  margin: 0 auto 3rem;
}
.p-inset-guide__figure img {
  display: block;
  width: 100%;
  height: auto;
}
.p-inset-guide__content {
  width: min(100%, 920px);
  margin-inline: auto;
}
.p-inset-guide__lead, .p-inset-guide__note {
  margin: 0;
  line-height: 1.9;
}
.p-inset-guide__definitions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin: 3rem 0;
}
.p-inset-guide__definition {
  padding: 2rem;
  border-top: 2px solid #4556aa;
  background-color: #161616;
}
.p-inset-guide__term {
  margin: 0 0 0.75rem;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.p-inset-guide__description {
  margin: 0;
  line-height: 1.9;
}
.p-inset-guide__note + .p-inset-guide__note {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-inset-guide__definitions {
    gap: 1rem;
  }
  .p-inset-guide__definition {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 640px) {
  .p-inset-guide__definitions {
    grid-template-columns: minmax(0, 1fr);
    margin: 2rem 0;
  }
  .p-inset-guide__definition {
    padding: 1.25rem;
  }
}

/* gallery */
/* ギャラリーページ全体：横方向のはみ出しを抑止 */
.p-gallery {
  overflow-x: hidden;
}

/* ギャラリーページ ファーストビュー（他下層ページヒーローと同構成） */
.p-gallery-hero {
  position: relative;
  background-image: url("../../assets/images/gallery/hero_gallery.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 40vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-gallery-hero {
    background-image: url("../../assets/images/gallery/hero_gallery.webp");
    align-items: flex-start;
    min-height: 58vh;
  }
}
.p-gallery-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 10vw;
  min-height: 60px;
  background-image: url("../../assets/images/top/top_hero_mountain.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
.p-gallery-hero__inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 4rem 0 calc(4rem + 4.7vw) 5.25vw;
}
@media screen and (max-width: 768px) {
  .p-gallery-hero__inner {
    padding: 3rem 1.5rem 3rem;
    align-items: flex-start;
    width: 70%;
    margin: 0 auto;
  }
}
.p-gallery-hero__title {
  display: grid;
  place-content: center;
}
.p-gallery-hero__title-image {
  display: grid;
  place-content: center;
  width: clamp(20rem, 23.5vw, 25rem);
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-gallery-hero__title-image {
    width: fit-content;
  }
}
.p-gallery-hero__title-image img {
  grid-area: 1/1;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-gallery-hero__title-text {
  grid-area: 1/1;
  place-self: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-gallery-hero__title-text {
    font-size: 2rem;
  }
}

/* ギャラリー本文 */
.p-gallery-content {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-gallery-content {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-gallery-content {
  padding: 5rem 0 20rem;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-gallery-content {
    padding: 4rem 0 6rem;
  }
}
.p-gallery-content.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.p-gallery-content__inner {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-gallery-content__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-gallery-content__heading-block {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-bottom: 3rem;
  overflow: hidden;
}
.p-gallery-content__heading-block[hidden] {
  display: none;
}
.p-gallery-content__heading-block::after {
  content: "";
  display: block;
  margin-top: -0.5rem;
  width: 100%;
  height: 2rem;
  background-image: url("../../assets/images/common/title_line.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
}
.p-gallery-content__heading-block .p-gallery-content__heading {
  margin-bottom: 0;
}
.p-gallery-content__heading-block .p-gallery-content__heading::after {
  content: none;
}
.p-gallery-content__heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
}
.p-gallery-content__heading-ja {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.p-gallery-content__heading {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.75rem;
  font-weight: 500;
  font-style: normal;
  text-align: left;
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-gallery-content__heading {
    margin-bottom: 1rem;
  }
}
.p-gallery-content__empty {
  margin-top: 2rem;
  color: #fff;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  text-align: center;
}
.p-gallery-content [data-gallery-item] {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.p-gallery-content [data-gallery-item].is-gallery-collapsing {
  opacity: 0;
  transform: translateY(-20px);
}

/* ALL時のカテゴリ見出し付きグループ */
.p-gallery-group[hidden] {
  display: none;
}
.p-gallery-group + .p-gallery-group {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-group + .p-gallery-group {
    margin-top: 4rem;
  }
}
.p-gallery-group--child {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-group--child {
    margin-top: 2.5rem;
  }
}
.p-gallery-group--maker > .p-gallery-group--child:first-child {
  margin-top: 0;
}
.p-gallery-group .p-gallery-content__heading-block {
  margin-bottom: 2rem;
}

/* WPカテゴリ一覧テーブル */
.p-gallery-categories {
  margin-bottom: 5rem;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.p-gallery-categories__heading {
  background-color: #674498;
}
.p-gallery-categories__heading-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.5rem 0.25rem;
  color: #fff;
  background-color: transparent;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0.04em;
}
.p-gallery-categories__tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .p-gallery-categories__tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.p-gallery-categories__tab-wrapper {
  container-type: inline-size;
}
.p-gallery-categories__tab {
  display: grid;
  /* 3列にしてテキストを常に中央に配置 minmaxでアイコンの最低幅を確保して3列目が先に狭まるようにする*/
  grid-template-columns: minmax(2rem, 1fr) auto 1fr;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0.75rem;
  overflow: hidden;
}
@container (max-width: 100px) {
  .p-gallery-categories__tab {
    /* 横幅が足りない場合はアイコンを非表示にする */
    grid-template-columns: 0 auto 0;
  }
}
.p-gallery-categories__tab.p-product-content__tab {
  border: 1px solid #fff;
  border-right: none;
  border-bottom: none;
}
.p-gallery-categories__tab.p-product-content__tab:last-child {
  border-right: 1px solid #fff;
}
.p-gallery-categories__tab.is-active {
  padding-bottom: calc(1rem + 1px);
}
.p-gallery-categories__tab.is-active .p-gallery-categories__tab-icon img {
  /* color: #0e6ebb の近似値に寄せる */
  filter: brightness(0) saturate(100%) invert(35%) sepia(91%) saturate(1160%) hue-rotate(176deg) brightness(88%) contrast(90%);
}
.p-gallery-categories__tab-text {
  text-align: center;
  font-size: 1.125rem;
}
.p-gallery-categories__tab-icon img {
  display: block;
  object-fit: contain;
  height: 1rem;
  /* color: #727171 の近似値に寄せる */
  filter: brightness(0) saturate(100%) invert(44%) sepia(3%) saturate(0%) hue-rotate(0deg) brightness(94%) contrast(89%);
}
.p-gallery-categories__table {
  border-inline: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.p-gallery-categories__table td {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  border-left: 1px solid rgba(255, 255, 255, 0.35);
}
.p-gallery-categories__table tbody.is-first-visible-tbody tr:first-child td {
  border-top: none;
}
.p-gallery-categories__table tr td:nth-child(1),
.p-gallery-categories__table td.is-empty-left-border {
  border-left: none;
}
@media screen and (max-width: 768px) {
  .p-gallery-categories__table {
    /* モバイル表示を3列にする */
  }
  .p-gallery-categories__table tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-gallery-categories__table tr td:nth-child(4) {
    border-left: none;
  }
  .p-gallery-categories__table tr:first-child td:nth-child(n+4),
  .p-gallery-categories__table tbody.is-first-visible-tbody tr:first-child td:nth-child(n+4) {
    border-top: 1px solid rgba(255, 255, 255, 0.35);
  }
  .p-gallery-categories__table tr:has(td:nth-child(4):empty + td:nth-child(5):empty + td:nth-child(6):empty) td:nth-child(n+4) {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-gallery-categories {
    margin-bottom: 3rem;
  }
}
.p-gallery-categories__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background-color: transparent;
  color: #fff;
}
.p-gallery-categories__table td {
  background-color: transparent;
  text-align: center;
  vertical-align: middle;
  padding: 0;
}
.p-gallery-categories__row--all td:first-child {
  width: 16.6666666667%;
}
.p-gallery-categories__spacer {
  border: none !important;
  background: transparent !important;
  pointer-events: none;
}
.p-gallery-categories__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.25rem;
  padding: 0.75rem 0.5rem;
  border: none;
  color: #fff;
  background-color: transparent;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.25s ease, background-color 0.25s ease;
}
@media screen and (max-width: 768px) {
  .p-gallery-categories__link {
    min-height: 2.75rem;
    padding: 0.5rem 0.25rem;
    overflow-wrap: anywhere;
  }
}
.p-gallery-categories__link:hover {
  opacity: 0.75;
}
.p-gallery-categories__link.is-active-filter {
  background-color: #674498;
}

[data-gallery-children][hidden] {
  display: none;
}

/* ALLデフォルトのホイール一覧：PC5列 / SP3列 */
.p-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}
.p-gallery-grid__item {
  aspect-ratio: 1/1;
  width: 100%;
  display: block;
  border: none;
  padding: 0;
  overflow: hidden;
  background-color: #1a1a1a;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.25s ease;
}
.p-gallery-grid__item[hidden] {
  display: none;
}
.p-gallery-grid__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.p-gallery-grid__item:hover {
  opacity: 0.85;
}
.p-gallery-grid__item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.p-gallery-grid__item-wrapper {
  position: relative;
}
.p-gallery-grid__item-details {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 1.25em 0.5em 0.25em;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 1em);
  mask-image: linear-gradient(to bottom, transparent 0%, black 40%, black 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 40%, black 100%);
  color: #eee;
  pointer-events: none;
}
.p-gallery-grid__item-vehicle-name, .p-gallery-grid__item-wheel-name {
  display: block;
  font-size: 0.9rem;
}

.p-gallery-more {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 12rem;
  min-height: 3.25rem;
  margin: 3rem auto 0;
  padding: 18px 98px;
  border: 2px solid #3241c7;
  background-color: transparent;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  transition: box-shadow 0.3s ease;
}
.p-gallery-more[hidden] {
  display: none;
}
.p-gallery-more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1rem;
  height: 1rem;
  border-right: 2px solid #3241c7;
  border-bottom: 2px solid #3241c7;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.3s ease;
}
.p-gallery-more:hover {
  box-shadow: inset 0 0 30px rgba(103, 68, 152, 0.45);
}
.p-gallery-more:hover::after {
  transform: translateY(-40%) rotate(45deg);
}
.p-gallery-more.is-gallery-all-shown::after {
  transform: translateY(-30%) rotate(225deg);
}
.p-gallery-more.is-gallery-all-shown:hover::after {
  transform: translateY(-60%) rotate(225deg);
}
@media screen and (max-width: 768px) {
  .p-gallery-more {
    width: 100%;
    max-width: 12rem;
    min-height: 2.75rem;
  }
}

/* シリーズ：左画像 + 右ギャラリー一覧 */
.p-gallery-series[hidden] {
  display: none;
}
.p-gallery-series + .p-gallery-series {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-series + .p-gallery-series {
    margin-top: 4rem;
  }
}
.p-gallery-series__body {
  display: grid;
  grid-template-columns: 1.3fr 6fr;
  gap: 2rem;
  align-items: start;
  padding-left: 2rem;
}
.p-gallery-series__body:not(:has(.p-gallery-series__lead)) {
  grid-template-columns: 1fr;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .p-gallery-series__body {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-left: 0;
  }
}
.p-gallery-series__lead {
  width: 100%;
  min-width: 0;
}
.p-gallery-series__lead-image {
  display: block;
  width: min(50vw, 240px);
  height: 100%;
  object-fit: contain;
  margin: 0 auto;
}
.p-gallery-series__dummy, .p-gallery-series__item {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--dummy-color, #4a5568);
  border: none;
  padding: 0;
  overflow: hidden;
}
.p-gallery-series__gallery {
  position: relative;
  min-width: 0;
}
.p-gallery-series__track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-series__track {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}
.p-gallery-series__item {
  aspect-ratio: 1/1;
  cursor: pointer;
  transition: opacity 0.25s ease;
}
.p-gallery-series__item[hidden] {
  display: none;
}
.p-gallery-series__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.p-gallery-series__item:hover {
  opacity: 0.85;
}
.p-gallery-series__item:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.p-gallery-series__more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12rem;
  min-height: 3.25rem;
  margin: 2rem auto 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background-color: transparent;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  cursor: pointer;
  transition: opacity 0.25s ease, background-color 0.25s ease;
}
.p-gallery-series__more[hidden] {
  display: none;
}
.p-gallery-series__more:hover {
  background-color: #674498;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-gallery-series__more {
    width: 100%;
    max-width: 12rem;
    min-height: 2.75rem;
  }
}

/* モーダル：viewport全体にして showModal 時のページジャンプを防ぐ */
.p-gallery-modal {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  border: none;
  padding: 3rem 1.5rem;
  overflow: hidden;
  background: transparent;
  color: #fff;
}
.p-gallery-modal[open], .p-gallery-modal.is-fallback-open {
  display: grid;
  place-items: center;
}
.p-gallery-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.82);
}
.p-gallery-modal.is-fallback-open {
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.p-gallery-modal__close {
  position: absolute;
  z-index: 3;
  top: 1.25rem;
  right: max(1.5rem, (100vw - min(92vw, 56rem)) / 2);
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  cursor: pointer;
}
.p-gallery-modal__close::before, .p-gallery-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.5rem;
  height: 2px;
  background-color: #fff;
}
.p-gallery-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-gallery-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-gallery-modal__stage {
  position: relative;
  width: min(92vw, 56rem);
  max-width: 100%;
  aspect-ratio: 16/10;
  background-color: #1a1a1a;
}
.p-gallery-modal__dummy, .p-gallery-modal__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: var(--dummy-color, #4a5568);
}

.p-gallery-detail {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-gallery-detail {
  padding: 6rem 0 20rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail {
    padding: 4rem 0 6rem;
  }
}
.p-gallery-detail__inner {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-gallery-detail__body {
  display: grid;
  grid-template-columns: 1fr 0.4fr;
  gap: 2rem;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__body {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.p-gallery-detail__side {
  max-width: 320px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__side {
    margin-top: 6rem;
  }
}
.p-gallery-detail__content {
  --product-detail-content-padding: 1rem;
  padding-inline: var(--product-detail-content-padding);
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__wheel-wrapper {
    margin-bottom: 0;
  }
}
.p-gallery-detail__wheel-wrapper .c-wheel-wrapper {
  --wheel-backdrop-width-base: 110%;
  --wheel-next-overlap-ratio: 0.3;
}
.p-gallery-detail__wheel-link {
  transition: opacity 0.3s;
}
.p-gallery-detail__wheel-link:hover {
  opacity: 0.7;
}
.p-gallery-detail__photos {
  min-width: 0;
}
.p-gallery-detail__photos .p-gallery-content__heading-block {
  margin-bottom: 2rem;
}
.p-gallery-detail__specs__inner {
  display: flex;
  gap: 31px;
  min-width: 0;
  justify-content: flex-start;
  margin-bottom: 0.9rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__specs__inner {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.p-gallery-detail__spec {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0;
}
.p-gallery-detail__credit {
  display: flex;
  align-items: flex-start;
  gap: 0;
}
.p-gallery-detail__spec-label {
  flex: 0 0 auto;
  margin: 0;
  color: #fff;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: normal;
  letter-spacing: 0.04em;
  white-space: nowrap;
  line-height: normal;
}
.p-gallery-detail__spec-label::after {
  content: "：";
}
.p-gallery-detail__spec-body {
  flex: 0 0 auto;
  width: fit-content;
  min-width: 0;
  color: #fff;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  line-height: normal;
}
.p-gallery-detail__spec-body p {
  margin: 0;
}
.p-gallery-detail__spec-body p + p {
  margin-top: 0.5em;
}
.p-gallery-detail__credit {
  margin-top: 1.75rem;
}
.p-gallery-detail__credit-link {
  transition: opacity 0.2s;
}
.p-gallery-detail__credit-link:hover {
  opacity: 0.75;
}
.p-gallery-detail__nav {
  min-width: 0;
  margin-top: 3rem;
}
.p-gallery-detail__logos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.p-gallery-detail__logo {
  width: min(100%, 16rem);
}
.p-gallery-detail__logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 5.5rem;
  object-fit: contain;
}
.p-gallery-detail__tags {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-gallery-detail__tag {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.9rem;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background-color: #674498;
  border-color: #674498;
}
.p-gallery-detail__tag-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
  flex: 0 0 auto;
}
.p-gallery-detail__tag-label {
  min-width: 0;
}
.p-gallery-detail__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.p-gallery-detail__nav-item:nth-child(1) .p-gallery-detail__nav-link {
  background-color: #674498;
  border-color: #674498;
}
.p-gallery-detail__nav-item:nth-child(1) .p-gallery-detail__nav-link.is-active::before {
  background-image: url("../../assets/images/gallery/icon_gallery1.svg");
}
.p-gallery-detail__nav-item:nth-child(2) .p-gallery-detail__nav-link.is-active::before, .p-gallery-detail__nav-item:nth-child(3) .p-gallery-detail__nav-link.is-active::before {
  background-image: url("../../assets/images/gallery/icon_gallery2.svg");
}
.p-gallery-detail__nav-item:nth-child(2) .p-gallery-detail__nav-link {
  background-color: #e60012;
  border-color: #e60012;
}
.p-gallery-detail__nav-item:nth-child(3) .p-gallery-detail__nav-link {
  background-color: #f39800;
  border-color: #f39800;
}
.p-gallery-detail__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.75rem 1rem;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.35);
  transition: background-color 0.25s ease, opacity 0.25s ease;
}
.p-gallery-detail__nav-link.is-active {
  background-color: #674498;
  border-color: #674498;
}
.p-gallery-detail__nav-link.is-active::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  width: 2.75rem;
  height: 1.4rem;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.25s ease;
}
.p-gallery-detail__nav-link:hover {
  opacity: 0.75;
}
.p-gallery-detail__nav-link:hover::before {
  transform: translate(4px, -50%);
}
.p-gallery-detail__main {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #1a1a1a;
}
.p-gallery-detail__main-button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.p-gallery-detail__main-button img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
  pointer-events: none;
  transform-origin: center;
  transition: transform 0.35s ease;
}
.p-gallery-detail__main-button:hover img, .p-gallery-detail__main-button:focus-visible img {
  transform: scale(1.08);
}
.p-gallery-detail__main-button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.p-gallery-detail__arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border: 0;
  padding: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.p-gallery-detail__arrow span {
  display: block;
  width: 0.85rem;
  height: 0.85rem;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
}
.p-gallery-detail__arrow:hover, .p-gallery-detail__arrow:focus-visible {
  color: #fff;
  outline: none;
}
.p-gallery-detail__arrow--prev {
  left: 0.5rem;
}
.p-gallery-detail__arrow--prev span {
  transform: rotate(-45deg);
}
.p-gallery-detail__arrow--next {
  right: 0.5rem;
}
.p-gallery-detail__arrow--next span {
  transform: rotate(135deg);
}
.p-gallery-detail__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__thumbs {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}
.p-gallery-detail__thumb {
  aspect-ratio: 1/1;
  width: 100%;
  border: 1px solid transparent;
  padding: 0;
  overflow: hidden;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: opacity 0.25s ease, border-color 0.25s ease;
}
.p-gallery-detail__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.p-gallery-detail__thumb:hover {
  opacity: 0.85;
}
.p-gallery-detail__thumb.is-active {
  border-color: #fff;
  opacity: 1;
}
.p-gallery-detail__thumb:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.p-gallery-detail__info {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__info {
    margin-top: 3rem;
  }
}
.p-gallery-detail__info-body {
  color: #fff;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.9;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
}
.p-gallery-detail__info-body p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail__info-body {
    padding: 1rem 1.25rem;
    font-size: 0.875rem;
  }
}
.p-gallery-detail .p-product-detail__heading {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  margin-top: 5rem;
  border-bottom: 2px solid #3241c7;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail .p-product-detail__heading {
    margin-top: 1rem;
  }
}
.p-gallery-detail .p-product-detail__product-spec {
  display: flex;
  justify-content: flex-start;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p-gallery-detail .p-product-detail__product-spec {
    /* p-product-detail__headingに揃える */
    width: min(90%, 27.5rem);
    margin-inline: auto;
  }
}

/* news */
.p-news-hero {
  position: relative;
  background-image: url("../../assets/images/company/bg_company.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 40vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-news-hero {
    background-image: url("../../assets/images/company/bg_company_sp.webp");
    align-items: flex-start;
    min-height: 58vh;
  }
}
.p-news-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 10vw;
  min-height: 60px;
  background-image: url("../../assets/images/top/top_hero_mountain.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}
.p-news-hero__inner {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 4rem 0 calc(4rem + 4.7vw) 5.25vw;
}
@media screen and (max-width: 768px) {
  .p-news-hero__inner {
    padding: 3rem 1.5rem 3rem;
    align-items: flex-start;
    width: 70%;
    margin: 0 auto;
  }
}
.p-news-hero__title {
  display: grid;
  place-content: center;
}
.p-news-hero__title-image {
  display: grid;
  place-content: center;
  width: clamp(20rem, 23.5vw, 25rem);
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-news-hero__title-image {
    width: fit-content;
  }
}
.p-news-hero__title-image img {
  grid-area: 1/1;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-news-hero__title-text {
  grid-area: 1/1;
  place-self: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-news-hero__title-text {
    font-size: 2rem;
  }
}

.p-news-content {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-news-content {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-news-content {
  padding: 6rem 0 20rem;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-news-content {
    padding: 4rem 0 6rem;
  }
}
.p-news-content.l-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.p-news-content__inner {
  max-width: calc(1190px + 3rem);
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-news-content__inner {
    max-width: 100%;
    min-width: 0;
  }
}
.p-news-content__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 14rem;
  gap: 3rem;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .p-news-content__layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.p-news-content__empty {
  color: #fff;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  text-align: center;
  padding: 2rem 0;
}

.p-news-list {
  min-width: 0;
}
.p-news-list .p-top-news__line:first-child {
  padding-top: 0;
}

.p-news-nav {
  min-width: 0;
}
.p-news-nav__heading {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  margin: 0 0 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}
.p-news-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-news-nav__item + .p-news-nav__item {
  margin-top: 0.5rem;
}
.p-news-nav__link {
  display: block;
  padding: 0.65rem 0.75rem;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.35);
  transition: background-color 0.25s ease, opacity 0.25s ease;
}
.p-news-nav__link:hover {
  opacity: 0.75;
}
.p-news-nav__link.is-active {
  background-color: #674498;
  border-color: #674498;
}

.p-news-article {
  min-width: 0;
}
.p-news-article__meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.p-news-article__date {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
.p-news-article__title {
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 2rem;
}
@media screen and (max-width: 768px) {
  .p-news-article__title {
    font-size: 1.375rem;
  }
}
.p-news-article__image {
  margin-bottom: 2rem;
  background-color: #1a1a1a;
}
.p-news-article__image img {
  display: block;
  width: 100%;
  height: auto;
}
.p-news-article__body {
  color: #fff;
  font-family: "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.9;
}
.p-news-article__body p {
  margin: 0 0 1em;
}
.p-news-article__body p:last-child {
  margin-bottom: 0;
}
.p-news-article__body a {
  color: #fff;
}
.p-news-article__body img {
  max-width: 100%;
  height: auto;
}
.p-news-article__body ul,
.p-news-article__body ol {
  margin: 0 0 1em 1.25rem;
}
.p-news-article__body iframe {
  aspect-ratio: 16/9;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-news-article__body iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
  }
}

.p-news-pagination {
  margin-top: 4rem;
}
.p-news-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-news-pagination .page-numbers li {
  margin: 0;
}
.p-news-pagination .page-numbers a,
.p-news-pagination .page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background-color 0.25s ease;
}
.p-news-pagination .page-numbers a:hover,
.p-news-pagination .page-numbers .current {
  background-color: #674498;
  border-color: #674498;
}
.p-news-pagination--detail {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-news-pagination--detail {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.p-news-pagination__prev, .p-news-pagination__next {
  min-width: 0;
}
.p-news-pagination__prev a, .p-news-pagination__next a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.5;
  transition: opacity 0.25s ease;
}
.p-news-pagination__prev a:hover, .p-news-pagination__next a:hover {
  opacity: 0.75;
}
.p-news-pagination__next {
  justify-self: end;
}
.p-news-pagination__next a {
  justify-content: flex-end;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-news-pagination__next {
    justify-self: center;
  }
}
.p-news-pagination__index {
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 0.2rem;
  transition: opacity 0.25s ease;
}
.p-news-pagination__index:hover {
  opacity: 0.75;
}

/* 404 */
body.error404 {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body.error404 .p-not-found {
  flex: 1 0 auto;
}

.p-not-found {
  background-image: linear-gradient(to right, transparent 22.1vw, #0a0a0a 34vw), url("../../assets/images/common/bg_main.webp");
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 100%, 640px auto;
  background-position: left top;
  background-attachment: scroll;
}
@media screen and (max-width: 768px) {
  .p-not-found {
    background-image: linear-gradient(to right, transparent 32.5vw, #0a0a0a 50vw), url("../../assets/images/common/bg_main.webp");
    background-size: 100% 100%, 400px auto;
  }
}
.p-not-found__content {
  min-height: 32rem;
  padding-bottom: 10rem;
  padding-top: 7rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-not-found__content {
    min-height: 26rem;
    padding-bottom: 6rem;
    padding-top: 5rem;
  }
}
.p-not-found__code {
  color: #674498;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(5rem, 10vw, 9rem);
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1;
}
.p-not-found__heading {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 1rem;
}
.p-not-found__text {
  line-height: 1.9;
  margin-top: 2rem;
}
.p-not-found__button {
  margin-top: 3rem;
}
.p-not-found__button .c-button {
  padding-left: 5rem;
  padding-right: 5rem;
}
@media screen and (max-width: 768px) {
  .p-not-found__button .c-button {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/* ---------------------------------------------
   utility
   --------------------------------------------- */
.u-pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp {
    display: block;
  }
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.u-fade-left,
.u-fade-right {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.u-fade-left .js-fade-wheel > img,
.u-fade-right .js-fade-wheel > img {
  transition: rotate 0.8s ease;
}
.u-fade-left.is-visible,
.u-fade-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.u-fade-left.is-visible .js-fade-wheel > img,
.u-fade-right.is-visible .js-fade-wheel > img {
  rotate: 0deg;
}

.u-fade-left {
  transform: translateX(-60px);
}
.u-fade-left .js-fade-wheel > img {
  rotate: -90deg;
}

.u-fade-right {
  transform: translateX(60px);
}
.u-fade-right .js-fade-wheel > img {
  rotate: 90deg;
}

.u-fade-delay.is-visible {
  transition-delay: 0.15s;
}
.u-fade-delay.is-visible .js-fade-wheel > img {
  transition-delay: 0.15s;
}

.p-product-item__content.u-fade-left,
.p-product-item__content.u-fade-right {
  opacity: 1;
  transform: none;
}
.p-product-item__content.u-fade-left > .p-product-item__wheel,
.p-product-item__content.u-fade-left > .p-product-item__finish-list,
.p-product-item__content.u-fade-left > .p-product-item__info,
.p-product-item__content.u-fade-right > .p-product-item__wheel,
.p-product-item__content.u-fade-right > .p-product-item__finish-list,
.p-product-item__content.u-fade-right > .p-product-item__info {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.p-product-item__content.u-fade-left > .p-product-item__wheel,
.p-product-item__content.u-fade-right > .p-product-item__wheel {
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.p-product-item__content.u-fade-left.is-visible > .p-product-item__wheel,
.p-product-item__content.u-fade-left.is-visible > .p-product-item__finish-list,
.p-product-item__content.u-fade-left.is-visible > .p-product-item__info,
.p-product-item__content.u-fade-right.is-visible > .p-product-item__wheel,
.p-product-item__content.u-fade-right.is-visible > .p-product-item__finish-list,
.p-product-item__content.u-fade-right.is-visible > .p-product-item__info {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.15s;
}

.p-product-item__content.u-fade-left > .p-product-item__wheel,
.p-product-item__content.u-fade-left > .p-product-item__finish-list,
.p-product-item__content.u-fade-left > .p-product-item__info {
  transform: translateX(-60px);
}

.p-product-item__content.u-fade-right > .p-product-item__wheel,
.p-product-item__content.u-fade-right > .p-product-item__finish-list,
.p-product-item__content.u-fade-right > .p-product-item__info {
  transform: translateX(60px);
}

/*# sourceMappingURL=style.css.map */
