:root {
	/* カラー */
	/* フォントファミリー */
	--zenold: "Zen Old Mincho", serif;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	text-align: justify;
	zoom: 1;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	line-height: 1.8;
	font-feature-settings: "palt";
}

/* html {
	overflow-x: hidden;
} */

body{
	/* overflow-x: hidden; */
	color: #232323;
}

*,
*::after,
*::before {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

table {
	border-collapse: collapse;
	font-family: inherit;
}

h1,
h2,
h3,
h4,
h5 {
	font-size: 100%;
	font-weight: normal;
	line-height: 1;
}

input,
textarea,
select {
	font-size: 16px;
}

select {
	padding: 5px 10px;
	background-color: transparent;
}

input[type="button"],
input[type="text"],
input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
}

textarea {
	resize: none;
	-webkit-appearance: none;
	border-radius: 0;
}

th,
td {
	border-collapse: collapse;
}

table th,
table td {
	white-space: nowrap;
	font-weight: normal;
}

ul,
ol {
	list-style-type: none;
}

img {
	vertical-align: text-bottom;
	vertical-align: -webkit-baseline-middle;
	max-width: 100%;
	height: auto;
	width: auto;
}

a {
	display: block;
	text-decoration: none;
	color: #232323;
   cursor: pointer;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
	height: 100%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	border: none;
	box-sizing: border-box;
	width: 100%;
	outline: none;
	padding: 5px 10px;
}

input[type="button"],
input[type="submit"] {
	border: none;
	outline: none;
	background-color: transparent;
	color: #fff;
	cursor: pointer;
}

@media screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
}
@media screen and (max-width: 1280px) {
  .pc1280 {
    display: none !important;
  }
}
@media screen and (min-width: 641px) {
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1281px) {
  .sp1280 {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp767 {
    display: none !important;
  }
}
.w600 {
  max-width: 600px;
}
.w600.box-side {
  max-width: 650px;
}

.w1020 {
  max-width: 1020px;
}
.w1020.box-side {
  max-width: 1070px;
}

.w1090 {
  max-width: 1090px;
}
.w1090.box-side {
  max-width: 1140px;
}

.w1200 {
  max-width: 1200px;
}
.w1200.box-side {
  max-width: 1250px;
}

.w1320 {
  max-width: 1320px;
}
.w1320.box-side {
  max-width: 1370px;
}

.w1325 {
  max-width: 1325px;
}
.w1325.box-side {
  max-width: 1375px;
}

.box-side {
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 640px) {
  .box-side {
    padding-right: 35px;
    padding-left: 35px;
  }
}

/* 背景色 */
/* テキスト */
.com-fw-bold {
  font-weight: bold;
}

.com-text-center {
  text-align: center;
}

.com-sec-01 {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .com-sec-01 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.com-sec-02 {
  padding-top: 105px;
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  .com-sec-02 {
    padding-top: 85px;
    padding-bottom: 60px;
  }
}

.com-sec-03 {
  padding-top: 100px;
  padding-bottom: 110px;
}
@media screen and (max-width: 640px) {
  .com-sec-03 {
    padding-top: 20px;
    padding-bottom: 67px;
  }
}

/* パディング */
.pt120 {
  padding-top: 120px;
}
@media screen and (max-width: 640px) {
  .pt120 {
    padding-top: 75px;
  }
}

.pt125 {
  padding-top: 125px;
}
@media screen and (max-width: 640px) {
  .pt125 {
    padding-top: 65px;
  }
}

.pb0 {
  padding-bottom: 0 !important;
}

/* マージン */
.m-auto {
  margin-inline: auto;
}

.mt20 {
  margin-top: 20px;
}

.mt20-10 {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .mt20-10 {
    margin-top: 10px;
  }
}

.mt30-20 {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  .mt30-20 {
    margin-top: 20px;
  }
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt60-40 {
  margin-top: 60px;
}
@media screen and (max-width: 640px) {
  .mt60-40 {
    margin-top: 40px;
  }
}

.mt80-50 {
  margin-top: 80px;
}
@media screen and (max-width: 640px) {
  .mt80-50 {
    margin-top: 50px;
  }
}

.mt100-50 {
  margin-top: 100px;
}
@media screen and (max-width: 640px) {
  .mt100-50 {
    margin-top: 50px;
  }
}

.mt150-20 {
  margin-top: 150px;
}
@media screen and (max-width: 640px) {
  .mt150-20 {
    margin-top: 20px;
  }
}

.mb20 {
  margin-bottom: 20px;
}

.com-list-01 li {
  padding-left: 1.1em;
  position: relative;
}
.com-list-01 li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.com-list-01.notice li {
  color: #b50000;
}
.com-list-01.notice li::before {
  content: "※";
}
.com-list-01.circle li::before {
  content: "●";
  font-size: 0.75em;
  color: var(--color-blue);
  top: 0.25em;
}

/* 汎用タイトル */
.com-tit-01 {
  font-family: var(--zenold);
  font-size: 40px;
  font-weight: 500;
}
.com-tit-01.ja {
  text-align: center;
}
.com-tit-01.ja span {
  display: block;
  font-family: var(--zenold);
  font-size: 16px;
  text-align: center;
  margin-top: 15px;
}

.com-tit-02 {
  font-size: 22px;
  font-weight: 500;
  text-align: center;
}

/* 汎用ボタン */
.com-btn-01 {
  font-family: var(--zenold);
  width: 100%;
  max-width: 300px;
  text-align: center;
  border: 1px solid #dbdbdb;
  padding: 15px 25px;
  position: relative;
}
.com-btn-01::after {
  content: "";
  display: block;
  width: 12px;
  height: 4px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_arrow.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  transition: right 0.3s;
}
@media (any-hover: hover) {
  .com-btn-01:hover::after {
    right: 10px;
  }
}

.com-btn-02 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: var(--zenold);
  font-size: 40px;
  font-weight: 500;
  color: #fff;
  width: 100%;
  max-width: 317px;
  aspect-ratio: 317/309;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/parts_bg.svg) center/contain;
}
.com-btn-02 span {
  font-family: var(--zenold);
  font-size: 16px;
  font-weight: 300;
}
.com-btn-02::before {
  content: "";
  display: block;
  width: 34px;
  height: 25px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_contact.svg) center/contain no-repeat;
  filter: brightness(0) invert(1);
}
@media (any-hover: hover) {
  .com-btn-02:hover::before {
    animation: shake 0.4s ease;
  }
  @keyframes shake {
    0% {
      transform: rotate(0);
    }
    16% {
      transform: rotate(12deg);
    }
    32% {
      transform: rotate(-10deg);
    }
    48% {
      transform: rotate(8deg);
    }
    64% {
      transform: rotate(-6deg);
    }
    80% {
      transform: rotate(4deg);
    }
    96% {
      transform: rotate(-2deg);
    }
    100% {
      transform: rotate(0deg);
    }
  }
}
.com-btn-02.small {
  font-size: 30px;
  max-width: 240px;
}

