/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/
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, b, em, i, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, mark, time, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
button, input, textarea, select, i {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  letter-spacing: .15em;
}

@media screen and (max-width: 767px) {
  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, b, em, i, font, ins, kbd, q, s, samp,
  small, strike, strong, sub, sup, mark, time, tt, var,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
  button, input, textarea, select, i {
    letter-spacing: .08em;
  }
}

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

@media screen and (min-width: 768px) and (max-width: 1140px) {
  html {
    font-size: calc(100vw * 10 / 1140);
  }
}

@media screen and (max-width: 520px) {
  html {
    font-size: calc(100vw * 10 / 520);
  }
}

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

body {
  font-size: 1.6rem;
  line-height: 1.5;
  background: #fff;
  color: #1F1F1F;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

ul, li {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

a {
  backface-visibility: hidden;
  transition: .2s ease-in;
  transition-property: opacity, color, border, background, transform, box-shadow;
  opacity: 1;
  line-height: inherit;
}

img {
  vertical-align: middle;
}

img,
input[type="image"] {
  border: 0;
  height: auto;
  max-width: 100%;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: inherit;
  letter-spacing: inherit;
  background: none;
}

strong {
  font-weight: bold;
}

a {
  text-decoration: none;
}

a:hover,
input[type="image"]:hover {
  opacity: 0.7;
}

main {
  overflow: hidden;
}

.m_ft {
  font-family: "Noto Serif JP", serif;
}

.g_ft {
  font-family: "Noto Sans JP", sans-serif;
}

.ft_e {
  font-family: "Inter", sans-serif;
}

/*--------------------------------------------------------------
Component
--------------------------------------------------------------*/
.evt {
  visibility: hidden;
}

.evt.done {
  visibility: visible;
}

.c_anchor {
  position: absolute;
  width: 100%;
  left: 0;
  margin-top: -9.6rem;
}

@media screen and (max-width: 767px) {
  .c_anchor {
    margin-top: -7.4rem;
  }
}

.c_btn a {
  display: inline-flex;
  width: 34rem;
  height: 6.4rem;
  align-items: center;
  color: #000;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  padding: 1.4375em;
  position: relative;
  z-index: 0;
  background: linear-gradient(26.83deg, #BF9345 6.82%, #DAB142 24.09%, #EDC741 39.62%, #F4CF41 49.98%, #EEC83C 60.34%, #DFB62E 73.28%, #C59918 89.68%, #BF9213 93.14%);
}

@media screen and (max-width: 767px) {
  .c_btn a {
    width: 100%;
  }
}

.c_btn a.b {
  border: solid 1px #000;
  height: 4.8rem;
  background: rgba(195, 195, 195, 0.3);
}

@media screen and (max-width: 767px) {
  .c_btn a.b {
    height: 5.4rem;
  }
}

.c_btn a:after {
  content: '';
  position: absolute;
  background: url(../img/arw-r01.svg) no-repeat 50%/contain;
  width: 1.625em;
  height: 100%;
  top: 0;
  right: 2rem;
}

@media screen and (max-width: 767px) {
  .c_btn a:after {
    width: 3.2rem;
  }
}

h2 {
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: .1em;
  font-size: 4rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  h2 {
    font-size: 3.2rem;
  }
}

/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_wrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .u_inner {
    width: 118rem;
    max-width: calc(100% - 10rem);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .u_inner {
    margin: 0 2.66rem;
  }
}

.u_switch_img {
  opacity: 1;
}

.u_relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
  .is_tel {
    pointer-events: none;
    cursor: default;
  }
  .is_tel:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .is_pc {
    display: none;
  }
}

/*--------------------------------------------------------------
Layout/PageBase
--------------------------------------------------------------*/
:where(#header, #footer) a {
  display: block;
}

#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 66;
  background: rgba(29, 29, 29, 0.4);
  height: 9.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #FAFAFA;
  padding: 0 9rem;
}

#header.fixed {
  background: #2B2B2B;
}

@media screen and (max-width: 767px) {
  #header {
    height: 7.4rem;
    padding: 0 2rem;
  }
}

.h_logo img {
  height: 4.1rem;
  height: 6.2rem;
}