/* ホバー */
.com-hover-01 {
  position: relative;
}
.com-hover-01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #232323;
  transition: all 0.3s;
  transform: scale(0, 1);
  transform-origin: center top;
}
@media (any-hover: hover) {
  .com-hover-01:hover::after {
    transform: scale(1, 1);
  }
}

/* ポジション */
.com-position {
  position: relative;
}

/* パララックス補正 */
.csParallax div {
  will-change: transform;
}

/* SVGアニメーション */
.com-svg-01 {
  padding-top: 60px;
  padding-bottom: 60px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .com-svg-01 {
    padding-top: 20px;
    padding-bottom: 0px;
  }
}
.com-svg-01 > svg {
  height: auto;
  display: block;
}
@media screen and (max-width: 640px) {
  .com-svg-01 > svg {
    width: 744px;
    margin-left: -86px;
    stroke-width: 2px;
  }
}
.com-svg-01 .svg-elem-1 {
  stroke-dashoffset: 2174.8403320313px;
  stroke-dasharray: 2174.8403320313px;
  -webkit-transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-01 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

.com-svg-02 {
  padding-top: 60px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .com-svg-02 {
    padding-top: 50px;
  }
}
.com-svg-02 > svg {
  height: auto;
  display: inline-block;
}
@media screen and (max-width: 640px) {
  .com-svg-02 > svg {
    width: 769px;
    margin-left: -82px;
    stroke-width: 2px;
  }
}
.com-svg-02 .svg-elem-1 {
  stroke-dashoffset: 2518.8361816406px;
  stroke-dasharray: 2518.8361816406px;
  -webkit-transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-02 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

.com-svg-03 {
  overflow: hidden;
  margin-top: -60px;
}
@media screen and (max-width: 640px) {
  .com-svg-03 {
    padding-top: 17px;
    margin-top: 0;
  }
}
.com-svg-03 > svg {
  height: auto;
  display: block;
}
@media screen and (max-width: 640px) {
  .com-svg-03 > svg {
    width: 744px;
    margin-left: -86px;
    stroke-width: 2px;
  }
}
.com-svg-03 .svg-elem-1 {
  stroke-dashoffset: 2174.8403320313px;
  stroke-dasharray: 2174.8403320313px;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-03 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

.com-svg-04 {
  overflow: hidden;
  margin-top: -60px;
}
@media screen and (max-width: 640px) {
  .com-svg-04 {
    display: none;
  }
}
.com-svg-04 > svg {
  height: auto;
  display: block;
}
@media screen and (max-width: 640px) {
  .com-svg-04 > svg {
    width: 744px;
    margin-left: -86px;
    stroke-width: 2px;
  }
}
.com-svg-04 .svg-elem-1 {
  stroke-dashoffset: 2678.7888183594px;
  stroke-dasharray: 2678.7888183594px;
  -webkit-transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-04 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

.com-svg-05 {
  overflow: hidden;
}
.com-svg-05 > svg {
  height: auto;
  display: block;
}
@media screen and (max-width: 640px) {
  .com-svg-05 > svg {
    width: 744px;
    margin-left: -86px;
    stroke-width: 2px;
  }
}
.com-svg-05 .svg-elem-1 {
  stroke-dashoffset: 2174.8403320313px;
  stroke-dasharray: 2174.8403320313px;
  -webkit-transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-05 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

.com-svg-06 {
  overflow: hidden;
}
.com-svg-06 > svg {
  height: auto;
  display: block;
}
@media screen and (max-width: 640px) {
  .com-svg-06 > svg {
    width: 744px;
    margin-left: -86px;
    stroke-width: 2px;
  }
}
.com-svg-06 .svg-elem-1 {
  stroke-dashoffset: 2155.2141113281px;
  stroke-dasharray: 2155.2141113281px;
  -webkit-transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-06 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

.com-svg-07 {
  overflow: hidden;
}
.com-svg-07 > svg {
  height: auto;
  display: block;
}
@media screen and (max-width: 640px) {
  .com-svg-07 > svg {
    width: 744px;
    margin-left: -86px;
    margin-top: 30px;
    stroke-width: 2px;
  }
}
.com-svg-07 .svg-elem-1 {
  stroke-dashoffset: 2174.8403320313px;
  stroke-dasharray: 2174.8403320313px;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
  transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}
.com-svg-07 .svg-elem-1.animated {
  stroke-dashoffset: 0;
}

/* 共通パーツ */
.com-item-list {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .com-item-list {
    margin-top: 35px;
  }
}
.com-item-list > li {
  width: calc((100% - 120px) / 4);
  clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 767px) {
  .com-item-list > li {
    width: 100%;
  }
}
.com-item-list > li.animated {
  animation: mask 1s cubic-bezier(0.85, 0.01, 0.4, 1) forwards;
}
.com-item-list > li figure {
  width: 100%;
  aspect-ratio: 300/200;
  overflow: hidden;
}
.com-item-list > li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.com-item-list > li h3 {
  font-weight: 500;
  letter-spacing: -0.063em;
  line-height: 1.6;
  padding-right: 30px;
  margin-top: 30px;
  position: relative;
}
.com-item-list > li h3::after {
  content: "";
  display: block;
  width: 12px;
  height: 4px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_arrow.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: right 0.3s;
}
.com-item-list > li a {
  border-bottom: 1px solid #dbdbdb;
  padding-bottom: 30px;
}
@media (any-hover: hover) {
  .com-item-list > li a:hover img {
    transform: scale(1.1);
  }
  .com-item-list > li a:hover h3::after {
    right: 0;
  }
}

#item-panel {
  padding-bottom: 155px;
}
@media screen and (max-width: 640px) {
  #item-panel {
    padding-bottom: 40px;
  }
}
#item-panel .com-btn-01 {
  margin-top: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  #item-panel .com-btn-01 {
    margin-top: 40px;
  }
}

#header {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 100;
}

.h-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1400px;
  min-height: 80px;
  padding-top: 20px;
  padding-left: 32px;
  padding-right: 20px;
  margin-inline: auto;
  position: fixed;
}
@media screen and (max-width: 640px) {
  .h-wrap {
    display: contents;
  }
}

.h-logo {
  width: 222px;
}
@media screen and (max-width: 640px) {
  .h-logo {
    padding-top: 100px;
    margin-inline: auto;
  }
}

.h-menu {
  display: flex;
  align-items: center;
  column-gap: 40px;
}
@media screen and (max-width: 640px) {
  .h-menu {
    column-gap: 35px;
    position: fixed;
    top: 0;
    right: 0;
  }
}
.h-menu .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--zenold);
  width: 150px;
  min-height: 40px;
  border: 1px solid #dbdbdb;
  position: relative;
}
.h-menu .btn::after {
  content: "";
  display: block;
  width: 12px;
  height: 4px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_arrow.svg) center/contain no-repeat;
  position: absolute;
  right: 18px;
  transition: right 0.3s;
}
@media (any-hover: hover) {
  .h-menu .btn:hover::after {
    right: 10px;
  }
}
.h-menu .cart {
  display: flex;
  align-items: flex-end;
  font-weight: 500;
  line-height: 1;
}
.h-menu .cart::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_cart.svg) center/contain no-repeat;
}
@media (any-hover: hover) {
  .h-menu .cart:hover::before {
    animation: shake 0.4s ease;
  }
}

.h-navi .icon {
  font-size: 0;
  position: relative;
  z-index: 100;
  width: 80px;
  height: 80px;
  cursor: pointer;
}
.h-navi .icon::before {
  content: "";
  display: block;
  height: 1px;
  width: 40px;
  background: #232323;
  position: absolute;
  top: 26.5px;
  left: 50%;
  transform: translate(-50%, 0);
  transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.h-navi .icon::after {
  content: "";
  display: block;
  height: 1px;
  width: 40px;
  background: #232323;
  position: absolute;
  top: 52.4px;
  left: 50%;
  transform: translate(-50%, 0);
  transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.h-navi .icon span {
  display: inline-block;
  position: absolute;
  top: 39.5px;
  left: 50%;
  transform: translate(-50%, 0);
  height: 1px;
  width: 40px;
  background: #232323;
  transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.h-navi .icon.active::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 50%;
}
.h-navi .icon.active::after {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 50%;
}
.h-navi .icon.active span {
  opacity: 0;
}

.h-navi .menu {
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  background-color: #ffffff;
  padding: 50px 30px;
  position: fixed;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.h-navi .menu.active {
  pointer-events: auto;
  opacity: 1;
}
.h-navi .menu ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.h-navi .menu ul li + li {
  margin-top: 1em;
}
.h-navi .menu ul li a {
  position: relative;
}

@media screen and (min-width: 641px) {
  #header.reverse .h-menu .btn {
    color: #fff;
  }
  #header.reverse .h-menu .btn::after {
    filter: brightness(0) invert(1);
  }
  #header.reverse .h-menu .cart {
    color: #fff;
  }
  #header.reverse .h-menu .cart::before {
    filter: brightness(0) invert(1);
  }
  #header.reverse .h-navi .icon span, #header.reverse .h-navi .icon::before, #header.reverse .h-navi .icon::after {
    background-color: #fff;
  }
  #header.reverse .h-navi .icon.active span, #header.reverse .h-navi .icon.active::before, #header.reverse .h-navi .icon.active::after {
    background-color: #232323;
  }
}
#header.lower-header {
  display: block;
}