@media screen and (max-width: 767px) {
  .h_logo img {
    height: 5rem;
  }
}

.h_copy {
  font-size: 1rem;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  margin-top: .5em;
}

body:has(.top_main) .h_left {
  display: flex;
  align-items: flex-end;
  gap: 1em;
}

body:not(:has(.top_main)) .h_left a {
  display: none;
}

body:not(:has(.top_main)) .h_copy {
  display: none;
}

body:not(:has(.top_main)) .f_logo {
  display: none;
}

.h_nav {
  display: flex;
  gap: 3.2rem;
  font-weight: 600;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .h_nav {
    font-size: 1rem;
    gap: 1.2rem;
  }
}

.h_nav img {
  display: block;
  margin: 0 auto .5em;
  width: 2.4rem;
}

@media screen and (max-width: 767px) {
  .h_nav img {
    width: 2rem;
  }
}

@keyframes itemFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes itemFadeOut {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
  }
}

#footer {
  background: #2B2B2B;
  color: #ccc;
  padding: 12rem 0 5.5rem;
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 6.5rem 0 2.6rem;
  }
}

.f_inner {
  position: relative;
}

@media screen and (max-width: 767px) {
  .f_logo {
    margin-bottom: 6.5rem;
  }
}

@media screen and (min-width: 768px) {
  .f_logo {
    position: absolute;
    top: -2rem;
    left: 0;
  }
}

.f_logo img {
  width: 12.8rem;
}