.lower-h-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 195px;
  width: 100%;
  min-height: 100px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/bg_01.webp) center/20px;
  padding-left: 32px;
  padding-right: 20px;
  position: fixed;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.lower-h-wrap.is-active {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 1350px) {
  .lower-h-wrap {
    justify-content: space-between;
    column-gap: 0;
    min-height: 80px;
    padding-right: 0;
  }
}
@media screen and (max-width: 640px) {
  .lower-h-wrap .h-logo {
    width: 142px;
    padding-top: 0;
    margin-inline: 0;
  }
}
@media screen and (max-width: 370px) {
  .lower-h-wrap .h-logo {
    width: 120px;
  }
}

.lower-menu-wrap {
  display: flex;
  align-items: center;
  column-gap: 35px;
}

.lower-h-menu {
  display: flex;
  column-gap: 30px;
}
@media screen and (max-width: 1350px) {
  .lower-h-menu {
    display: none;
  }
}
.lower-h-menu a {
  letter-spacing: -0.1em;
}

.lower-h-submenu {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
 .lower-h-submenu_iconTxt {
   font-size: 13px;
   font-weight: 500;
}
@media screen and (max-width: 640px) {
  .lower-h-submenu {
    column-gap: 8px;
  }
}
.lower-h-submenu .user {
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}
.lower-h-submenu .user::before {
  content: "";
  display: block;
  width: 22px;
  height: 20px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_user.svg) center/contain no-repeat;
  margin-inline: auto;
}
@media (any-hover: hover) {
  .lower-h-submenu .user:hover::before {
    animation: shake 0.4s ease;
  }
}
.lower-h-submenu .cart {
  display: flex;
  align-items: flex-end;
  font-weight: 500;
  line-height: 1;
}
.lower-h-submenu .cart::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_cart.svg) center/contain no-repeat;
}
@media (any-hover: hover) {
  .lower-h-submenu .cart:hover::before {
    animation: shake 0.4s ease;
  }
}
@media screen and (min-width: 1351px) {
  .lower-h-submenu > li:last-child {
    display: none;
  }
}

.bread-list {
  display: flex;
  column-gap: 5px;
  padding-top: 120px;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .bread-list {
    padding-top: 100px;
  }
}
.bread-list > li {
  display: flex;
  column-gap: 5px;
}
.bread-list > li + li::before {
  content: "＞";
}

#footer {
  display: flex;
  flex-direction: column;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/bg_01.webp) center/20px;
  padding-top: 30px;
  padding-bottom: 85px;
}
@media screen and (max-width: 640px) {
  #footer {
    padding-top: 90px;
    padding-bottom: 55px;
  }
}
#footer .copylight {
  order: -1;
  font-size: 14px;
  font-weight: 500;
  text-align: right;
}
@media screen and (max-width: 640px) {
  #footer .copylight {
    order: 0;
    text-align: center;
    margin-top: 75px;
  }
}

.f-menu-box {
  display: flex;
  align-items: center;
  gap: 55px 60px;
  margin-top: 40px;
}
@media screen and (max-width: 640px) {
  .f-menu-box {
    flex-direction: column;
    margin-top: 0;
  }
}
.f-menu-box .logo {
  width: 186px;
}
.f-menu-box .menu {
  flex: 1;
}
.f-menu-box .menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.f-menu-box .menu ul + ul {
  margin-top: 30px;
}

.top-fv-wrap {
  display: flex;
  column-gap: 105px;
  flex-wrap: wrap;
  min-height: 1000px;
}
@media screen and (max-height: 800px) {
  .top-fv-wrap {
    height: 100svh;
    min-height: auto;
  }
}
@media screen and (max-width: 640px) {
  .top-fv-wrap {
    height: auto;
    min-height: 280px;
    column-gap: 25px;
    padding-top: 50px;
  }
}
.top-fv-wrap .fv-img {
  flex: 1;
  margin-left: calc(-50vw + 50%);
  animation: mask 1s cubic-bezier(0.85, 0.01, 0.4, 1) forwards;
}
@media (641px <= width <= 1400px) {
  .top-fv-wrap .fv-img {
    flex: 0 1 auto;
    width: calc(100vw - 428px);
  }
}
@media screen and (max-width: 767px) {
  .top-fv-wrap .fv-img {
    width: calc(100vw - 400px);
  }
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .fv-img {
    height: 280px;
    width: auto;
  }
}
@keyframes mask {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0);
  }
}
.top-fv-wrap .fv-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: zoom 6s linear 1s forwards;
}
@keyframes zoom {
  100% {
    transform: scale(1.1);
  }
}
.top-fv-wrap .fv-box {
  display: flex;
  flex-direction: column;
  width: max-content;
}
@media screen and (max-height: 800px) {
  .top-fv-wrap .fv-box {
    justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .fv-box {
    display: contents;
  }
}
.top-fv-wrap .top-fv-tit {
  font-family: var(--zenold);
  font-size: 30px;
  line-height: 1.86;
  letter-spacing: 0.3em;
  writing-mode: vertical-rl;
  padding-top: 228px;
}
@media screen and (max-height: 800px) {
  .top-fv-wrap .top-fv-tit {
    font-size: 25px;
    padding-top: 100px;
  }
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .top-fv-tit {
    font-size: 16px;
    padding-top: 0;
    margin-right: -9px;
  }
}
.top-fv-wrap .top-fv-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: 107px;
}
@media screen and (max-height: 800px) {
  .top-fv-wrap .top-fv-nav {
    margin-top: 50px;
  }
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .top-fv-nav {
    gap: 40px 20px;
    align-items: flex-start;
    flex-direction: row;
    width: 100%;
    margin-top: 40px;
  }
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .top-fv-nav li {
    width: calc((100% - 20px) / 2);
  }
}
.top-fv-wrap .top-fv-nav li + li {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .top-fv-nav li + li {
    margin-top: 0;
  }
}
.top-fv-wrap .top-fv-nav a {
  display: flex;
  align-items: center;
  column-gap: 3px;
  font-family: var(--zenold);
}
.top-fv-wrap .top-fv-nav a.contact::before {
  content: "";
  display: block;
  width: 16px;
  height: 12px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_contact.svg) center/contain no-repeat;
}
@media screen and (max-width: 640px) {
  .top-fv-wrap .top-fv-nav a {
    justify-content: center;
    border-bottom: 1px solid #dbdbdb;
    padding-bottom: 10px;
  }
}

.top-service-box {
  display: flex;
  align-items: center;
  gap: 40px 75px;
}
@media screen and (max-width: 767px) {
  .top-service-box {
    flex-direction: column;
  }
}
.top-service-box .textbox {
  width: 400px;
}
@media screen and (max-width: 767px) {
  .top-service-box .textbox {
    width: 100%;
  }
}
.top-service-box .textbox p {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .top-service-box .textbox p {
    margin-top: 35px;
  }
}
.top-service-box .textbox .com-btn-01 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .top-service-box .textbox .com-btn-01 {
    margin-top: 30px;
  }
}
.top-service-box .imgbox {
  flex: 1;
  aspect-ratio: 640/400;
  margin-right: -25px;
}
@media screen and (max-width: 640px) {
  .top-service-box .imgbox {
    margin-right: -35px;
  }
}
.top-service-box .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv {
  height: 600px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .fv {
    height: 160px;
    margin-top: 50px;
  }
}
.fv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: zoom 6s linear forwards;
}

.service-detail-01 {
  display: flex;
  flex-wrap: wrap;
  gap: 70px 11.9%;
  margin-top: 65px;
}
@media screen and (max-width: 640px) {
  .service-detail-01 {
    margin-top: 40px;
  }
}
.service-detail-01 > div {
  width: 44.05%;
}
@media screen and (max-width: 640px) {
  .service-detail-01 > div {
    width: 100%;
  }
}
.service-detail-01 > div dt {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 40px;
}
@media screen and (max-width: 640px) {
  .service-detail-01 > div dt {
    margin-bottom: 30px;
  }
}

#service-03 {
  margin-top: -200px;
}
@media screen and (max-width: 640px) {
  #service-03 {
    margin-top: -30px;
  }
}