.f_row {
  display: flex;
  gap: 6rem;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .f_row {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .f_row .col.b {
    display: flex;
    gap: 6rem;
  }
}

.f_nav p {
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 767px) {
  .f_nav p {
    margin-bottom: 4rem;
  }
}

.f_nav li li {
  font-size: 1.4rem;
  color: #ccc;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 767px) {
  .f_nav li li {
    margin-bottom: 3.3rem;
  }
}

.f_nav li li:last-child {
  margin-bottom: 0;
}

.f_nav li li a {
  position: relative;
  padding-left: 1.5em;
}

.f_nav li li a:before {
  content: '';
  position: absolute;
  width: .8rem;
  background: #fff;
  height: 1px;
  top: .8em;
  left: 0;
}

.f_link {
  font-size: 1.4rem;
  color: #ccc;
}

@media screen and (min-width: 768px) {
  .f_link {
    border-left: solid 1px rgba(255, 255, 255, 0.2);
    padding-left: 6rem;
  }
}

.f_link li {
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .f_link li {
    margin-bottom: 4rem;
  }
}

.f_link li:last-child {
  margin-bottom: 0;
}

.f_copy {
  font-size: 1.2rem;
  color: #ccc;
}

@media screen and (max-width: 767px) {
  .f_copy {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .f_copy {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
.top_main {
  padding-top: 9.6rem;
  position: relative;
  background: #1F1F1F;
}

@media screen and (max-width: 767px) {
  .top_main {
    padding-top: 7.4rem;
  }
}

.top_main .box {
  margin-left: 9rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .top_main .box {
    margin-left: 2.2rem;
  }
}

.top_main p {
  color: #fff;
  position: absolute;
  left: 9rem;
  top: 8.6rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.8rem;
  font-weight: 900;
  display: flex;
  flex-direction: row-reverse;
  gap: .5em;
}

@media screen and (max-width: 767px) {
  .top_main p {
    left: 3rem;
  }
}

.top_main p span {
  writing-mode: vertical-rl;
  letter-spacing: .5em;
}

.top_main img {
  width: 100%;
}

.top_main .scroll {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  bottom: 2rem;
  font-size: 1.4rem;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .top_main .scroll {
    font-size: 1.6rem;
    bottom: .6rem;
  }
}

.top_main .scroll a {
  display: block;
  padding-bottom: 8.8rem;
  position: relative;
}

.top_main .scroll a:before, .top_main .scroll a:after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-left: .1em;
  bottom: 0;
  background: #fff;
  width: 1px;
  height: 7.3rem;
}

.top_main .scroll a:before {
  opacity: .2;
}

.top_main .scroll a:after {
  animation: scroll 2s infinite;
}

.top_main .scroll i {
  color: #fff;
  letter-spacing: .15em;
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.top_news {
  color: #fff;
  background: #1F1F1F;
  padding: 9rem 0;
}

@media screen and (max-width: 767px) {
  .top_news {
    padding: 6rem 0 8.5rem;
  }
}

.top_news .u_inner {
  position: relative;
  padding-left: 25.5rem;
}

@media screen and (max-width: 767px) {
  .top_news .u_inner {
    padding-left: 8rem;
  }
}

.top_news .ttl {
  font-size: 4rem;
  font-weight: bold;
  font-family: "Zen Old Mincho", serif;
  writing-mode: vertical-rl;
  position: absolute;
  left: 3rem;
  top: 1.5rem;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .top_news .ttl {
    font-size: 3.4rem;
    left: 0;
    top: 2rem;
  }
}

.top_news .c_btn {
  text-align: right;
  margin-top: 7rem;
}

@media screen and (max-width: 767px) {
  .top_news .c_btn {
    margin-left: 1rem;
  }
}

.news_list li {
  border-bottom: solid 1px rgba(255, 255, 255, 0.24);
  font-weight: 600;
  line-height: 1.63;
}

.news_list time {
  color: #EFE9C7;
}

@media screen and (max-width: 767px) {
  .news_list time {
    display: block;
    margin-bottom: .6em;
  }
}

@media screen and (min-width: 768px) {
  .news_list time {
    width: 20rem;
  }
}

@media screen and (min-width: 768px) {
  .news_list p {
    width: calc(100% - 20rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.news_list a {
  padding: 1.6em .6em 1em;
  display: block;
}

@media screen and (min-width: 768px) {
  .news_list a {
    padding: 2em 0 1.4em;
    display: flex;
  }
}

.top_lead {
  background: url(../img/sec-lead-bg.jpg) no-repeat 50%/cover;
  position: relative;
  overflow: hidden;
  padding: 10rem 0 8.5rem;
}

@media screen and (max-width: 767px) {
  .top_lead {
    padding: 10rem 0 48rem;
    background-image: url(../img/sec-lead-bg-sp.jpg);
  }
}

.top_lead:before {
  content: '';
  position: absolute;
  background: url(../img/sec-lead-img.webp) no-repeat 50%/contain;
  width: 70rem;
  height: 62.8rem;
  bottom: -9.7rem;
  right: calc(50% + 17rem);
}

@media screen and (max-width: 767px) {
  .top_lead:before {
    right: -2rem;
    bottom: -8rem;
  }
}

.top_lead .ttl {
  font-size: 4rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  color: #fff;
}

.top_lead p {
  color: #E5E5E5;
  writing-mode: vertical-rl;
  line-height: 2.93;
  letter-spacing: .22em;
}

.top_lead .u_inner {
  display: flex;
  justify-content: flex-start;
  flex-direction: row-reverse;
  gap: 7rem;
}

@media screen and (max-width: 767px) {
  .top_lead .u_inner {
    gap: 2.8rem;
  }
}

.top_lead .row {
  margin-top: 3rem;
  display: flex;
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .top_lead .row {
    flex-direction: column;
    gap: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .top_lead .row {
    margin-top: 5rem;
  }
}

.item_sec {
  background: url(../img/sec-product-bg01.jpg) no-repeat 50%/cover;
  padding: 12rem 0 7rem;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .item_sec {
    background-image: url(../img/sec-product-bg01-sp.jpg);
    padding: 8rem 0 9rem;
  }
}

@media screen and (min-width: 768px) {
  .item_sec .desc {
    width: 36.6rem;
  }
  .item_sec figure {
    width: 84.4rem;
  }
}

@media screen and (max-width: 767px) {
  .item_sec.a figure {
    margin-left: -4rem;
    margin-right: -1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .item_sec.a figure {
    margin-left: -12rem;
  }
}

.item_sec.a .c_btn a.a {
  background: #191919;
}

.item_sec.a .c_btn a.a:after {
  background-image: url(../img/arw-r02.svg);
}

.item_sec.a .c_btn a i {
  background: linear-gradient(26.83deg, #BF9345 6.82%, #DAB142 24.09%, #EDC741 39.62%, #F4CF41 49.98%, #EEC83C 60.34%, #DFB62E 73.28%, #C59918 89.68%, #BF9213 93.14%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.item_sec.b {
  background-image: url(../img/sec-product-bg02.jpg);
}

@media screen and (max-width: 767px) {
  .item_sec.b {
    background-image: url(../img/sec-product-bg02-sp.jpg);
    padding-top: 4rem;
  }
  .item_sec.b figure {
    margin-left: 5rem;
    margin-right: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .item_sec.b .u_inner {
    flex-direction: row-reverse;
  }
  .item_sec.b figure {
    width: 62.8rem;
    margin-top: -4rem;
    margin-right: -5.5rem;
  }
  .item_sec.b .lead {
    width: 47.3rem;
  }
}

.item_sec.b .name {
  color: #fff;
}

.item_sec.b .lead {
  color: #C5C5C5;
}

.item_sec.b .price {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}

.item_sec.b .price i {
  color: #1B1B1B;
  background: #B5B5B5;
}

.item_sec.b .c_btn a.b {
  color: #fff;
  border-color: #fff;
}

.item_sec.b .c_btn a.b:after {
  background-image: url(../img/arw-r03.svg);
}

.item_sec.c {
  background-image: url(../img/sec-product-bg03.jpg);
}

@media screen and (max-width: 767px) {
  .item_sec.c {
    background-image: url(../img/sec-product-bg03-sp.jpg);
    padding-top: 3rem;
  }
  .item_sec.c figure {
    margin-left: -3rem;
    margin-right: -4rem;
    margin-bottom: -6rem;
  }
}

@media screen and (min-width: 768px) {
  .item_sec.c figure {
    width: 89.6rem;
    margin-left: -12rem;
    margin-top: -3.5rem;
  }
}

.item_sec.d {
  background-image: url(../img/sec-product-bg04.jpg);
}

@media screen and (max-width: 767px) {
  .item_sec.d {
    background-image: url(../img/sec-product-bg04-sp.jpg);
    padding-top: 2rem;
  }
  .item_sec.d figure {
    margin-left: -3rem;
    margin-right: -4rem;
    margin-bottom: -6rem;
  }
}

@media screen and (min-width: 768px) {
  .item_sec.d .u_inner {
    flex-direction: row-reverse;
  }
  .item_sec.d figure {
    width: 74.6rem;
    margin-top: -6.5rem;
    margin-right: -10.5rem;
  }
  .item_sec.d .lead {
    width: 41.9rem;
  }
}

.item_sec .u_inner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .item_sec .u_inner {
    flex-direction: column;
    gap: 5rem;
  }
}

.item_sec .name {
  font-size: 4.8rem;
  font-weight: 900;
  margin-bottom: .8em;
}

.item_sec .name small {
  font-size: .5em;
  margin-left: .7em;
}

.item_sec .lead {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: bold;
}

.item_sec .price {
  font-size: 3.2rem;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  border-bottom: solid 1px rgba(0, 0, 0, 0.4);
  display: inline-block;
  padding-right: .9em;
  margin: 5rem 0 2.5rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .item_sec .price {
    font-size: 4.2rem;
  }
}

.item_sec .price small {
  font-size: 2rem;
  margin-left: .3em;
}

@media screen and (max-width: 767px) {
  .item_sec .price small {
    font-size: 1.8rem;
  }
}

.item_sec .price i {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  background: #1F1F1F;
  display: inline-block;
  color: #fff;
  padding: .2em 1em;
  font-size: 1.4rem;
}

.item_sec .c_btn {
  margin-top: 1.2rem;
}

@media screen and (min-width: 768px) {
  .item_sec .c_btn a {
    width: 36.6rem;
    padding: 0 2.25em;
  }
}

.item_sec .c_btn a:after {
  right: 3rem;
}

@media screen and (max-width: 767px) {
  .item_sec .c_btn a:after {
    right: 2.4rem;
  }
}

.top_nav {
  background: #121212;
  padding: 10rem 0;
}

@media screen and (max-width: 767px) {
  .top_nav {
    padding: 7rem 0;
  }
}

.top_nav ul {
  display: flex;
  gap: 3.2rem;
}

@media screen and (max-width: 767px) {
  .top_nav ul {
    flex-direction: column;
    gap: 4.5rem;
  }
}

.top_nav a {
  display: block;
  position: relative;
  border: solid 1px #fff;
}

.top_nav img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .top_nav img {
    aspect-ratio: 350 / 110;
    object-fit: cover;
  }
}

.top_nav p {
  background: url(../img/arw-r04.svg) no-repeat right center/5rem;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 4rem;
  width: calc(100% - 7rem);
  z-index: 1;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  padding: 1em 0;
}

.product_body .row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.2rem;
}

@media screen and (max-width: 767px) {
  .product_body .row {
    flex-direction: column;
    gap: 6rem;
  }
}

.product_body .fig {
  overflow: hidden;
}

.product_body .fig img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .product_body .fig {
    width: 48rem;
  }
  .product_body .desc {
    width: calc(100% - 52.8rem);
  }
}

.product_body .large {
  overflow: hidden;
}

.product_body .large img {
  width: 100%;
}

.product_body .thumb {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 2.2rem;
}

.product_body .thumb .active img {
  border: solid 1px #fff;
}

.product_body .desc {
  color: #1F1F1F;
  background: #F1F1F1;
  padding: 4rem 4rem 6.5rem;
}

@media screen and (max-width: 767px) {
  .product_body .desc {
    padding: 3rem 3rem 4rem;
  }
}

.product_body .name {
  margin-bottom: .7em;
}

.product_body .name small {
  font-size: .5em;
  margin-left: .8em;
}

.product_body .sub {
  font-weight: 500;
  background: #1F1F1F;
  display: inline-block;
  color: #fff;
  padding: .2em .8em;
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .product_body .sub {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.product_body .price2 {
  font-size: 2.9rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  margin-top: .4em;
}

.product_body .price2 small {
  font-size: 1.8rem;
}

.product_body .note {
  text-align: right;
  color: rgba(0, 0, 0, 0.7);
}

@media screen and (min-width: 768px) {
  .product_body .note {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.add-cart {
  display: block;
  margin: 6.5rem 0 1.5rem;
  text-align: center;
}

.add-cart .add-cart-btn {
  background: linear-gradient(26.83deg, #BF9345 6.82%, #DAB142 24.09%, #EDC741 39.62%, #F4CF41 49.98%, #EEC83C 60.34%, #DFB62E 73.28%, #C59918 89.68%, #BF9213 93.14%);
  height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 0;
  color: #1F1F1F;
  font-size: 1.6rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .add-cart .add-cart-btn {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.add-cart .add-cart-btn:before {
  content: '';
  position: absolute;
  width: 2.4rem;
  height: 100%;
  background: url(../img/ico-cart01.svg) no-repeat 50%/contain;
  top: 0;
  left: 5.6rem;
}

.add-cart .btn {
  width: 100%;
}

.add-cart .modal-wrapper {
  max-width: 600px;
}

.item_description h3 {
  font-size: 2.4rem;
  margin-bottom: .7em;
  border-top: solid 1px rgba(0, 0, 0, 0.3);
  margin-top: 2.4rem;
  padding-top: 2.4rem;
  font-family: "Zen Old Mincho", serif;
}

@media screen and (max-width: 767px) {
  .item_description h3 {
    font-weight: 900;
  }
}

.item_description h3:first-child {
  border-top: none;
}

.item_description p {
  color: #3B3B3B;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .item_description p {
    font-weight: 600;
  }
}

.item_description .red {
  color: #F54747;
}

.item_info {
  background: #F1F1F1;
}

@media screen and (min-width: 768px) {
  .item_info {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.item_info + .item_info {
  margin-top: 5rem;
}

.low_body {
  color: #454545;
  padding: 5.5rem 3rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .low_body .faq {
    font-weight: bold;
  }
}

.low_body .faq dt {
  border-bottom: solid 1px #B3B3B3;
  position: relative;
  padding: .5em 0;
  padding-left: 2em;
  margin: 3rem 0 1em;
}

.low_body .faq dt:before {
  content: 'Q';
  position: absolute;
  background: linear-gradient(225deg, #D4A61C 0%, #CB8F25 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  left: 0;
  font-size: 1.8rem;
  top: .2em;
}

@media screen and (min-width: 768px) {
  .low_body {
    padding: 7rem 5.5rem 6rem;
  }
}

.low_body .line {
  border-top: solid 1px rgba(0, 0, 0, 0.3);
  margin: 4rem 0;
}

.low_body h3 {
  font-family: "Zen Old Mincho", serif;
  background: linear-gradient(225deg, #D4A61C 0%, #CB8F25 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 900;
  font-size: 2.8rem;
  font-weight: 900;
  margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .low_body h3 {
    font-size: 2.2rem;
  }
}

.low_body dt i, .low_body .ttl3 i {
  display: inline-block;
  background: linear-gradient(268.13deg, #FADA80 0.19%, #B1955D 91.57%);
  padding: .1em .5em;
  border-radius: .7rem;
  margin: 1em 0 .6em;
  font-family: "Zen Old Mincho", serif;
  color: #1F1F1F;
  font-weight: 900;
}

.low_body .time {
  margin-left: 6em;
  text-indent: -6em;
}

.low_body p + p {
  margin-top: 1.8em;
}

.low_body .ttl2 {
  background: url(../img/ico-caution.svg) no-repeat left center/2.4rem;
  font-size: 2.4rem;
  color: #F54747;
  padding-left: 1.5em;
}

.low_body .caution li {
  position: relative;
  padding-left: 1.3em;
  margin-top: .7em;
}

.low_body .caution li:before {
  content: '';
  position: absolute;
  width: 1rem;
  height: 1rem;
  background: linear-gradient(26.83deg, #BF9345 6.82%, #DAB142 24.09%, #EDC741 39.62%, #F4CF41 49.98%, #EEC83C 60.34%, #DFB62E 73.28%, #C59918 89.68%, #BF9213 93.14%);
  left: 0;
  top: .6em;
}

.low_body .caution em {
  color: #F54747;
}

.low_body .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.5rem 2rem;
  margin: 3rem 0 4.5rem;
}

@media screen and (max-width: 767px) {
  .low_body .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 3.5rem;
  }
}

.low_body .list p {
  font-size: 2rem;
  margin-top: .5em;
}

.low_body .list img {
  width: 100%;
}

.low_body .list small {
  display: block;
  background: linear-gradient(225deg, #D4A61C 0%, #CB8F25 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 1.4rem;
}

.low_body .deliv {
  margin-bottom: 1.5em;
}

@media screen and (max-width: 767px) {
  .low_body .deliv {
    margin-top: 1.4em;
  }
}

@media screen and (min-width: 768px) {
  .low_body .deliv {
    display: flex;
    flex-wrap: wrap;
  }
}

.low_body .deliv dt {
  color: #B1955D;
}

@media screen and (min-width: 768px) {
  .low_body .deliv dt {
    text-align: center;
    width: 9em;
  }
}

@media screen and (min-width: 768px) {
  .low_body .deliv dd {
    width: calc(100% - 9em);
  }
}

.low_body .note em {
  color: #F54747;
}

.low_body .area {
  margin: 6rem 0 2rem;
}

@media screen and (max-width: 767px) {
  .low_body .area {
    margin-bottom: 0;
  }
}

.low_body .area img {
  width: 100%;
}

.low_bg2 {
  background: url(../img/bg-washi-w.jpg) center top/144rem;
  padding: 22rem 0 12rem;
}

@media screen and (max-width: 767px) {
  .low_bg2 {
    background-image: url(../img/bg-washi-w-sp.jpg);
    padding: 14rem 0 8rem;
    background-size: 100%;
  }
}

.low_bg2 h2 {
  margin-bottom: 7rem;
}

.low_bg {
  background: url(../img/bg-washi.jpg) center top/144rem;
  padding: 12.8rem 0 12rem;
  color: #fff;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .low_bg {
    background-image: url(../img/bg-washi-sp.jpg);
    padding: 10.8rem 0 13rem;
    background-size: 100%;
  }
}

.low_bg.list:before {
  content: '';
  background: url(../img/bg-gold.svg) no-repeat center top/contain;
  width: 69.9rem;
  height: 82.5rem;
  position: absolute;
  top: -1.8rem;
  z-index: -1;
  right: calc(50% + 24.1rem);
}

@media screen and (max-width: 767px) {
  .low_bg.list:before {
    background-image: url(../img/bg-gold-sp.svg);
    width: 30rem;
    height: 52.5rem;
    right: auto;
    top: 0;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  .low_bg.list .u_inner {
    width: 106rem;
  }
}

@media screen and (min-width: 768px) {
  .low_bg.prd:before {
    content: '';
    background: url(../img/bg-product.svg) no-repeat center top/205rem;
    position: absolute;
    inset: 0;
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  .low_bg.guide {
    padding-top: 5rem;
  }
}

.low_bg.guide:before {
  content: '';
  background: url(../img/guide-bg01.svg) no-repeat center top/205rem;
  position: absolute;
  inset: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .low_bg.guide:before {
    background-image: url(../img/guide-bg01-sp.svg);
    background-position: left top;
    background-size: 28.8rem;
  }
}

@media screen and (min-width: 768px) {
  .low_bg .low_path, .low_bg .ttl {
    margin-left: -2rem;
  }
}

.low_bg .ttl {
  color: #F7F7F7;
}

.low_bg .ttl i {
  background: #070707;
  display: inline-block;
  padding: 0 2rem;
}

@media screen and (max-width: 767px) {
  .low_bg .ttl i {
    padding: 0 1rem;
  }
}

.low_header {
  background: url(../img/guide-kv.jpg) no-repeat 50%/cover;
  position: relative;
  z-index: 1;
}

.low_header .u_inner {
  height: 36rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .low_header .u_inner {
    height: 24rem;
  }
}

.low_header .ttl {
  position: absolute;
  bottom: 7rem;
  color: #fff;
}

.guide_body {
  position: relative;
}

.guide_body:before, .guide_body:after {
  content: '';
  background: url(../img/guide-bg02.svg) no-repeat center top/contain;
  width: 55.2rem;
  height: 62.4rem;
  position: absolute;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .guide_body:before, .guide_body:after {
    background-image: url(../img/guide-bg02-sp.svg);
    width: 30rem;
    height: 52.5rem;
  }
}

.guide_body:before {
  top: 55rem;
  left: calc(50% + 30rem);
}

@media screen and (max-width: 767px) {
  .guide_body:before {
    right: auto;
    left: 0;
    top: 0;
  }
}

.guide_body:after {
  background-image: url(../img/guide-bg03.svg);
  bottom: 80rem;
  right: calc(50% + 22rem);
}

.low_path {
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 900;
  background: #070707;
  padding: .6rem 2rem;
  color: #F7F7F7;
  gap: 2.8em;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 5rem;
}

@media screen and (max-width: 767px) {
  .low_path {
    padding: .6rem 1rem;
  }
}

.low_path li + li {
  position: relative;
}

.low_path li + li:before {
  content: '';
  position: absolute;
  width: 1.15em;
  height: 1px;
  background: #fff;
  top: .75em;
  left: -2em;
}

.product_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.4rem;
}

@media screen and (max-width: 767px) {
  .product_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.3rem;
  }
}

.product_list a {
  display: block;
  background: #141414;
  font-family: "Zen Old Mincho", serif;
}

.product_list img {
  aspect-ratio: 498 / 449;
  width: 100%;
  object-fit: cover;
}

.product_list .desc {
  border: solid 1px #454545;
  padding: 2rem 2rem;
  font-weight: 400;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.product_list p {
  background: url(../img/arw-r05.svg) no-repeat calc(100% - .6em) center/0.8rem;
  padding: 0 2em 0 1.5em;
  border-left: solid 1px rgba(255, 255, 255, 0.4);
  border-right: solid 1px rgba(255, 255, 255, 0.4);
  font-family: "Inter", sans-serif;
  font-weight: 400;
}

.product_list dt {
  font-size: 2.4rem;
  margin-bottom: .3em;
}

.product_list dt small {
  font-size: .75em;
  margin-left: .7em;
}

.product_list dd {
  font-size: 2.5rem;
}

.product_list dd small {
  font-size: .8em;
}

.guide_flow {
  margin-bottom: 5rem;
}

.guide_flow .ttl2 {
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: .1em;
  font-size: 4rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .guide_flow .ttl2 {
    font-size: 3.2rem;
  }
}

.guide_flow .ttl2 i {
  display: inline-block;
  background: #070707;
  padding: .5rem 1.7rem;
}

.guide_flow .ttl2 small {
  font-size: 1.6rem;
  background: linear-gradient(26.83deg, #BF9345 6.82%, #DAB142 24.09%, #EDC741 39.62%, #F4CF41 49.98%, #EEC83C 60.34%, #DFB62E 73.28%, #C59918 89.68%, #BF9213 93.14%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  display: block;
}

.guide_flow ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.8rem;
}

@media screen and (max-width: 767px) {
  .guide_flow ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
    width: 38rem;
    margin: 0 auto;
  }
}

.guide_flow li {
  background: #EDEDED;
}

.guide_flow li img {
  width: 100%;
}

.guide_flow p {
  color: #1F1F1F;
  padding: 1em;
}

@media screen and (max-width: 767px) {
  .guide_flow p {
    padding: 1em 1.5em 1.4em;
  }
  .guide_flow p br {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .guide_flow p {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.guide_flow p small {
  display: block;
  background: linear-gradient(225deg, #D4A61C 0%, #CB8F25 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .guide_flow p small {
    margin-bottom: .6em;
  }
}

.scta_body {
  background: #fff;
  padding: 4.5rem 5rem;
  border: solid 1px #D2D2D2;
  border-radius: .4rem;
}

@media screen and (max-width: 767px) {
  .scta_body {
    padding: 4rem 1.8rem 7rem;
  }
}

.scta_body table {
  margin-bottom: 7rem;
}

.scta_body table:last-child {
  margin-bottom: 0;
}

.scta_body th {
  background: #F2F1EE;
  font-weight: bold;
  line-height: 1.6;
  vertical-align: top;
  border-right: solid 1px #D1D1D1;
  border-bottom: solid 1px #D1D1D1;
  text-align: left;
  padding: 1.2em 1em;
  width: 27rem;
}

@media screen and (max-width: 767px) {
  .scta_body th {
    font-size: 1.4rem;
    width: 10.8rem;
    padding: 1.2em .6em;
  }
}

.scta_body td {
  font-size: 1.4rem;
  font-weight: 600;
  background: #F7F7F8;
  line-height: 1.6;
  border-bottom: solid 1px #D1D1D1;
  padding: 1.5em 2.5em;
}

@media screen and (max-width: 767px) {
  .scta_body td {
    padding: 1.2em .8em;
  }
}

.scta_body td p + p {
  margin-top: 1.6em;
}

.scta_body td figure {
  margin: .5em 0;
}

.scta_body .area {
  margin-bottom: 7rem;
}

.pp_body {
  padding: 0;
}

.pp_body dt {
  font-family: "Zen Old Mincho", serif;
  background: linear-gradient(225deg, #D4A61C 0%, #CB8F25 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 900;
  font-size: 2.8rem;
  font-weight: 900;
  margin: 4rem 0 .3em;
}

@media screen and (max-width: 767px) {
  .pp_body dt {
    font-size: 2.2rem;
  }
}

.pp_body dl {
  margin-bottom: 4rem;
}

.shipping-fee {
  margin: 30px 0;
}

.shipping-fee__title {
  font-weight: bold;
  margin-bottom: 10px;
}

.shipping-fee__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.shipping-fee__table {
  width: 100% !important;
  border-collapse: collapse;
  font-size: 13px !important;
}

.shipping-fee__table th,
.shipping-fee__table td {
  border: 1px solid #ccc;
  padding: 10px 4px !important;
  text-align: center !important;
  white-space: nowrap;
  width: auto !important;
  min-width: 0 !important;
}

.shipping-fee__table th {
  background: #f5f2ec;
  font-weight: normal;
  width: 80px !important;
}

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