.service-product-list {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 8.2%;
  margin-top: 65px;
}
.service-product-list > li {
  width: 27.8666666667%;
  clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 767px) {
  .service-product-list > li {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .service-product-list > li.animated {
    animation: mask 1s cubic-bezier(0.85, 0.01, 0.4, 1) forwards;
  }
}
.service-product-list > li:nth-child(2) {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .service-product-list > li:nth-child(2) {
    margin-top: 0;
  }
}
.service-product-list > li:nth-child(3) {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .service-product-list > li:nth-child(3) {
    margin-top: 0;
  }
}
.service-product-list > li figure {
  aspect-ratio: 300/200;
}
.service-product-list > li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-product-list > li h3 {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .service-product-list > li h3 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 641px) {
  .service-product-list.animated > li {
    animation: mask 1s cubic-bezier(0.85, 0.01, 0.4, 1) forwards;
  }
}

.items-sort-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 40px;
  gap: 20px;
}
@media screen and (max-width: 640px) {
  .items-sort-box {
    margin-top: 60px;
  }
}
.items-sort-box .selectbox {
  width: 100%;
  max-width: 180px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-bottom: 1px solid #dbdbdb;
  margin-left: auto;
  position: relative;
}
.items-sort-box .selectbox::before {
  content: "表示順：";
  position: absolute;
  pointer-events: none;
}
.items-sort-box .selectbox::after {
  content: "";
  display: block;
  width: 8px;
  height: 4px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_arrow_02.svg) center/contain no-repeat;
  position: absolute;
  top: calc(50% - 3px);
  right: 5px;
  transform: translateY(-50%);
  pointer-events: none;
}
.items-sort-box .selectbox select {
  all: unset;
  letter-spacing: -0.1041em;
  width: 100%;
  max-width: 180px;
  height: max-content;
  padding-left: 4em;
  padding-right: 15px;
  box-sizing: border-box;
}

.items-cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  max-width: 760px;
}
.items-cat-list > li {
  width: 147.2px;
}
@media screen and (max-width: 640px) {
  .items-cat-list > li {
    width: calc((100% - 6px) / 2);
  }
}
@media screen and (max-width: 640px) {
  .items-cat-list > li:first-child {
    width: 100%;
  }
}
.items-cat-list > li input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.items-cat-list > li input:checked + label {
  background-color: #232323;
}
.items-cat-list > li label {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  min-height: 40px;
  background-color: #aaaaaa;
  cursor: pointer;
  transition: background-color 0.3s;
}
.items-cat-list_tab a {
  text-align: center;
  background-color: #aaaaaa;
  color: #fff;
  padding: 7px 0;
}
.items-cat-list_tab.current a, .items-cat-list_tabAll a {
  text-align: center;
  background-color: #232323;
  color: #fff;
  padding: 7px 0;
}
.item-data {
  display: flex;
  gap: 10px;
  border-bottom: 1px solid #dbdbdb;
  padding-bottom: 5px;
  margin-left: auto;
}
.menu-data-current {
  font-weight: bold;
}
.items-goods-list {
  display: flex;
  gap: 60px 5.8%;
  flex-wrap: wrap;
  margin-top: 60px;
}
.items-goods-list > li {
  width: 29.4666666667%;
}
@media screen and (max-width: 640px) {
  .items-goods-list > li {
    width: 100%;
  }
}
.items-goods-list > li .imgbox {
  aspect-ratio: 1;
  overflow: hidden;
}
.items-goods-list > li .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.items-goods-list > li .tit {
  font-weight: 500;
  margin-top: 20px;
}
.items-goods-list > li .price {
  display: block;
  font-size: 18px;
  text-align: right;
  margin-top: 15px;
}
.price_search {
  font-size: 18px;
}
.price_zeikomi {
  font-size: 12px;
}
.items-goods-list > li .com-btn-01 {
  max-width: 100%;
  margin-top: 20px;
}
@media (any-hover: hover) {
  .items-goods-list > li a:hover img {
    transform: scale(1.1);
  }
  .items-goods-list > li a:hover .com-btn-01::after {
    right: 10px;
  }
}

.pagenation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 465px;
  padding-right: 20px;
  padding-left: 20px;
  margin-top: 100px;
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .pagenation {
    margin-top: 60px;
  }
}
.pagenation > li a {
  font-family: var(--zenold);
  font-size: 14px;
  font-weight: 500;
}
.pagenation > li span {
  font-family: var(--zenold);
  font-size: 14px;
  color: #aaaaaa;
}
.pagenation .prev {
  transform: scale(-1, 1);
  padding-left: 20px;
}
@media screen and (max-width: 640px) {
  .pagenation .prev {
    width: 46px;
    padding-left: 0;
  }
}
.pagenation .next {
  padding-left: 20px;
}
@media screen and (max-width: 640px) {
  .pagenation .next {
    padding-left: 0;
    width: 46px;
  }
}

.item-content-box {
  display: flex;
  gap: 24px 110px;
}
@media screen and (max-width: 767px) {
  .item-content-box {
    flex-direction: column;
  }
}
.item-content-box .content {
  flex: 1;
}
.item-content-box .content > * + * {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .item-content-box .content > * + * {
    margin-top: 25px;
  }
}
.item-content-box .info {
  width: 380px;
  height: max-content;
  position: sticky;
  top: 110px;
}
@media screen and (max-width: 767px) {
  .item-content-box .info {
    order: -1;
    width: 100%;
    position: relative;
    top: auto;
  }
}
.item-content-box .thumbnail {
  order: -2;
}

.item-size-box {
  display: flex;
  column-gap: 35px;
  position: relative;
}
@media screen and (max-width: 640px) {
  .item-size-box {
    flex-direction: column;
  }
}
.item-size-box.mt {
  margin-top: 80px;
}
@media screen and (max-width: 640px) {
  .item-size-box.mt {
    margin-top: 40px;
  }
}
.item-size-box .text {
  color: #696969;
  letter-spacing: -0.2em;
  width: 43px;
  padding-top: 32px;
}
@media screen and (max-width: 640px) {
  .item-size-box .text {
    padding-top: 0;
    position: absolute;
    top: -5px;
    left: 2px;
  }
}

.item-size-table {
  flex: 1;
  width: 100%;
  table-layout: fixed;
}
.item-size-table * {
  text-align: center;
}
.item-size-table thead th {
  font-size: 14px;
  color: #696969;
}
.item-size-table tbody {
  border: 1px solid #dbdbdb;
}
.item-size-table tbody th {
  font-weight: bold;
}
.item-size-table tbody td {
  font-size: 14px;
}
.item-size-table tbody tr {
  border-bottom: 1px solid #dbdbdb;
}
.item-size-table tbody tr > * {
  position: relative;
}
.item-size-table tbody tr > * + *::before {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: #dbdbdb;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.item-detail-box.mt {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .item-detail-box.mt {
    margin-top: 40px;
  }
}
.item-detail-box > div {
  display: flex;
  align-items: center;
  column-gap: 25px;
  border-top: 1px solid #dbdbdb;
  padding: 20px;
}
.item-detail-box > div:last-child {
  border-bottom: 1px solid #dbdbdb;
}
.item-detail-box > div dt {
  font-weight: 500;
  width: 6em;
}
.item-detail-box > div dd {
  flex: 1;
  letter-spacing: -0.007em;
}
.item-detail-box > div dd img {
  height: 32px;
}

@media screen and (max-width: 767px) {
  .item-info-box {
    margin-top: 16px;
  }
}
.item-info-box > div {
  display: flex;
  align-items: center;
  column-gap: 1em;
}
.item-info-box > div + div {
  margin-top: 30px;
}
.item-info-box > div dt {
  width: 4em;
}
.item-info-box > div dd.cat {
  font-size: 22px;
  font-weight: bold;
}
.item-info-box > div dd.price {
  font-size: 18px;
  font-weight: bold;
}

.item-color-list {
  display: flex;
  column-gap: 32px;
}
.item-color-list > li input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.item-color-list > li input:checked + label::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  border: 1px solid #dbdbdb;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.item-color-list > li label {
  display: block;
  font-size: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}
.item-color-list > li label.red {
  background-color: #cf0012;
}
.item-color-list > li label.blue {
  background-color: #1e1e78;
}
.item-color-list > li label.yellow {
  background-color: #dc8100;
}
.item-color-list > li label.purple {
  background-color: #800780;
}

.item-size-list {
  display: flex;
  column-gap: 10px;
}
.item-size-list > li input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.item-size-list > li input:checked + label {
  color: #fff;
  background-color: #232323;
}
.item-size-list > li label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  width: 32px;
  height: 32px;
  border: 1px solid #dbdbdb;
  cursor: pointer;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

input[type=number] {
  all: unset;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  width: 52px;
  height: 32px;
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
}

div.input-group {
  display: flex;
  height: 32px;
}

.input-group-prepend,
.input-group-append {
  width: 32px;
  height: 32px;
}
.input-group-prepend button,
.input-group-append button {
  all: unset;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
  border: 1px solid #dbdbdb;
  position: relative;
  cursor: pointer;
}

.item-cart-btn {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  width: 100%;
  background-color: #b20000;
  border: 1px solid #dbdbdb;
  padding: 16px 10px;
  margin-top: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .item-cart-btn {
    margin-top: 24px;
  }
}
.item-cart-btn::after {
  content: "";
  display: block;
  width: 12px;
  height: 4px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_arrow.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 18px;
  filter: brightness(0) invert(1);
  transition: right 0.3s;
}
@media (any-hover: hover) {
  .item-cart-btn:hover::after {
    right: 8px;
  }
}

.guide-wrap {
  position: relative;
}
.guide-wrap + .guide-wrap {
  margin-top: 160px;
}
@media screen and (max-width: 640px) {
  .guide-wrap + .guide-wrap {
    margin-top: 120px;
  }
}
.guide-wrap + .guide-wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #dbdbdb;
  position: absolute;
  top: -80px;
  left: 0;
}
@media screen and (max-width: 640px) {
  .guide-wrap + .guide-wrap::before {
    width: calc(100% + 70px);
    top: -60px;
    left: -35px;
  }
}
.guide-wrap .guide-box {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  margin-top: 40px;
  position: relative;
}
.guide-wrap .guide-box .detail-01 > dt {
  font-weight: bold;
}
.guide-wrap .guide-box .detail-01 > dd {
  margin-top: 10px;
}
.guide-wrap .guide-box .detail-01 > dd + dt {
  margin-top: 35px;
}
.guide-wrap .guide-box .detail-02 > div {
  display: flex;
  column-gap: 1em;
}
.guide-wrap .guide-box .detail-02 > div dt {
  font-weight: 500;
  width: 78px;
}
.guide-wrap .guide-box .detail-02 > div dd {
  flex: 1;
}
.guide-wrap .guide-box .detail-03 > div {
  display: flex;
  column-gap: 1em;
}
@media screen and (max-width: 640px) {
  .guide-wrap .guide-box .detail-03 > div {
    flex-direction: column;
  }
}
.guide-wrap .guide-box .detail-03 > div + div {
  margin-top: 15px;
}
.guide-wrap .guide-box .detail-03 > div dt {
  font-weight: bold;
  width: 12em;
}
.guide-wrap .guide-box .detail-03 > div dd {
  flex: 1;
}
.guide-wrap .guide-box .detail-04 > div {
  display: flex;
  column-gap: 45px;
  border-top: 1px solid #dbdbdb;
  padding: 20px 35px;
}
@media screen and (max-width: 640px) {
  .guide-wrap .guide-box .detail-04 > div {
    align-items: center;
    flex-direction: column;
    padding: 20px 0;
  }
}
.guide-wrap .guide-box .detail-04 > div:last-child {
  border-bottom: 1px solid #dbdbdb;
}
.guide-wrap .guide-box .detail-04 > div dt {
  font-weight: 500;
  text-align: right;
  width: 8em;
}
@media screen and (max-width: 640px) {
  .guide-wrap .guide-box .detail-04 > div dt {
    text-align: center;
  }
}
.guide-wrap .guide-box .detail-04 > div dd {
  flex: 1;
}

.guide-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5em;
}
.guide-list > li {
  display: inline-flex;
  align-items: center;
}
.guide-list > li::before {
  content: "■";
  font-size: 0.75em;
  color: #aaaaaa;
  display: inline-block;
  margin-right: 5px;
}

.privacy-detail {
  margin-top: 60px;
}
.privacy-detail > dt {
  font-weight: bold;
}
.privacy-detail > dd {
  margin-top: 10px;
}
.privacy-detail > dd + dt {
  margin-top: 60px;
}
.privacy-detail > dd p {
  font-weight: 500;
  margin-top: 10px;
}
.privacy-detail > dd ul {
  margin-top: 10px;
}
.privacy-detail > dd ul > li {
  font-weight: 500;
  counter-increment: count;
  padding-left: 1.2em;
  position: relative;
}
.privacy-detail > dd ul > li::before {
  content: counter(count, lower-alpha) ") ";
  display: marker;
  position: absolute;
  top: 0;
  left: 0;
}
.privacy-detail > dd a {
  display: inline-block;
}/*# sourceMappingURL=style.css.map */
.content > img {
  width: 100%;
  display: inline-block;
}
.thumbnail.sp767 img:nth-child(n+2) {
  display: none;
}
.product_cart_select {
  flex: 1;
  box-sizing: border-box;
  padding: 5px;
  height: 40px;
  border: 1px solid #dbdbdb;
  cursor: pointer;
}
.p-product-option-select {
  width: 100%;
}
.p-product-option-select__ttl {
  width: 4em;
}
.p-product-option-select__box, .p-product-form-stock__input {
  margin-top: 30px;
  display: flex;
  align-items: center;
  column-gap: 1em;
}
.p-product-form-stock__input input[type=text] {
  width: 60px;
  box-sizing: border-box;
  padding: 5px;
  height: 40px;
  border: 1px solid #dbdbdb;
}
.p-product-form-btn {
  margin-top: 50px;
}
.p-product-form-btn__cart button {
  font-size: 16px;
  width: 100%;
  padding: 20px 0;
  background-color: #b20000;
  color: #fff;
  border: none;
  font-weight: 700;
  position: relative;
}
.c-btn-cart {
  cursor: pointer;
}
.c-btn-cart:hover .c-icon-cart::after {
  right: 10px;
}
.c-icon-cart::after {
  content: "";
  display: block;
  width: 12px;
  height: 4px;
  background: url(https://file001.shop-pro.jp/PA01510/731/img/common/icon_arrow.svg) center / contain no-repeat;
  position: absolute;
  top: 50%;
  right: 18px;
  filter: brightness(0) invert(1);
  transition: right 0.3s;
}
.p-product-option-tbl{
  margin-top: 30px;
}
.none{
  background-color: #f0f0f0;
  border: 1px solid #dbdbdb;
}
.cell_1,.cell_2{
  border: 1px solid #dbdbdb;
  text-align: center;
}
.cell_1{
  padding: 10px;
  font-size: 14px;
  font-weight: 500;
  background-color: #f0f0f0;
}
.cell_2{
  padding: 15px;
}
.cell_2 div{
  text-align: center;
}
.table_price{
  font-size: 0px;
}