﻿@charset "UTF-8";
img, svg {
  vertical-align: top;
}

img {
  display: inline;
  image-rendering: auto !important;
}

input, textarea, label {
  font-size: 1.6rem;
  background: #fff;
  vertical-align: top;
}

button {
  cursor: pointer;
}

label {
  background: none;
}

input[type=text], input[type=password], input[type=tel], input[type=email], input[type=text], input[type=number] {
  line-height: 1.8;
  background: #fff;
  border: #C9C9C9 1px solid;
  border-radius: 4px;
}

input::-webkit-input-placeholder {
  opacity: 1 !important;
  color: rgba(150, 150, 150, 0.6) !important;
}

input::placeholder {
  opacity: 1 !important;
  color: rgba(150, 150, 150, 0.6) !important;
}

input[type=checkbox] {
  border-color: #C9C9C9;
  border-radius: 2px;
  background: url(../img/common/icon/icon-checkbox.svg) no-repeat center top -40%;
  background-size: 90%;
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
}

input[type=checkbox]:checked {
  background-image: url(../img/common/icon/icon-checkbox-active.svg);
}

select {
  font-size: 1.6rem;
  border: #C9C9C9 1px solid;
  border-radius: 4px;
  background-color: #fff;
  /* background: url(../img/common/icon/select_arrow.svg) no-repeat right 1rem center, #fff;
  background-size: 1rem 0.4rem; */
  padding: 0.8em 4rem 0.9em 1.6rem;
}

textarea {
  border: #C9C9C9 1px solid;
  border-radius: 4px;
  font-size: 1.5rem;
  line-height: 1.6;
  padding: 0.8em 1.6rem;
}

.c-formInput-item__alert:empty {
  margin: 0;
  padding: 0;
  font-size: 0;
}

.pc {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1220px) {
  .sp2 {
    display: none !important;
  }
}
/* --------------------
		clear
-------------------- */
.clearfix:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0;
  line-height: 0;
}

.clearfix {
  display: inline-block;
}

* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

.clear {
  clear: both;
  font-size: 0;
  line-height: 0;
  padding: 0;
  margin: 0;
}

.clearB {
  clear: both;
}

/* --------------------
		float
-------------------- */
.floatR {
  float: right;
}

.floatL {
  float: left;
}

/* --------------------
		link
-------------------- */
a {
  color: inherit;
  transition: color 0.2s;
}
a:not(:focus-visible) {
  outline: none;
}
a {
  transition: opacity 0.2s;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

.fade {
  transition: opacity 0.2s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.fade:hover {
  opacity: 0.8;
}

.linkNon {
  color: inherit;
  text-decoration: none;
}

.linkNon a {
  color: inherit;
  text-decoration: none;
}

.txtLink {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .txtLink:hover {
    text-decoration: none;
  }
}

.tbl {
  width: 100%;
  margin: 0.8em 0;
  border: var(--color-gray2) 1px solid;
  border-bottom: none;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 1.1rem;
  line-height: 1.6;
}
.tbl th {
  font-weight: 500;
  background: rgba(var(--bg1), 0.1);
  padding: 0.9rem 1rem;
  text-align: left;
  border-bottom: var(--color-gray2) 1px solid;
  width: 50%;
}
.tbl td {
  padding: 0.9rem 1.2rem;
  border-bottom: var(--color-gray2) 1px solid;
}
.tbl a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .tbl a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .tbl {
    font-size: 1.3rem;
    line-height: 1.6;
  }
  .tbl th {
    padding: 1.4rem 1.8rem;
    width: 19rem;
  }
  .tbl td {
    padding: 1.4rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .tbl.spList {
    display: block;
  }
  .tbl.spList thead, .tbl.spList tbody, .tbl.spList tr, .tbl.spList td, .tbl.spList th {
    display: block;
    width: 100%;
  }
  .tbl.spList th {
    border-bottom: none;
    padding: 0.6rem 1rem 0.7rem;
  }
  .tbl.spList td {
    padding: 1.2rem 1.5rem 1.3rem;
  }
}

.c-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
}

.c-btn--white {
  color: #666 !important;
}

.c-btn-cart {
  position: relative;
  background: var(--color-primary);
  color: #fff !important;
  border: var(--color-primary) 1px solid;
  font-family: var(--font-ja);
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3.4em;
  padding: 0 !important;
  border-radius: 0 !important;
  transition: opacity 0.2s;
}
.c-btn-cart.beige {
  background: var(--color-beige);
  border-color: var(--color-beige);
}
.c-btn-cart:before {
  content: none;
}
.c-btn-cart.teiki {
  background: var(--color-primary);
  font-weight: 400;
  color: #fff !important;
}
@media (any-hover: hover) {
  .c-btn-cart:hover {
    opacity: 0.75;
  }
}

.c-btn-soldout {
  background: #DEDEDE;
  color: #fff;
  font-family: var(--font-ja);
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 76%;
  height: 3em;
  border-radius: 3em;
}

.c-btn-border {
  position: relative;
  border: rgba(var(--color-txt2), 0.6) 1px solid;
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28rem;
  height: 3.7em;
  transition: opacity 0.2s;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}
.c-btn-border.arrow:before {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  background: url(../img/common/icon/arrow-select.svg) no-repeat;
  background-size: contain;
}
@media (any-hover: hover) {
  .c-btn-border:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-border {
    font-size: 1.5rem;
    height: 5.6rem;
    width: 32rem;
    padding: 0 3.5rem 0 2.7rem;
  }
  .c-btn-border.arrow:before {
    width: 1rem;
    height: 1rem;
    right: 2rem;
  }
}

/* --------------------
		common
-------------------- */
.w100 {
  width: 100%;
}

.nowrap {
  display: inline-block;
  white-space: nowrap;
}

.alignR {
  text-align: right;
}

.alignC {
  text-align: center;
}

.tax {
  font-size: 60%;
}

.kome {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.4;
}

.komeList li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.4;
  margin-top: 0.2em;
}

.dotList li {
  padding-left: 1em;
  position: relative;
  line-height: 1.5;
  margin-top: 0.7em;
}

.dotList li:before {
  content: "";
  line-height: 0;
  width: 3px;
  height: 3px;
  background: rgba(0, 0, 0, 0.8);
  display: block;
  border-radius: 50%;
  position: absolute;
  left: 0.3em;
  top: 0.8em;
  transform: translate(-50%, -50%);
}

.kome span, .komeList li span, .dotList li span {
  text-indent: 0;
}

/* --------------------
		font size
-------------------- */
.fz11 {
  font-size: 1.1rem;
}

.fz12 {
  font-size: 1.2rem;
}

.fz13 {
  font-size: 1.3rem;
}

.fz14 {
  font-size: 1.4rem;
}

.fz15 {
  font-size: 1.5rem;
}

.fz16 {
  font-size: 1.6rem;
}

.fz17 {
  font-size: 1.7rem;
}

.fz18 {
  font-size: 1.8rem;
}

.lh15 {
  line-height: 1.5;
}

.lh16 {
  line-height: 1.6;
}

.lh17 {
  line-height: 1.7;
}

.lh18 {
  line-height: 1.8;
}

.lh19 {
  line-height: 1.9;
}

.lh20 {
  line-height: 2;
}

/* --------------------
		margin
-------------------- */
.mb05 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mt05 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mb05em {
  margin-bottom: 0.5em;
}

.mb1em {
  margin-bottom: 1em;
}

.mb15em {
  margin-bottom: 1.5em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb25em {
  margin-bottom: 2.5em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mt05em {
  margin-top: 0.5em;
}

.mt1em {
  margin-top: 1em;
}

.mt15em {
  margin-top: 1.5em;
}

.mt2em {
  margin-top: 2em;
}

/* --------------------
		padding
-------------------- */
.pb05 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 20px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb90 {
  padding-bottom: 90px;
}

.pt05em {
  padding-top: 0.5em;
}

.pt1em {
  padding-top: 1em;
}

.pt15em {
  padding-top: 1.5em;
}

.pb05em {
  padding-bottom: 0.5em;
}

html {
  width: 100%;
  font-size: 2.66vw;
  overflow-x: hidden;
}

body {
  font-family: var(--font-ja);
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  line-height: 1.7;
  color: var(--color-txt);
  width: 100%;
  min-height: 100dvh;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 0.825vw;
  }
  body {
    font-size: 1.5rem;
  }
  .sp {
    display: none;
  }
}
@media screen and (min-width: 1220px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 1.5rem;
  }
  .sp2 {
    display: none;
  }
}
.importantBar {
  color: #fff;
  position: relative;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.4;
  padding: 0.5rem;
  min-height: 2.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.importantBar:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: var(--color-primary);
}
.importantBar #importantNews {
  margin: 0 2.4rem;
}
.importantBar .swiper-wrapper {
  align-items: center;
}
.importantBar .swiper-slide {
  height: auto;
}
.importantBar .swiper-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
  background: url(../img/common/icon/arrow.svg) no-repeat center;
  background-size: contain;
}
.importantBar .swiper-button.prev {
  left: 0.5rem;
  transform: translateY(-50%) scale(-1, 1);
}
.importantBar .swiper-button.next {
  right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .importantBar {
    font-size: 1.3rem;
    min-height: 3.6rem;
    max-width: 800px;
    margin: 0 auto;
  }
}

.s-header {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 1000;
  height: 5.2rem;
  background: #fff;
}
.s-header .logo {
  width: 11.2rem;
  position: absolute;
  left: 1.5rem;
  top: 1.3rem;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .s-header {
    height: 11.2rem !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .s-header .logo {
    width: 15.8rem;
    height: 4.3rem;
    z-index: 10;
    left: 50%;
    top: 1.8rem;
    transform: translateX(-50%);
  }
}
.s-headerModalBox {
  z-index: 10001;
}
.s-header-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  width: 100%;
  border: none !important;
  position: absolute;
  left: auto;
  right: 0;
  top: auto;
  z-index: 9;
  padding: 0 1.3rem 0 14rem;
  background: none;
}
@media screen and (min-width: 768px) {
  .s-header-wrap {
    display: block;
    padding: 6.5rem 0 0;
  }
}
.s-header-wrap__utility {
  position: relative;
  width: auto;
  height: auto;
  left: auto;
  top: auto;
  right: auto;
  display: flex;
  justify-content: flex-end;
  flex-direction: row;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .s-header-wrap__utility {
    width: 100%;
    padding: 0 5.4rem; /* max-width: 1600px; left: 50%; transform: translateX(-50%); */
    position: absolute;
    left: 0;
    top: 2.5rem;
    margin: 0;
    flex-grow: 0;
  }
}
.s-header-wrap__nav {
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: calc(100dvh - 5.2rem);
  overflow-y: auto;
  background: #F0EFED;
  position: absolute;
  right: 0;
  left: auto;
  top: 5.2rem;
  padding: 3.8rem 2rem 8rem;
}
.s-header-wrap__nav.open {
  opacity: 1;
  pointer-events: all;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .s-header-wrap__nav {
    position: static;
    right: auto;
    top: auto;
    background: none;
    height: auto;
    width: auto;
    overflow: visible;
    padding: 0;
    opacity: 1;
    pointer-events: all;
    color: var(--color-txt);
  }
  .s-header-wrap__nav.open {
    transition: none;
  }
}
.s-header-wrap .s-header-navBlok {
  opacity: 0;
  transform: translateX(1.2rem);
}
.s-header-wrap__nav.open .s-header-navBlok {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.2s ease-out 0.3s;
}
@media screen and (min-width: 768px) {
  .s-header-wrap .s-header-navBlok {
    opacity: 1;
    transform: none !important;
  }
  .s-header-wrap__nav.open .s-header-navBlok {
    transition: none;
  }
  .s-header-wrap__nav.open .otherMenu {
    opacity: 1;
    pointer-events: all;
    transform: translateY(100%);
    transition: all 0.3s;
  }
}
.s-header-wrap .mainMenu {
  font-size: 1.3rem;
  border-top: rgba(var(--bg1), 0.7) 1px solid;
}
.s-header-wrap .mainMenu li {
  border-bottom: rgba(var(--bg1), 0.7) 1px solid;
}
.s-header-wrap .mainMenu a {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.s-header-wrap .mainMenu a.only, .s-header-wrap .mainMenu .acLink {
  display: flex;
  align-items: flex-end;
  cursor: pointer;
  gap: 0 1.8rem;
  padding: 1.5rem 0.9rem 1.6rem;
}
@media screen and (min-width: 768px) {
  .s-header-wrap .mainMenu {
    border: none;
    font-size: 1.3rem;
    letter-spacing: 0.06em;
    display: flex;
    justify-content: center;
    gap: 0 2.5em;
  }
  .s-header-wrap .mainMenu li {
    border-bottom: none;
    position: relative;
  }
  .s-header-wrap .mainMenu a.only, .s-header-wrap .mainMenu .acLink {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 4.7rem;
    gap: 0.8rem 0;
    padding: 0;
    transition: color 0.2s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .s-header-wrap .mainMenu a.only:hover, .s-header-wrap .mainMenu .acLink:hover {
    color: var(--color-primary);
  }
}
.s-header-wrap .mainMenu .acBox {
  margin-left: 2.7rem;
  padding-bottom: 1.6em;
  font-size: 1.25rem;
}
.s-header-wrap .mainMenu .acBox ul {
  padding-top: 0.3em;
}
.s-header-wrap .mainMenu .acBox li {
  border: none;
}
.s-header-wrap .mainMenu .acBox a {
  min-height: auto;
  padding: 0.56em 0;
}
@media screen and (min-width: 768px) {
  .s-header-wrap .mainMenu .acBox {
    font-size: 1.3rem;
  }
  .s-header-wrap .mainMenu .acBox ul {
    padding-top: 0;
  }
  .s-header-wrap .mainMenu .acBox a {
    padding: 0.4em 0 0.4em 1.9rem;
    transition: opacity 0.2s;
    position: relative;
  }
  .s-header-wrap .mainMenu .acBox a:before {
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: var(--color-gray2);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .s-header-wrap .mainMenu .acBox a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .s-header-wrap .mainMenu .acBox .top a:before {
    background: var(--color-beige);
  }
}
.s-header-wrap .mainMenu .acLink {
  position: relative;
  cursor: pointer;
}
.s-header-wrap .mainMenu .acLink:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: url(../img/common/icon/arrow-select.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  right: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
}
.s-header-wrap .mainMenu .acLink.open:after {
  transform: translateY(-50%) scale(1, -1);
}
@media screen and (min-width: 768px) {
  .s-header-wrap .mainMenu .acLink {
    border-bottom: #fff 1px solid;
    transition: border-color 0.2s;
  }
  .s-header-wrap .mainMenu .acLink:after {
    content: none;
  }
  .s-header-wrap .mainMenu .acLink.open {
    color: var(--color-primary);
    border-bottom: var(--color-primary) 1px solid;
  }
}
.s-header-wrap .mainMenu .acBox {
  display: none;
}
@media screen and (min-width: 768px) {
  .s-header-wrap .mainMenu .acBox {
    opacity: 0;
    pointer-events: none;
    display: block;
    position: absolute;
    bottom: 0;
    transform: translateY(100%);
    width: auto;
    white-space: nowrap;
    background: #F0EFED;
    margin-left: 0;
    padding: 4rem 7rem 5rem !important;
    transition: opacity 0.3s;
  }
  .s-header-wrap .mainMenu .acBox ul {
    display: grid;
    grid-auto-flow: row;
    gap: 0.9rem 9rem;
  }
  .s-header-wrap .mainMenu .acBox ul.line2-2 {
    grid-template-rows: repeat(2, auto);
    grid-auto-flow: column;
  }
  .s-header-wrap .mainMenu .acBox ul.line2-3 {
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
  }
  .s-header-wrap .mainMenu .acBox ul.line2-4 {
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
  }
  .s-header-wrap .mainMenu .acBox ul.line2-5 {
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
  }
  .s-header-wrap .mainMenu li:nth-child(-n+5) .acBox {
    left: -6rem;
  }
  .s-header-wrap .mainMenu li:nth-child(n+6):nth-child(-n+7) .acBox {
    left: 50%;
    transform: translate(-50%, 100%);
  }
  .s-header-wrap .mainMenu li:nth-child(n+8) .acBox {
    right: -6rem;
  }
  .s-header-wrap .mainMenu .acLink.open + .acBox {
    opacity: 1;
    pointer-events: all;
  }
}
.s-header-wrap .otherMenu {
  margin-top: 4.6rem;
  font-size: 1.2rem;
  padding: 0 0.9rem;
}
.s-header-wrap .otherMenu .txtMenu {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 1.4rem 2rem;
}
.s-header__cartCnt {
  width: 0.5rem;
  height: 0.5rem;
  min-width: auto;
  padding: 0;
  background: var(--color-primary);
  top: -0.12rem;
  right: -0.18rem;
  font-size: 0;
}
@media screen and (min-width: 768px) {
  .s-header__cartCnt {
    width: 0.7rem;
    height: 0.7rem;
    top: -0.25rem;
    right: -0.3rem;
  }
}
.s-header-freeWordSearch {
  display: none;
}
.s-header-utilityList {
  gap: 0 1.8rem;
}
.s-header-utilityList__item {
  width: auto;
}
.s-header-utilityList__icon {
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background: var(--color-txt);
  transition: background 0.3s;
}
@media (any-hover: hover) {
  .s-header-utilityList__icon:hover {
    background: var(--color-primary);
  }
}
.s-header-utilityList__icon.mail {
  -webkit-mask-image: url(../img/common/icon/i-mail.svg);
          mask-image: url(../img/common/icon/i-mail.svg);
}
.s-header-utilityList__icon.user {
  -webkit-mask-image: url(../img/common/icon/i-user.svg);
          mask-image: url(../img/common/icon/i-user.svg);
}
.s-header-utilityList__icon.favorite {
  -webkit-mask-image: url(../img/common/icon/i-heart.svg);
          mask-image: url(../img/common/icon/i-heart.svg);
}
.s-header-utilityList__icon.cart {
  background: none;
}
.s-header-utilityList__icon.cart p {
  -webkit-mask-image: url(../img/common/icon/i-cart.svg);
          mask-image: url(../img/common/icon/i-cart.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background: var(--color-txt);
  transition: background 0.3s;
}
@media (any-hover: hover) {
  .s-header-utilityList__icon.cart:hover p {
    background: var(--color-primary);
  }
}
.s-header-utilityList__icon img {
  width: 2.4rem;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .s-header-utilityList {
    gap: 0 2.4rem;
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
  }
  .s-header-utilityList__icon {
    width: 2.8rem;
    height: 2.8rem;
  }
  .s-header-utilityList__icon img {
    width: 2.8rem;
    opacity: 0;
  }
}
.s-header .hamburger {
  width: 2.6rem;
  height: 2.6rem;
  margin-left: 2.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.s-header .hamburger #hamb, .s-header .hamburger #hamb span {
  display: inline-block;
}
.s-header .hamburger #hamb {
  position: relative;
  width: 1.6rem;
  height: 1.4rem;
  padding: 0;
  background: none;
  border: none;
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
}
.s-header .hamburger #hamb:focus:not(:focus-visible) {
  outline: none;
}
.s-header .hamburger #hamb::before, .s-header .hamburger #hamb::after {
  content: "";
}
.s-header .hamburger #hamb::before, .s-header .hamburger #hamb::after, .s-header .hamburger #hamb span {
  position: absolute;
  width: 100%;
  height: 0.2rem;
  transform: scaleY(0.6);
  background: var(--color-txt);
  border-radius: 1rem;
  transform-origin: 50% 50%;
  transition: 0.2s;
}
.s-header .hamburger #hamb::before, .s-header .hamburger #hamb::after {
  width: 116%;
}
.s-header .hamburger #hamb::before {
  top: 0.6rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg) scaleX(0) scaleY(0.6);
}
.s-header .hamburger #hamb::after {
  top: 0.6rem;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg) scaleX(0) scaleY(0.6);
}
.s-header .hamburger #hamb span:nth-of-type(1) {
  top: 0;
  left: 0;
  transition-delay: 0.2s;
}
.s-header .hamburger #hamb span:nth-of-type(2) {
  top: 0.6rem;
  left: 0;
  transition-delay: 0.2s;
}
.s-header .hamburger #hamb span:nth-of-type(3) {
  bottom: 0;
  left: 0;
  transition-delay: 0.2s;
}
.s-header .hamburger #hamb.open::before {
  transform: translateX(-50%) rotate(45deg) scaleX(1) scaleY(0.6);
  transition-delay: 0.2s;
}
.s-header .hamburger #hamb.open::after {
  transform: translateX(-50%) rotate(-45deg) scaleX(1) scaleY(0.6);
  transition-delay: 0.2s;
}
.s-header .hamburger #hamb.open span {
  transform: scaleX(0) scaleY(0.6);
  transition-delay: 0s;
}
@media screen and (min-width: 768px) {
  .s-header .hamburger {
    display: none;
  }
}

main {
  overflow-y: visible;
  overflow-x: clip;
}

.l-container {
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  position: relative;
}
.l-container-fluid-md {
  padding-left: 0;
  padding-right: 0;
}
.l-container-wrap {
  flex-direction: column;
}
.l-container-wrap__body {
  padding-top: 7rem;
  /* &--top-gap-short { padding-top: 0;} */
}
.l-container-wrap__body--stepBar {
  padding-top: 3rem;
}
.l-container .c-page-title {
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .l-container {
    max-width: 150rem;
    padding-left: 6rem;
    padding-right: 6rem;
  }
  .l-container-wrap__body {
    padding-bottom: 0;
    padding-top: 10rem;
  }
  .l-container .c-page-title {
    padding-bottom: 2rem;
  }
}

.m-breadcrumb {
  margin: 1.3rem 0 0;
  width: 100%;
  overflow: visible;
}

.c-breadcrumb-list {
  font-size: 0.9rem;
  line-height: 1.8;
  width: calc(100% + 1em);
  margin-right: -1em;
}
.c-breadcrumb-item {
  color: var(--color-txt) !important;
  opacity: 0.75;
}
.c-breadcrumb-item:not(:last-child):after {
  content: ">";
  background: none;
  position: relative;
  display: inline-block;
  padding: 0;
  margin: 0 0.8em;
  vertical-align: middle;
  width: auto;
  height: auto;
}
.c-breadcrumb-item__link {
  margin-top: 0;
  transition: color 0.2s;
}
@media (any-hover: hover) {
  .c-breadcrumb-item__link:hover {
    color: var(--color-primary);
    text-decoration: none;
  }
}
.c-breadcrumb-item__current {
  margin-top: 0;
}

.absolute .m-breadcrumb {
  margin: 0;
  padding: 0 1.5rem;
  position: absolute;
  left: 50%;
  top: 1.4rem;
  transform: translateX(-50%);
  z-index: 10;
  overflow: visible;
}

@media screen and (min-width: 768px) {
  .m-breadcrumb {
    margin: 2.2rem 0 0;
  }
  .c-breadcrumb-list {
    font-size: 1.1rem;
  }
  .absolute .m-breadcrumb {
    max-width: 150rem;
    margin: 0;
    padding: 0 6rem;
    position: absolute;
    left: 50%;
    top: 2.2rem;
    transform: translateX(-50%);
    z-index: 10;
    overflow: visible;
  }
}
.c-pager {
  font-size: 1.4rem;
  color: var(--color-txt);
}
.c-pager__list {
  gap: 0 0.4rem;
  margin: 0;
}
.c-pager-list-item {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
}
.c-pager-list-item--leader {
  margin: 0;
}
.c-pager-list-item a {
  background: none;
  border-radius: 0;
  transition: color 0.2s;
}
@media (any-hover: hover) {
  .c-pager-list-item a:hover {
    color: var(--color-primary);
    background: none;
    font-weight: 400;
  }
}
.c-pager-list-item--active {
  background: rgba(var(--color-brown2), 0.1);
  font-weight: 400;
}
.c-pager .arrow {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  left: auto;
  right: auto;
  width: 2.63rem;
  height: 2.63rem;
  border-radius: 50%;
  border: rgba(var(--color-primary2), 0.8) 1px solid;
}
.c-pager .arrow:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  background: var(--color-primary);
  -webkit-mask-image: url(../img/common/icon/arrow.svg);
          mask-image: url(../img/common/icon/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-pager .arrow.disabled {
  pointer-events: none;
  opacity: 0.3;
  filter: saturate(30%);
}
.c-pager .arrow.prev {
  margin-right: 2rem;
  transform: scale(-1, 1);
}
.c-pager .arrow.next {
  margin-left: 2rem;
}
@media (any-hover: hover) {
  .c-pager .arrow:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .c-pager {
    font-size: 1.8rem;
    gap: 0;
  }
  .c-pager__list {
    gap: 0 0.8rem;
  }
  .c-pager-list-item {
    width: 4.1rem;
    height: 4.1rem;
    padding-bottom: 0.1em;
  }
  .c-pager .arrow {
    width: 3.4rem;
    height: 3.4rem;
  }
  .c-pager .arrow:after {
    width: 1.1rem;
    height: 1.1rem;
  }
  .c-pager .arrow.prev {
    margin-right: 3rem;
  }
  .c-pager .arrow.next {
    margin-left: 3rem;
  }
}

h2.pageTtl {
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.5;
  margin-bottom: 4.4rem;
}
h2.pageTtl .min {
  display: block;
  font-weight: 500;
  font-size: 2.6rem;
  line-height: 1.1;
  letter-spacing: 0.04em;
  margin-bottom: 0.3em;
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  h2.pageTtl {
    font-size: 1.4rem;
    margin-bottom: 9rem;
  }
  h2.pageTtl .min {
    font-size: 3.8rem;
    letter-spacing: 0.03em;
    margin-bottom: 0.38em;
  }
}

@media screen and (min-width: 768px) {
  .m-productLine {
    gap: 6% 4.2%;
  }
  .m-productLine .m-productLine__item {
    width: 21.85%;
  }
}
/* div[data-tippy-root] { width: auto !important; max-width: none !important;} */
.tippy-box[data-theme~=white] {
  background: #fff;
  color: var(--color-txt);
  padding: 0;
  border: 1px solid #D9D9D9;
  border-radius: 0;
  box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.15);
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: justify;
}
.tippy-box[data-theme~=white] h3 {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 0.5em;
  text-align: left;
}
.tippy-box[data-theme~=white] .tippy-arrow {
  width: 1.4rem;
  height: 1.4rem;
  font-size: 0;
}
.tippy-box[data-theme~=white] .tippy-arrow:before {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-right: none;
  border-bottom: none;
  transform: rotate(45deg) translate(-50%, -50%);
  left: -0.5rem;
  top: 0;
}
.tippy-box[data-theme~=white][data-placement^=top] > .tippy-arrow:before {
  top: auto;
  bottom: 0;
  left: 0.4rem;
  border: 1px solid #D9D9D9;
  border-left: none;
  border-top: none;
  transform: rotate(45deg) translate(50%, 50%);
}
.tippy-box[data-theme~=white] .tippy-content {
  padding: 1.5rem 1.8rem 1.8rem;
  position: relative;
  min-width: 67vw;
  text-align: left;
}
.tippy-box[data-theme~=white] .close {
  border: none;
  padding: 0 !important;
  margin: 0 !important;
  transition: background 0.3s;
  position: absolute;
  right: 0.4rem;
  top: 0.4rem;
  width: 2.6rem !important;
  height: 2.6rem !important;
  border-radius: 4px !important;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tippy-box[data-theme~=white] .close:before {
  content: "";
  display: block;
  width: 1.8rem !important;
  height: 1.8rem !important;
  background: url(../img/common/icon/i-close.svg) no-repeat center !important;
  background-size: contain;
  -webkit-mask-image: none;
          mask-image: none;
}
@media (any-hover: hover) {
  .tippy-box[data-theme~=white] .close:hover {
    background: rgba(var(--color-beige2), 0.1);
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .tippy-box[data-theme~=white] {
    font-size: 1.3rem;
  }
  .tippy-box[data-theme~=white] h3 {
    font-size: 1.3rem;
    margin-bottom: 0.5em;
  }
  .tippy-box[data-theme~=white] .tippy-content {
    min-width: 30rem;
  }
}

button.js-tooltip.round {
  padding: 0;
  border: none;
  background: var(--color-gray2);
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  margin: 0 0.8em;
}

.heroImg {
  position: relative;
  min-height: 29rem;
  padding: 4.8rem 2rem 4.7rem 2.8rem;
}
.heroImg.white {
  color: #fff;
}
.heroImg.white h1 span {
  font-weight: 300;
}
.heroImg .bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.heroImg h1 strong {
  font-size: 3.6rem;
  letter-spacing: -0.01em;
  line-height: 1;
  font-weight: 400;
  font-family: var(--font-en);
}
.heroImg h1 span.small {
  font-size: 1.5rem;
  letter-spacing: 0.07em;
  margin: 0 0 0.4em 0;
  padding: 0;
}
.heroImg h1 span {
  display: block;
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin-top: 0.8em;
  padding-left: 0.2em;
}
.heroImg .message {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.08em;
  position: absolute;
  left: 2.8rem;
  bottom: 3rem;
}
.heroImg .pNav {
  margin: 12rem 0 -0.5em;
  font-size: 1.2rem;
  font-weight: 200;
}
.heroImg .pNav li:not(:last-child) {
  margin-bottom: 1.2em;
}
.heroImg .pNav a {
  text-decoration: underline;
  display: inline-block;
  position: relative;
  padding-right: 1.5rem;
}
@media (any-hover: hover) {
  .heroImg .pNav a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
.heroImg .pNav a:before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.7rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  background: url(../img/common/icon/arrow.svg) no-repeat center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .heroImg {
    height: 26.875vw;
    min-height: 0;
    max-height: 64rem;
    padding: 5.8rem 9rem 5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
  }
  .heroImg h1 {
    width: 100%;
    max-width: 138rem;
    margin: 0 auto;
  }
  .heroImg h1 strong {
    font-size: clamp(5rem, 3.25vw, 7rem);
    display: block;
    margin-bottom: 0;
  }
  .heroImg h1 span.small {
    font-size: clamp(1.7rem, 1.1vw, 2.1rem);
    margin: -1em 0 0.6em 0;
  }
  .heroImg h1 span {
    font-size: 1.2rem;
    margin-top: 2.5em;
  }
  .heroImg h1 span.top {
    margin-top: 1.6em;
  }
  .heroImg h1.yoko strong {
    display: inline-block;
  }
  .heroImg h1.yoko span {
    display: inline-block;
    margin: 0 0 0 3em;
  }
  .heroImg .message {
    font-size: clamp(2.5rem, 1.625vw, 3.2rem);
    font-weight: 300;
    letter-spacing: 0.08em;
    width: 100%;
    max-width: 138rem;
    margin: 3em auto -1em;
    position: relative;
    left: auto;
    bottom: auto;
  }
  .heroImg .pNav {
    width: 100%;
    max-width: 138rem;
    margin: 12rem auto -1em;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0 3.5em;
  }
  .heroImg .pNav li:not(:last-child) {
    margin-bottom: 0;
  }
  .heroImg .pNav a:before {
    width: 0.5rem;
    height: 0.9rem;
  }
}

h2.txt2Line {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.07em;
  margin: 0 0 1.8em;
}
h2.txt2Line .sTxt {
  display: block;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  margin-bottom: 1.4em;
}
@media screen and (min-width: 768px) {
  h2.txt2Line {
    font-size: 2.4rem;
    margin: 0 0 2.4em;
  }
  h2.txt2Line .sTxt {
    font-size: 1.2rem;
    margin-bottom: 2em;
  }
}

h2.enYoko {
  text-align: left;
  margin-bottom: 4rem;
}
h2.enYoko .en {
  font-size: 3.7rem;
  line-height: 1.1;
  font-weight: normal;
  color: var(--color-beige);
  margin-right: 0.6em;
}
h2.enYoko .sTxt {
  font-size: 1.1rem;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  h2.enYoko {
    margin-bottom: 5.1rem;
    display: flex;
    align-items: baseline;
    gap: 0 3rem;
  }
  h2.enYoko .en {
    font-size: 4.2rem;
    margin-right: 0;
  }
  h2.enYoko .sTxt {
    font-size: 1.3rem;
  }
}

.borderMore {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: rgba(var(--color-txt2), 0.6) 1px solid;
  padding: 1.1em 1.2em;
  font-size: 1.4rem;
  font-weight: 600;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
}
.borderMore .en {
  font-weight: 400;
  color: var(--color-brown);
  opacity: 0.9;
  margin-right: -0.5em;
}
@media screen and (min-width: 768px) {
  .borderMore {
    padding: 1.4em 1.3em;
    width: 31rem;
    font-size: 1.6rem;
  }
  .borderMore .en {
    margin-right: 0;
  }
}

.more {
  display: block;
  text-align: right;
  font-size: 1.7rem;
  line-height: 1.75;
  color: var(--color-brown);
  opacity: 0.9;
}
.more a {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.more a:before, .more a:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  opacity: 0.7;
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--color-brown);
}
.more a:not(:hover):before, .more a:not(:hover):after {
  transition: none;
}
.more a:before {
  transform: translateX(0);
}
.more a:after {
  transform: translateX(-101%);
}
@media (any-hover: hover) {
  .more a:hover {
    opacity: 1;
  }
  .more a:hover:before {
    transform: translateX(101%);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .more a:hover:after {
    transform: translateX(0%);
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
  }
}
@media screen and (min-width: 768px) {
  .more {
    font-size: 1.9rem;
    line-height: 1.6;
  }
}

.secNomal {
  padding: 0 1.2rem;
}
.secNomal h2 {
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 1.7em;
}
.secNomal .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .secNomal {
    padding: 0;
  }
  .secNomal h2 {
    font-size: 2.4rem;
    margin-bottom: 3.3em;
  }
  .secNomal .txt {
    font-size: 1.4rem;
    line-height: 2.3;
    text-align: left;
  }
}

.sideMenuWrap .sideMenu {
  margin: -2rem 0 8rem;
}
.sideMenuWrap .sideMenu ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
}
.sideMenuWrap .sideMenu ul li {
  min-height: 4.1rem;
}
.sideMenuWrap .sideMenu ul a {
  border: rgba(var(--color-txt2), 0.7) 1px solid;
  height: 100%;
  padding: 0.5em 2.3rem 0.5em 1.4rem;
  position: relative;
  font-size: 1.1rem;
  line-height: 1.5;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.sideMenuWrap .sideMenu ul a .small {
  font-size: 0.9rem;
  display: block;
  margin-bottom: 0.3em;
}
.sideMenuWrap .sideMenu ul a:after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.5rem;
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/icon/arrow-select.svg) no-repeat center;
  background-size: contain;
}
.sideMenuWrap .mainArea {
  padding: 0 1rem;
}
@media screen and (min-width: 768px) {
  .sideMenuWrap {
    display: flex;
    justify-content: space-between;
    gap: 0 6%;
    margin-top: -4rem;
  }
  .sideMenuWrap .sideMenu {
    border-right: 1px solid rgba(var(--color-brown2), 0.25);
    padding-right: 8px;
    margin: 0 0 0 -5%;
    width: 19%;
    min-width: 22rem;
  }
  .sideMenuWrap .sideMenu ul {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    top: 13rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
  .sideMenuWrap .sideMenu ul li {
    min-height: 5rem;
  }
  .sideMenuWrap .sideMenu ul a {
    border: none;
    padding: 1em 4.2rem 1em 2.1rem;
    font-size: 1.3rem;
    font-weight: 400;
  }
  .sideMenuWrap .sideMenu ul a .small {
    font-size: 1.2rem;
    margin-bottom: 0.2em;
  }
  .sideMenuWrap .sideMenu ul a:after {
    right: 1.9rem;
    transform: translateY(-50%) rotate(-90deg);
  }
  .sideMenuWrap .sideMenu ul a.active {
    background: rgba(var(--bg1), 0.12);
  }
  .sideMenuWrap .mainArea {
    flex: 1;
    padding: 0;
  }
}
@media screen and (min-width: 1220px) {
  .sideMenuWrap {
    gap: 0 7.4%;
  }
  .sideMenuWrap .sideMenu {
    margin: 0;
  }
}

.s-headerModalBox {
  background: rgba(42, 42, 42, 0.7);
}

.s-headerModalBox__outer {
  border-radius: 0;
}

.s-headerRefinedSearchBox-item__checkList {
  border-color: #B4B4B4;
  border-radius: 0;
}

.s-headerModalBoxFooterBtn {
  padding: 0.5rem 1.5rem 2rem;
}

.fGuide {
  padding: 4rem 2rem 3.7rem;
  margin-top: 7rem;
}
.fGuide .title {
  color: #726E65;
  font-size: 2.5rem;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 0.8em;
}
.fGuide ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem 0.8rem;
}
.fGuide li a {
  background: #F9F9F8;
  border: #C2C2C2 1px solid;
  display: flex;
  align-items: center;
  position: relative;
  text-decoration: none;
  height: 5rem;
  padding: 0 2rem 0 1.1rem;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.fGuide li a img {
  width: 3.2rem;
  margin-right: 0.8rem;
}
.fGuide li a p {
  opacity: 0.8;
}
.fGuide li a i {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: rgba(var(--color-brown2), 0.8);
  position: absolute;
  right: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
}
.fGuide li a i:before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  left: 54%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/common/icon/arrow.svg) no-repeat center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .fGuide {
    padding: 9rem 8rem;
    margin: 9rem auto 0;
    max-width: 108rem;
  }
  .fGuide .title {
    font-size: 3.1rem;
    margin-bottom: 1.5em;
  }
  .fGuide ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.4rem;
  }
  .fGuide li a {
    height: 6.9rem;
    padding: 0 1.6rem;
    font-size: 1.5rem;
  }
  .fGuide li a img {
    width: 4.6rem;
    margin-right: 1.6rem;
  }
  .fGuide li a i {
    width: 2.2rem;
    height: 2.2rem;
    right: 1.7rem;
  }
  .fGuide li a i:before {
    width: 0.9rem;
    height: 0.9rem;
  }
}

.fNav {
  position: relative;
  padding: 4.4rem 10rem 5.2rem;
  max-width: 140rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .fNav {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
  }
}
.fNav:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: rgba(217, 215, 210, 0.4);
}
.fNav dl {
  opacity: 0.8;
}
.fNav dt {
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 0 1em;
}
.fNav dd {
  font-size: 1.3rem;
  margin: 0 0 0.5em 0.8em;
}

#goTop {
  display: none;
}
@media screen and (min-width: 768px) {
  #goTop {
    display: block;
    width: 100%;
    height: 0;
    position: relative;
  }
  #goTop p {
    width: 5.7rem;
    height: 5.7rem;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    right: 2.5rem;
    bottom: 3rem;
    z-index: 900;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
  }
  #goTop p:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
    transform-origin: center;
    background: var(--color-primary);
  }
  #goTop p i {
    display: block;
    height: 1.3rem;
    width: 0.8rem;
    background: #fff;
    transform: rotate(-90deg);
    -webkit-mask-image: url(../img/common/icon/arrow.svg);
            mask-image: url(../img/common/icon/arrow.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    transition: transform ease-out 0.16s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  #goTop p:hover {
    filter: brightness(110%);
  }
  #goTop p:hover i {
    transform: translateY(-0.4rem) rotate(-90deg);
  }
}
@media screen and (min-width: 768px) {
  #goTop.active p {
    pointer-events: all;
    opacity: 1;
  }
  #goTop.fixed p {
    position: absolute;
    bottom: auto;
    top: -2.5rem;
  }
}

footer.s-footer {
  width: 100%;
  overflow: hidden;
  position: relative;
  background: #757F7D;
  color: #fff;
  padding: 8rem 3rem 4.8rem;
}
footer.s-footer .logo {
  width: 16.6rem;
  margin: 0 auto 5.2rem;
  background: #fff;
  -webkit-mask-image: url(../img/common/logo.svg);
          mask-image: url(../img/common/logo.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
footer.s-footer .logo img {
  opacity: 0;
}
footer.s-footer .sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 2.5rem;
  margin: 0 0 7.6rem;
}
footer.s-footer .sns i {
  width: 2.7rem;
  height: 2.7rem;
  display: block;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #fff;
}
footer.s-footer .sns .instagram {
  -webkit-mask-image: url(../img/common/icon/i-instagram.svg);
          mask-image: url(../img/common/icon/i-instagram.svg);
}
footer.s-footer .sns .tiktok {
  -webkit-mask-image: url(../img/common/icon/i-tiktok.svg);
          mask-image: url(../img/common/icon/i-tiktok.svg);
}
footer.s-footer .sns .line {
  -webkit-mask-image: url(../img/common/icon/i-line.svg);
          mask-image: url(../img/common/icon/i-line.svg);
}
footer.s-footer .copyRight {
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  text-align: center;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  footer.s-footer {
    padding: 3rem 6rem 2.2rem;
    position: relative;
    display: flex;
    align-items: center;
  }
  footer.s-footer .logo {
    width: 15.8rem;
    margin: 0 6.6rem 0 0;
  }
  footer.s-footer .sns {
    gap: 0 2.6rem;
    margin: 0;
  }
  footer.s-footer .sns i {
    width: 2.3rem;
    height: 2.3rem;
  }
  footer.s-footer .copyRight {
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    text-align: right;
    position: absolute;
    right: 4rem;
    bottom: 2rem;
  }
}

.p-page-home {
  padding-bottom: 0;
}
.p-page-home #mainSlide {
  position: relative;
  padding-bottom: 2rem;
  margin-bottom: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.4s;
}
.p-page-home #mainSlide.is-show {
  opacity: 1;
}
.p-page-home #mainSlide .swiper-slide {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.p-page-home #mainSlide .swiper-slide img {
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform;
  transform: scale3d(1.1, 1.1, 1);
  transition: transform 4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (any-hover: hover) {
  .p-page-home #mainSlide .swiper-slide a:hover {
    opacity: 1;
  }
}
.p-page-home #mainSlide .swiper-slide.is-zoom img {
  transform: scale(1);
}
.p-page-home #mainSlide .swiper-pagination {
  bottom: 0;
  padding: 0 1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5rem;
}
.p-page-home #mainSlide .swiper-pagination .swiper-pagination-bullet {
  width: 3.4rem;
  height: 0.2rem;
  border-radius: 0;
  background: rgba(var(--bg1), 0.4);
  transition: background 0.2s;
  opacity: 1;
  margin: 0;
  position: relative;
  overflow: hidden;
}
@media (any-hover: hover) {
  .p-page-home #mainSlide .swiper-pagination .swiper-pagination-bullet:hover {
    background-color: rgba(var(--bg1), 0.8);
  }
}
.p-page-home #mainSlide .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-primary);
  transform: scaleX(var(--progress, 0.02));
  transform-origin: left;
}
.p-page-home #mainSlide .swiper-button {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-page-home #mainSlide {
    padding-bottom: 3.2rem;
    margin-bottom: 5rem;
  }
  .p-page-home #mainSlide .swiper-slide {
    aspect-ratio: 3000/1285;
  }
  .p-page-home #mainSlide .swiper-slide img {
    aspect-ratio: 3000/1285;
  }
  .p-page-home #mainSlide .swiper-pagination {
    padding: 0 3.5rem;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    gap: 0 0.8rem;
  }
  .p-page-home #mainSlide .swiper-pagination .swiper-pagination-bullet {
    width: 6rem;
    height: 0.3rem;
  }
  .p-page-home #mainSlide .swiper-slide img {
    width: 100%;
  }
}
.p-page-home .p-homeSection {
  position: relative;
}
.p-page-home .p-homeSection h2 {
  text-align: center;
  font-size: 2.5rem;
  line-height: 1.1;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .p-page-home .p-homeSection {
    max-width: 148.8rem;
    margin: 0 auto;
    padding: 17rem 8rem 0;
  }
  .p-page-home .p-homeSection h2 {
    font-size: 3.3rem;
    margin-bottom: 5rem;
  }
}
.p-page-home .cateArea {
  padding: 6rem 1.5rem 0;
  position: relative;
}
.p-page-home .cateArea h2 {
  position: absolute;
  left: 55vw;
  top: 7rem;
  font-size: 2.5rem;
}
.p-page-home .cateArea ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8rem 1rem;
}
.p-page-home .cateArea ul li a {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  padding: 0.7rem 1rem;
}
.p-page-home .cateArea ul li img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-page-home .cateArea ul li .name .en {
  font-size: 1.8rem;
  line-height: 0.8;
}
.p-page-home .cateArea ul li .name .jp {
  font-size: 0.8rem;
  line-height: 1.7;
  font-weight: 500;
}
.p-page-home .cateArea ul li:nth-child(1) {
  grid-column: 1;
}
.p-page-home .cateArea ul li:nth-child(2) {
  grid-column: 1;
}
.p-page-home .cateArea ul li:nth-child(3) {
  grid-column: 2;
}
@media screen and (min-width: 768px) {
  .p-page-home .cateArea {
    padding: 7rem 3rem 0;
  }
  .p-page-home .cateArea h2 {
    left: 63.7vw;
    top: 10rem;
    font-size: 3.3rem;
  }
  .p-page-home .cateArea ul {
    width: 89.61%;
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
  .p-page-home .cateArea ul li a {
    padding: 1.25vw 1.875vw;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .p-page-home .cateArea ul li a:hover {
    opacity: 1;
  }
  .p-page-home .cateArea ul li a:hover img {
    transform: scale(1.06);
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .cateArea ul li img {
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .p-page-home .cateArea ul li .name .en {
    font-size: clamp(2rem, 1.68vw, 3rem);
    line-height: 1;
  }
  .p-page-home .cateArea ul li .name .jp {
    font-size: clamp(1rem, 0.6875vw, 1.3rem);
    line-height: 2;
    font-weight: 400;
  }
  .p-page-home .cateArea ul li:nth-child(1) {
    grid-column: 1;
    transform: translateX(-4.6vw);
  }
  .p-page-home .cateArea ul li:nth-child(2) {
    grid-column: 2;
    transform: translateX(-4.6vw);
  }
  .p-page-home .cateArea ul li:nth-child(3) {
    grid-column: 1;
  }
  .p-page-home .cateArea ul li:nth-child(6) {
    grid-column: 2;
    transform: translateX(4.6vw);
  }
  .p-page-home .cateArea ul li:nth-child(7) {
    grid-column: 3;
    transform: translateX(4.6vw);
  }
}
.p-page-home .newsArea {
  margin: 6rem 0 6.6rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.p-page-home .newsArea h2 {
  margin-bottom: 1.8rem;
}
@media screen and (min-width: 768px) {
  .p-page-home .newsArea {
    max-width: 1060px;
    margin: 10vw auto 5vw;
    padding: 0 8rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .p-page-home .newsArea .newsListWrap {
    margin-left: 10rem;
    max-width: 830px;
    flex: 1;
  }
  .p-page-home .newsArea h2 {
    margin: 0.35em 0 0;
    white-space: nowrap;
  }
}
.p-page-home .newsArea #newsListBox {
  margin-bottom: 3rem;
}
.p-page-home .newsArea #newsListBox li {
  position: relative;
  padding: 1.9rem 0.9em 1.6rem;
  border-bottom: rgba(var(--bg1), 0.6) 1px solid;
  transition: background 0.22s;
}
@media (any-hover: hover) {
  .p-page-home .newsArea #newsListBox li:hover {
    background: rgba(var(--bg1), 0.08);
  }
}
.p-page-home .newsArea #newsListBox li .info {
  display: flex;
  align-items: center;
  gap: 0 1.1rem;
  margin-bottom: 0.8rem;
}
.p-page-home .newsArea #newsListBox li .info p {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1;
  color: rgba(var(--color-txt2), 0.6);
  border: var(--color-gray2) 1px solid;
  width: 6.1rem;
  height: 1.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-page-home .newsArea #newsListBox li .info p.new {
  border-color: rgba(var(--color-primary2), 0.5);
  color: rgba(var(--color-primary2), 0.8);
}
.p-page-home .newsArea #newsListBox li .info p.media {
  border-color: rgba(var(--color-beige2), 0.7);
  color: rgba(var(--color-beige2), 1);
}
.p-page-home .newsArea #newsListBox li time {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  color: rgba(var(--color-txt2), 0.8);
  width: 6em;
}
.p-page-home .newsArea #newsListBox li .tokou > a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 12;
}
.p-page-home .newsArea #newsListBox li .title {
  text-align: justify;
  font-size: 1.2rem;
  line-height: 1.7;
}
.p-page-home .newsArea #newsListBox li .kijiWrap {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-page-home .newsArea #newsListBox {
    margin-bottom: 4.2rem;
  }
  .p-page-home .newsArea #newsListBox li {
    padding: 1.6rem 0.9rem;
    display: flex;
    align-items: flex-start;
    gap: 0 3.3rem;
  }
  .p-page-home .newsArea #newsListBox li .info {
    gap: 0 3.8rem;
    margin-bottom: 0;
  }
  .p-page-home .newsArea #newsListBox li .info p {
    font-size: 1.1rem;
    width: 7.8em;
    height: 3rem;
  }
  .p-page-home .newsArea #newsListBox li time {
    font-size: 1.3rem;
    white-space: nowrap;
  }
  .p-page-home .newsArea #newsListBox li .tokou {
    padding-top: 0.2em;
  }
  .p-page-home .newsArea #newsListBox li .title {
    text-align: left;
    font-size: 1.4rem;
    flex: 1;
  }
}
.p-page-home .rankBox .tabWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 4rem;
  padding: 1rem 2rem 4.5rem 0;
}
.p-page-home .rankBox .tabWrap button {
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  padding: 0 0 0.5em;
  border: none;
  position: relative;
  background: none;
  overflow: hidden;
}
.p-page-home .rankBox .tabWrap button:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--color-txt);
  opacity: 0.8;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.p-page-home .rankBox .tabWrap button:not(:hover):before {
  transform: scaleX(0);
  transform-origin: right;
}
.p-page-home .rankBox .tabWrap button.active:before {
  transform: scaleX(1);
}
@media (any-hover: hover) {
  .p-page-home .rankBox .tabWrap button:hover {
    opacity: 1;
  }
  .p-page-home .rankBox .tabWrap button:hover:before {
    transform: scaleX(1);
    transform-origin: left;
  }
}
@media screen and (min-width: 768px) {
  .p-page-home .rankBox .tabWrap {
    gap: 0 7rem;
    padding: 1rem 8.5rem 6.5rem 0;
  }
  .p-page-home .rankBox .tabWrap button {
    font-size: 1.4rem;
    padding: 0 0 0.56em;
  }
}
.p-page-home .rankBox .content {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateY(1.2rem);
}
.p-page-home .rankBox .content.active {
  opacity: 1;
  pointer-events: all;
  position: relative;
  transform: translateY(0);
  transition: opacity 0.5s ease-out 0.1s, transform 0.5s ease-out 0.1s;
}
@media screen and (min-width: 768px) {
  .p-page-home .pageLink {
    padding-bottom: 3vw;
  }
}
.p-page-home .pageLink .box1 {
  padding: 10rem 1rem 0;
}
.p-page-home .pageLink .box1 h2 {
  margin-bottom: 2rem;
}
.p-page-home .pageLink .box1 h2 .en {
  font-size: 2.6rem;
  line-height: 1;
  font-weight: 400;
  color: var(--color-beige);
}
.p-page-home .pageLink .box1 h2 .jp {
  font-size: 0.9rem;
  margin-left: 2em;
}
.p-page-home .pageLink .box1 .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
.p-page-home .pageLink .box1 .more {
  margin-top: 2rem;
}
.p-page-home .pageLink .box1 img {
  display: block;
  margin: 2rem auto 0;
  width: 90%;
}
.p-page-home .pageLink .box1 + .box1 {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-home .pageLink .box1 {
    padding: 11.25vw 0 0;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 6.6vw;
  }
  .p-page-home .pageLink .box1 .txtBox {
    width: 39vw;
    max-width: 480px;
  }
  .p-page-home .pageLink .box1 h2 {
    margin-bottom: 4.6rem;
  }
  .p-page-home .pageLink .box1 h2 .en {
    font-size: 3.9rem;
  }
  .p-page-home .pageLink .box1 h2 .jp {
    font-size: 1.2rem;
    margin-left: 2.2em;
  }
  .p-page-home .pageLink .box1 .txt {
    font-size: 1.4rem;
    line-height: 2.3;
  }
  .p-page-home .pageLink .box1 .more {
    margin-top: 4.8rem;
  }
  .p-page-home .pageLink .box1 img {
    width: 48.75vw;
    margin: 0;
  }
  .p-page-home .pageLink .box1 + .box1 {
    flex-direction: row-reverse;
    margin-top: 1rem;
  }
}
@media screen and (min-width: 1330px) {
  .p-page-home .pageLink .box1 {
    gap: 0 8.125vw;
  }
}
.p-page-home .pageLink .box2 {
  margin-top: 10rem;
  background: rgba(var(--color-beige2), 0.1);
}
.p-page-home .pageLink .box2 .txtBox {
  padding: 3rem 2rem 2rem;
}
.p-page-home .pageLink .box2 .future {
  margin-bottom: 0.4rem;
}
.p-page-home .pageLink .box2 .future span {
  background: var(--color-beige);
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: 0.2em;
  line-height: 1.1;
  font-weight: 500;
  display: inline-block;
  padding: 0.3em 0.4em 0.3em 0.6em;
}
.p-page-home .pageLink .box2 h2 {
  font-size: 2.1rem;
  font-weight: 400;
  margin-bottom: 1.3em;
  color: var(--color-brown);
}
.p-page-home .pageLink .box2 .txt {
  font-size: 1.2rem;
  line-height: 1.9;
  text-align: justify;
}
.p-page-home .pageLink .box2 .more {
  margin-top: 1rem;
}
.p-page-home .pageLink .box2 + .box2 {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-page-home .pageLink .box2 {
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    max-width: 1380px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14vw;
  }
  .p-page-home .pageLink .box2 .img {
    display: block;
    width: 50%;
  }
  .p-page-home .pageLink .box2 .txtBox {
    padding: 3rem 7.7%;
    flex: 1;
    margin: 0 auto;
  }
  .p-page-home .pageLink .box2 .future {
    margin-bottom: 1.7rem;
  }
  .p-page-home .pageLink .box2 .future span {
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    line-height: 1.1;
    padding: 0.4em 0.5em 0.4em 0.7em;
  }
  .p-page-home .pageLink .box2 h2 {
    font-size: 2.8rem;
    margin-bottom: 1.6em;
  }
  .p-page-home .pageLink .box2 .txt {
    font-size: 1.4rem;
    line-height: 2.3;
  }
  .p-page-home .pageLink .box2 .more {
    margin-top: 3rem;
    margin-bottom: -1em;
  }
  .p-page-home .pageLink .box2 + .box2 {
    margin-top: 5.3vw;
  }
}

.m-orderProductSect-item__picture::before,
.m-subscNextOrderProduct__picture::before,
.c-productUser-head__picture::before {
  padding-top: 100%;
}

.heroImg.cateHero {
  min-height: 47rem;
  padding: 25rem 2.8rem 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
}
.heroImg.cateHero h1 {
  font-size: 2.2rem;
  letter-spacing: 0.08em;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1em;
}
.heroImg.cateHero .txt {
  font-size: 1.2rem;
  line-height: 2;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .heroImg.cateHero {
    height: 31.25vw;
    min-height: 0;
    max-height: none;
    padding: 5rem 7rem 5rem 9rem;
    padding-left: 49.8vw;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .heroImg.cateHero h1 {
    font-size: clamp(3.2rem, 2vw, 4.8rem);
    letter-spacing: 0.08em;
    font-weight: 600;
    margin-bottom: 1.6em;
  }
  .heroImg.cateHero h1 span.en {
    font-size: clamp(1.9rem, 1.1vw, 2.8rem);
    letter-spacing: 0.04em;
    font-weight: 400;
    display: block;
    margin-top: 1em;
  }
  .heroImg.cateHero .txt {
    font-size: clamp(1.4rem, 0.7vw, 1.7rem);
    line-height: 2.2;
    text-align: left;
  }
}

.heroImg.cateHero2 {
  min-height: 32rem;
  padding: 5rem 2.8rem 4rem;
}
.heroImg.cateHero2.spTop {
  padding-top: 4rem;
}
.heroImg.cateHero2.necklaces {
  padding-top: 21.5rem;
}
@media screen and (min-width: 768px) {
  .heroImg.cateHero2 {
    height: 26.875vw;
    min-height: 0;
    max-height: none;
    padding: 5.8rem 9rem 5rem;
    padding-left: 50vw;
    justify-content: center;
  }
  .heroImg.cateHero2.spTop {
    padding-top: 5rem;
  }
  .heroImg.cateHero2.necklaces {
    padding: 5.8rem 9rem 5rem;
    padding-left: 46vw;
  }
}

.itemList {
  margin: 0 -0.1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.6rem 1.4rem;
}
.itemList li {
  width: 100%;
  position: relative;
  padding-bottom: 2.6rem;
}
@media screen and (min-width: 768px) {
  .itemList {
    margin: 0;
    grid-template-columns: repeat(5, 1fr);
    gap: 6rem 1.4%;
  }
  .itemList li {
    padding-bottom: 3.2rem;
  }
}
.itemList .imgBox {
  border: rgba(201, 201, 201, 0.4) 1px solid;
  background: #fff;
  aspect-ratio: 4/5;
  position: relative;
  padding: 1.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.itemList .imgBox .soldout {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  width: calc(100% - 1rem);
  height: calc(100% - 1rem);
  background: rgba(158, 155, 148, 0.25);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  line-height: 1;
  color: #fff;
}
.itemList .imgBox .c-product-favorite__link {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  cursor: pointer;
  width: 1.6rem;
  height: 1.6rem;
  border: none;
  background: var(--color-gray2);
  transition: background 0.2s;
  -webkit-mask-image: url(../img/common/icon/i-heart.svg);
          mask-image: url(../img/common/icon/i-heart.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.itemList .imgBox .c-product-favorite__link.active {
  -webkit-mask-image: url(../img/common/icon/i-heart2.svg);
          mask-image: url(../img/common/icon/i-heart2.svg);
  background: #E99D96;
}
@media (any-hover: hover) {
  .itemList .imgBox .c-product-favorite__link:hover {
    background: #E99D96;
  }
}
@media screen and (min-width: 768px) {
  .itemList .imgBox {
    padding: 7.6%;
  }
  .itemList .imgBox .soldout {
    left: 0.8rem;
    top: 0.8rem;
    width: calc(100% - 1.6rem);
    height: calc(100% - 1.6rem);
    font-size: 2.2rem;
  }
  .itemList .imgBox .c-product-favorite__link {
    right: 1.1rem;
    bottom: 1.1rem;
    width: 2.2rem;
    height: 2.2rem;
  }
}
.itemList .iconBox {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0 1rem;
  position: absolute;
  left: 0;
  top: 0;
}
.itemList .iconBox .rank {
  margin: -1px auto 0 -1px;
  padding: 0.6rem 0 0 0.06em;
  background: #9E9B94;
  color: #fff;
  width: 4rem;
  height: 2.3rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1;
}
.itemList .iconBox .rank span {
  font-size: 1.1rem;
  font-weight: bold;
  margin-right: 0.1em;
}
.itemList .iconBox ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.2rem;
  margin-left: auto;
  margin: 0.5rem 0.4rem 0 0;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
}
.itemList .iconBox ul li {
  height: 1.3rem;
  width: auto;
  padding: 0 0.6em;
  min-width: 3.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #538380;
}
.itemList .iconBox ul li.sale {
  background: var(--color-beige);
}
@media screen and (min-width: 768px) {
  .itemList .iconBox .rank {
    padding: 0.7rem 0 0.4rem 0.06em;
    width: 5.7rem;
    height: auto;
    font-size: 2.2rem;
  }
  .itemList .iconBox .rank span {
    font-size: 1.4rem;
  }
  .itemList .iconBox ul {
    margin: 0.8rem 0.8rem 0 0;
    font-size: 1.2rem;
    font-weight: 400;
  }
  .itemList .iconBox ul li {
    height: 1.9rem;
    min-width: 4.8rem;
    padding: 0 0.6em 0.06em;
  }
}
.itemList .name {
  font-size: 1.1rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin: 0.8em 0 0;
  padding: 0 1px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.itemList .price {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 1px;
  display: flex;
  align-items: baseline;
  gap: 0 0.9rem;
  font-size: 1.2rem;
  opacity: 0.7;
  letter-spacing: 0.01em;
}
.itemList .price .line {
  font-size: 1rem;
  text-decoration: line-through;
}
@media screen and (min-width: 768px) {
  .itemList .name {
    font-size: 1.4rem;
    margin: 1.4rem 0 0;
  }
  .itemList .price {
    gap: 0 1.2rem;
    font-size: 1.5rem;
  }
  .itemList .price .line {
    font-size: 1.3rem;
  }
}

.rankBox {
  position: relative;
  padding: 8rem 0 6.7rem;
}
.rankBox:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: #F7F7F6;
}
.rankBox h2 {
  text-align: center;
  font-size: 2.5rem;
  line-height: 1.3;
  color: var(--color-beige);
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .rankBox .itemList {
    width: calc(100% + 3.2rem);
    margin: 0 -1.6rem;
    display: flex;
    flex-wrap: nowrap;
    gap: 0 1.2rem;
    overflow-x: auto;
  }
  .rankBox .itemList:before {
    content: "";
    display: block;
    padding-left: 0.3rem;
  }
  .rankBox .itemList:after {
    content: "";
    display: block;
    padding-left: 0.3rem;
  }
  .rankBox .itemList li {
    flex-shrink: 0;
    width: 16.2rem;
  }
}
@media screen and (min-width: 768px) {
  .rankBox {
    padding: 11rem 0 10rem;
  }
  .rankBox h2 {
    font-size: 3.3rem;
    margin-bottom: 5.6rem;
  }
}

.nowArea {
  margin: 0 0 2.5rem;
  padding: 0 0.6rem;
  display: flex;
  justify-content: center;
  gap: 0 1.9rem;
  text-align: center;
}
.nowArea:empty {
  margin: 0;
  padding: 0;
}
.nowArea li, .nowArea a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 6.3rem;
}
.nowArea li {
  flex: 1;
  position: relative;
  border-bottom: #F0EFED 2px solid;
}
.nowArea li.now {
  border-color: var(--color-beige);
}
.nowArea li.fixed {
  border: #D9D7D2 1px solid;
  flex-direction: column;
}
.nowArea li.fixed a {
  height: auto;
  width: 100%;
}
.nowArea li.fixed .name {
  font-size: 0.8rem;
}
.nowArea li.fixed .price {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.nowArea li.fixed .tax {
  font-size: 0.7rem;
}
.nowArea li.fixed .btnP {
  width: calc(100% - 1.4rem);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5rem;
}
.nowArea li.fixed .btn {
  width: calc(50% - 0.25rem);
  max-width: 5rem;
  height: 1.55rem;
  background: var(--color-primary);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 400;
  margin-top: 0.5em;
}
.nowArea li.fixed .btn2 {
  border: rgba(var(--color-primary2), 0.5) 1px solid;
  background: none;
  color: var(--color-primary);
  font-weight: 600;
}
.nowArea li + li:before {
  content: "";
  display: block;
  width: 0.7rem;
  height: 1.9rem;
  position: absolute;
  left: -0.9rem;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/common/icon/arrow2.svg) no-repeat center;
  background-size: contain;
}
.nowArea .name {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .nowArea {
    max-width: 1154px;
    gap: 0 5.2rem;
    margin: 0 auto 6.5rem;
    padding: 0;
  }
  .nowArea li, .nowArea a {
    height: 11rem;
    flex-direction: column;
  }
  .nowArea li {
    max-width: 364px;
  }
  .nowArea li.fixed {
    flex-direction: row;
    padding: 0 2rem;
  }
  .nowArea li.fixed a {
    flex-direction: row;
    text-align: left;
    flex: 1;
    height: 100%;
  }
  .nowArea li.fixed img {
    width: 5.6rem;
    margin-right: 1.5rem;
  }
  .nowArea li.fixed .price {
    font-size: 1.7rem;
  }
  .nowArea li.fixed .tax {
    font-size: 1.1rem;
  }
  .nowArea li.fixed .btnP {
    flex-direction: column;
    width: auto;
    margin: 0;
    gap: 0.8rem;
    margin: 0 0 0 2.4rem;
  }
  .nowArea li.fixed .btn {
    width: 6.6rem;
    height: 2.1rem;
    flex: 0 0 auto;
    max-width: none;
    font-size: 1.2rem;
    margin: 0;
  }
  .nowArea li + li:before {
    width: 0.9rem;
    height: 2.4rem;
    left: -2.6rem;
  }
  .nowArea .name {
    font-size: 1.6rem;
  }
  .nowArea .txt {
    opacity: 0.7;
    font-size: 1.2rem;
    margin-top: 0.8em;
  }
  .nowArea .num {
    opacity: 0.8;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
    margin-top: 0.4em;
  }
}

.filterBtn {
  border: none;
  padding: 0;
  margin: 3rem auto 1rem;
  width: 24rem;
  height: 3.8rem;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.8rem;
}
.filterBtn i {
  background: #fff;
  width: 2rem;
  height: 2rem;
  -webkit-mask-image: url(../img/common/icon/i-filter.svg);
          mask-image: url(../img/common/icon/i-filter.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.filterChoiceList {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0 1.1rem;
  margin: 2rem 0 0;
}
.filterChoiceList.hidden {
  display: none;
}
.filterChoiceList .ttl {
  border: rgba(var(--color-txt2), 0.6) 1px solid;
  width: 6.4rem;
  height: 2.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
}
.filterChoiceList ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5em;
  font-size: 1.1rem;
  padding: 0.1em 1em 0 0;
}
.filterChoiceList li {
  white-space: nowrap;
}
.filterChoiceList li:after {
  content: "・";
  display: inline-block;
  margin-left: 0.3em;
  margin-right: -1.2em;
}
.filterChoiceList li:last-child:after {
  content: none;
}
@media screen and (min-width: 768px) {
  .filterChoiceList {
    justify-content: flex-start;
    margin: 2rem 0 0;
  }
  .filterChoiceList .ttl {
    width: 9.1rem;
    height: 2.7rem;
    font-size: 1.3rem;
  }
  .filterChoiceList ul {
    gap: 0 1.6em;
    font-size: 1.4rem;
    padding-top: 0.1em;
  }
}

#filterWrapBox {
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000000;
  width: 100vw;
  height: 100dvh;
  padding: 2rem 0 2rem 2rem;
}
#filterWrapBox:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-brown);
  opacity: 0.2;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#filterWrapBox.open {
  opacity: 1;
  pointer-events: all;
}
#filterWrapBox.open .filterWrap {
  transform: translateX(0);
  opacity: 1;
}
@media screen and (min-width: 768px) {
  #filterWrapBox {
    opacity: 1;
    pointer-events: all;
    padding: 0;
    position: relative;
    left: auto;
    top: auto;
    z-index: auto;
    width: 100%;
    height: auto;
  }
  #filterWrapBox:before {
    content: none;
  }
}
#filterWrapBox .filterWrap {
  background: #F5F5F3;
  width: 100%;
  height: 100%;
  position: relative;
  padding-top: 5.1rem;
  opacity: 0;
  transform: translateX(50%);
  transition: all 0.3s 0.2s;
}
#filterWrapBox .filterWrap .top {
  height: 5.1rem;
  width: 100%;
  background: #F5F5F3;
  display: flex;
  align-items: center;
  padding: 0 1.5rem 0 1.3rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
#filterWrapBox .filterWrap .top h2 {
  font-size: 1.4rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
}
#filterWrapBox .filterWrap .top h2 img {
  width: 2.5rem;
}
#filterWrapBox .filterWrap .top button {
  border: none;
  background: none;
  padding: 0;
  font-size: 1.1rem;
  transition: opacity 0.2s;
}
#filterWrapBox .filterWrap .top button span {
  display: inline-block;
  margin-left: 0.5em;
}
@media (any-hover: hover) {
  #filterWrapBox .filterWrap .top button:hover {
    opacity: 0.7;
  }
}
#filterWrapBox .filterWrap .top .reset {
  margin-left: 1.5em;
}
#filterWrapBox .filterWrap .top .close {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  #filterWrapBox .filterWrap {
    opacity: 1;
    transform: none;
    max-width: 1154px;
    margin: 0 auto;
    padding: 0;
    max-height: 16rem;
    overflow: hidden;
    position: relative;
    transition: max-height 0.3s;
  }
  #filterWrapBox .filterWrap:after {
    content: "";
    display: block;
    background: #fff;
    z-index: 10;
    transition: opacity 0.3s;
    width: 200%;
    height: 10rem;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 66%);
    filter: blur(2rem);
  }
  #filterWrapBox .filterWrap .top {
    height: 7.2rem;
    padding: 0 3.2rem 0.4rem 2.1rem;
    position: relative;
    left: auto;
    top: auto;
  }
  #filterWrapBox .filterWrap .top h2 {
    font-size: 1.7rem;
    line-height: 1.1;
    gap: 0 1.3rem;
    padding-bottom: 0.1rem;
  }
  #filterWrapBox .filterWrap .top h2 img {
    width: 3.2rem;
  }
  #filterWrapBox .filterWrap .top button {
    font-size: 1.4rem;
  }
  #filterWrapBox .filterWrap .top button .pc {
    display: inline !important;
    margin: 0;
  }
  #filterWrapBox .filterWrap .top .reset {
    margin-left: 3em;
  }
  #filterWrapBox .filterWrap .top .close {
    display: none;
  }
  #filterWrapBox .filterWrap.open {
    max-height: 800px;
    transition: max-height 0.5s;
  }
  #filterWrapBox .filterWrap.open:after {
    opacity: 0;
  }
  #filterWrapBox .filterWrap.open .top .close {
    display: block;
  }
}
#filterWrapBox .filterBox {
  height: 100%;
  overflow-y: auto;
  padding: 0 1.5rem 3rem;
}
#filterWrapBox .filterBox dl {
  background: #fff;
  position: relative;
  padding: 4.6rem 1.3rem 1.4rem;
}
#filterWrapBox .filterBox dl + dl {
  margin-top: 0.6rem;
}
#filterWrapBox .filterBox dl dt {
  position: absolute;
  left: 1.3rem;
  top: 1.3rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}
#filterWrapBox .filterBox dl dt button {
  margin: -0.1rem 0.8rem;
}
#filterWrapBox .filterBox dl.shape dd {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem 1.1rem;
}
#filterWrapBox .filterBox dl.shape dd input {
  display: none;
}
#filterWrapBox .filterBox dl.shape dd label {
  border: 1px solid #fff;
  font-size: 0.9rem;
  text-align: center;
  padding-bottom: 0.5em;
}
#filterWrapBox .filterBox dl.shape dd label:has(input:checked) {
  border-color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  #filterWrapBox .filterBox {
    height: auto;
    padding: 0 3rem 2.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 0.6rem;
  }
  #filterWrapBox .filterBox dl {
    padding: 1.9rem 2.5rem;
    position: static;
    display: flex;
    align-items: center;
  }
  #filterWrapBox .filterBox dl.long {
    grid-column: span 2;
  }
  #filterWrapBox .filterBox dl + dl {
    margin-top: 0;
  }
  #filterWrapBox .filterBox dl dt {
    width: 12rem;
    position: relative;
    left: auto;
    top: auto;
    font-size: 1.3rem;
  }
  #filterWrapBox .filterBox dl dt button {
    margin: 0 0.8rem;
    vertical-align: -0.1rem;
  }
  #filterWrapBox .filterBox dl.shape {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
  #filterWrapBox .filterBox dl.shape dd {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 1rem 1.7rem;
    max-width: 856px;
  }
  #filterWrapBox .filterBox dl.shape dd label {
    font-size: 1.3rem;
    padding-bottom: 0.4rem;
  }
  #filterWrapBox .filterBox dl dd {
    flex: 1;
  }
}
#filterWrapBox .filter-inputs {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#filterWrapBox .filter-inputs div {
  display: flex;
  align-items: center;
  gap: 0 0.6rem;
  font-size: 1.4rem;
  font-weight: 600;
}
#filterWrapBox .filter-inputs input {
  height: 3.3rem;
  padding: 0 1.2rem;
  max-width: 11rem;
  font-weight: 400;
}
#filterWrapBox .carat-range .filter-inputs input {
  width: 4em;
}
#filterWrapBox .range-bg {
  --low: 0%;
  --high: 100%;
  position: relative;
  width: 100%;
  height: 1rem;
  margin: 0 auto 1.6rem;
  background: linear-gradient(to right, rgba(var(--bg1), 0.25) 0, rgba(var(--bg1), 0.25) var(--low), var(--color-primary) var(--low), var(--color-primary) var(--high), rgba(var(--bg1), 0.25) var(--high), rgba(var(--bg1), 0.25) 100%);
}
#filterWrapBox .range-bg.inTxt {
  height: 2.2rem;
  border-radius: 2.2rem;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 768px) {
  #filterWrapBox .range-bg.inTxt {
    margin-bottom: 1.2rem;
  }
}
#filterWrapBox .range-bg.inTxt .range-slide {
  top: 0;
}
#filterWrapBox .range-bg.inTxt .rangeTxt {
  display: flex;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 500;
  height: 2.2rem;
  border-radius: 3rem;
  overflow: hidden;
}
#filterWrapBox .range-bg.inTxt .rangeTxt sub {
  line-height: 1;
  padding-top: 0.2em;
}
#filterWrapBox .range-bg.inTxt .rangeTxt li {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
#filterWrapBox .range-bg.inTxt .rangeTxt li:first-child {
  padding-left: 0.3rem;
}
#filterWrapBox .range-bg.inTxt .rangeTxt li:last-child {
  padding-right: 0.3rem;
}
#filterWrapBox .range-bg.inTxt .rangeTxt li.active {
  color: #fff;
}
#filterWrapBox .range-bg.inTxt .rangeTxt li + li {
  border-left: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  #filterWrapBox .range-bg.inTxt .rangeTxt {
    font-size: 1.2rem;
  }
}
#filterWrapBox .rangeTxt2 {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 500;
}
#filterWrapBox .rangeTxt2 li {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
#filterWrapBox .rangeTxt2 li:first-child {
  padding-left: 0.3rem;
}
#filterWrapBox .rangeTxt2 li:last-child {
  padding-right: 0.3rem;
}
#filterWrapBox .rangeTxt2 li.row2 {
  flex: 2;
}
@media screen and (min-width: 768px) {
  #filterWrapBox .rangeTxt2 {
    font-size: 1rem;
    margin: 0 auto -0.2rem;
  }
}
#filterWrapBox .range-slide {
  position: absolute;
  top: -6px;
  left: -2.5%;
  width: 105%;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  pointer-events: none;
}
#filterWrapBox .range-slide::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #BAB7AF;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto;
}
#filterWrapBox .range-slide::-moz-range-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #BAB7AF;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto;
}
#filterWrapBox .inputList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em 1.5em;
}
#filterWrapBox .inputList li {
  line-height: 1;
}
#filterWrapBox .inputList label {
  font-size: 1.3rem;
}
#filterWrapBox .inputList input {
  margin: 0 0.5em 0 0;
  vertical-align: -0.5rem;
}
#filterWrapBox .inputList img {
  vertical-align: middle;
  width: 3.8rem;
  margin-right: 0.8rem;
  background: #F9F8F7;
}
#filterWrapBox .btnList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  margin: 3rem 0 0;
}
#filterWrapBox .btnList .c-btn-border {
  font-size: 1.2rem;
  height: 3.6rem;
  width: 13rem;
}
#filterWrapBox .btnList .c-btn-cart {
  font-size: 1.2rem;
  height: 3.6rem;
  width: 18rem;
}
#filterWrapBox .bottomClose {
  margin-top: 2.6rem;
  text-align: center;
}
#filterWrapBox .bottomClose button {
  border: none;
  padding: 0;
  background: none;
  font-size: 1.1rem;
  letter-spacing: 0.07em;
}
#filterWrapBox .bottomClose span {
  margin-left: 0.5em;
}
@media screen and (min-width: 768px) {
  #filterWrapBox .inputList label {
    font-size: 1.4rem;
  }
  #filterWrapBox .c-btn-border {
    margin: 2.4rem auto 2rem;
    background: none;
    font-size: 1.4rem;
    font-weight: 400;
    width: 26rem;
    height: 4.4rem;
  }
  #filterWrapBox .btnList {
    gap: 0 1rem;
    grid-column: span 2;
    margin: 2rem auto 0;
    padding-bottom: 1rem;
  }
  #filterWrapBox .btnList .c-btn-border {
    font-size: 1.4rem;
    height: 4.4rem;
    width: 18rem;
    margin: 0;
    padding: 0 1em;
  }
  #filterWrapBox .btnList .c-btn-cart {
    font-size: 1.4rem;
    height: 4.4rem;
    width: 26rem;
  }
}

.p-productListHeading {
  border: none;
  padding: 0 1.4rem;
  margin-bottom: 3rem;
}

.p-productListHeading-body {
  width: 100%;
}

.p-productListHeading-body__listSort {
  width: 100%;
  max-width: 100%;
}

.m-productListSort {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 2rem;
}

.totalNum {
  font-size: 1.3rem;
  padding-bottom: 0.2em;
}
.totalNum strong {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  margin: 0 0.2em;
}

.m-productListSort-item {
  gap: 0 1.2rem;
}

.m-productListSort-item__title {
  display: block;
  font-size: 1.1rem;
  opacity: 0.8;
}

.m-productListSort-selectBox {
  position: relative;
  font-size: 1.2rem;
}

.m-productListSort-selectBox__currentItem {
  position: relative;
  border: #C9C9C9 1px solid;
  border-radius: 4px;
  width: 14.2rem;
  height: 3.4rem;
  padding: 0 1.5rem;
  font-weight: normal;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.m-productListSort-selectBox__currentItem:after {
  content: "";
  display: block;
  width: 1rem;
  height: 0.6rem;
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/icon/arrow-select.svg) no-repeat center;
  background-size: contain;
}

.m-productListSort-selectBox__currentItem:hover + .m-productListSort-selectBox-select,
.m-productListSort-selectBox__currentItem:focus-within + .m-productListSort-selectBox-select {
  display: block;
}

.m-productListSort-selectBox-select {
  position: absolute;
  left: 0;
  top: 3.4rem;
  z-index: 1001;
  border: #C9C9C9 1px solid;
  background: #fff;
  width: 100%;
  min-width: 100%;
  border-radius: 4px;
  box-shadow: none;
  display: none;
}
.m-productListSort-selectBox-select li {
  border-bottom: #C9C9C9 1px solid;
  font-size: inherit;
}
.m-productListSort-selectBox-select li a {
  height: 2.8em;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  font-size: inherit;
}
.m-productListSort-selectBox-select li a.current {
  color: var(--color-primary);
  font-weight: bold;
  background: none;
}
@media (any-hover: hover) {
  .m-productListSort-selectBox-select li a:hover {
    background: rgba(var(--bg1), 0.15);
  }
}
.m-productListSort-selectBox-select li:last-child {
  border: none;
}

@media screen and (min-width: 768px) {
  .p-productListHeading {
    padding: 0;
    margin-bottom: 2.6rem;
  }
  .p-productListHeading.narrow {
    max-width: 1154px;
    margin: 0 auto 2.6rem;
  }
  .p-productListBody.narrow {
    max-width: 1154px;
    margin: 0 auto;
  }
  .m-productListSort {
    padding: 0;
  }
  .totalNum {
    font-size: 1.5rem;
    padding-bottom: 0.2em;
  }
  .totalNum strong {
    font-size: 1.9rem;
    margin: 0 0.2em;
  }
  .m-productListSort-item {
    gap: 0 2rem;
    height: auto;
  }
  .m-productListSort-item__title {
    font-size: 1.3rem;
  }
  .m-productListSort-selectBox {
    font-size: 1.4rem;
  }
  .m-productListSort-selectBox__currentItem {
    width: 20.8rem;
    height: 4rem;
    padding: 0 2rem;
  }
  .m-productListSort-selectBox-select {
    top: 4rem;
  }
  .m-productListSort-selectBox-select li a {
    height: 2.8em;
    padding: 0 2rem;
  }
}
.p-page-productList .c-noItem-message {
  font-size: 1.3rem;
  text-align: center;
  padding-top: 3em;
  margin-bottom: -2em;
}
.p-page-productList h2.pageTtl {
  margin-bottom: 2rem;
}
.p-page-productList .searchTxt {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.8rem;
  padding: 1rem 0;
}
.p-page-productList .searchTxt span {
  font-size: 1.1rem;
}
.p-page-productList .searchTxt strong {
  font-weight: 500;
  font-size: 1.4rem;
}
.p-page-productList .itemNum {
  text-align: right;
  font-size: 1.3rem;
  margin-bottom: 0.6em;
}
.p-page-productList .p-productListBody__pager {
  margin-top: 7rem;
}
.p-page-productList .p-productListBody__pager:empty {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-page-productList .c-noItem-message {
    font-size: 1.5rem;
  }
  .p-page-productList h2.pageTtl {
    margin-bottom: 6rem;
  }
  .p-page-productList .searchTxt {
    gap: 0 1rem;
    padding: 0 0 1rem;
    margin-top: -1rem;
  }
  .p-page-productList .searchTxt span {
    font-size: 1.3rem;
    padding-top: 0.1em;
  }
  .p-page-productList .searchTxt strong {
    font-weight: 500;
    font-size: 1.7rem;
  }
  .p-page-productList .itemNum {
    font-size: 1.5rem;
    margin: 0 1em 0.6em 0;
  }
  .p-page-productList .p-productListBody__pager {
    margin-top: 11rem;
  }
}

.p-productListBody__pager.diamondPager {
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .p-productListBody__pager.diamondPager {
    margin-top: 5rem;
  }
}
.diamond-table {
  margin: -1rem -1.6rem 0;
  width: calc(100% + 3.2rem);
  height: auto;
  overflow: auto;
}
.diamond-table__head, .diamond-table__row {
  display: flex;
  align-items: center;
  background: #F7F7F6;
  min-width: -webkit-max-content;
  min-width: max-content;
}
.diamond-table__head div, .diamond-table__row div {
  text-align: center;
  flex-shrink: 0;
  flex-grow: 0;
}
.diamond-table__head {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 800;
  will-change: transform;
  height: 3.4em;
  font-size: 1rem;
  font-weight: 500;
  border-top: rgba(var(--color-txt2), 0.2) 1px solid;
  border-bottom: rgba(var(--color-txt2), 0.2) 1px solid;
}
.diamond-table__head button.js-tooltip.round {
  font-size: 1rem;
  width: 1.4rem;
  height: 1.4rem;
  margin: 0 -0.2rem 0 0.3rem;
}
.diamond-table__head div[data-tippy-root] {
  width: auto !important;
}
.diamond-table__row {
  font-size: 1.2rem;
  font-weight: 400;
  padding: 0.2rem 0;
  background: #fff;
  min-height: 5rem;
  border-bottom: rgba(var(--color-txt2), 0.1) 1px solid;
  cursor: pointer;
}
.diamond-table__row img {
  width: 66%;
  max-width: 100%;
  mix-blend-mode: multiply;
}
.diamond-table__row .tax {
  font-size: 80%;
}
@media screen and (min-width: 768px) {
  .diamond-table {
    width: 100%;
    margin: 0;
    overflow-x: hidden;
  }
  .diamond-table__head div, .diamond-table__row {
    width: 100%;
    max-width: 100%;
  }
  .diamond-table__head div div, .diamond-table__row div {
    padding: 0 0.8em;
  }
  .diamond-table__head {
    font-size: 1.2rem;
  }
  .diamond-table__row {
    font-size: 1.3rem;
    padding: 0.2rem 0;
  }
  .diamond-table__row img {
    width: 5rem;
  }
  .diamond-table__row .col-shape img {
    width: 4.4rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .diamond-table__row:hover {
    background: #F9F7F3;
  }
}
.diamond-table .col-img {
  width: 7rem;
  order: -3;
}
.diamond-table .col-shape {
  width: 6.8rem;
  order: -2;
}
.diamond-table .col-weight {
  width: 6.5rem;
}
.diamond-table .col-color {
  width: 6.5rem;
}
.diamond-table .col-clarity {
  width: 7.5rem;
}
.diamond-table .col-cut {
  width: 7.5rem;
}
.diamond-table {
  /* .col-lab { width: 6rem;} */
}
.diamond-table .col-fluorescence {
  width: 7.5rem;
}
.diamond-table .col-price {
  width: 12rem;
  order: -1;
}
.diamond-table .col-action {
  width: 7.4rem;
  order: -4;
}
.diamond-table .col-favorite {
  width: 4.6rem;
  order: -5;
}
.diamond-table .c-btn-favorit {
  border: none;
  padding: 0;
  background: none;
  width: 2.1rem;
  margin: 0 auto;
}
.diamond-table .c-btn-favorit:before, .diamond-table .c-btn-favorit:after {
  content: none;
}
.diamond-table .c-btn-favorit i {
  width: 100%;
  padding-top: 100%;
  background: var(--color-gray2);
  -webkit-mask-image: url(../img/common/icon/i-heart.svg);
          mask-image: url(../img/common/icon/i-heart.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (any-hover: hover) {
  .diamond-table .c-btn-favorit:hover i {
    background: #E99D96;
  }
}
.diamond-table .c-btn-favorit.active i {
  background: #E99D96;
  -webkit-mask-image: url(../img/common/icon/i-heart2.svg);
          mask-image: url(../img/common/icon/i-heart2.svg);
}
@media screen and (min-width: 768px) {
  .diamond-table .col-img {
    width: 7%;
    order: initial;
  }
  .diamond-table .col-shape {
    width: 7%;
    order: initial;
  }
  .diamond-table .col-weight {
    width: 7%;
  }
  .diamond-table .col-color {
    width: 7%;
  }
  .diamond-table .col-clarity {
    width: 7%;
  }
  .diamond-table .col-cut {
    width: 9%;
  }
  .diamond-table {
    /* .col-lab { width: 5%;} */
  }
  .diamond-table .col-fluorescence {
    width: 9%;
  }
  .diamond-table .col-price {
    width: 14%;
    order: initial;
  }
  .diamond-table .col-action {
    width: 33%;
    order: initial;
    padding: 0;
  }
  .diamond-table .col-favorite {
    width: 6%;
    order: initial;
  }
  .diamond-table .c-btn-favorit {
    width: 2.4rem;
  }
  .diamond-table .col-action {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1rem;
  }
}
.diamond-table .btn-add-cart {
  border: none;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  height: 2.4em;
  padding: 0 0.7em;
  transition: opacity 0.2s;
}
.diamond-table .btn-add-cart.beige {
  background: var(--color-beige);
}
@media (any-hover: hover) {
  .diamond-table .btn-add-cart:hover {
    opacity: 0.75;
  }
}
.diamond-table .btn-redirect-detail {
  border: rgba(var(--color-txt2), 0.7) 1px solid;
  padding: 0;
  background: #fff;
  color: var(--color-txt);
  font-size: 1.1rem;
  font-weight: 500;
  width: 5rem;
  height: 2.4em;
  transition: all 0.25s;
}
@media (any-hover: hover) {
  .diamond-table .btn-redirect-detail:hover {
    background: #686868;
    border-color: #686868;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .diamond-table .btn-add-cart {
    display: flex !important;
    justify-content: center;
    align-items: center;
    min-width: 10em;
  }
  .diamond-table .btn-redirect-detail {
    font-size: 1.2rem;
    width: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .p-productDetailWrap {
    position: relative;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    left: 50%;
    transform: translateX(-50%);
    max-width: 1600px;
    margin: 6.5rem 0 0;
    grid-template-columns: 50% 50%;
  }
  .p-productDetailWrap__detailBlock {
    padding: 0 15.625%;
  }
}
.p-productDetailWrap__imgBlock .m-productDetailImg__main {
  margin-bottom: 0;
  padding-bottom: 3px;
}
.p-productDetailWrap__imgBlock .m-productDetailImg {
  padding: 0;
  border: none;
  margin-bottom: 0;
}
.p-productDetailWrap__imgBlock .m-productDetailImg-slider__image {
  width: auto;
  max-width: 100%;
}
.p-productDetailWrap__imgBlock .swiper-slide {
  position: relative;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-productDetailWrap__imgBlock .swiper-slide p {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.p-productDetailWrap__imgBlock .swiper-slide p.active {
  opacity: 1;
  z-index: 10;
}
.p-productDetailWrap__imgBlock .swiper-slide iframe {
  position: absolute;
  left: 2%;
  top: 10%;
  width: 96%;
  height: 100%;
  pointer-events: none;
}
.p-productDetailWrap__imgBlock .swiper-scrollbar {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  margin-top: 0;
}
.p-productDetailWrap__imgBlock .swiper-scrollbar-drag {
  background: var(--color-brown);
}
@media screen and (min-width: 768px) {
  .p-productDetailWrap__imgBlock .m-productDetailImg__main {
    padding-bottom: 0;
  }
  .p-productDetailWrap__imgBlock .swiper {
    opacity: 1;
  }
  .p-productDetailWrap__imgBlock .swiper-scrollbar {
    display: none;
  }
  .p-productDetailWrap__imgBlock .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
  }
  .p-productDetailWrap__imgBlock .swiper-wrapper > :first-child {
    grid-column: 1/-1;
  }
  .p-productDetailWrap__imgBlock .swiper-slide iframe {
    pointer-events: all;
    top: 0;
  }
}

.p-productDetaiMain {
  padding: 2.2rem 0 7rem;
}
.p-productDetaiMain .subTxtBox {
  margin: 0 1.5rem 2rem;
}
.p-productDetaiMain .subTxtBox:empty {
  margin: 0;
}
.p-productDetaiMain a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-productDetaiMain a:hover {
    text-decoration: none;
  }
}
.p-productDetaiMain table.tbl {
  margin: 0.8em 0;
  font-size: 1.1rem;
  line-height: 1.6;
}
.p-productDetaiMain table.tbl th {
  padding: 0.9rem 1rem;
  width: 50%;
}
.p-productDetaiMain table.tbl td {
  padding: 0.9rem 1.2rem;
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain {
    padding: 0;
  }
  .p-productDetaiMain .subTxtBox {
    margin: 0 0 3rem;
  }
  .p-productDetaiMain table.tbl {
    font-size: 1.3rem;
    line-height: 1.6;
  }
  .p-productDetaiMain table.tbl th {
    padding: 1.3rem 1.6rem;
    width: 19rem;
  }
  .p-productDetaiMain table.tbl td {
    padding: 1.3rem 3rem;
  }
}

.p-productDetaiMain-head {
  padding: 0 2rem;
  margin-bottom: 2.4rem;
}
.p-productDetaiMain-head__status {
  display: flex;
  gap: 0 1rem;
  margin-bottom: 1.5rem;
}
.p-productDetaiMain-head__status .rank {
  padding: 0.4rem 0 0 0.07em;
  background: #9E9B94;
  color: #fff;
  width: 4.9rem;
  height: 2.5rem;
  text-align: center;
  font-size: 2.1rem;
  line-height: 1;
}
.p-productDetaiMain-head__status .rank span {
  font-size: 1.3rem;
  font-weight: bold;
  margin-right: 0.1em;
}
.p-productDetaiMain-head__status ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
}
.p-productDetaiMain-head__status ul li {
  height: 2rem;
  width: auto;
  padding: 0.025em 0.6em 0;
  min-width: 4.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #538380;
}
.p-productDetaiMain-head__status ul li.sale {
  background: var(--color-beige);
}
.p-productDetaiMain-head .p-productDetaiMain-head__title-name {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 400;
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain-head {
    padding: 0;
    margin-bottom: 3rem;
  }
  .p-productDetaiMain-head__status {
    gap: 0 2rem;
    margin-bottom: 2.4rem;
  }
  .p-productDetaiMain-head__status .rank {
    padding: 0.65rem 0 0 0.1em;
    width: 5.8rem;
    height: 3.4rem;
    font-size: 2.3rem;
  }
  .p-productDetaiMain-head__status .rank span {
    font-size: 1.5rem;
    margin-right: 0.1em;
  }
  .p-productDetaiMain-head__status ul {
    gap: 0.5rem;
    font-size: 1.4rem;
    font-weight: 400;
  }
  .p-productDetaiMain-head__status ul li {
    height: 2.5rem;
    padding: 0.025em 0.6em 0;
    min-width: 5.5rem;
  }
  .p-productDetaiMain-head .p-productDetaiMain-head__title-name {
    font-size: 2.2rem;
  }
}
.p-productDetaiMain-head .priceLine {
  display: flex;
  align-items: center;
}
.p-productDetaiMain-head .priceLine .price {
  display: flex;
  align-items: baseline;
  font-size: 2rem;
  letter-spacing: 0.01em;
  font-weight: bold;
  line-height: 1.1;
}
.p-productDetaiMain-head .priceLine .price .line {
  font-size: 1.3rem;
  font-weight: 400;
  text-decoration: line-through;
  margin-right: 1rem;
}
.p-productDetaiMain-head .priceLine .price .tax {
  font-size: 1rem;
  font-weight: 400;
}
.p-productDetaiMain-head .priceLine .iconList {
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
  gap: 0 0.6rem;
}
.p-productDetaiMain-head .priceLine .iconList button {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background 0.3s;
  border: none;
  padding: 0;
  background: none;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 6px;
}
.p-productDetaiMain-head .priceLine .iconList button:before {
  content: "";
  display: block;
  background: var(--color-gray2);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 2.4rem;
  height: 2.4rem;
  transition: background 0.3s;
}
.p-productDetaiMain-head .priceLine .iconList button.c-btn-favorit:before {
  -webkit-mask-image: url(../img/common/icon/i-heart.svg);
          mask-image: url(../img/common/icon/i-heart.svg);
}
.p-productDetaiMain-head .priceLine .iconList button.share:before {
  -webkit-mask-image: url(../img/common/icon/i-share.svg);
          mask-image: url(../img/common/icon/i-share.svg);
}
@media (any-hover: hover) {
  .p-productDetaiMain-head .priceLine .iconList button:hover {
    background: rgba(var(--color-beige2), 0.1);
    opacity: 1;
  }
  .p-productDetaiMain-head .priceLine .iconList button:hover.c-btn-favorit:before {
    background: #E99D96;
  }
  .p-productDetaiMain-head .priceLine .iconList button:hover.share:before {
    background: var(--color-beige);
  }
}
.p-productDetaiMain-head .priceLine .iconList button.active:before {
  background: #E99D96;
  -webkit-mask-image: url(../img/common/icon/i-heart2.svg);
          mask-image: url(../img/common/icon/i-heart2.svg);
}
.p-productDetaiMain-head .priceLine .iconList button.share[aria-expanded=true] {
  background: rgba(var(--color-beige2), 0.1);
}
.p-productDetaiMain-head .priceLine .iconList button.share[aria-expanded=true]:before {
  background: var(--color-beige);
}
.p-productDetaiMain-head .priceLine .iconList .tippy-content {
  min-width: 0 !important;
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain-head .priceLine .price {
    font-size: 2.2rem;
    font-weight: 600;
  }
  .p-productDetaiMain-head .priceLine .price .line {
    font-size: 1.5rem;
    margin-right: 1.4rem;
  }
  .p-productDetaiMain-head .priceLine .price .tax {
    font-size: 1.2rem;
  }
  .p-productDetaiMain-head .priceLine .iconList {
    gap: 0 0.8rem;
  }
  .p-productDetaiMain-head .priceLine .iconList button {
    width: 4.1rem;
    height: 4.1rem;
    border-radius: 7px;
  }
  .p-productDetaiMain-head .priceLine .iconList button:before {
    width: 2.9rem;
    height: 2.9rem;
  }
}
.p-productDetaiMain-head #shareList {
  display: flex;
  flex-direction: column;
  gap: 1.2rem 0;
}
.p-productDetaiMain-head #shareList li {
  font-size: 1.1rem;
  font-weight: 500;
  width: 14rem;
}
.p-productDetaiMain-head #shareList li p {
  transition: opacity 0.3s ease;
}
.p-productDetaiMain-head #shareList li.line {
  position: relative;
  margin-bottom: 2rem;
}
.p-productDetaiMain-head #shareList li.line:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1.7rem;
  background: #E1E1E1;
}
.p-productDetaiMain-head #shareList a, .p-productDetaiMain-head #shareList button {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1.1rem;
  width: 100% !important;
  height: auto !important;
  color: rgba(var(--color-txt2), 0.8);
  transition: opacity 0.2s;
  text-decoration: none;
}
.p-productDetaiMain-head #shareList button:before {
  content: none;
}
@media (any-hover: hover) {
  .p-productDetaiMain-head #shareList button:hover {
    background: none;
    opacity: 0.8;
  }
}
.p-productDetaiMain-head #shareList i {
  width: 2.4rem;
  height: 2.4rem;
  background: var(--color-beige);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.p-productDetaiMain-head #shareList .x i {
  -webkit-mask-image: url(../img/common/icon/i-x.svg);
          mask-image: url(../img/common/icon/i-x.svg);
}
.p-productDetaiMain-head #shareList .line i {
  -webkit-mask-image: url(../img/common/icon/i-line.svg);
          mask-image: url(../img/common/icon/i-line.svg);
}
.p-productDetaiMain-head #shareList .pinterest i {
  -webkit-mask-image: url(../img/common/icon/i-pinterest.svg);
          mask-image: url(../img/common/icon/i-pinterest.svg);
}
.p-productDetaiMain-head #shareList .share i {
  -webkit-mask-image: url(../img/common/icon/i-share.svg);
          mask-image: url(../img/common/icon/i-share.svg);
}
.p-productDetaiMain-head #shareList .copy i {
  -webkit-mask-image: url(../img/common/icon/i-link.svg);
          mask-image: url(../img/common/icon/i-link.svg);
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain-head #shareList {
    gap: 1.5rem 0;
  }
  .p-productDetaiMain-head #shareList li {
    font-size: 1.2rem;
    width: 15rem;
  }
  .p-productDetaiMain-head #shareList li.line {
    margin-bottom: 1.3rem;
  }
  .p-productDetaiMain-head #shareList li.line:after {
    bottom: -1.4rem;
  }
  .p-productDetaiMain-head #shareList i {
    width: 2.6rem;
    height: 2.6rem;
  }
}

.m-productSkuDoubleDropdown, .m-productSkuDropdown {
  padding: 0;
  margin: 0;
  border-top: none;
}
.m-productSkuDoubleDropdown-buyStep, .m-productSkuDropdown-buyStep {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1.3rem;
}
.m-productSkuDoubleDropdown-buyStep + .m-productSkuDoubleDropdown-buyStep, .m-productSkuDoubleDropdown-buyStep + .m-productSkuDropdown-buyStep, .m-productSkuDropdown-buyStep + .m-productSkuDoubleDropdown-buyStep, .m-productSkuDropdown-buyStep + .m-productSkuDropdown-buyStep {
  margin-top: 1.3rem;
}
.m-productSkuDoubleDropdown-buyStep__title, .m-productSkuDropdown-buyStep__title {
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0;
  width: 6em;
  margin: 0;
}
.m-productSkuDoubleDropdown-buyStep dd, .m-productSkuDropdown-buyStep dd {
  flex: 1;
}
.m-productSkuDoubleDropdown-buyStep select, .m-productSkuDropdown-buyStep select {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .m-productSkuDoubleDropdown-buyStep, .m-productSkuDropdown-buyStep {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem 0;
  }
  .m-productSkuDoubleDropdown-buyStep + .m-productSkuDoubleDropdown-buyStep, .m-productSkuDoubleDropdown-buyStep + .m-productSkuDropdown-buyStep, .m-productSkuDropdown-buyStep + .m-productSkuDoubleDropdown-buyStep, .m-productSkuDropdown-buyStep + .m-productSkuDropdown-buyStep {
    margin-top: 2.5rem;
  }
  .m-productSkuDoubleDropdown-buyStep__title, .m-productSkuDropdown-buyStep__title {
    font-size: 1.3rem;
    width: 100%;
  }
}

.m-supplementaryInfo {
  margin: 1.3rem 0 0;
  padding: 0;
  background: 0;
}
.m-supplementaryInfo .m-formInputArea-item {
  margin: 0;
}
.m-supplementaryInfo .m-formInputArea-item + .m-formInputArea-item {
  margin-top: 1.3rem;
}
.m-supplementaryInfo .c-formInput-itemTitle {
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0;
  width: 100%;
  margin: 0 0 0.4em;
  display: block;
}
.m-supplementaryInfo .c-formInput-itemTitle button {
  margin: 0 0.6em;
}
.m-supplementaryInfo .c-formInput-item {
  flex: 1;
  margin: 0;
  width: 100%;
}
.m-supplementaryInfo select, .m-supplementaryInfo textarea {
  width: 100%;
}
.m-supplementaryInfo textarea {
  min-height: 0;
  height: 5rem;
}
@media screen and (min-width: 768px) {
  .m-supplementaryInfo {
    margin: 2.5rem 0 0;
  }
  .m-supplementaryInfo .m-formInputArea-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem 0;
  }
  .m-supplementaryInfo .m-formInputArea-item + .m-formInputArea-item {
    margin-top: 2.5rem;
  }
  .m-supplementaryInfo .c-formInput-itemTitle {
    font-size: 1.3rem;
    width: 100%;
  }
  .m-supplementaryInfo .c-formInput-itemTitle button {
    display: inline-flex;
    margin: 0.2rem 0.5rem;
  }
}

.p-productSkuBottomBtn {
  margin-top: 2.8rem;
  position: relative;
}
.p-productSkuBottomBtn .dummy button {
  font-size: 1.5rem;
  font-weight: 500;
  height: 5.5rem;
  border: none;
  width: 100%;
  background: rgba(var(--bg1), 0.15);
  color: rgba(var(--color-txt2), 0.28);
}
.p-productSkuBottomBtn .c-btn-cart {
  font-size: 1.5rem;
  height: 5.5rem;
}
.p-productSkuBottomBtn .p-productSkuBottomBtn__cart-soldout {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5.5rem;
  font-size: 1.5rem;
  background: rgba(var(--bg1), 0.2);
  color: var(--color-gray2);
  font-weight: 500;
}
.p-productSkuBottomBtn .js-tooltip {
  position: relative;
  border: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5.5rem;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  background: var(--color-primary);
  color: #fff;
  font-weight: 500;
}
.p-productSkuBottomBtn .js-tooltip::after {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  position: absolute;
  right: 1.8rem;
  top: 50%;
  transform: translateY(-40%) rotate(90deg);
  background: #fff;
  -webkit-mask-image: url(../img/common/icon/arrow.svg);
          mask-image: url(../img/common/icon/arrow.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.p-productSkuBottomBtn .js-tooltip[aria-expanded=true]:after {
  transform: translateY(-60%) rotate(90deg) scale(-1, 1);
}
.p-productSkuBottomBtn .tippy-box.select {
  border: none;
  background: none;
  box-shadow: none;
  max-width: none;
  max-width: 100% !important;
}
.p-productSkuBottomBtn .tippy-box.select .tippy-content {
  padding: 0;
}
.p-productSkuBottomBtn .tippy-box.select .tippy-arrow {
  display: none;
}
.p-productSkuBottomBtn .tippy-box.select ul {
  border: var(--color-gray2) 1px solid;
  border-bottom: none;
  background: #fff;
}
.p-productSkuBottomBtn .tippy-box.select li {
  border-bottom: var(--color-gray2) 1px solid;
  width: 100%;
}
.p-productSkuBottomBtn .tippy-box.select button {
  width: 100%;
  height: 5rem;
  background: #fff;
  padding: 0;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
  transition: all 0.2s;
}
.p-productSkuBottomBtn .tippy-box.select button:after {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-40%);
  background: var(--color-txt);
  -webkit-mask-image: url(../img/common/icon/arrow.svg);
          mask-image: url(../img/common/icon/arrow.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (any-hover: hover) {
  .p-productSkuBottomBtn .tippy-box.select button:hover {
    background: rgba(var(--color-primary2), 0.05);
    color: var(--color-primary);
  }
}
@media screen and (min-width: 768px) {
  .p-productSkuBottomBtn {
    margin-top: 4rem;
  }
  .p-productSkuBottomBtn li {
    width: 43.2rem;
  }
  .p-productSkuBottomBtn .dummy button {
    font-size: 1.6rem;
    height: 5.6rem;
  }
  .p-productSkuBottomBtn .c-btn-cart {
    font-size: 1.6rem;
    height: 5.6rem;
  }
  .p-productSkuBottomBtn .p-productSkuBottomBtn__cart-soldout {
    font-size: 1.6rem;
    height: 5.6rem;
  }
}

.p-productDetaiMain-body {
  padding-bottom: 4.5rem;
}
.p-productDetaiMain-body .iconNav {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  gap: 0 2.8rem;
}
.p-productDetaiMain-body .iconNav a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.2rem 0;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-productDetaiMain-body .iconNav a:hover {
    text-decoration: none;
  }
}
.p-productDetaiMain-body .iconNav i {
  width: 2.5rem;
  height: 2.5rem;
  background: var(--color-beige);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.p-productDetaiMain-body .iconNav .contact i {
  -webkit-mask-image: url(../img/common/icon/i-mail.svg);
          mask-image: url(../img/common/icon/i-mail.svg);
}
.p-productDetaiMain-body .iconNav .aftercare i {
  -webkit-mask-image: url(../img/common/icon/i-sparkle.svg);
          mask-image: url(../img/common/icon/i-sparkle.svg);
}
.p-productDetaiMain-body .iconNav .shippingfree i {
  -webkit-mask-image: url(../img/common/icon/i-0.svg);
          mask-image: url(../img/common/icon/i-0.svg);
}
.p-productDetaiMain-body .iconNav p {
  font-size: 1rem;
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain-body .iconNav {
    margin-top: 2.5rem;
    margin-right: -2rem;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem 3.2rem;
  }
  .p-productDetaiMain-body .iconNav a {
    flex-direction: row;
    gap: 0 0.7rem;
  }
  .p-productDetaiMain-body .iconNav i {
    width: 2.1rem;
    height: 2.1rem;
  }
  .p-productDetaiMain-body .iconNav p {
    font-size: 1.3rem;
  }
}
.p-productDetaiMain-body .acWrapBox {
  margin: 5rem 0 0;
  border-bottom: var(--color-gray2) 1px solid;
}
.p-productDetaiMain-body .acWrapBox dl:not(.font) {
  border-top: var(--color-gray2) 1px solid;
}
.p-productDetaiMain-body .acWrapBox dl:not(.font) > dt {
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: 600;
  cursor: pointer;
  padding: 1em 0.8rem;
  min-height: 5.4rem;
  position: relative;
  display: flex;
  align-items: center;
}
.p-productDetaiMain-body .acWrapBox dl:not(.font) > dt:after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 0.7rem;
  position: absolute;
  right: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/icon/arrow-select.svg) no-repeat center;
  background-size: contain;
  transition: transform 0.1s;
}
.p-productDetaiMain-body .acWrapBox dl:not(.font) > dt.open:after {
  transform: translateY(-50%) scale(1, -1);
}
.p-productDetaiMain-body .acWrapBox dl:not(.font) > dt {
  transition: color 0.2s;
}
@media (any-hover: hover) {
  .p-productDetaiMain-body .acWrapBox dl:not(.font) > dt:hover {
    color: var(--color-primary);
  }
}
.p-productDetaiMain-body .acWrapBox dl:not(.font) > dd {
  display: none;
  padding: 0 1.5rem 2rem;
  font-size: 1.2rem;
  line-height: 1.8;
}
.p-productDetaiMain-body .acWrapBox .imgList {
  margin: 1.8rem 0;
  display: flex;
  gap: 0.6rem;
}
.p-productDetaiMain-body .acWrapBox .imgList li {
  max-width: 70%;
}
.p-productDetaiMain-body .acWrapBox .font {
  padding-bottom: 0.4rem;
}
.p-productDetaiMain-body .acWrapBox .font dt {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 1.2em 0 0.4em;
}
.p-productDetaiMain-body .acWrapBox .font dd img {
  border: #D3D3D3 1px solid;
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain-body .acWrapBox {
    margin: 4rem 0 0;
  }
  .p-productDetaiMain-body .acWrapBox dl:not(.font) > dt {
    font-size: 1.4rem;
    padding: 1em 1.3rem;
    min-height: 5.8rem;
  }
  .p-productDetaiMain-body .acWrapBox dl:not(.font) > dt:after {
    width: 1.3rem;
    height: 0.8rem;
  }
  .p-productDetaiMain-body .acWrapBox dl:not(.font) > dd {
    padding: 0 2.4rem 3rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .p-productDetaiMain-body .acWrapBox .imgList {
    margin: 2rem 0;
    gap: 1rem;
  }
  .p-productDetaiMain-body .acWrapBox .imgList li {
    max-width: 60%;
  }
  .p-productDetaiMain-body .acWrapBox .font {
    padding-bottom: 0.4rem;
  }
  .p-productDetaiMain-body .acWrapBox .font dt {
    font-size: 1.4rem;
    margin: 1.5em 0 0.4em;
  }
  .p-productDetaiMain-body .acWrapBox .font dd img {
    max-width: 400px;
  }
}

.p-productDetaiMain-guideTabBox {
  padding-top: 5.6rem;
}
.p-productDetaiMain-guideTabBox::after {
  background: var(--color-gray2);
  top: 5.5rem;
}
.p-productDetaiMain-guideTabBox-item.current .p-productDetaiMain-guideTabBox-item__head {
  border-color: var(--color-gray2);
}
.p-productDetaiMain-guideTabBox-item__head {
  width: calc(50% - 1.6rem);
  height: 5.5rem;
  border-radius: 0;
  background: rgba(var(--bg1), 0.2);
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  font-weight: 600;
}
.p-productDetaiMain-guideTabBox-item:nth-of-type(1) .p-productDetaiMain-guideTabBox-item__head {
  left: 1.4rem;
}
.p-productDetaiMain-guideTabBox-item:nth-of-type(2) .p-productDetaiMain-guideTabBox-item__head {
  left: auto;
  right: 1.4rem;
}
.p-productDetaiMain-guideTabBox-item__body {
  padding: 4rem 2rem 0 !important;
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
.p-productDetaiMain-guideTabBox-item__body h3 {
  font-size: 1.5rem;
  line-height: 1.7;
  font-weight: 600;
  margin-bottom: 1.2em;
}
.p-productDetaiMain-guideTabBox-item__body .c-btn-border {
  text-decoration: none;
  width: 76%;
  margin: 2.5rem auto 0;
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .p-productDetaiMain-guideTabBox-item__head {
    width: calc(50% - 0.2rem);
    font-size: 1.4rem;
    letter-spacing: 0.06em;
  }
  .p-productDetaiMain-guideTabBox-item:nth-of-type(1) .p-productDetaiMain-guideTabBox-item__head {
    left: 0;
  }
  .p-productDetaiMain-guideTabBox-item:nth-of-type(2) .p-productDetaiMain-guideTabBox-item__head {
    left: auto;
    right: 0;
  }
  .p-productDetaiMain-guideTabBox-item__body {
    padding: 4.2rem 0 0 !important;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .p-productDetaiMain-guideTabBox-item__body h3 {
    font-size: 1.8rem;
    line-height: 1.8;
    margin-bottom: 1.2em;
  }
  .p-productDetaiMain-guideTabBox-item__body .c-btn-border {
    width: 60%;
    margin: 2.6rem auto 0;
    font-size: 1.4rem;
  }
}

.p-productDetail-foot {
  padding: 0.1rem 0 0;
  margin: 0;
  border-top: #E5E3E0 1px solid;
}
.p-productDetail-foot h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 7.2rem 0 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-productDetail-foot .l-container {
    padding: 0 2rem;
  }
  .p-productDetail-foot .itemList {
    width: calc(100% + 4rem);
    margin: 0 -2rem;
    overflow-x: auto;
    display: flex;
    flex-wrap: nowrap;
    gap: 0 1.2rem;
  }
  .p-productDetail-foot .itemList:before {
    content: "";
    display: block;
    padding-left: 0.8rem;
  }
  .p-productDetail-foot .itemList:after {
    content: "";
    display: block;
    padding-left: 0.8rem;
  }
  .p-productDetail-foot .itemList li {
    flex-shrink: 0;
    width: 16.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-productDetail-foot {
    margin-top: 10rem;
    padding: 4rem 0 0;
  }
  .p-productDetail-foot h2 {
    font-size: 1.7rem;
    margin: 8rem 0 4.5rem;
  }
  .p-productDetail-foot #checked {
    margin-top: 1rem;
    padding-top: 1px;
    position: relative;
    /* &:before {
      content: ''; display: block; width: 100vw; height: 1px;
      position:absolute; left: 50%; top:0; transform: translateX(-50%);
      background: #E5E3E0;
    } */
  }
}

.p-page-productDetail .otherPageWrap {
  position: relative;
  z-index: 10;
  padding: 6rem 0;
  margin: 0 0 -1px;
}
.p-page-productDetail .otherPageWrap:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: #F7F7F6;
}
.p-page-productDetail .otherPageWrap ul {
  display: flex;
  gap: 0 2.8rem;
  overflow-x: auto;
}
.p-page-productDetail .otherPageWrap ul:before {
  content: "";
  display: block;
  width: 0;
  margin-right: -0.6rem;
}
.p-page-productDetail .otherPageWrap ul:after {
  content: "";
  display: block;
  width: 0;
  margin-left: -0.6rem;
}
.p-page-productDetail .otherPageWrap ul li {
  width: 26rem;
  flex-shrink: 0;
}
.p-page-productDetail .otherPageWrap ul .ttl {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 1.4em 0.5rem 0.6em;
  color: var(--color-brown);
}
.p-page-productDetail .otherPageWrap ul .txt {
  font-size: 1.1rem;
  line-height: 1.8;
  text-align: justify;
  margin: 0 0.5rem;
}
.p-page-productDetail .otherPageWrap a .img {
  aspect-ratio: 428/270;
  overflow: hidden;
}
.p-page-productDetail .otherPageWrap a .img img {
  transition: transform 1.3s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (any-hover: hover) {
  .p-page-productDetail .otherPageWrap a:hover .img img {
    transform: scale(1.06);
  }
}
@media screen and (max-width: 767px) {
  .p-page-productDetail .otherPageWrap .l-container {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-page-productDetail .otherPageWrap {
    padding: 8.5rem 0;
    margin: 12rem 0 -1px;
  }
  .p-page-productDetail .otherPageWrap + .p-productDetail-foot {
    margin-top: 0;
  }
  .p-page-productDetail .otherPageWrap ul {
    display: flex;
    gap: 0 4.8rem;
    overflow-x: auto;
  }
  .p-page-productDetail .otherPageWrap ul:before, .p-page-productDetail .otherPageWrap ul:after {
    content: none;
  }
  .p-page-productDetail .otherPageWrap ul li {
    width: calc((100% - 9.6rem) / 3);
  }
  .p-page-productDetail .otherPageWrap ul .ttl {
    font-size: 1.6rem;
    line-height: 1.7;
    margin: 1.5em 1.2rem 0.7em;
  }
  .p-page-productDetail .otherPageWrap ul .txt {
    font-size: 1.3rem;
    line-height: 1.8;
    margin: 0 1.2rem;
  }
}

.catePagesList {
  padding: 2rem 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 1.4rem;
}
.catePagesList .cate {
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
  margin: 1.2em 0 0;
}
.catePagesList .cate span {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .catePagesList {
    max-width: 1200px;
    margin: 0 auto;
    padding: 7rem 0 5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 7rem 2.7rem;
  }
  .catePagesList .cate {
    font-size: 1.6rem;
    margin: 1.3em 0 0;
  }
  .catePagesList a .img {
    aspect-ratio: 4/5;
    overflow: hidden;
  }
  .catePagesList a .img img {
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .catePagesList a:hover .img img {
    transform: scale(1.06);
  }
}

.p-page-set-ring .topTxt {
  font-size: 1.2rem;
  line-height: 2.1;
  padding: 0 1rem;
  margin-bottom: 5rem;
}
.p-page-set-ring .ankerList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  margin-bottom: -3rem;
}
.p-page-set-ring .ankerList a {
  border: rgba(var(--color-txt2), 0.7) 1px solid;
  height: 4.1rem;
  padding: 0 1.9rem;
  position: relative;
  font-size: 1.1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
.p-page-set-ring .ankerList a:after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.5rem;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/icon/arrow-select.svg) no-repeat center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-page-set-ring .topTxt {
    font-size: 1.4rem;
    line-height: 2.3;
    padding: 0;
    margin-bottom: 7.5rem;
    text-align: center;
  }
  .p-page-set-ring .ankerList {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto;
  }
  .p-page-set-ring .ankerList a {
    height: 5.2rem;
    padding: 0 2.8rem;
    font-size: 1.4rem;
  }
  .p-page-set-ring .ankerList a:after {
    width: 1rem;
    height: 0.6rem;
    right: 1.6rem;
  }
}
.p-page-set-ring .setRingSec {
  margin-top: 13rem;
  padding: 1rem 0 0;
}
.p-page-set-ring .setRingSec:last-child {
  padding-bottom: 5rem;
}
.p-page-set-ring .setRingSec h2 {
  font-size: 2.1rem;
  letter-spacing: 0.09em;
  line-height: 1.4;
  font-weight: 400;
  text-align: center;
  margin-bottom: 0.5em;
}
.p-page-set-ring .setRingSec .h2Txt {
  font-size: 1.1rem;
  line-height: 2;
  text-align: center;
}
.p-page-set-ring .setRingSec ul {
  display: flex;
  align-items: flex-start;
  gap: 0 1.5rem;
  margin: 3rem -1.6rem 0;
  overflow-x: auto;
  width: calc(100% + 3.2rem);
}
.p-page-set-ring .setRingSec ul:before, .p-page-set-ring .setRingSec ul:after {
  content: "";
  padding-left: 0.8rem;
  display: block;
}
.p-page-set-ring .setRingSec ul li {
  flex-shrink: 0;
  width: 25.8rem;
}
.p-page-set-ring .setRingSec ul a {
  cursor: pointer;
}
.p-page-set-ring .setRingSec ul .txt {
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  margin-top: 1em;
}
.p-page-set-ring .setRingSec ul .txt span {
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  color: var(--color-primary);
  display: inline-block;
  margin-left: 1.5em;
}
@media screen and (min-width: 768px) {
  .p-page-set-ring .setRingSec {
    margin-top: 18rem;
    padding: 2rem 0 0 !important;
  }
  .p-page-set-ring .setRingSec h2 {
    font-size: 2.4rem;
    margin-bottom: 1em;
  }
  .p-page-set-ring .setRingSec .h2Txt {
    font-size: 1.4rem;
  }
  .p-page-set-ring .setRingSec ul {
    max-width: 1200px;
    width: 100%;
    height: auto;
    overflow: unset;
    margin: 6rem auto 0;
    padding-bottom: 2rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5.8rem 2.25%;
  }
  .p-page-set-ring .setRingSec ul:before, .p-page-set-ring .setRingSec ul:after {
    content: none;
  }
  .p-page-set-ring .setRingSec ul li {
    width: 31.8333333333%;
  }
  .p-page-set-ring .setRingSec ul .txt {
    font-size: 1.4rem;
    margin-top: 1em;
  }
  .p-page-set-ring .setRingSec ul .txt span {
    font-size: 1.6rem;
    margin-left: 1.4em;
  }
}

.setPopBox {
  padding: 5rem 3rem 0.1rem;
}
.setPopBox dt {
  font-size: 1.2rem;
  margin: 0 0 -2.8em;
  position: relative;
  z-index: 10;
}
.setPopBox dd {
  padding: 0 2rem 6rem;
}
.setPopBox dd img {
  width: 76%;
  margin: 0 auto;
  display: block;
}
.setPopBox dd h4 {
  font-size: 1.2rem;
  margin-top: 0;
}
.setPopBox dd .price {
  font-size: 1.2rem;
  letter-spacing: 0;
}
.setPopBox dd .price span {
  font-size: 1rem;
  display: inline-block;
  margin-right: 1em;
  opacity: 0.9;
}
.setPopBox dd .price span.tax {
  font-size: 70%;
  opacity: 1;
}
.setPopBox dd .c-btn-border {
  font-size: 1.2rem;
  margin-top: 1em;
  height: 4rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .setPopBox {
    padding: 5.6rem 2rem 5.6rem 8rem;
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 0 8.8rem;
  }
  .setPopBox img.pc {
    width: 39%;
  }
  .setPopBox dl + dl {
    margin-top: 3.5rem;
  }
  .setPopBox dt {
    font-size: 1.3rem;
    margin: 0 0 -1rem;
  }
  .setPopBox dd {
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0 2.6rem;
  }
  .setPopBox dd img {
    width: 16rem;
    margin: 0;
  }
  .setPopBox dd h4 {
    font-size: 1.6rem;
    margin: 0 0 0.2em;
  }
  .setPopBox dd .price {
    font-size: 1.5rem;
  }
  .setPopBox dd .price span {
    font-size: 1.1rem;
    margin-right: 1em;
  }
  .setPopBox dd .c-btn-border {
    font-size: 1.3rem;
    margin-top: 2.5rem;
    width: 21.4rem;
    height: 4rem;
  }
}

.p-page-about-tsumugu .imgSec {
  padding: 0 1rem;
}
.p-page-about-tsumugu .imgSec .txt {
  line-height: 1.9;
}
.p-page-about-tsumugu .imgSec .img {
  width: 90%;
  margin: 6rem auto 0;
  display: block;
}
.p-page-about-tsumugu .imgSec .borderMore {
  margin-top: 4rem;
  width: 84%;
}
.p-page-about-tsumugu .imgSec h3 {
  font-weight: bold;
  margin: 2.5em 0 0.9em;
}
.p-page-about-tsumugu .imgSec .numH2 {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.07em;
  padding-left: 4rem;
  position: relative;
  margin-bottom: 1.8em;
}
.p-page-about-tsumugu .imgSec .numH2 span.en {
  font-size: 5rem;
  line-height: 1;
  color: var(--color-gray2);
  position: absolute;
  left: 0;
  top: -0.14em;
  transform: skewX(-12deg);
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .p-page-about-tsumugu .imgSec {
    padding: 0;
  }
  .p-page-about-tsumugu .imgSec .txt {
    font-size: 1.4rem;
    line-height: 2.3;
  }
  .p-page-about-tsumugu .imgSec .img {
    width: 43.623%;
    margin: 0 -6rem 0 0;
  }
  .p-page-about-tsumugu .imgSec .txtArea {
    flex: 1;
    max-width: 67rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-left: 8rem;
  }
  .p-page-about-tsumugu .imgSec .flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 11rem;
  }
  .p-page-about-tsumugu .imgSec .flex.re {
    flex-direction: row-reverse;
  }
  .p-page-about-tsumugu .imgSec .flex.re .img {
    margin: 0 0 0 -6rem;
  }
  .p-page-about-tsumugu .imgSec .flex.re .txtArea {
    padding-left: 4rem;
  }
  .p-page-about-tsumugu .imgSec .borderMore {
    margin-top: 7rem;
    margin-left: 0;
    width: 34rem;
  }
  .p-page-about-tsumugu .imgSec h3 {
    font-size: 1.5rem;
    margin: 4em 0 0.9em;
  }
  .p-page-about-tsumugu .imgSec .numH2 {
    font-size: 2.5rem;
    letter-spacing: 0.07em;
    padding-left: 5.8rem;
    margin-bottom: 1.8em;
    margin-left: -6rem;
  }
  .p-page-about-tsumugu .imgSec .numH2 span.en {
    font-size: 7.7rem;
    left: -0.6rem;
    top: -0.2em;
  }
}
.p-page-about-tsumugu .imgSec#secTop {
  margin: 0 0 10rem;
  padding-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-about-tsumugu .imgSec#secTop {
    padding-top: 3rem;
    margin-bottom: 19rem;
  }
  .p-page-about-tsumugu .imgSec#secTop .txtArea {
    padding: 0;
  }
  .p-page-about-tsumugu .imgSec#secTop .img {
    width: 37.68%;
    margin: 0;
  }
}
.p-page-about-tsumugu .imgSec#sec01 {
  padding-top: 12rem;
}
.p-page-about-tsumugu .imgSec#sec02 {
  padding-top: 15rem;
}
.p-page-about-tsumugu .imgSec#sec02 .img {
  margin: 4rem auto -4rem;
}
.p-page-about-tsumugu .imgSec#sec02 .bgArea {
  position: relative;
  z-index: -1;
  background: #F7F7F6;
  margin: 0 -2.6rem 0;
  width: calc(100% + 5.2rem);
  padding: 6rem 3.4rem 7rem;
  font-size: 1.2rem;
}
.p-page-about-tsumugu .imgSec#sec02 .bgArea h3 {
  margin-top: 3em;
}
.p-page-about-tsumugu .imgSec#sec03 {
  padding: 15rem 1rem 3rem;
}
.p-page-about-tsumugu .imgSec#sec03 .numH2 {
  letter-spacing: 0.01em;
  margin-right: -1em;
}
.p-page-about-tsumugu .imgSec#sec03 .numH2 .sTxt {
  font-size: 0.9rem;
  display: block;
  letter-spacing: 0.08em;
  margin: 0.4em 0 0;
}
@media screen and (min-width: 768px) {
  .p-page-about-tsumugu .imgSec#sec01 {
    padding-top: 24rem;
  }
  .p-page-about-tsumugu .imgSec#sec02 {
    padding-top: 27rem;
  }
  .p-page-about-tsumugu .imgSec#sec02 .img {
    margin: 0 -6rem -3rem 0;
  }
  .p-page-about-tsumugu .imgSec#sec02 .txtArea {
    padding-bottom: 3rem;
  }
  .p-page-about-tsumugu .imgSec#sec02 .bgArea {
    margin: 0 auto;
    width: 100%;
    max-width: 1130px;
    padding: 2rem 10rem 11rem;
    font-size: 1.4rem;
  }
  .p-page-about-tsumugu .imgSec#sec02 .bgArea h3 {
    margin: 9rem auto 0.9em;
    max-width: 75rem;
  }
  .p-page-about-tsumugu .imgSec#sec02 .bgArea .txt {
    line-height: 2;
    max-width: 75rem;
    margin: 0 auto;
  }
  .p-page-about-tsumugu .imgSec#sec02 .borderMore {
    margin: 7rem auto 0;
  }
  .p-page-about-tsumugu .imgSec#sec03 {
    padding: 28rem 0 8rem;
  }
  .p-page-about-tsumugu .imgSec#sec03 .numH2 {
    font-size: 3.1rem;
    letter-spacing: 0.03em;
  }
  .p-page-about-tsumugu .imgSec#sec03 .numH2 .sTxt {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    margin: 0.4em 0 0;
  }
}
.p-page-about-tsumugu .bgSec {
  position: relative;
  padding: 9rem 1rem;
}
.p-page-about-tsumugu .bgSec:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: #F7F7F6;
}
.p-page-about-tsumugu .bgSec h2 {
  text-align: center;
  margin-bottom: 3em;
}
.p-page-about-tsumugu .bgSec .txt {
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .p-page-about-tsumugu .bgSec {
    padding: 13rem 0 12rem;
  }
  .p-page-about-tsumugu .bgSec .txt {
    text-align: center;
    line-height: 2.3;
  }
}

#urgentHero {
  background: #E2E6DC;
}
#urgentHero h1, #urgentHero .txtBox {
  position: relative;
  z-index: 10;
}
#urgentHero .bg {
  height: 37rem;
  position: absolute;
  z-index: 0;
}
#urgentHero .txtBox {
  margin-top: 25rem;
  font-size: 1.2rem;
  line-height: 2.1;
}
#urgentHero .txtBox p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#urgentHero .txtBox strong {
  display: block;
  margin: 2.5rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2.4;
}
#urgentHero .txtBox strong span {
  display: block;
  margin-left: 2em;
}
@media screen and (min-width: 768px) {
  #urgentHero {
    height: auto;
    padding: 7vw 4rem 7vw 49%;
    max-height: none;
  }
  #urgentHero .bg {
    height: 100%;
  }
  #urgentHero .txtBox {
    margin-top: 6rem;
    font-size: 1.4rem;
    line-height: 2.3;
  }
  #urgentHero .txtBox p {
    display: block;
  }
  #urgentHero .txtBox strong {
    margin: 4.6rem 0;
    font-size: 1.6rem;
  }
  #urgentHero .txtBox strong span {
    display: inline-block;
    margin-left: 1em;
  }
}
@media screen and (min-width: 1280px) {
  #urgentHero {
    padding: 7vw 4rem 7vw 52%;
  }
}

.p-page-urgent-item #secTop {
  padding-top: 2rem;
  margin-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .p-page-urgent-item section {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .p-page-urgent-item #secTop {
    padding-top: 7rem;
    margin-bottom: 3rem;
  }
}
.p-page-urgent-item .saitan {
  margin: 6rem -1.1rem 2rem;
  padding: 5.3rem 3.5rem 3.6rem;
  background: #F7F3EE;
}
.p-page-urgent-item .saitan h3 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  margin-bottom: 0.9em;
}
.p-page-urgent-item .saitan h3 .en {
  color: var(--color-beige);
  font-size: 5.8rem;
  letter-spacing: -0.1em;
  display: inline-block;
  margin-right: 0.15em;
  vertical-align: -0.06em;
}
.p-page-urgent-item .saitan img {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-page-urgent-item .saitan {
    width: 100%;
    max-width: 112.4rem;
    margin: 8rem auto 4.5rem;
    padding: 0;
    display: flex;
    flex-direction: row-reverse;
  }
  .p-page-urgent-item .saitan img {
    margin: 0;
    width: 48rem;
  }
  .p-page-urgent-item .saitan .txtBox {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-page-urgent-item .saitan h3 {
    font-size: 3.2rem;
    margin-bottom: 0.8em;
    text-align: left;
  }
  .p-page-urgent-item .saitan h3 .en {
    font-size: 6.2rem;
    letter-spacing: -0.1em;
    margin: 0 0.18em 0 0.04em;
    vertical-align: -0.06em;
  }
}
.p-page-urgent-item .bgBox {
  background: #F9F9F8;
  border: #C2C2C2 1px solid;
  margin: 0 -1.1rem;
  padding: 0 1.8rem;
}
.p-page-urgent-item .bgBox dl {
  padding: 6rem 2.2rem 5.5rem;
}
.p-page-urgent-item .bgBox dl + dl {
  border-top: #C2C2C2 1px solid;
}
.p-page-urgent-item .bgBox dt {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin-bottom: 2em;
  text-align: center;
}
.p-page-urgent-item .bgBox dd {
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  line-height: 2.1;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-page-urgent-item .bgBox {
    width: 100%;
    max-width: 112.4rem;
    margin: 0 auto;
    padding: 3.5rem 0;
    display: flex;
    justify-content: center;
  }
  .p-page-urgent-item .bgBox dl {
    flex: 1;
    padding: 3.6rem 6rem 2.4rem;
  }
  .p-page-urgent-item .bgBox dl + dl {
    border: none;
    border-left: #C2C2C2 1px solid;
  }
  .p-page-urgent-item .bgBox dt {
    font-size: 1.9rem;
    letter-spacing: 0.05em;
    max-width: 410px;
    margin: 0 auto 1.9em;
  }
  .p-page-urgent-item .bgBox dd {
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    line-height: 1.9;
    max-width: 410px;
    margin: 0 auto;
  }
}
.p-page-urgent-item #secItem {
  padding: 3rem 0 5rem;
}
.p-page-urgent-item #secItem h3 {
  font-size: 1.5rem;
  text-align: center;
  margin: 6.6rem 0 2.4em;
}
.p-page-urgent-item #secItem ul {
  width: 27rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6.5rem 0;
}
.p-page-urgent-item #secItem ul .cate {
  text-align: center;
  font-size: 1.4rem;
  margin: 1.2em 0 0;
}
@media screen and (min-width: 768px) {
  .p-page-urgent-item #secItem {
    padding: 20rem 0 8rem;
  }
  .p-page-urgent-item #secItem h3 {
    font-size: 2rem;
    margin: 12rem 0 2.3em;
  }
  .p-page-urgent-item #secItem ul {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    flex-direction: row;
    align-items: flex-start;
    gap: 0 2.7rem;
  }
  .p-page-urgent-item #secItem ul .cate {
    font-size: 1.6rem;
    margin: 1.4em 0 0;
  }
  .p-page-urgent-item #secItem ul a .img {
    aspect-ratio: 4/3;
    overflow: hidden;
  }
  .p-page-urgent-item #secItem ul a .img img {
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .p-page-urgent-item #secItem ul a:hover .img img {
    transform: scale(1.06);
  }
}

.p-page-making section {
  padding: 0 1rem;
}
.p-page-making .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-page-making section {
    padding: 0;
  }
  .p-page-making .txt {
    font-size: 1.4rem;
    line-height: 2.3;
    text-align: left;
  }
}
.p-page-making #jewelry-making {
  padding-top: 2rem;
  margin-bottom: 15rem;
}
.p-page-making .flow {
  width: 95%;
  margin: 4.8rem auto 0;
  display: block;
}
.p-page-making .flowChart {
  margin: 0 -0.6rem;
  padding-top: 1rem;
}
.p-page-making .flowChart h3 {
  padding-left: 6.5rem;
  position: relative;
  font-size: 2.4rem;
  line-height: 1.3;
  margin-bottom: 1em;
}
.p-page-making .flowChart h3 .num {
  font-size: 3.9rem;
  line-height: 1;
  color: var(--color-beige);
  position: absolute;
  left: 0;
  top: 0;
}
.p-page-making .flowChart h3 .txt01 {
  font-size: 2.2rem;
  line-height: 1;
  color: var(--color-beige);
  display: inline-block;
  margin-left: 0.8em;
}
.p-page-making .flowChart h3 .sTxt {
  font-size: 1.1rem;
  display: block;
  margin-top: 0.7em;
}
.p-page-making .flowChart li {
  margin-top: 9.2rem;
}
.p-page-making .flowChart li .txtBox {
  padding: 4rem 2.6rem 0;
}
.p-page-making .flowChart li:nth-child(odd) {
  transform: translateX(-2rem);
}
.p-page-making .flowChart li:nth-child(even) {
  transform: translateX(2rem);
}
@media screen and (min-width: 768px) {
  .p-page-making #jewelry-making {
    padding-top: 6rem;
    margin-bottom: 20rem;
  }
  .p-page-making #jewelry-making .topTxt {
    max-width: 1080px;
    margin: 0 auto 5rem;
  }
  .p-page-making #jewelry-making .flow {
    max-width: 1060px;
    width: 100%;
    margin: 7.2rem auto 0;
  }
  .p-page-making .flowChart {
    margin: 0;
    padding-top: 1px;
  }
  .p-page-making .flowChart h3 {
    padding-left: 6.8rem;
    font-size: 2.7rem;
    margin-bottom: 1.5em;
  }
  .p-page-making .flowChart h3 .num {
    font-size: 4rem;
  }
  .p-page-making .flowChart h3 .txt01 {
    font-size: 2.3rem;
    margin-left: 0.9em;
  }
  .p-page-making .flowChart h3 .sTxt {
    font-size: 1.2rem;
    display: inline-block;
    margin: 0 0 0 1.3em;
  }
  .p-page-making .flowChart li {
    display: flex;
    margin-top: 8vw;
  }
  .p-page-making .flowChart li img {
    width: 38%;
  }
  .p-page-making .flowChart li .txtBox {
    padding: 4rem 8rem;
    max-width: 78rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .p-page-making .flowChart li:nth-child(odd) {
    transform: none;
  }
  .p-page-making .flowChart li:nth-child(even) {
    transform: none;
    flex-direction: row-reverse;
  }
}
.p-page-making #artisan-support {
  padding: 10rem 1.3rem 9rem;
  margin: 0 -1.6rem;
  position: relative;
}
.p-page-making #artisan-support:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
  background: url(../img/making/o_bg_sp.jpg) no-repeat center top, #F5F0E9;
  background-size: 100%;
}
.p-page-making #artisan-support:after {
  content: "";
  display: block;
  width: 90%;
  height: 18rem;
  position: absolute;
  left: 5%;
  top: 8rem;
  border-radius: 50%;
  background: #fff;
  z-index: -1;
  filter: blur(4rem);
  opacity: 0.9;
}
.p-page-making #artisan-support .txtTop {
  text-align: center;
}
.p-page-making #artisan-support h2 {
  text-align: center;
  margin-bottom: 1.4em;
  font-size: 2.3rem;
  line-height: 1.6;
  color: var(--color-beige);
}
.p-page-making #artisan-support h2 .en {
  font-size: 1.7rem;
  color: var(--color-gray2);
  display: block;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .p-page-making #artisan-support {
    padding: 20rem 0 15rem;
    margin: 0;
  }
  .p-page-making #artisan-support:before {
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/making/o_bg_pc.jpg);
  }
  .p-page-making #artisan-support:after {
    width: 63rem;
    height: 36rem;
    left: 50%;
    top: 12rem;
    transform: translateX(-50%);
  }
  .p-page-making #artisan-support .txtTop {
    font-size: 1.5rem;
    line-height: 2.1;
  }
  .p-page-making #artisan-support h2 {
    margin-bottom: 1.8em;
    font-size: 3rem;
  }
  .p-page-making #artisan-support h2 .en {
    font-size: 2.2rem;
    margin-bottom: 1em;
  }
}
.p-page-making #artisan-support ul {
  margin: 8rem 0 5rem;
  padding: 0 1.6rem 1.2rem;
  background: #fff;
}
.p-page-making #artisan-support ul li {
  padding: 4.2rem 0 5.3rem;
}
.p-page-making #artisan-support ul li + li {
  border-top: rgba(var(--bg1), 0.6) 1px solid;
}
.p-page-making #artisan-support ul .img {
  width: 7rem;
  margin: 0 auto;
  display: block;
}
.p-page-making #artisan-support ul dl {
  margin: 0 2.2rem;
}
.p-page-making #artisan-support ul dt {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.4;
  margin: 1.4em 0 1.1em;
}
.p-page-making #artisan-support ul dd {
  font-size: 1.2rem;
  line-height: 1.8;
}
.p-page-making #artisan-support ul .c-btn-cart {
  width: 25.8rem;
  font-size: 1.1rem;
  font-weight: 400;
  height: 4.8rem;
  margin: 4.2rem auto 0;
  gap: 0 1.5rem;
}
.p-page-making #artisan-support ul .c-btn-cart img {
  width: 2.1rem;
}
.p-page-making #artisan-support ul .bgBox {
  background: rgba(var(--bg1), 0.1);
  padding: 2.8rem 2.2rem 3rem;
  margin-top: 3.2rem;
}
.p-page-making #artisan-support ul .bgBox h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.25em;
}
.p-page-making #artisan-support ul .bgBox .txt {
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-page-making #artisan-support ul .bgBox .txt + h3 {
  margin-top: 2.2em;
}
@media screen and (min-width: 768px) {
  .p-page-making #artisan-support ul {
    max-width: 1100px;
    margin: 12rem auto 10rem;
    padding: 1.6rem 7.6rem 2rem;
  }
  .p-page-making #artisan-support ul li {
    padding: 10.8rem 7.3rem;
  }
  .p-page-making #artisan-support ul .img {
    width: 8rem;
    margin: 0;
  }
  .p-page-making #artisan-support ul .flex {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 3.5rem;
  }
  .p-page-making #artisan-support ul dl {
    margin: 0;
  }
  .p-page-making #artisan-support ul dt {
    text-align: left;
    font-size: 2.2rem;
    margin: 0 0 1.6em;
  }
  .p-page-making #artisan-support ul dd {
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .p-page-making #artisan-support ul .c-btn-cart {
    width: 31.8rem;
    font-size: 1.4rem;
    font-weight: 500;
    height: 5.3rem;
    margin: 4rem 0 0;
    gap: 0 1.6rem;
  }
  .p-page-making #artisan-support ul .c-btn-cart img {
    width: 2.4rem;
  }
  .p-page-making #artisan-support ul .bgBox {
    padding: 4.4rem 5.8rem 5rem;
    margin-top: 5.4rem;
  }
  .p-page-making #artisan-support ul .bgBox h3 {
    font-size: 1.5rem;
    margin-bottom: 0.6em;
  }
  .p-page-making #artisan-support ul .bgBox .txt {
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .p-page-making #artisan-support ul .bgBox .txt + h3 {
    margin-top: 3em;
  }
}
.p-page-making #our-artisans {
  margin: 11rem 0 0;
  padding: 3rem 1rem 0;
}
.p-page-making #our-artisans h2 {
  text-align: center;
  margin-bottom: 4.2rem;
}
.p-page-making #our-artisans h2 strong {
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 1;
  color: var(--color-beige);
}
.p-page-making #our-artisans h2 span {
  font-size: 1.5rem;
  font-weight: 400;
  margin-top: 1.3em;
  padding-top: 1.2em;
  display: block;
  position: relative;
}
.p-page-making #our-artisans h2 span:before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 1px;
  background: #D9D9D9;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.p-page-making #our-artisans .topTxt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-page-making #our-artisans {
    margin: 20rem 0 0;
    padding: 5rem 0 0;
  }
  .p-page-making #our-artisans h2 {
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin-bottom: 6.8rem;
  }
  .p-page-making #our-artisans h2 strong {
    font-size: 3.7rem;
  }
  .p-page-making #our-artisans h2 span {
    font-size: 1.8rem;
    margin: 0 0 0 2.2em;
    padding: 0 0 0 2em;
  }
  .p-page-making #our-artisans h2 span:before {
    width: 2px;
    height: 3.2rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .p-page-making #our-artisans .topTxt {
    font-size: 1.5rem;
    line-height: 2;
    text-align: center;
  }
}
.p-page-making #our-artisans .subTtl {
  position: relative;
  padding: 3.7rem 0 3.4rem;
  margin: 4.8rem 0 0;
}
.p-page-making #our-artisans .subTtl:before, .p-page-making #our-artisans .subTtl:after {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 1px;
  background: var(--color-beige);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  opacity: 0.8;
}
.p-page-making #our-artisans .subTtl:after {
  top: auto;
  bottom: 0;
}
.p-page-making #our-artisans .subTtl h3 {
  text-align: center;
}
.p-page-making #our-artisans .subTtl h3 strong {
  font-size: 2.9rem;
  line-height: 1.24;
  font-weight: 400;
  color: var(--color-beige);
}
.p-page-making #our-artisans .subTtl h3 span {
  font-size: 1rem;
  margin-top: 1em;
  display: block;
}
.p-page-making #our-artisans .subTtl p {
  font-size: 1.2rem;
  line-height: 1.8;
  text-align: center;
  margin-top: 4.2rem;
}
@media screen and (min-width: 768px) {
  .p-page-making #our-artisans .subTtl {
    padding: 3.5rem 0;
    margin: 10rem auto 0;
    max-width: 1280px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-page-making #our-artisans .subTtl h3 {
    text-align: left;
  }
  .p-page-making #our-artisans .subTtl h3 strong {
    font-size: 4rem;
  }
  .p-page-making #our-artisans .subTtl h3 span {
    font-size: 1.4rem;
    margin: 0.3em 0 -0.2em;
    padding-left: 0.2em;
  }
  .p-page-making #our-artisans .subTtl p {
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
    margin: 0;
  }
}
.p-page-making #our-artisans .artisansList {
  padding: 0 1.5rem 2rem;
  margin-top: 6rem;
}
.p-page-making #our-artisans .artisansList li + li {
  margin-top: 8rem;
}
.p-page-making #our-artisans .artisansList img {
  width: 90%;
  display: block;
  margin: 0 auto;
}
.p-page-making #our-artisans .artisansList .box {
  padding: 2rem 0.8rem 0;
}
.p-page-making #our-artisans .artisansList .box h4 {
  font-size: 1.7rem;
  margin-bottom: 0.3em;
}
.p-page-making #our-artisans .artisansList .box h4 span {
  font-size: 1.3rem;
  display: inline-block;
  margin-left: 0.5em;
}
.p-page-making #our-artisans .artisansList .box .company {
  font-size: 1.3rem;
}
.p-page-making #our-artisans .artisansList .box .specialties {
  font-size: 1.1rem;
}
.p-page-making #our-artisans .artisansList .box .txt {
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: justify;
  padding-top: 1.3em;
  margin-top: 1.5em;
  border-top: rgba(var(--bg1), 0.7) 1px solid;
}
.p-page-making #our-artisans .artisansList .box .more {
  font-size: 1.5rem;
  line-height: 1.6;
  width: 5em;
  text-align: center;
  margin: 1em 0 0 auto;
  border-bottom: rgba(var(--color-txt2), 0.5) 1px solid;
}
@media screen and (min-width: 768px) {
  .p-page-making #our-artisans .artisansList {
    padding: 0 0 4rem;
    margin: 8rem auto 0;
    max-width: 1160px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12rem 6%;
  }
  .p-page-making #our-artisans .artisansList li {
    margin: 0 !important;
  }
  .p-page-making #our-artisans .artisansList img {
    width: 100%;
  }
  .p-page-making #our-artisans .artisansList .box h4 {
    font-size: 1.8rem;
    margin-bottom: 0.4em;
  }
  .p-page-making #our-artisans .artisansList .box h4 span {
    font-size: 1.4rem;
    margin-left: 0.5em;
  }
  .p-page-making #our-artisans .artisansList .box .company {
    font-size: 1.4rem;
  }
  .p-page-making #our-artisans .artisansList .box .specialties {
    font-size: 1.2rem;
  }
  .p-page-making #our-artisans .artisansList .box .txt {
    font-size: 1.3rem;
    line-height: 1.8;
    padding-top: 1.1em;
    margin-top: 1.4em;
  }
  .p-page-making #our-artisans .artisansList .box .more {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 1em 0 0 auto;
  }
}

.p-page-about-staff #topMessage {
  padding: 2rem 1rem 0;
}
.p-page-about-staff #topMessage .flex + .flex {
  margin-top: 13rem;
}
.p-page-about-staff #topMessage h3 {
  font-size: 2.1rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  margin-bottom: 1.7em;
}
.p-page-about-staff #topMessage .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
.p-page-about-staff #topMessage .img {
  margin: 5rem auto 0;
  width: 80%;
  display: block;
}
.p-page-about-staff #topMessage .img01 {
  width: 90%;
}
.p-page-about-staff #topMessage .top h3 {
  padding-top: 1.4rem;
}
.p-page-about-staff #topMessage .name {
  margin-top: 4rem;
  font-size: 1.5rem;
  text-align: right;
}
.p-page-about-staff #topMessage .name span {
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.5em;
}
@media screen and (min-width: 768px) {
  .p-page-about-staff #topMessage {
    padding: 6rem 0 0;
  }
  .p-page-about-staff #topMessage .flex + .flex {
    margin-top: 20rem;
  }
  .p-page-about-staff #topMessage .flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 9.5%;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-page-about-staff #topMessage .flex .img {
    width: 35.5%;
    margin: 0;
  }
  .p-page-about-staff #topMessage .flex:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-page-about-staff #topMessage .flex.top {
    transform: translateX(6rem);
    gap: 0 10%;
  }
  .p-page-about-staff #topMessage h3 {
    font-size: 2.6rem;
    line-height: 1.4;
    margin-bottom: 2em;
  }
  .p-page-about-staff #topMessage .txt {
    font-size: 1.4rem;
    line-height: 2.2;
    text-align: justify;
  }
  .p-page-about-staff #topMessage .img01 {
    width: 42% !important;
  }
  .p-page-about-staff #topMessage .top h3 {
    padding-top: 2.2rem;
  }
  .p-page-about-staff #topMessage .name {
    margin-top: 7rem;
    font-size: 1.8rem;
  }
  .p-page-about-staff #topMessage .name span {
    font-size: 1.2rem;
    margin-right: 1.5em;
  }
}
.p-page-about-staff #staff {
  position: relative;
  margin-top: 14rem;
}
.p-page-about-staff #staff:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  transform: translateX(-50%);
  background: rgba(var(--bg1), 0.2);
}
.p-page-about-staff #staff .titleBox {
  margin: 0 -1.6rem;
  background: #807C71;
  color: #fff;
}
.p-page-about-staff #staff .titleBox .txtBox {
  padding: 4rem 4rem 3.8rem;
}
.p-page-about-staff #staff .titleBox img {
  display: block;
  margin: 0;
}
.p-page-about-staff #staff .titleBox h2 {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  font-weight: 300;
  margin-bottom: 0.9em;
}
.p-page-about-staff #staff .titleBox p {
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  font-weight: 300;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-about-staff #staff {
    margin-top: 30rem;
  }
  .p-page-about-staff #staff .titleBox {
    position: relative;
    margin: 0 -6rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-page-about-staff #staff .titleBox:before {
    content: "";
    display: block;
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
    height: 100%;
    background: #807C71;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: -1;
  }
  .p-page-about-staff #staff .titleBox .txtBox {
    padding: 4rem 0;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-page-about-staff #staff .titleBox img {
    width: 60.875%;
  }
  .p-page-about-staff #staff .titleBox h2 {
    font-size: 3.6rem;
    letter-spacing: 0.08em;
    margin-bottom: 1em;
  }
  .p-page-about-staff #staff .titleBox p {
    font-size: 1.4rem;
    line-height: 2.2;
  }
}
.p-page-about-staff #staff ul {
  margin: 6rem 2rem 0;
  padding-bottom: 7rem;
}
.p-page-about-staff #staff ul li {
  background: #fff;
  box-shadow: 2px 4px 6px -2px rgba(0, 0, 0, 0.1);
  padding: 2rem;
}
.p-page-about-staff #staff ul li + li {
  margin-top: 2rem;
}
.p-page-about-staff #staff ul li .role {
  font-size: 1.1rem;
}
.p-page-about-staff #staff ul li .name {
  font-size: 1.9rem;
}
.p-page-about-staff #staff ul li .roma {
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--color-beige);
}
.p-page-about-staff #staff ul li .txt {
  font-size: 1.2rem;
  line-height: 1.8;
  text-align: justify;
  margin-top: 2.5em;
}
@media screen and (min-width: 768px) {
  .p-page-about-staff #staff ul {
    margin: 11rem auto 0;
    padding-bottom: 14rem;
    max-width: 1080px;
  }
  .p-page-about-staff #staff ul li {
    padding: 3.5rem 6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 6rem;
  }
  .p-page-about-staff #staff ul li + li {
    margin-top: 2.4rem;
  }
  .p-page-about-staff #staff ul li .prof {
    width: 15rem;
  }
  .p-page-about-staff #staff ul li .role {
    font-size: 1.2rem;
    margin-bottom: 0.2em;
  }
  .p-page-about-staff #staff ul li .name {
    font-size: 2.3rem;
  }
  .p-page-about-staff #staff ul li .roma {
    font-size: 1.1rem;
    letter-spacing: 0.1em;
  }
  .p-page-about-staff #staff ul li .txt {
    font-size: 1.4rem;
    line-height: 1.9;
    text-align: left;
    margin-top: 0;
    width: 50em;
  }
}

.craftsmanHero {
  padding: 0 1.4rem 4.4rem;
  position: relative;
}
.craftsmanHero:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background: url(../img/craftsmanship/bg_sp.jpg) no-repeat;
  background-size: cover;
}
.craftsmanHero h1 {
  min-height: 16.4rem;
  padding: 1.1em 1.6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: 1.9rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.craftsmanHero img {
  aspect-ratio: 602/430;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 16.4rem;
  width: 35.2rem;
  transform: translateX(-50%);
}
.craftsmanHero .txtBox div {
  margin: 28rem 0 0;
  padding: 0 0 0 0.8rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.craftsmanHero .txtBox .name {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.craftsmanHero .txtBox .name span {
  font-size: 0.9rem;
  line-height: 1;
  display: block;
}
.craftsmanHero .txtBox .info {
  font-size: 1.3rem;
}
.craftsmanHero .txtBox .info span {
  font-size: 0.9rem;
  line-height: 1.5;
  padding-top: 0.1em;
  display: block;
}
@media screen and (min-width: 768px) {
  .craftsmanHero {
    padding: 6.8rem 0 6.8rem 8rem;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 0 7rem;
  }
  .craftsmanHero:before {
    background-image: url(../img/craftsmanship/bg_pc.jpg);
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    width: calc(100vw - var(--scrollBar));
  }
  .craftsmanHero img {
    position: relative;
    left: auto;
    top: auto;
    width: 60.2rem;
    transform: none;
  }
  .craftsmanHero h1 {
    display: block;
    min-height: 0;
    padding: 0;
    font-size: 2.8rem;
    line-height: 1.9;
    letter-spacing: 0.08em;
  }
  .craftsmanHero .txtBox div {
    margin: 7.8rem 0 0;
    padding: 0 0 0 0.8rem;
    display: block;
  }
  .craftsmanHero .txtBox .name {
    font-size: 2.3rem;
    display: flex;
    align-items: center;
    border-bottom: var(--color-gray2) 1px solid;
    padding-bottom: 0.5em;
    margin-bottom: 0.8em;
  }
  .craftsmanHero .txtBox .name span {
    font-size: 1.3rem;
    display: inline-block;
    margin-right: 1.5em;
  }
  .craftsmanHero .txtBox .info {
    font-size: 1.5rem;
  }
  .craftsmanHero .txtBox .info span {
    font-size: 1.3rem;
    line-height: 1.5;
    padding: 0;
    display: inline-block;
    margin-left: 1.6em;
  }
}

.p-page-craftmanship .l-container {
  padding-left: 2.8rem;
  padding-right: 2.8rem;
}
.p-page-craftmanship .nTxt {
  font-size: 1.3rem;
  line-height: 2;
  text-align: justify;
}
.p-page-craftmanship .topImg {
  margin: 4rem -2.8rem 0;
  text-align: center;
}
.p-page-craftmanship .topImg img {
  max-width: 100%;
  max-height: 100vw;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-page-craftmanship {
    padding-top: 3rem;
  }
  .p-page-craftmanship .l-container {
    padding-left: 6rem;
    padding-right: 6rem;
  }
  .p-page-craftmanship .nTxt {
    font-size: 1.4rem;
    line-height: 2.5;
    text-align: left;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-page-craftmanship .topImg {
    margin: 7rem auto 0;
    text-align: center;
  }
  .p-page-craftmanship .topImg img {
    max-width: 844px;
    max-height: 700px;
  }
}
.p-page-craftmanship section.story {
  margin-top: 12rem;
}
.p-page-craftmanship section.story div.story {
  overflow: hidden;
  margin-bottom: 2rem;
  color: var(--color-beige);
  font-size: 2rem;
  line-height: 1;
}
.p-page-craftmanship section.story div.story p {
  display: inline-block;
  position: relative;
}
.p-page-craftmanship section.story div.story p:before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  position: absolute;
  right: -1rem;
  top: 45%;
  transform: translateX(100%);
  background: var(--color-gray2);
}
.p-page-craftmanship section.story div.story span {
  font-size: 4rem;
  letter-spacing: -0.06em;
  color: var(--color-gray2);
  transform: skewX(-12deg);
  display: inline-block;
  margin-left: 0.2em;
  vertical-align: -0.1em;
}
.p-page-craftmanship section.story h2 {
  font-size: 2rem;
  letter-spacing: 0.07em;
  line-height: 1.6;
  margin-bottom: 1em;
}
.p-page-craftmanship section.story .txt {
  font-size: 1.2rem;
  line-height: 1.9;
  text-align: justify;
}
.p-page-craftmanship section.story img {
  margin-top: 5rem;
  aspect-ratio: 590/443;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-page-craftmanship section.story {
    margin-top: 24rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 6.9%;
  }
  .p-page-craftmanship section.story + section.story {
    margin-top: 18rem;
  }
  .p-page-craftmanship section.story div.story {
    margin-bottom: 4.6rem;
    font-size: 2.5rem;
  }
  .p-page-craftmanship section.story div.story p:before {
    right: -1.4rem;
    top: 45%;
  }
  .p-page-craftmanship section.story div.story span {
    font-size: 4.8rem;
    margin-left: 0.2em;
    vertical-align: -0.1em;
  }
  .p-page-craftmanship section.story .txtBox {
    max-width: 61.2rem;
  }
  .p-page-craftmanship section.story h2 {
    font-size: 2.4rem;
    letter-spacing: 0.07em;
    line-height: 1.8;
    margin-bottom: 1.3em;
  }
  .p-page-craftmanship section.story .txt {
    font-size: 1.4rem;
    line-height: 2.3;
  }
  .p-page-craftmanship section.story img {
    margin: 0;
    width: 42.75%;
  }
}
.p-page-craftmanship section.message {
  background: url(../img/craftsmanship/message_bg.jpg) no-repeat bottom right, #F9F3ED;
  background-size: 170%;
  position: relative;
  margin: 13rem -1.2rem 0;
  padding: 4rem 2.6rem 5rem;
}
.p-page-craftmanship section.message:before {
  content: "";
  display: block;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  position: absolute;
  left: 5px;
  top: 5px;
  border: var(--color-beige) 1px solid;
  opacity: 0.6;
}
.p-page-craftmanship section.message .en {
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  color: var(--color-beige);
  margin-bottom: 0.5em;
}
.p-page-craftmanship section.message h2 {
  font-size: 2.3rem;
  line-height: 1.4;
  font-weight: 300;
  letter-spacing: 0.08em;
  margin-bottom: 1.7em;
}
.p-page-craftmanship section.message h2 span {
  font-size: 2rem;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-left: 0.3em;
}
.p-page-craftmanship section.message .txt {
  font-size: 1.2rem;
  line-height: 2.2;
  text-align: justify;
}
.p-page-craftmanship section.message img {
  width: 80%;
  display: block;
  margin: 4rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-craftmanship section.message {
    max-width: 1220px;
    margin: 25rem auto 0;
    padding: 7.6rem 8.7rem 9rem 7.4rem;
    background-size: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 9%;
  }
  .p-page-craftmanship section.message:before {
    width: calc(100% - 22px);
    height: calc(100% - 22px);
    left: 11px;
    top: 11px;
  }
  .p-page-craftmanship section.message .en {
    font-size: 1.8rem;
    margin-bottom: 0.8em;
  }
  .p-page-craftmanship section.message h2 {
    font-size: 3.1rem;
    margin-bottom: 1.7em;
  }
  .p-page-craftmanship section.message h2 span {
    font-size: 2.9rem;
    margin-left: 0.3em;
  }
  .p-page-craftmanship section.message .txt {
    font-size: 1.4rem;
    line-height: 2.7;
  }
  .p-page-craftmanship section.message img {
    width: 33rem;
    margin: 0;
  }
}
.p-page-craftmanship .nextStep {
  margin: 12rem 0 0;
}
.p-page-craftmanship .nextStep h2 {
  text-align: center;
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.3;
  color: var(--color-beige);
}
.p-page-craftmanship .nextStep .txt {
  font-size: 1.3rem;
  line-height: 1.8;
  text-align: center;
  margin: 1em 0 2em;
}
.p-page-craftmanship .nextStep .barBox {
  border-top: rgba(var(--bg1), 0.15) 6px solid;
  border-bottom: rgba(var(--bg1), 0.15) 6px solid;
  padding: 2.8rem 2.4rem 2rem;
  margin: 3rem -2.8rem 4rem;
}
.p-page-craftmanship .nextStep .barBox h3 {
  text-align: center;
  font-size: 1.7rem;
  margin-bottom: 2.5em;
}
.p-page-craftmanship .nextStep .barBox h3 strong {
  font-size: 110%;
  font-weight: 500;
  letter-spacing: 0;
  display: inline-block;
  margin: 0 0.1em 0 0.3em;
}
.p-page-craftmanship .nextStep .barBox .bar {
  background: rgba(var(--bg1), 0.35);
  position: relative;
  height: 4rem;
}
.p-page-craftmanship .nextStep .barBox .barP {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  height: 100%;
  width: 0%;
  background: #4D8D88;
}
.p-page-craftmanship .nextStep .barBox .in .barP {
  width: var(--bar-width);
  transition: width 1.2s ease;
}
.p-page-craftmanship .nextStep .barBox .bar ul {
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  width: calc(100% + 2px);
  height: 100%;
  font-size: 1.1rem;
  letter-spacing: 0;
  font-weight: 500;
}
.p-page-craftmanship .nextStep .barBox .bar ul li {
  width: 1px;
  background: #fff;
  position: relative;
}
.p-page-craftmanship .nextStep .barBox .bar ul li p {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-51%, -2em);
  white-space: nowrap;
  text-align: center;
}
.p-page-craftmanship .nextStep .barBox .bar ul span {
  font-size: 0.7rem;
  display: inline-block;
  margin-left: 0.2em;
}
.p-page-craftmanship .nextStep .barBox .goal {
  text-align: center;
  margin-top: 2rem;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.p-page-craftmanship .nextStep .barBox .goal strong {
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.7rem;
  margin: 0 0.2em 0 0.5em;
}
.p-page-craftmanship .nextStep .barBox .dotList {
  margin: 2rem 0 0;
  font-size: 1.3rem;
}
.p-page-craftmanship .nextStep .barBox .dotList a {
  text-decoration: underline;
}
.p-page-craftmanship .nextStep .barBox .dotList a.insta:after {
  content: "インスタグラム";
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 500;
  padding-left: 1.8em;
  margin-left: 1em;
  background: url(../img/common/icon/i-instagram2.svg) no-repeat left center;
  background-size: contain;
  color: var(--color-primary);
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-page-craftmanship .nextStep .barBox .dotList a:hover {
    text-decoration: none;
  }
}
.p-page-craftmanship .nextStep .c-btn-cart {
  margin: 3rem auto 0;
  width: 90%;
  height: 3.5em;
}
@media screen and (min-width: 768px) {
  .p-page-craftmanship .nextStep {
    margin: 28rem auto 0;
    max-width: 1000px;
  }
  .p-page-craftmanship .nextStep h2 {
    font-size: 4.3rem;
  }
  .p-page-craftmanship .nextStep .txt {
    font-size: 1.6rem;
    margin: 0.7em 0 2.8em;
  }
  .p-page-craftmanship .nextStep .barBox {
    border: rgba(var(--bg1), 0.15) 8px solid;
    padding: 4rem 5.8rem 2rem;
    margin: 0 0 7rem;
  }
  .p-page-craftmanship .nextStep .barBox h3 {
    font-size: 2rem;
    margin-bottom: 6.5rem;
  }
  .p-page-craftmanship .nextStep .barBox .bar {
    height: 6rem;
  }
  .p-page-craftmanship .nextStep .barBox .bar ul {
    left: -2px;
    width: calc(100% + 4px);
    font-size: 1.7rem;
  }
  .p-page-craftmanship .nextStep .barBox .bar ul li {
    width: 2px;
  }
  .p-page-craftmanship .nextStep .barBox .bar ul li p {
    left: 1px;
    transform: translate(-51%, -2em);
  }
  .p-page-craftmanship .nextStep .barBox .bar ul span {
    font-size: 1.2rem;
    margin-left: 0.2em;
  }
  .p-page-craftmanship .nextStep .barBox .goal {
    margin-top: 2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: flex-end;
    text-align: left;
  }
  .p-page-craftmanship .nextStep .barBox .goal strong {
    font-size: 2.4rem;
    line-height: 1.2;
    margin: 0 0.2em 0 0.8em;
  }
  .p-page-craftmanship .nextStep .barBox .dotList {
    margin: 1.6rem 0 0;
    font-size: 1.5rem;
  }
  .p-page-craftmanship .nextStep .barBox .dotList a.insta:after {
    vertical-align: 0.2rem;
    font-size: 1rem;
    line-height: 1.8;
    font-weight: 500;
    padding-left: 2.2em;
    margin-left: 1em;
    background-size: contain;
  }
  .p-page-craftmanship .nextStep .c-btn-cart {
    margin: 6rem auto 0;
    width: 42.2rem;
    height: 6.2rem;
    font-size: 1.6rem;
  }
}
.p-page-craftmanship .companyInfo {
  margin: 15rem 0 0;
  padding-bottom: 3rem;
}
.p-page-craftmanship .companyInfo h2 {
  position: relative;
  font-size: 1.9rem;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 0.7em;
  margin-bottom: 2em;
}
.p-page-craftmanship .companyInfo h2:before {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: var(--color-beige);
}
@media screen and (min-width: 768px) {
  .p-page-craftmanship .companyInfo {
    margin: 24rem 0 0;
    padding-bottom: 5rem;
  }
  .p-page-craftmanship .companyInfo h2 {
    font-size: 2.2rem;
    padding-bottom: 0.9em;
    margin-bottom: 3em;
  }
  .p-page-craftmanship .companyInfo h2:before {
    width: 6rem;
  }
  .p-page-craftmanship .companyInfo table.tbl {
    max-width: 860px;
    margin: 0 auto;
  }
}

.howtoOrderSec .txt, .howtoOrderSec#order .txt {
  font-size: 1.2rem;
  line-height: 2;
  text-align: justify;
}
.howtoOrderSec .kome, .howtoOrderSec#order .kome {
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 1.4em 0 0;
  padding-bottom: 0.5em;
}
.howtoOrderSec h2.step, .howtoOrderSec#order h2.step {
  margin: 7rem 0 2rem;
  padding: 0 0 1.2rem;
  border-bottom: var(--color-gray2) 1px solid;
  font-weight: 400;
}
.howtoOrderSec h2.step .en, .howtoOrderSec#order h2.step .en {
  color: var(--color-beige);
  font-size: 1.6rem;
  line-height: 1;
}
.howtoOrderSec h2.step .en.num, .howtoOrderSec#order h2.step .en.num {
  color: var(--color-gray2);
  font-size: 2.7rem;
  letter-spacing: -0.05em;
  line-height: 1;
  transform: skewX(-12deg);
  display: inline-block;
  vertical-align: -0.1em;
  margin-left: 0.2em;
}
.howtoOrderSec h2.step .ttl, .howtoOrderSec#order h2.step .ttl {
  display: block;
  padding: 0.1em 0 0 1rem;
  font-size: 1.6rem;
  line-height: 1.6;
}
.howtoOrderSec .howtoOrder, .howtoOrderSec#order .howtoOrder {
  background: rgba(var(--bg1), 0.1);
  padding: 2.1rem 1.8rem;
  margin-bottom: -2rem;
}
.howtoOrderSec .howtoOrder h3, .howtoOrderSec#order .howtoOrder h3 {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0 0 0.9em;
  padding: 0;
  text-align: center;
}
.howtoOrderSec .howtoOrder h3:before, .howtoOrderSec#order .howtoOrder h3:before {
  content: none;
}
.howtoOrderSec .howtoOrder p, .howtoOrderSec#order .howtoOrder p {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .howtoOrderSec .txt, .howtoOrderSec#order .txt {
    font-size: 1.4rem;
    line-height: 2;
    text-align: justify;
  }
  .howtoOrderSec .kome, .howtoOrderSec#order .kome {
    font-size: 1.3rem;
    line-height: 1.6;
    margin: 1.4em 0 0;
    padding-bottom: 0.5em;
  }
  .howtoOrderSec h2.step, .howtoOrderSec#order h2.step {
    margin: 11rem 0 3rem;
    padding: 0 1.6rem 1.6rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
  }
  .howtoOrderSec h2.step .en, .howtoOrderSec#order h2.step .en {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  .howtoOrderSec h2.step .en.num, .howtoOrderSec#order h2.step .en.num {
    font-size: 4.8rem;
    line-height: 1;
    vertical-align: 0;
    transform: translateY(0.1em) skewX(-12deg);
    margin-left: 0.2em;
  }
  .howtoOrderSec h2.step .ttl, .howtoOrderSec#order h2.step .ttl {
    padding: 0 0 0.15em 3rem;
    font-size: 2rem;
    line-height: 1.6;
  }
  .howtoOrderSec .howtoOrder, .howtoOrderSec#order .howtoOrder {
    padding: 3rem 3rem 3.4rem;
    margin-bottom: -3.5rem;
  }
  .howtoOrderSec .howtoOrder h3, .howtoOrderSec#order .howtoOrder h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 0.7em;
  }
  .howtoOrderSec .howtoOrder p, .howtoOrderSec#order .howtoOrder p {
    font-size: 1.4rem;
    text-align: center;
  }
}
.howtoOrderSec .stepInner, .howtoOrderSec#order .stepInner {
  padding: 0 0.3rem;
}
.howtoOrderSec .stepInner h3, .howtoOrderSec#order .stepInner h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 2.6em 0 0.5em;
  padding: 0;
}
.howtoOrderSec .stepInner h3:before, .howtoOrderSec#order .stepInner h3:before {
  content: none;
}
.howtoOrderSec .stepInner .flex, .howtoOrderSec#order .stepInner .flex {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.6em 0;
}
.howtoOrderSec .stepInner .flex img, .howtoOrderSec#order .stepInner .flex img {
  display: block;
  width: 94%;
  margin: 0 auto;
}
.howtoOrderSec .stepInner .bgArea, .howtoOrderSec#order .stepInner .bgArea {
  background: rgba(var(--bg1), 0.15);
  padding: 2rem 2.1rem;
  margin: 2rem -1rem;
}
.howtoOrderSec .stepInner .bigTxt, .howtoOrderSec#order .stepInner .bigTxt {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.8;
}
.howtoOrderSec .stepInner .nblock, .howtoOrderSec#order .stepInner .nblock {
  margin: 2.5rem 0 4rem;
}
.howtoOrderSec .stepInner .btnList, .howtoOrderSec#order .stepInner .btnList {
  margin: 3rem auto 0;
  width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem 0;
}
.howtoOrderSec .stepInner .btnList li, .howtoOrderSec#order .stepInner .btnList li {
  width: 100%;
}
.howtoOrderSec .stepInner .btnList li a, .howtoOrderSec#order .stepInner .btnList li a {
  margin: 0 auto;
}
.howtoOrderSec .stepInner .c-btn-cart, .howtoOrderSec#order .stepInner .c-btn-cart {
  margin: 2.5rem auto 0;
  width: 90%;
  font-size: 1.3rem;
  font-weight: 400;
  height: 3.7em;
  gap: 0 1rem;
}
.howtoOrderSec .stepInner .c-btn-cart img, .howtoOrderSec#order .stepInner .c-btn-cart img {
  width: 2rem;
}
.howtoOrderSec .stepInner .information, .howtoOrderSec#order .stepInner .information {
  background: rgba(var(--color-beige2), 0.1);
  padding: 2.1rem 2rem 2.1rem;
  margin: 3.4rem 0 0;
}
.howtoOrderSec .stepInner .information h3, .howtoOrderSec#order .stepInner .information h3 {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--color-beige);
  margin: 0 0 0.9em;
}
.howtoOrderSec .stepInner .information .txt, .howtoOrderSec#order .stepInner .information .txt {
  line-height: 1.8;
}
.howtoOrderSec .stepInner .information .c-btn-border, .howtoOrderSec#order .stepInner .information .c-btn-border {
  margin-top: 2rem;
  background: rgba(255, 255, 255, 0.7);
}
@media screen and (min-width: 768px) {
  .howtoOrderSec .stepInner, .howtoOrderSec#order .stepInner {
    padding: 0 1.6rem;
  }
  .howtoOrderSec .stepInner h3, .howtoOrderSec#order .stepInner h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 3em 0 0.6em;
  }
  .howtoOrderSec .stepInner .flex, .howtoOrderSec#order .stepInner .flex {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 0 5.1%;
    padding-top: 1rem;
  }
  .howtoOrderSec .stepInner .flex .txt, .howtoOrderSec#order .stepInner .flex .txt {
    flex: 1;
  }
  .howtoOrderSec .stepInner .flex .img, .howtoOrderSec#order .stepInner .flex .img {
    width: 39.8%;
  }
  .howtoOrderSec .stepInner .flex img, .howtoOrderSec#order .stepInner .flex img {
    width: 100%;
  }
  .howtoOrderSec .stepInner .bgArea, .howtoOrderSec#order .stepInner .bgArea {
    padding: 3.5rem 4rem;
    margin: 3rem 0;
  }
  .howtoOrderSec .stepInner .bigTxt, .howtoOrderSec#order .stepInner .bigTxt {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
  }
  .howtoOrderSec .stepInner .nblock, .howtoOrderSec#order .stepInner .nblock {
    margin: 4rem 0 6rem;
  }
  .howtoOrderSec .stepInner .btnList, .howtoOrderSec#order .stepInner .btnList {
    margin: 4rem auto 0;
    width: 31.8rem;
    flex-direction: column;
    align-items: center;
    gap: 2.2rem 0;
  }
  .howtoOrderSec .stepInner .btnList .c-btn-border, .howtoOrderSec#order .stepInner .btnList .c-btn-border {
    font-size: 1.5rem;
    height: 5.6rem;
  }
  .howtoOrderSec .stepInner .c-btn-cart, .howtoOrderSec#order .stepInner .c-btn-cart {
    margin: 3rem auto 0;
    width: 31.8rem;
    font-size: 1.4rem;
    height: 5.6rem;
    gap: 0 1.6rem;
  }
  .howtoOrderSec .stepInner .c-btn-cart img, .howtoOrderSec#order .stepInner .c-btn-cart img {
    width: 2.4rem;
  }
  .howtoOrderSec .stepInner .information, .howtoOrderSec#order .stepInner .information {
    padding: 3.8rem 4rem 3.6rem;
    margin: 5rem 0 0;
  }
  .howtoOrderSec .stepInner .information h3, .howtoOrderSec#order .stepInner .information h3 {
    font-size: 1.7rem;
    margin: 0 0 0.9em;
  }
  .howtoOrderSec .stepInner .information .txt, .howtoOrderSec#order .stepInner .information .txt {
    line-height: 2;
  }
  .howtoOrderSec .stepInner .information .c-btn-border, .howtoOrderSec#order .stepInner .information .c-btn-border {
    margin: 3rem auto 0;
    width: 31.8rem;
  }
}
.howtoOrderSec .acTtl, .howtoOrderSec#order .acTtl {
  background: rgba(var(--color-brown2), 0.8);
  color: #fff;
  position: relative;
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 0.9em 1.4rem;
  margin: 4rem -1rem 2rem;
}
.howtoOrderSec .acTtl:before, .howtoOrderSec .acTtl:after, .howtoOrderSec#order .acTtl:before, .howtoOrderSec#order .acTtl:after {
  content: "";
  display: block;
  width: 1.7rem;
  height: 1px;
  background: #fff;
  position: absolute;
  right: 1.4rem;
  top: 50%;
}
.howtoOrderSec .acTtl:after, .howtoOrderSec#order .acTtl:after {
  transform: rotate(90deg);
  transition: transform 0.2s;
}
.howtoOrderSec .acTtl.open:after, .howtoOrderSec#order .acTtl.open:after {
  transform: rotate(0deg);
}
.howtoOrderSec .acTtl.open + .acBox, .howtoOrderSec#order .acTtl.open + .acBox {
  display: block;
}
.howtoOrderSec .acBox, .howtoOrderSec#order .acBox {
  display: none;
  padding: 0 0.3rem;
}
.howtoOrderSec .acBox + .acTtl, .howtoOrderSec#order .acBox + .acTtl {
  margin-top: 2.6rem;
}
.howtoOrderSec .acTtl.open + .acBox + .acTtl, .howtoOrderSec#order .acTtl.open + .acBox + .acTtl {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .howtoOrderSec .acTtl, .howtoOrderSec#order .acTtl {
    font-size: 1.5rem;
    padding: 0.94em 2.5rem;
    margin: 7rem 0rem 3.2rem;
  }
  .howtoOrderSec .acTtl:before, .howtoOrderSec .acTtl:after, .howtoOrderSec#order .acTtl:before, .howtoOrderSec#order .acTtl:after {
    width: 2.4rem;
    height: 2px;
    right: 2.5rem;
  }
  .howtoOrderSec .acBox, .howtoOrderSec#order .acBox {
    padding: 0 2.5rem;
  }
  .howtoOrderSec .acBox + .acTtl, .howtoOrderSec#order .acBox + .acTtl {
    margin-top: 4rem;
  }
  .howtoOrderSec .acTtl.open + .acBox + .acTtl, .howtoOrderSec#order .acTtl.open + .acBox + .acTtl {
    margin-top: 6rem;
  }
}
.howtoOrderSec h3.num, .howtoOrderSec#order h3.num {
  margin: 3rem 0 2rem;
  padding-left: 2.1rem;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.7;
  position: relative;
}
.howtoOrderSec h3.num:before, .howtoOrderSec#order h3.num:before {
  content: attr(data-num);
  display: block;
  background: none;
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
}
.howtoOrderSec .ssBox + .ssBox, .howtoOrderSec#order .ssBox + .ssBox {
  margin-top: 3.4rem;
}
.howtoOrderSec .ssBox + h3.num, .howtoOrderSec#order .ssBox + h3.num {
  margin-top: 5rem;
}
.howtoOrderSec .ssBox .txt, .howtoOrderSec#order .ssBox .txt {
  line-height: 1.8;
}
.howtoOrderSec .ssBox img.ss, .howtoOrderSec#order .ssBox img.ss {
  width: 80%;
  display: block;
  margin: 2rem auto;
  border: #D3D3D3 1px solid;
}
@media screen and (min-width: 768px) {
  .howtoOrderSec h3.num, .howtoOrderSec#order h3.num {
    margin: 3.5rem 0 2.8rem;
    padding-left: 3rem;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.7;
  }
  .howtoOrderSec .ssBox, .howtoOrderSec#order .ssBox {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 7.3%;
  }
  .howtoOrderSec .ssBox + .ssBox, .howtoOrderSec#order .ssBox + .ssBox {
    margin-top: 4rem;
  }
  .howtoOrderSec .ssBox + h3.num, .howtoOrderSec#order .ssBox + h3.num {
    margin-top: 5rem;
  }
  .howtoOrderSec .ssBox .txt, .howtoOrderSec#order .ssBox .txt {
    line-height: 1.9;
    flex: 1;
    max-width: 700px;
  }
  .howtoOrderSec .ssBox .imgBox, .howtoOrderSec#order .ssBox .imgBox {
    margin-left: auto;
  }
  .howtoOrderSec .ssBox .imgBox img.ss, .howtoOrderSec#order .ssBox .imgBox img.ss {
    max-width: 32.8rem;
    width: 100%;
    margin: 0;
  }
  .howtoOrderSec .ssBox .imgBox img.ss + img.ss, .howtoOrderSec#order .ssBox .imgBox img.ss + img.ss {
    margin-top: 1.5rem;
  }
  .howtoOrderSec .ssBox .imgBox.wide, .howtoOrderSec#order .ssBox .imgBox.wide {
    width: 100%;
    margin: 3rem 0 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 2rem;
  }
  .howtoOrderSec .ssBox .imgBox.wide img.ss + img.ss, .howtoOrderSec#order .ssBox .imgBox.wide img.ss + img.ss {
    margin: 0;
  }
}

.p-page-shopping-guide .howtoOrderSec {
  padding-top: 1rem;
}
.p-page-shopping-guide .howtoOrderSec + .howtoOrderSec {
  margin-top: 9rem;
}
.p-page-shopping-guide h2.copy {
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: center;
  color: var(--color-beige);
  margin-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .p-page-shopping-guide .howtoOrderSec {
    padding-top: 2rem;
  }
  .p-page-shopping-guide .howtoOrderSec + .howtoOrderSec {
    margin-top: 15rem;
  }
  .p-page-shopping-guide h2.copy {
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.6;
    margin-bottom: 1.3em;
  }
}

#proposeHero {
  background: #00605E;
}
#proposeHero h1, #proposeHero .txtBox {
  position: relative;
  z-index: 10;
}
#proposeHero .bg {
  height: 29rem;
  position: absolute;
  z-index: 0;
}
#proposeHero .txtBox {
  margin-top: 9rem;
  font-size: 1.2rem;
  line-height: 2.1;
}
#proposeHero .txtBox p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#proposeHero .txtBox strong {
  display: block;
  margin: 0 0 2rem;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  line-height: 2.4;
}
@media screen and (min-width: 768px) {
  #proposeHero {
    height: auto;
    padding: 6.875vw 9rem 6.8vw;
    max-height: none;
  }
  #proposeHero .bg {
    height: 100%;
  }
  #proposeHero .txtBox {
    width: 100%;
    max-width: 138rem;
    margin: 7rem auto 0;
    font-size: 1.4rem;
    line-height: 2.3;
  }
  #proposeHero .txtBox p {
    display: block;
  }
  #proposeHero .txtBox strong {
    margin: 0 0 1.7em;
    font-size: 1.6rem;
  }
}

.p-page-propose .l-container {
  padding-left: 2.6rem;
  padding-right: 2.6rem;
}
.p-page-propose .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-page-propose .l-container {
    padding-left: 6rem;
    padding-right: 6rem;
  }
  .p-page-propose .txt {
    font-size: 1.4rem;
    line-height: 2.3;
    text-align: left;
  }
  .p-page-propose .pcCenter {
    text-align: center;
    line-height: 2.5;
  }
}
.p-page-propose .stepSec {
  padding: 7rem 0 8rem;
  margin: 7rem 0 0;
  position: relative;
}
.p-page-propose .stepSec:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  background: #D9D7D2;
  opacity: 0.2;
  transform: translateX(-50%);
}
.p-page-propose .stepSec h2 {
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 1.4em;
}
.p-page-propose .stepSec .h2Under {
  text-align: center;
  line-height: 1.9;
}
.p-page-propose .stepSec ul {
  margin: 5rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.8rem 0;
}
.p-page-propose .stepSec ul li {
  background: #fff;
  padding: 3rem 1.6rem 2rem;
}
.p-page-propose .stepSec ul li .step {
  color: var(--color-beige);
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
}
.p-page-propose .stepSec ul li .step span {
  display: inline-block;
  font-size: 2.6rem;
  letter-spacing: -0.04em;
  margin-left: 0.3em;
  vertical-align: -0.1em;
  color: var(--color-gray2);
  transform: skew(-12deg);
}
.p-page-propose .stepSec ul li h3 {
  font-size: 1.7rem;
  margin: 0.2em 0 1.4em;
  text-align: center;
}
.p-page-propose .stepSec ul li .txt {
  line-height: 1.8;
  margin-bottom: 2em;
}
.p-page-propose .stepSec .borderMore {
  width: 96%;
  padding: 1.1em 1em;
}
@media screen and (min-width: 768px) {
  .p-page-propose .stepSec {
    padding: 15rem 0 14rem;
    margin: 14rem 0 0;
  }
  .p-page-propose .stepSec h2 {
    font-size: 2.5rem;
    margin-bottom: 1em;
  }
  .p-page-propose .stepSec ul {
    margin: 8.5rem 0 12rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.1%;
  }
  .p-page-propose .stepSec ul li {
    padding: 8% 8.4% 9%;
    display: flex;
    flex-direction: column;
  }
  .p-page-propose .stepSec ul li .step {
    font-size: 2rem;
    text-align: left;
  }
  .p-page-propose .stepSec ul li .step span {
    font-size: 3.4rem;
    margin-left: 0.3em;
    vertical-align: -0.1em;
  }
  .p-page-propose .stepSec ul li h3 {
    font-size: 2.1rem;
    margin: 0.2em 0 1.4em;
    text-align: left;
  }
  .p-page-propose .stepSec ul li .txt {
    font-size: 1.3rem;
    line-height: 2.1;
    margin-bottom: 3em;
  }
  .p-page-propose .stepSec ul li img {
    display: block;
    margin-top: auto;
  }
  .p-page-propose .stepSec .borderMore {
    width: 41.2rem;
    padding: 1.4em 1.3em;
  }
}
.p-page-propose .giveRing {
  padding: 10rem 0;
}
.p-page-propose .giveRing h2 {
  color: var(--color-beige);
  font-size: 2.2rem;
  letter-spacing: 0.09em;
  margin-bottom: 2em;
}
.p-page-propose .giveRing h2 span {
  font-size: 1.5rem;
  letter-spacing: 0.07em;
  color: var(--color-txt);
  display: block;
  line-height: 2;
  text-align: right;
}
.p-page-propose .giveRing .bgBox {
  background: rgba(var(--color-beige2), 0.15);
  padding: 2rem;
  margin: 1.5rem -0.5rem 2.6rem;
}
.p-page-propose .giveRing .bgBox h3 {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.5em;
}
.p-page-propose .giveRing .bgBox .txt {
  line-height: 1.8;
}
.p-page-propose .giveRing .c-btn-border {
  margin: 3rem auto 0;
}
.p-page-propose .giveRing .img01 {
  width: 80%;
  margin: 5rem auto 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-page-propose .giveRing {
    padding: 20rem 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 0 8%;
  }
  .p-page-propose .giveRing .img01 {
    width: 39.85%;
    margin: 0;
  }
  .p-page-propose .giveRing h2 {
    font-size: 3rem;
    letter-spacing: 0.09em;
    margin-bottom: 2em;
  }
  .p-page-propose .giveRing h2 span {
    font-size: 1.7rem;
    letter-spacing: 0.07em;
    text-align: left;
    margin: 0.5em 0 0 16em;
  }
  .p-page-propose .giveRing .bgBox {
    padding: 3rem 3.2rem;
    margin: 3rem 0 4rem;
    max-width: 600px;
  }
  .p-page-propose .giveRing .bgBox h3 {
    font-size: 1.6rem;
    margin-bottom: 0.7em;
  }
  .p-page-propose .giveRing .c-btn-border {
    margin: 6rem 0 0;
  }
}
.p-page-propose .future {
  position: relative;
  color: #fff;
  padding: 8.5rem 0;
}
.p-page-propose .future:before {
  content: "";
  display: block;
  width: 100%;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: url(../img/propose/bg_future.jpg) no-repeat center;
  background-size: cover;
}
.p-page-propose .future h2 {
  font-size: 2.5rem;
  font-weight: 400;
  text-align: center;
}
.p-page-propose .future .h2Under {
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0.2em 0 4em;
}
.p-page-propose .future .txt {
  line-height: 2.5;
  letter-spacing: 0.08em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .p-page-propose .future {
    padding: 16rem 0 15rem;
  }
  .p-page-propose .future h2 {
    font-size: 4.6rem;
    line-height: 1.4;
  }
  .p-page-propose .future .h2Under {
    font-size: 1.6rem;
    margin: 0.2em 0 4em;
  }
  .p-page-propose .future .txt {
    line-height: 2.7;
    text-align: center;
  }
}

.p-page-ct-up h2 {
  font-size: 2rem;
  letter-spacing: 0.08em;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 1.2em;
}
.p-page-ct-up .h2Under {
  font-size: 1.2rem;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-page-ct-up h2 {
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    line-height: 2;
    margin-bottom: 2.7em;
  }
  .p-page-ct-up .h2Under {
    font-size: 1.4rem;
    line-height: 2.3;
    text-align: center;
  }
}
.p-page-ct-up .collectionList {
  margin: 7rem 1.4rem 9rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8rem 0;
}
.p-page-ct-up .collectionList li {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.p-page-ct-up .collectionList li .txtBox {
  padding: 2.5rem 1.5rem 0;
}
.p-page-ct-up .collectionList li h3 {
  color: var(--color-beige);
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 1em;
}
.p-page-ct-up .collectionList li .copy {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 1.7em;
  margin-right: -1.5em;
}
.p-page-ct-up .collectionList li .txt {
  font-size: 1.2rem;
  line-height: 1.9;
  text-align: justify;
}
.p-page-ct-up .collectionList li .more {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-ct-up .collectionList {
    max-width: 1180px;
    margin: 14rem auto;
    gap: 18rem 0;
  }
  .p-page-ct-up .collectionList li {
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 0 9.2%;
  }
  .p-page-ct-up .collectionList li:nth-child(even) {
    flex-direction: row;
  }
  .p-page-ct-up .collectionList li:nth-child(even) .more {
    text-align: right;
  }
  .p-page-ct-up .collectionList li .img {
    display: block;
    width: 41.74%;
    overflow: hidden;
    aspect-ratio: 4/5;
  }
  .p-page-ct-up .collectionList li a.img img {
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .p-page-ct-up .collectionList li a.img:hover {
    opacity: 1;
  }
  .p-page-ct-up .collectionList li a.img:hover img {
    transform: scale(1.06);
  }
}
@media screen and (min-width: 768px) {
  .p-page-ct-up .collectionList li .txtBox {
    padding: 0;
    flex: 1;
  }
  .p-page-ct-up .collectionList li h3 {
    font-size: 2.8rem;
    font-weight: 300;
    margin-bottom: 1.1em;
  }
  .p-page-ct-up .collectionList li .copy {
    font-size: 1.9rem;
    line-height: 2.2;
    margin-bottom: 2.2em;
  }
  .p-page-ct-up .collectionList li .txt {
    font-size: 1.4rem;
    line-height: 2.3;
  }
  .p-page-ct-up .collectionList li .more {
    margin-top: 4.5rem;
    text-align: left;
  }
}
.p-page-ct-up .endMessage {
  padding: 0 1.1rem;
}
.p-page-ct-up .endMessage .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
.p-page-ct-up .endMessage .c-btn-border {
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-ct-up .endMessage {
    padding: 4.5vw 0 1.5vw;
  }
  .p-page-ct-up .endMessage .txt {
    font-size: 1.4rem;
    line-height: 2.6;
    text-align: center;
  }
  .p-page-ct-up .endMessage .c-btn-border {
    margin: 4.5rem auto 0;
  }
}

#JewelryHero .small {
  font-size: 1.9rem;
  letter-spacing: 0.04em;
  margin-top: -0.5em;
}
@media screen and (min-width: 768px) {
  #JewelryHero .small {
    display: inline-block;
    font-size: clamp(3rem, 3vw, 5rem);
    letter-spacing: 0.04em;
    margin: 0 0.5em 0 0;
  }
}

.p-page-Jewelry .l-container {
  padding: 0 2.6rem;
}
@media screen and (min-width: 768px) {
  .p-page-Jewelry .l-container {
    padding: 0 6rem;
  }
}
.p-page-Jewelry .topTxt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-page-Jewelry .topTxt {
    padding: 0;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.5;
  }
}
.p-page-Jewelry h2 {
  margin-bottom: 4.6rem;
  font-weight: 400;
}
.p-page-Jewelry h2 .en {
  font-size: 3.2rem;
  line-height: 1.1;
  color: var(--color-beige);
}
.p-page-Jewelry h2 .sTxt {
  font-size: 1.1rem;
  white-space: nowrap;
  display: block;
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .p-page-Jewelry h2 {
    margin-bottom: 7.5rem;
  }
  .p-page-Jewelry h2 .en {
    font-size: 3.7rem;
    line-height: 1.1;
  }
  .p-page-Jewelry h2 .sTxt {
    font-size: 1.3rem;
    display: block;
    margin-top: 0.6em;
  }
}
.p-page-Jewelry .box1 {
  position: relative;
  padding: 9rem 0 0;
}
.p-page-Jewelry .box1.about {
  margin: 9rem 0 4rem;
}
.p-page-Jewelry .box1.about h2 .en {
  color: var(--color-txt);
}
.p-page-Jewelry .box1.about:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: #D9D7D2;
  opacity: 0.47;
}
.p-page-Jewelry .box1 .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
.p-page-Jewelry .box1 .c-btn-border {
  margin: 4rem auto 0;
}
.p-page-Jewelry .box1 .img {
  display: block;
  margin: 6.8rem -2.6rem 0;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-page-Jewelry .box1 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0 9.2%;
    padding: 16rem 0;
  }
  .p-page-Jewelry .box1.about {
    margin: 16rem 0 4rem;
  }
  .p-page-Jewelry .box1 .txtBox {
    flex: 1;
    max-width: 650px;
  }
  .p-page-Jewelry .box1 .txt {
    font-size: 1.4rem;
    line-height: 2.5;
    text-align: justify;
  }
  .p-page-Jewelry .box1 .c-btn-border {
    margin: 4.5rem 0 0;
  }
  .p-page-Jewelry .box1 .img {
    width: calc(34% + 6rem);
    margin: 0;
    margin-right: -6rem;
    pointer-events: all;
  }
}
@media screen and (min-width: 1500px) {
  .p-page-Jewelry .box1 .img {
    width: 34%;
    margin: 0;
  }
}
.p-page-Jewelry .pricing {
  padding: 8.5rem 0;
  margin: 5rem 0 0;
  position: relative;
}
.p-page-Jewelry .pricing:before {
  content: "";
  display: block;
  width: 100vw;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: -1;
  background: #D9D7D2;
  opacity: 0.25;
}
.p-page-Jewelry .pricing .txt {
  font-size: 1.2rem;
  line-height: 2.1;
  text-align: justify;
}
.p-page-Jewelry .pricing .c-btn-border {
  margin: 3.5rem auto 6rem;
}
@media screen and (min-width: 768px) {
  .p-page-Jewelry .pricing {
    margin-top: 4rem;
    padding: 17rem 0 16rem;
  }
  .p-page-Jewelry .pricing h2 {
    text-align: center;
  }
  .p-page-Jewelry .pricing h2 .en {
    color: var(--color-txt);
  }
  .p-page-Jewelry .pricing .txtBox {
    max-width: 824px;
    margin: 0 auto;
  }
  .p-page-Jewelry .pricing .txt {
    font-size: 1.4rem;
    line-height: 2.5;
    text-align: justify;
  }
  .p-page-Jewelry .pricing .c-btn-border {
    margin: 3.8rem auto 6.4rem;
  }
}

.p-page-diamonds .txt {
  font-size: 1.2rem;
  line-height: 2;
  text-align: justify;
}
.p-page-diamonds .kome {
  font-size: 1.1rem;
  line-height: 1.6;
  opacity: 0.9;
  margin: 1.8em 0 0;
  padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .p-page-diamonds .txt {
    font-size: 1.4rem;
    line-height: 2.1;
  }
  .p-page-diamonds .kome {
    font-size: 1.3rem;
    margin: 1.8em 0 0;
    padding-bottom: 1em;
  }
}
.p-page-diamonds .topArea {
  background: rgba(var(--bg1), 0.1);
  padding: 7rem 3rem 6rem;
  margin: 0 -2.6rem -1rem;
}
.p-page-diamonds .topArea h2 {
  font-size: 2.2rem;
  letter-spacing: 0.08em;
  color: var(--color-beige);
  font-weight: 400;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  .p-page-diamonds .topArea {
    padding: 7.8rem 8.5rem 8rem;
    margin: 0;
  }
  .p-page-diamonds .topArea h2 {
    font-size: 2.7rem;
    letter-spacing: 0.08em;
    margin-bottom: 1.7em;
  }
}
.p-page-diamonds section.ankerSec {
  margin-top: 9rem;
  padding-top: 1rem;
}
.p-page-diamonds section.ankerSec h2 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 1.8em;
}
.p-page-diamonds section.ankerSec h3 {
  font-size: 1.7rem;
  font-weight: 600;
  padding: 0 0 0.2em 1.7rem;
  line-height: 1.5;
  position: relative;
  margin-top: 3em;
  margin-bottom: 1em;
}
.p-page-diamonds section.ankerSec h3:before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background: var(--color-beige);
  position: absolute;
  left: 0;
  top: 0;
}
.p-page-diamonds section.ankerSec h2 + h3 {
  margin-top: 2.5em;
}
.p-page-diamonds section.ankerSec h4.normal {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.7;
  margin: 2.5em 0 1em;
}
.p-page-diamonds section.ankerSec h4.borderNum {
  border-bottom: rgba(var(--color-txt2), 0.3) 1px solid;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  padding: 0 0 0.6em 4rem;
  margin-top: 3.4em;
  margin-bottom: 1.2em;
}
.p-page-diamonds section.ankerSec h4.borderNum .num {
  color: var(--color-gray2);
  font-size: 3.1rem;
  letter-spacing: -0.05em;
  font-weight: 400;
  line-height: 1;
  transform: skew(-12deg);
  position: absolute;
  left: 0;
  top: 0;
}
.p-page-diamonds section.ankerSec h4.point {
  margin-top: 3rem;
  font-size: 1.2rem;
  font-weight: 600;
}
.p-page-diamonds section.ankerSec h4.point .en {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 400;
  display: inline-block;
  padding-top: 0.16em;
}
.p-page-diamonds section.ankerSec h4.point .bg {
  background: rgba(var(--color-beige2), 0.2);
  border-radius: 0 5em 0 0;
  height: 3rem;
  padding: 0.18em 2.2rem 0 1.2rem;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.p-page-diamonds section.ankerSec h5 {
  font-size: 1.3rem;
  line-height: 1.6;
  font-weight: 600;
  margin: 0 0 0.4em;
}
.p-page-diamonds section.ankerSec p + h5 {
  margin-top: 2em;
}
.p-page-diamonds section.ankerSec .pointBox {
  margin-bottom: 3.4rem;
  border: rgba(var(--color-beige2), 0.2) 3px solid;
  padding: 1.5rem;
  font-size: 1.1rem;
  line-height: 1.8;
  text-align: justify;
}
.p-page-diamonds section.ankerSec .c-btn-border {
  margin: 2rem auto 4rem;
}
.p-page-diamonds section.ankerSec .c-btn-border + .c-btn-border {
  margin-top: -2.6rem;
}
.p-page-diamonds section.ankerSec .tblTtl {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 2em 0 0.3em;
}
.p-page-diamonds section.ankerSec .tblWrap {
  overflow-x: auto;
  margin: 0 -2.6rem 2.5rem;
}
.p-page-diamonds section.ankerSec .tbl {
  white-space: nowrap;
  margin: 1rem 2.6rem;
  border-right: none;
}
.p-page-diamonds section.ankerSec .tbl th {
  border-right: var(--color-gray2) 1px solid;
}
.p-page-diamonds section.ankerSec .tbl td {
  border-right: var(--color-gray2) 1px solid;
}
.p-page-diamonds section.ankerSec .tbl.center th, .p-page-diamonds section.ankerSec .tbl.center td {
  text-align: center;
}
.p-page-diamonds section.ankerSec .img {
  display: block;
  margin: 3rem auto;
}
.p-page-diamonds section.ankerSec .spWide {
  margin: 3rem -1rem;
  max-width: calc(100% + 2rem);
}
.p-page-diamonds section.ankerSec .imgTxt {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  margin: -2rem 0 3rem;
}
.p-page-diamonds section.ankerSec .bgArea {
  background: rgba(var(--bg1), 0.15);
  padding: 2.8rem 2.5rem;
  margin: 2.6rem -1rem 3.7rem;
}
.p-page-diamonds section.ankerSec .bgArea h4.normal {
  margin-top: 0.5em;
  margin-bottom: 2.1em;
}
.p-page-diamonds section.ankerSec .bgArea .txt {
  line-height: 1.9;
}
.p-page-diamonds section.ankerSec .bgArea .ttlList li {
  margin-bottom: 1.1em;
}
.p-page-diamonds section.ankerSec .bgArea .ttlList li:last-child {
  margin-bottom: 0;
}
.p-page-diamonds section.ankerSec .bgArea .ttlList .ttl {
  font-weight: 600;
  line-height: 1.7;
  margin-bottom: 0.15em;
}
.p-page-diamonds section.ankerSec .bgArea .ttlList .txt {
  flex: 1;
  line-height: 1.7;
}
.p-page-diamonds section.ankerSec .bgArea + .img, .p-page-diamonds section.ankerSec .bgArea + .spWide {
  margin-top: -1rem;
}
.p-page-diamonds section.ankerSec .chooseBgArea {
  background: rgba(var(--bg1), 0.15);
  padding: 2.8rem 2.2rem 2.8rem 2.5rem;
  margin: 5rem -1rem 6rem;
}
.p-page-diamonds section.ankerSec .chooseBgArea h4 {
  font-size: 1.5rem;
  line-height: 1.7;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1.5em;
}
.p-page-diamonds section.ankerSec .chooseBgArea h4 span {
  display: inline-block;
  padding: 0 0.2rem;
  margin: 0 0.2rem 0 0;
  border-bottom: var(--color-beige) 2px solid;
  padding-bottom: 0.1rem;
}
.p-page-diamonds section.ankerSec .chooseBgArea .dotList li {
  margin-top: 1em;
}
.p-page-diamonds section.ankerSec .chooseBgArea .dotList li:first-child {
  margin-top: 0;
}
.p-page-diamonds section.ankerSec .flexBox {
  margin: 6rem 0 7rem;
}
.p-page-diamonds section.ankerSec .flexBox .img {
  width: 86%;
}
.p-page-diamonds section.ankerSec .tblTxt2 {
  background: rgba(var(--color-beige2), 0.2);
  padding: 0.9rem 1.6rem 0.7rem;
  margin-top: 2rem;
  text-align: center;
  color: var(--color-brown2);
}
.p-page-diamonds section.ankerSec .tblTxt2 .en {
  font-size: 2rem;
  line-height: 1.1;
  display: block;
}
.p-page-diamonds section.ankerSec .tblTxt2 .kara {
  font-size: 75%;
  display: inline-block;
  margin-left: 0.3em;
}
.p-page-diamonds section.ankerSec .tblTxt2 .jp {
  font-size: 1.2rem;
  font-weight: 500;
}
.p-page-diamonds section.ankerSec .tblTxt2 .mix {
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-page-diamonds section.ankerSec .tblTxt2 .mix .en {
  padding: 0 0.2em;
}
.p-page-diamonds section.ankerSec .chooseTbl + .tblTxt2 {
  margin-top: 2.7rem;
}
.p-page-diamonds section.ankerSec .chooseTbl {
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .p-page-diamonds section.ankerSec .chooseTbl {
    display: block;
  }
  .p-page-diamonds section.ankerSec .chooseTbl tbody, .p-page-diamonds section.ankerSec .chooseTbl th, .p-page-diamonds section.ankerSec .chooseTbl tr, .p-page-diamonds section.ankerSec .chooseTbl td {
    display: block;
  }
  .p-page-diamonds section.ankerSec .chooseTbl th {
    font-weight: 500;
    padding: 1.1em 0 0.6rem;
  }
  .p-page-diamonds section.ankerSec .chooseTbl td {
    line-height: 1.6;
    text-align: justify;
    padding: 0 0.6em 1.1em;
    border-bottom: rgba(var(--bg1), 0.5) 1px solid;
  }
}
@media screen and (min-width: 768px) {
  .p-page-diamonds section.ankerSec {
    margin-top: 14rem;
    padding-top: 1rem;
  }
  .p-page-diamonds section.ankerSec h2 {
    font-size: 2.3rem;
    line-height: 1.5;
    margin-bottom: 2em;
  }
  .p-page-diamonds section.ankerSec h3 {
    font-size: 1.9rem;
    padding: 0 0 0.2em 2.1rem;
    margin-top: 8rem;
    margin-bottom: 1.6em;
  }
  .p-page-diamonds section.ankerSec h2 + h3 {
    margin-top: 7rem;
  }
  .p-page-diamonds section.ankerSec h4.normal {
    font-size: 1.7rem;
    line-height: 1.7;
    margin: 3.2em 0 1.2em;
  }
  .p-page-diamonds section.ankerSec h4.borderNum {
    font-size: 1.8rem;
    padding: 0 0 0.8em 6.7rem;
    margin-top: 8rem;
    margin-bottom: 1.8em;
  }
  .p-page-diamonds section.ankerSec h4.borderNum .num {
    font-size: 3.6rem;
    left: 0.6rem;
    top: -0.05em;
  }
  .p-page-diamonds section.ankerSec h4.point {
    margin-top: 3.6rem;
    font-size: 1.4rem;
  }
  .p-page-diamonds section.ankerSec h4.point .en {
    font-size: 1.9rem;
    line-height: 1.3;
  }
  .p-page-diamonds section.ankerSec h4.point .bg {
    height: 3.9rem;
    padding: 0.28em 3.7rem 0 2.5rem;
  }
  .p-page-diamonds section.ankerSec h5 {
    font-size: 1.5rem;
    line-height: 1.7;
    margin: 0 0 0.4em;
  }
  .p-page-diamonds section.ankerSec p + h5 {
    margin-top: 2.5em;
  }
  .p-page-diamonds section.ankerSec .pointBox {
    margin-bottom: 5rem;
    border: rgba(var(--color-beige2), 0.2) 5px solid;
    padding: 2.6rem 3.5rem;
    font-size: 1.4rem;
  }
  .p-page-diamonds section.ankerSec .h3Box {
    padding-left: 2.1rem;
  }
  .p-page-diamonds section.ankerSec .c-btn-border {
    margin: 3rem auto 5rem;
    width: 35rem;
  }
  .p-page-diamonds section.ankerSec .c-btn-border + .c-btn-border {
    margin-top: -3.4rem;
  }
  .p-page-diamonds section.ankerSec .tblTtl {
    font-size: 1.5rem;
    margin: 2.6em 0 0.3em;
  }
  .p-page-diamonds section.ankerSec .tblWrap {
    overflow-x: auto;
    margin: 0 0 3rem;
  }
  .p-page-diamonds section.ankerSec .tbl {
    white-space: unset;
    margin: 1rem 0;
  }
  .p-page-diamonds section.ankerSec .tbl th {
    width: auto;
    padding: 1.4rem 1.5rem;
  }
  .p-page-diamonds section.ankerSec .tbl td {
    padding: 1.4rem 1.3rem;
  }
  .p-page-diamonds section.ankerSec .img {
    margin: 4rem auto;
    max-width: var(--max-width) !important;
  }
  .p-page-diamonds section.ankerSec .bgImg {
    margin-bottom: -2rem;
  }
  .p-page-diamonds section.ankerSec .spWide {
    margin: 4rem auto;
    max-width: 100%;
  }
  .p-page-diamonds section.ankerSec .imgTxt {
    font-size: 1.3rem;
    margin: -3rem 0 4.2rem;
  }
  .p-page-diamonds section.ankerSec .bgArea {
    padding: 4rem 5rem;
    margin: 2.6rem 0 4.5rem;
  }
  .p-page-diamonds section.ankerSec .bgArea h4.normal {
    margin-top: 0.6em;
    margin-bottom: 2.1em;
    text-align: center;
  }
  .p-page-diamonds section.ankerSec .bgArea .txt {
    line-height: 1.9;
  }
  .p-page-diamonds section.ankerSec .bgArea .ttlList li {
    display: flex;
    gap: 0 0.7em;
    margin-bottom: 1em;
  }
  .p-page-diamonds section.ankerSec .bgArea .ttlList .ttl {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1.7;
  }
  .p-page-diamonds section.ankerSec .bgArea .ttlList .txt {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .p-page-diamonds section.ankerSec .bgArea + .img, .p-page-diamonds section.ankerSec .bgArea + .spWide {
    margin-top: 3rem;
  }
  .p-page-diamonds section.ankerSec .chooseBgArea {
    padding: 4rem 5rem 4.5rem;
    margin: 6rem 0 7rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .p-page-diamonds section.ankerSec .chooseBgArea h4 {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 1.8em;
  }
  .p-page-diamonds section.ankerSec .chooseBgArea h4 span {
    padding: 0 0.2rem;
    margin: 0 0.3rem 0 0;
    padding-bottom: 0.5rem;
  }
  .p-page-diamonds section.ankerSec .chooseBgArea .dotList li {
    margin-top: 1.1em;
  }
  .p-page-diamonds section.ankerSec .chooseBgArea .dotList li:first-child {
    margin-top: 0;
  }
  .p-page-diamonds section.ankerSec .flexBox {
    margin: 7.6rem 0 10rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 6.7%;
  }
  .p-page-diamonds section.ankerSec .flexBox .txtBox {
    flex: 1;
  }
  .p-page-diamonds section.ankerSec .flexBox h3 {
    margin-top: 0;
  }
  .p-page-diamonds section.ankerSec .flexBox h4:first-child {
    margin-top: 0;
  }
  .p-page-diamonds section.ankerSec .flexBox .img {
    margin: 0;
    width: 100%;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 {
    display: flex;
    align-items: center;
    padding: 1.1rem 3rem;
    margin-top: 2.7rem;
    text-align: left;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 .en {
    font-size: 2.3rem;
    line-height: 1;
    padding-top: 0.15em;
    width: 4em;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 .kara {
    font-size: 75%;
    margin-left: 0.3em;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 .jp {
    font-size: 1.5rem;
    font-weight: 500;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 .mix {
    font-size: 1.5rem;
    width: 18em;
    margin-left: -0.5rem;
    justify-content: flex-start;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 .mix .en {
    padding: 0.1em 0.4em 0;
    width: auto;
  }
  .p-page-diamonds section.ankerSec .tblTxt2 .mix .en:nth-child(2) {
    padding-right: 0.2em;
  }
  .p-page-diamonds section.ankerSec .chooseTbl + .tblTxt2 {
    margin-top: 4.2rem;
  }
  .p-page-diamonds section.ankerSec .chooseTbl {
    font-size: 1.4rem;
    margin-top: 0.4rem;
  }
  .p-page-diamonds section.ankerSec .chooseTbl th {
    font-weight: 500;
    white-space: nowrap;
    text-align: center;
    padding: 1.1em 2em;
    border-bottom: rgba(var(--bg1), 0.5) 1px solid;
  }
  .p-page-diamonds section.ankerSec .chooseTbl td {
    line-height: 1.6;
    text-align: justify;
    padding: 1.1em 2em;
    border-bottom: rgba(var(--bg1), 0.5) 1px solid;
  }
}
.p-page-diamonds .video {
  display: block;
  aspect-ratio: 716/566;
  max-width: 100%;
  margin: 3rem auto;
}
@media screen and (min-width: 768px) {
  .p-page-diamonds .video {
    max-width: 430px;
    margin: 4rem auto 5rem;
  }
  .p-page-diamonds .quarityTbl th {
    text-align: center;
  }
  .p-page-diamonds .quarityTbl th:first-child {
    width: 21rem;
  }
  .p-page-diamonds .quarityTbl th:nth-child(2) {
    width: 18rem;
  }
  .p-page-diamonds .quarityTbl th:nth-child(3) {
    width: calc(100% - 39rem);
  }
}
.p-page-diamonds .routeWrap {
  margin: 3rem -1rem 3rem;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
}
.p-page-diamonds .routeWrap dl {
  padding: 3rem 1.5rem 2.4rem;
}
.p-page-diamonds .routeWrap dl:first-child {
  background: rgba(var(--bg1), 0.15);
}
.p-page-diamonds .routeWrap dl:last-child {
  background: rgba(var(--color-beige2), 0.15);
}
.p-page-diamonds .routeWrap dt {
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin: 0 -1em 2.2em;
}
@media screen and (min-width: 768px) {
  .p-page-diamonds .routeWrap {
    margin: 2.5rem 0 4.5rem;
    display: block;
  }
  .p-page-diamonds .routeWrap dl {
    padding: 4rem 5.5rem 5rem;
  }
  .p-page-diamonds .routeWrap dl:first-child {
    margin-bottom: 1.6rem;
  }
  .p-page-diamonds .routeWrap dt {
    font-size: 1.5rem;
    letter-spacing: 0.07em;
    margin: 0 0 2em;
  }
}
.p-page-diamonds #ringCollection .bg {
  margin: -2rem 0 -1rem;
}
@media screen and (min-width: 768px) {
  .p-page-diamonds #ringCollection {
    position: relative;
    padding-bottom: 5rem;
  }
  .p-page-diamonds #ringCollection .txt {
    width: 62%;
    padding-bottom: 0.5em;
  }
  .p-page-diamonds #ringCollection .c-btn-border {
    margin-left: 0;
  }
  .p-page-diamonds #ringCollection .bg {
    width: 50%;
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    margin: 0;
  }
}

.p-page-choose .txt {
  font-size: 1.2rem;
  line-height: 2;
  text-align: justify;
}
.p-page-choose .kome {
  font-size: 1.1rem;
  line-height: 1.6;
  opacity: 0.9;
  margin: 1.8em 0 0;
  padding-bottom: 1em;
}
.p-page-choose .kome.center {
  margin: -1rem 0 0;
}
.p-page-choose .c-btn-border {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-page-choose .txt {
    font-size: 1.4rem;
    line-height: 2.1;
  }
  .p-page-choose div.center {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .p-page-choose .kome {
    font-size: 1.3rem;
    margin: 1.8em 0 0;
    padding-bottom: 1em;
  }
  .p-page-choose .kome.center {
    max-width: 850px;
    margin: -1rem auto 0;
  }
  .p-page-choose .c-btn-border {
    width: 35rem;
  }
}
.p-page-choose .messageArea {
  padding-top: 1rem;
}
.p-page-choose .messageArea:first-of-type {
  margin-bottom: 5rem;
}
.p-page-choose .messageArea h2 {
  font-size: 2rem;
  text-align: center;
  letter-spacing: 0.08em;
  font-weight: 400;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  .p-page-choose .messageArea:first-of-type {
    margin-bottom: 9rem;
  }
  .p-page-choose .messageArea h2 {
    font-size: 2.6rem;
    letter-spacing: 0.08em;
    margin-bottom: 1.7em;
  }
  .p-page-choose .messageArea .txt {
    text-align: center;
    line-height: 2.3;
  }
}
.p-page-choose section.ankerSec {
  margin-top: 8rem;
  padding-top: 1rem;
}
.p-page-choose section.ankerSec h2 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 600;
  margin-bottom: 1.8em;
}
.p-page-choose section.ankerSec h3 {
  font-size: 1.7rem;
  font-weight: 600;
  padding: 0 0 0.2em 1.7rem;
  line-height: 1.5;
  position: relative;
  margin-top: 3.5em;
  margin-bottom: 1em;
}
.p-page-choose section.ankerSec h3:before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background: var(--color-beige);
  position: absolute;
  left: 0;
  top: 0;
}
.p-page-choose section.ankerSec h2 + h3 {
  margin-top: 2.5em;
}
.p-page-choose section.ankerSec h3 + h4.normal {
  margin-top: 2em;
}
.p-page-choose section.ankerSec h4.normal {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.7;
  margin: 2.5em 0 1em;
}
.p-page-choose section.ankerSec h4.point {
  margin-top: 3rem;
  font-size: 1.2rem;
  font-weight: 600;
}
.p-page-choose section.ankerSec h4.point .en {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 400;
  display: inline-block;
  padding-top: 0.16em;
}
.p-page-choose section.ankerSec h4.point .bg {
  background: rgba(var(--color-beige2), 0.2);
  border-radius: 0 5em 0 0;
  height: 3rem;
  padding: 0.18em 2.2rem 0 1.2rem;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.p-page-choose section.ankerSec h5 {
  font-size: 1.3rem;
  line-height: 1.6;
  font-weight: 600;
  margin: 0 0 0.6em;
}
.p-page-choose section.ankerSec p + h5, .p-page-choose section.ankerSec h4 + h5, .p-page-choose section.ankerSec ul + h5 {
  margin-top: 2em;
}
.p-page-choose section.ankerSec .pointBox {
  margin-bottom: 3.4rem;
  border: rgba(var(--color-beige2), 0.2) 3px solid;
  padding: 1.5rem;
  font-size: 1.1rem;
  line-height: 1.8;
  text-align: justify;
}
.p-page-choose section.ankerSec .c-btn-border {
  margin: 2rem auto 4rem;
}
.p-page-choose section.ankerSec .c-btn-border + .c-btn-border {
  margin-top: -2.6rem;
}
.p-page-choose section.ankerSec .bgBox {
  background: rgba(var(--bg1), 0.15);
  padding: 2rem;
  margin: 2rem 0;
}
.p-page-choose section.ankerSec .bgBox h6 {
  font-size: 1.3rem;
  line-height: 1.6;
  font-weight: 600;
  margin: 0 0 0.6em;
}
.p-page-choose section.ankerSec .bgBox p + h6 {
  margin-top: 2em;
}
.p-page-choose section.ankerSec .bgBox .txt {
  font-size: 1.1rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-page-choose section.ankerSec {
    margin-top: 14rem;
    padding-top: 1rem;
  }
  .p-page-choose section.ankerSec h2 {
    font-size: 2.3rem;
    line-height: 1.5;
    margin-bottom: 2em;
  }
  .p-page-choose section.ankerSec h3 {
    font-size: 1.9rem;
    padding: 0 0 0.2em 2.1rem;
    margin-top: 8.5rem;
    margin-bottom: 1.6em;
  }
  .p-page-choose section.ankerSec h2 + h3 {
    margin-top: 7rem;
  }
  .p-page-choose section.ankerSec h3 + h4.normal {
    margin-top: 2.5em;
  }
  .p-page-choose section.ankerSec h4.normal {
    font-size: 1.8rem;
    line-height: 1.7;
    margin: 3.2em 0 1.2em;
  }
  .p-page-choose section.ankerSec h4.point {
    margin-top: 3.6rem;
    font-size: 1.4rem;
  }
  .p-page-choose section.ankerSec h4.point .en {
    font-size: 1.9rem;
    line-height: 1.3;
  }
  .p-page-choose section.ankerSec h4.point .bg {
    height: 3.9rem;
    padding: 0.28em 3.7rem 0 2.5rem;
  }
  .p-page-choose section.ankerSec h5 {
    font-size: 1.6rem;
    line-height: 1.7;
    margin: 0 0 0.6em;
  }
  .p-page-choose section.ankerSec p + h5, .p-page-choose section.ankerSec h4 + h5, .p-page-choose section.ankerSec ul + h5 {
    margin-top: 2.5em;
  }
  .p-page-choose section.ankerSec .pointBox {
    margin-bottom: 5rem;
    border: rgba(var(--color-beige2), 0.2) 5px solid;
    padding: 2.6rem 3.5rem;
    font-size: 1.4rem;
  }
  .p-page-choose section.ankerSec .c-btn-border {
    margin: 3rem auto 5rem;
    width: 35rem;
  }
  .p-page-choose section.ankerSec .c-btn-border + .c-btn-border {
    margin-top: -3.4rem;
  }
  .p-page-choose section.ankerSec .bgBox {
    padding: 3rem;
    margin: 2rem 0;
  }
  .p-page-choose section.ankerSec .bgBox h6 {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 0 0 0.6em;
  }
  .p-page-choose section.ankerSec .bgBox p + h6 {
    margin-top: 2em;
  }
  .p-page-choose section.ankerSec .bgBox .txt {
    font-size: 1.3rem;
    line-height: 2;
  }
}
.p-page-choose .typeList {
  width: 86%;
  margin: 2.5rem auto;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.p-page-choose .typeList.txtOnly {
  width: 100%;
}
.p-page-choose .typeList.txtOnly li {
  padding: 2.4rem 2.2rem;
}
.p-page-choose .typeList.txtOnly .kome {
  padding-bottom: 0;
}
.p-page-choose .typeList li {
  border: rgba(var(--color-txt2), 0.2) 1px solid;
  padding: 1.5rem 2.2rem 2.2rem;
}
.p-page-choose .typeList li .img {
  display: block;
  margin-bottom: 1.7rem;
}
.p-page-choose .typeList li .txt {
  font-size: 1.1rem;
  line-height: 1.7;
}
.p-page-choose .typeList li h4.normal {
  margin: 0 0 0.6em;
}
.p-page-choose .typeList li .imgList {
  margin-bottom: 1rem;
}
.p-page-choose .typeList li .imgList li {
  border: none;
  text-align: center;
  font-size: 1rem;
  padding: 0;
}
.p-page-choose .typeList li .imgList li img {
  display: block;
  margin-bottom: 1rem;
}
.p-page-choose .typeList li .imgList.earrings {
  width: 90%;
  margin: 1rem auto 3rem;
}
.p-page-choose .typeList li .imgList.earrings li:not(first-child) {
  margin-top: 1.4rem;
}
.p-page-choose .typeList li .imgList.earrings .img {
  margin-bottom: 0.5em;
}
.p-page-choose .typeList li.volume-marriage .imgList {
  width: 90%;
  margin: 1rem auto 3rem;
}
.p-page-choose .typeList li.volume-marriage .imgList li:not(first-child) {
  margin-top: 1.4rem;
}
.p-page-choose .typeList li.volume-marriage .imgList .img {
  margin-bottom: 0.5em;
}
.p-page-choose .typeList li .tetList {
  margin: 1.5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-page-choose .typeList li .tetList li {
  border: none;
  padding: 0;
}
.p-page-choose .typeList li .tetList .ttl {
  font-weight: 600;
  font-size: 1.2rem;
}
.p-page-choose .typeList li h4.point {
  font-size: 1.1rem;
  margin: 2.6rem -1rem 0;
}
.p-page-choose .typeList li h4.point .bg {
  height: 2.8rem;
}
.p-page-choose .typeList li .pointBox {
  margin: 0 -1rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .p-page-choose .typeList {
    width: 100%;
    margin: 3rem 0;
  }
  .p-page-choose .typeList.grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .p-page-choose .typeList.grid2 li.long {
    grid-column: 1/-1;
  }
  .p-page-choose .typeList.grid3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3rem;
  }
  .p-page-choose .typeList li {
    padding: 2.8rem 3.8rem 2.7rem;
  }
  .p-page-choose .typeList li .img {
    width: 16vw;
    max-width: 234px;
    margin: 0 auto 2rem;
  }
  .p-page-choose .typeList li .txt {
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .p-page-choose .typeList li .imgList {
    display: flex;
    justify-content: flex-start;
  }
  .p-page-choose .typeList li .imgList li {
    display: block;
    font-size: 1.2rem;
  }
  .p-page-choose .typeList li .imgList p {
    margin-bottom: -1em;
  }
  .p-page-choose .typeList li .imgList.earrings {
    width: auto;
    margin: 0;
    flex-direction: column;
    gap: 2em;
  }
  .p-page-choose .typeList li .imgList.earrings li:not(first-child) {
    margin-top: 0;
  }
  .p-page-choose .typeList li.volume-marriage {
    flex-direction: column-reverse !important;
    padding: 4rem 3.8rem 4rem;
  }
  .p-page-choose .typeList li.volume-marriage .imgList {
    width: 100%;
    gap: 0 2.5rem;
    justify-content: center;
    margin: 5rem 0 0;
  }
  .p-page-choose .typeList li.volume-marriage .imgList li:not(first-child) {
    margin-top: 0;
  }
  .p-page-choose .typeList li .tetList {
    margin: 2rem 0 0;
    gap: 1rem;
  }
  .p-page-choose .typeList li .tetList li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0 0.8em;
  }
  .p-page-choose .typeList li .tetList .ttl {
    font-size: 1.3rem;
    line-height: 1.7;
  }
  .p-page-choose .typeList li .tetList .txt {
    flex: 1;
    line-height: 1.7;
  }
  .p-page-choose .typeList li h4.point {
    font-size: 1.3rem;
    margin: 3rem 0 0;
  }
  .p-page-choose .typeList li h4.point .bg {
    height: 3.1rem;
  }
  .p-page-choose .typeList li .pointBox {
    margin: 0 0 -0.5rem;
    font-size: 1.3rem;
    line-height: 1.8;
    padding: 1.6rem 2.5rem;
  }
  .p-page-choose .typeList.grid1 li {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 0 5%;
  }
  .p-page-choose .typeList.grid1 li .img {
    margin: 0;
  }
  .p-page-choose .typeList.txtOnly li {
    padding: 3.2rem 3.8rem;
  }
  .p-page-choose .typeList.txtOnly li h4.normal {
    margin-bottom: 0.9em;
  }
}
.p-page-choose h4.normal + .typeList {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-choose h4.normal + .typeList {
    margin-top: 1rem;
  }
}
.p-page-choose .kasaneList {
  margin: 6rem 0 0;
}
.p-page-choose .kasaneList .img {
  margin-bottom: -2.5rem;
}
.p-page-choose .kasaneList.volume {
  margin: 3rem 0 0;
}
.p-page-choose .kasaneList.volume li h4.normal {
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  .p-page-choose .kasaneList {
    margin: 5.2rem 0 5rem;
  }
  .p-page-choose .kasaneList li {
    display: flex;
    align-items: center;
    gap: 0 5.5%;
  }
  .p-page-choose .kasaneList li h4.normal {
    margin-top: 0;
  }
  .p-page-choose .kasaneList li .img {
    width: 37%;
    margin-bottom: -3.6rem;
  }
  .p-page-choose .kasaneList li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-page-choose .kasaneList li:nth-child(even) .txtBox {
    padding-top: 0;
  }
  .p-page-choose .kasaneList.volume {
    margin: 3rem 0 5rem;
  }
  .p-page-choose .kasaneList.volume li h4.normal {
    margin: 3.1em 0 0.6em;
    font-size: 1.7rem;
  }
  .p-page-choose .kasaneList.volume li h4.normal:first-child {
    margin-top: 0;
  }
  .p-page-choose .kasaneList.volume li .txt {
    line-height: 1.7;
  }
}
.p-page-choose section.bgBox {
  margin: 8rem -2.6rem;
  padding: 7rem 2.6rem 6rem;
  background: rgba(var(--bg1), 0.15);
}
.p-page-choose section.bgBox + section.bgBox {
  margin-top: -1rem;
}
.p-page-choose section.bgBox h3 {
  font-size: 1.6rem;
}
.p-page-choose section.bgBox h5 {
  font-size: 1.4rem;
}
.p-page-choose section.bgBox .whiteBox {
  background: #fff;
  margin: 3rem -1rem 4.5rem;
  padding: 3rem 1.6rem;
}
.p-page-choose section.bgBox .whiteBox h6 {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 0 0 0.5em;
}
.p-page-choose section.bgBox .whiteBox p + h6 {
  margin-top: 2em;
}
.p-page-choose section.bgBox .whiteBox .img {
  width: 80%;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-page-choose section.bgBox {
    margin: 12rem 0 13rem;
    padding: 7rem 6rem 7rem;
  }
  .p-page-choose section.bgBox + section.bgBox {
    margin-top: -3rem;
  }
  .p-page-choose section.bgBox h3 {
    font-size: 1.7rem;
    margin-top: 6rem;
  }
  .p-page-choose section.bgBox h5 {
    font-size: 1.6rem;
  }
  .p-page-choose section.bgBox .whiteBox {
    margin: 5rem 0 6rem;
    padding: 3.6rem;
    display: flex;
    align-items: center;
    gap: 0 6%;
  }
  .p-page-choose section.bgBox .whiteBox h6 {
    font-size: 1.5rem;
    margin: 0 0 0.5em;
  }
  .p-page-choose section.bgBox .whiteBox p + h6 {
    margin-top: 2em;
  }
  .p-page-choose section.bgBox .whiteBox .txt {
    line-height: 1.9;
  }
  .p-page-choose section.bgBox .whiteBox .img {
    width: 16vw;
    max-width: 234px;
    display: block;
    margin: 0 auto;
  }
}
.p-page-choose #after-care {
  padding: 7rem 2.6rem 3rem;
}
.p-page-choose #after-care .whiteList {
  background: #fff;
  margin: 2rem -1rem;
  padding: 2rem 1.6rem;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  font-weight: 600;
}
.p-page-choose #after-care .whiteList li {
  padding: 0 0.5rem;
}
.p-page-choose #after-care .whiteList li + li {
  margin-top: 1.4em;
  padding-top: 1.4em;
  border-top: rgba(var(--color-txt2), 0.2) 1px solid;
}
@media screen and (min-width: 768px) {
  .p-page-choose #after-care {
    padding: 7rem 6rem 3rem;
  }
  .p-page-choose #after-care .whiteList {
    margin: 2.2rem 0 3rem;
    padding: 2rem;
    font-size: 1.5rem;
    font-weight: 600;
  }
  .p-page-choose #after-care .whiteList li {
    padding: 0 1.5rem;
  }
  .p-page-choose #after-care .whiteList li + li {
    margin-top: 1.2em;
    padding-top: 1.2em;
  }
  .p-page-choose #after-care .kome {
    margin-top: 0.5em;
  }
}
.p-page-choose #uchikoumaru, .p-page-choose #fit {
  background: rgba(var(--color-beige2), 0.1);
}
.p-page-choose #fit .img {
  margin: 4rem auto 0;
  width: 70%;
}
@media screen and (min-width: 768px) {
  .p-page-choose #fit .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 7%;
  }
  .p-page-choose #fit .flex h2 {
    margin-right: -1em;
  }
  .p-page-choose #fit .flex .txtBox {
    flex: 1;
  }
  .p-page-choose #fit .flex .img {
    margin: 0;
    width: 16vw;
    max-width: 234px;
  }
}

.c-btn-progress {
  border-radius: 0;
  padding: 1.8rem 1rem;
  font-size: 1.5rem;
}

.p-login-form__body-link {
  border-radius: 0;
  padding: 1.8rem 1rem;
  font-size: 1.5rem;
}

.c-btn-fluid {
  border-radius: 0;
}

.c-btn-fluid--border {
  border-radius: 0;
  border-color: rgba(var(--color-txt2), 0.5);
  color: var(--color-txt) !important;
}

.m-userProductSectCol-buttonList {
  justify-content: center;
}

.c-page-title {
  border-color: rgba(var(--color-txt2), 0.2);
}

.pTitle {
  text-align: center;
  font-size: 2.5rem;
  margin: -2rem 0 6rem;
}
@media screen and (min-width: 768px) {
  .pTitle {
    font-size: 3.4rem;
    margin: -2rem 0 10rem;
  }
}

.p-page-faq .p-faq-title--sub {
  background-color: #F7F6F5;
  font-size: 1.4rem;
  padding: 0.8rem 1.2rem;
}
.p-page-faq .p-faq-container {
  overflow-y: visible;
}
.p-page-faq .js-accordionTrigger[data-activeAccordion=inactive] + div {
  visibility: visible;
  overflow-y: hidden;
}
.p-page-faq .p-faq-description {
  font-size: 1.3rem;
  line-height: 1.8;
  text-align: justify;
}
.p-page-faq .p-faq-description a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-page-faq .p-faq-description a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
.p-page-faq .p-faq-description .kome, .p-page-faq .p-faq-description .komeList {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-top: 1.1em;
}
.p-page-faq .p-faq-description li .kome {
  margin-top: 0.1em;
}
.p-page-faq .p-faq-description .numList {
  margin-top: 1em;
}
.p-page-faq .p-faq-description .numList li {
  display: flex;
  margin-top: 0.4em;
}
.p-page-faq .p-faq-description .numList li .num {
  width: 2em;
}
.p-page-faq .p-faq-description .numList li .num + p {
  flex: 1;
}
@media screen and (max-width: 991px) {
  .p-page-faq .p-faq-container {
    padding: 0;
  }
  .p-page-faq .js-accordionTrigger[data-activeAccordion=inactive] + div {
    overflow: hidden;
  }
  .p-page-faq .js-accordionTrigger {
    padding: 1.8rem 3rem 1.8rem 1rem;
  }
  .p-page-faq .js-accordionTrigger[data-activeAccordion=active] {
    margin-bottom: 2rem;
  }
  .p-page-faq .js-accordionTrigger[data-activeAccordion=active] + div {
    padding-bottom: 0.5rem;
  }
  .p-page-faq .js-accordionTrigger[data-activeAccordion=active] + div > div:not(:last-of-type) {
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 992px) {
  .p-page-faq .p-faqBody > div:not(:last-of-type) {
    margin-bottom: 7rem;
  }
  .p-page-faq .js-accordionContent div:not(:last-of-type) {
    margin-bottom: 4rem;
  }
  .p-page-faq .p-faqNav {
    top: 13rem;
  }
  .p-page-faq .p-faqNav .c-userNav-link {
    font-size: 1.4rem;
    padding: 1.6rem 3.5rem 1.6rem 1.2rem;
  }
  .p-page-faq .p-faq-title {
    padding-bottom: 1.3rem;
    margin-bottom: 2.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.07em;
  }
  .p-page-faq .p-faq-title--sub {
    padding: 1.1rem 1.2rem;
    font-size: 1.5rem;
  }
  .p-page-faq .p-faq-description {
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 0 1rem 0 3.4rem;
  }
  .p-page-faq .p-faq-description .kome, .p-page-faq .p-faq-description .komeList {
    font-size: 1.3rem;
    margin-top: 1.1em;
  }
  .p-page-faq .p-faq-description li .kome {
    margin-top: 0.3em;
  }
}

.p-page-guide .p-guide-container {
  overflow: visible;
}
.p-page-guide .js-accordionTrigger[data-activeAccordion=inactive] + div {
  visibility: visible;
  overflow-y: hidden;
}
.p-page-guide .p-guideBody {
  padding: 0;
}
.p-page-guide .p-guide-description {
  font-size: 1.3rem;
  line-height: 1.8;
  text-align: justify;
}
.p-page-guide .p-guide-description a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-page-guide .p-guide-description a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
.p-page-guide .p-guide-description .kome, .p-page-guide .p-guide-description .komeList {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-top: 1.1em;
}
.p-page-guide .p-guide-description li .kome {
  margin-top: 0.1em;
}
.p-page-guide .p-guide-description h3.copy {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 2.1em 0 0.8em;
}
.p-page-guide .p-guide-description h3.num {
  font-size: 1.5rem;
  line-height: 1.7;
  margin: 2.3em 0 0.5em;
  font-weight: 600;
  padding-left: 1.6em;
  position: relative;
}
.p-page-guide .p-guide-description h3.num:before {
  content: attr(data-num);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.p-page-guide .p-guide-description .numInBox {
  padding-left: 2.1rem;
}
.p-page-guide .p-guide-description h4 {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.7;
  margin: 2em 0 0.65em;
}
.p-page-guide .p-guide-description h4.p-guide-title--sub {
  margin-bottom: 1em;
}
.p-page-guide .p-guide-description .dotList {
  margin-top: 1.3em;
}
.p-page-guide .p-guide-description .dotList li {
  line-height: 1.6;
}
.p-page-guide .p-guide-description .numList {
  margin-top: 1.3em;
}
.p-page-guide .p-guide-description .numList li {
  margin-top: 0.8em;
  padding-left: 1.8em;
  position: relative;
  line-height: 1.6;
}
.p-page-guide .p-guide-description .numList li:before {
  content: attr(data-num);
  display: block;
  position: absolute;
  left: 0.3em;
  top: 0;
}
.p-page-guide .p-guide-description .credit {
  width: 90%;
  max-width: 373px;
  display: block;
}
.p-page-guide .p-guide-description .endTxt {
  margin-top: 3.5rem;
}
.p-page-guide .p-guide-description img.wrapping {
  display: block;
  width: 70%;
  margin: 1em auto 2.4rem;
}
@media screen and (max-width: 991px) {
  .p-page-guide .js-accordionTrigger {
    padding: 1.8rem 3rem 1.8rem 1rem;
  }
}
@media screen and (min-width: 992px) {
  .p-page-guide .p-guide-container {
    margin: 0 auto;
  }
  .p-page-guide .p-guideNav {
    top: 13rem;
  }
  .p-page-guide .p-guideNav .c-userNav-link {
    font-size: 1.4rem;
    padding: 1.6rem 3.5rem 1.6rem 1.2rem;
  }
  .p-page-guide .p-guideBody > div:not(:last-of-type) {
    margin-bottom: 8rem;
  }
  .p-page-guide .p-guide-title {
    padding-bottom: 1.3rem;
    margin-bottom: 2.5rem;
    font-size: 1.8rem;
    letter-spacing: 0.07em;
  }
  .p-page-guide .p-guide-description {
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 0 2rem;
  }
  .p-page-guide .p-guide-description .kome, .p-page-guide .p-guide-description .komeList {
    font-size: 1.3rem;
    margin-top: 1.1em;
  }
  .p-page-guide .p-guide-description li .kome {
    margin-top: 0.3em;
  }
  .p-page-guide .p-guide-description h3.copy {
    font-size: 1.7rem;
    margin: 3em 0 1em;
  }
  .p-page-guide .p-guide-description h3.num {
    font-size: 1.7rem;
    margin: 3em 0 0.7em;
  }
  .p-page-guide .p-guide-description .numInBox {
    padding-left: 2.6rem;
  }
  .p-page-guide .p-guide-description h4 {
    font-size: 1.6rem;
    margin: 2.5em 0 0.7em;
  }
  .p-page-guide .p-guide-description .dotList {
    margin-top: 1.5em;
  }
  .p-page-guide .p-guide-description .dotList li {
    line-height: 1.7;
  }
  .p-page-guide .p-guide-description .numList {
    margin-top: 1.5em;
  }
  .p-page-guide .p-guide-description .numList li {
    margin-top: 0.8em;
    padding-left: 1.8em;
    line-height: 1.7;
  }
  .p-page-guide .p-guide-description .endTxt {
    margin-top: 5.5rem;
  }
  .p-page-guide .p-guide-description img.wrapping {
    width: 100%;
    max-width: 320px;
    margin: 1em auto 0;
  }
  .p-page-guide .p-guide-description .wrappingList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    padding-top: 3rem;
  }
}

.m-orderProductSect-item__pictureLink {
  pointer-events: none;
}

.s-orderContent-foot {
  padding: 0.1rem 0 0;
  margin: 8rem 0 0;
  border-top: #E5E3E0 1px solid;
}
.s-orderContent-foot h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 5rem 0 2.8rem;
}
@media screen and (max-width: 767px) {
  .s-orderContent-foot .l-container {
    padding: 0 2rem;
  }
  .s-orderContent-foot .itemList {
    width: calc(100% + 4rem);
    margin: 0 -2rem;
    overflow-x: auto;
    display: flex;
    flex-wrap: nowrap;
    gap: 0 1.2rem;
  }
  .s-orderContent-foot .itemList:before {
    content: "";
    display: block;
    padding-left: 0.8rem;
  }
  .s-orderContent-foot .itemList:after {
    content: "";
    display: block;
    padding-left: 0.8rem;
  }
  .s-orderContent-foot .itemList li {
    flex-shrink: 0;
    width: 16.2rem;
  }
}
@media screen and (min-width: 768px) {
  .s-orderContent-foot {
    margin-top: 10rem;
  }
  .s-orderContent-foot h2 {
    font-size: 1.7rem;
    margin: 8rem 0 4.5rem;
  }
}

.s-type-order {
  padding-bottom: 0;
}

input.c-changeQuantity__number {
  border: none;
  padding: 0;
}

.m-formHeading-body h2 {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  margin: 0.5em 0;
}

@media screen and (min-width: 768px) {
  .s-orderContent-head:empty {
    margin: 0;
    padding: 0;
  }
  .m-formHeading-body h2 {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 500;
    margin: 1em 0 0.5em;
  }
}
.p-page-orderComplete .recommendBox {
  padding: 0 1.6rem;
}

@media screen and (min-width: 992px) {
  .s-orderContent-sepWrap__info.wide {
    width: 60%;
    margin: 0 auto;
  }
}
.p-regulation-terms__title {
  font-size: 1.5rem;
  margin-bottom: 1.4rem;
}

@media screen and (min-width: 768px) {
  .p-regulation-terms__title {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.p-register-recaptcha {
  width: 28.6rem;
  margin-top: 3rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 1220px) {
  .p-login-body {
    grid-template-columns: 50% 1fr;
    gap: 0 8%;
  }
}
.p-page-newsList {
  overflow: visible;
}
.p-page-newsList .pTitle {
  margin-bottom: 5rem;
}
.p-page-newsList .c-noItem-message {
  text-align: center;
  margin: 3em 0 -2em;
}
@media screen and (min-width: 768px) {
  .p-page-newsList {
    max-width: 1000px;
    margin: 0 auto;
  }
  .p-page-newsList .pTitle {
    margin-bottom: 9rem;
  }
}

.p-newsList-content__article {
  position: relative;
  padding: 2.8rem 0.9em 2.5rem;
  border-bottom: rgba(var(--bg1), 0.6) 1px solid;
}
.p-newsList-content__article .tokou > a[href]:not([href="#"]):not([href=""]) {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: background 0.22s;
}
.p-newsList-content__article .tokou > a[href]:not([href="#"]):not([href=""]) + .title {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-newsList-content__article .tokou > a[href]:not([href="#"]):not([href=""]):hover {
    background: rgba(var(--bg1), 0.08);
  }
  .p-newsList-content__article .tokou > a[href]:not([href="#"]):not([href=""]):hover + .title {
    text-decoration: none;
  }
}
.p-newsList-content__article .info {
  display: flex;
  align-items: center;
  gap: 0 1.4rem;
  margin-bottom: 1.2rem;
}
.p-newsList-content__article .info p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: rgba(var(--color-txt2), 0.6);
  border: var(--color-gray2) 1px solid;
  width: 6.4rem;
  height: 1.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-newsList-content__article .info p.new {
  border-color: rgba(var(--color-primary2), 0.5);
  color: rgba(var(--color-primary2), 0.8);
}
.p-newsList-content__article .info p.media {
  border-color: rgba(var(--color-beige2), 0.7);
  color: rgba(var(--color-beige2), 1);
}
.p-newsList-content__article time {
  display: block;
  font-size: 1.2rem;
  line-height: 1.1;
  letter-spacing: 0.02em;
  color: rgba(var(--color-txt2), 0.8);
  width: 6em;
}
.p-newsList-content__article .title {
  text-align: justify;
  font-size: 1.4rem;
  line-height: 1.7;
}
.p-newsList-content__article .title a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-newsList-content__article .title a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
.p-newsList-content__article .kijiWrap {
  font-size: 1.3rem;
  line-height: 1.7;
  margin-top: 1.8em;
}
.p-newsList-content__article .kijiWrap a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-newsList-content__article .kijiWrap a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-newsList-content__article {
    padding: 2.6rem 1.2rem;
    display: flex;
    align-items: flex-start;
    gap: 0 4.6rem;
  }
  .p-newsList-content__article .info {
    gap: 0 3.6rem;
    margin-bottom: 0;
  }
  .p-newsList-content__article .info p {
    font-size: 1.2rem;
    width: 8em;
    height: 3.1rem;
  }
  .p-newsList-content__article time {
    font-size: 1.4rem;
    white-space: nowrap;
  }
  .p-newsList-content__article .tokou {
    padding-top: 0.1em;
  }
  .p-newsList-content__article .title {
    text-align: left;
    font-size: 1.6rem;
    flex: 1;
  }
  .p-newsList-content__article .kijiWrap {
    font-size: 1.5rem;
    line-height: 1.7;
    margin-top: 1.8em;
  }
}

.p-privacy-content__lead, .p-privacy-content__item-text, .p-privacy-content__item-text-wrapper, .p-terms-content__lead, .p-terms-content__item-text, .p-terms-content__item-text-wrapper {
  font-size: 1.2rem;
  line-height: 1.7;
}
.p-privacy-content__item-title, .p-terms-content__item-title {
  font-size: 1.5rem;
  font-weight: 600;
}
.p-privacy-content__item-title:before, .p-terms-content__item-title:before {
  display: inline-block;
  margin-right: 0.7em;
}
.p-privacy-content__item, .p-terms-content__item {
  padding: 3rem 0;
}
.p-privacy-content__item:not(:first-of-type), .p-terms-content__item:not(:first-of-type) {
  border-color: rgba(var(--color-txt2), 0.2);
}
.p-privacy-content a, .p-terms-content a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-privacy-content a:hover, .p-terms-content a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
.p-privacy-content p.kome, .p-terms-content p.kome {
  font-size: 86%;
  margin: 0.5em 0 0;
}
.p-privacy-content .dotList, .p-terms-content .dotList {
  margin: 0.5em 0 0;
}
.p-privacy-content ol.numList, .p-terms-content ol.numList {
  counter-reset: number;
  margin: 0.8em 0 0;
}
.p-privacy-content ol.numList > li, .p-terms-content ol.numList > li {
  counter-increment: number;
  position: relative;
  padding-left: 2rem;
  margin: 0.7em 0 0;
}
.p-privacy-content ol.numList > li:before, .p-terms-content ol.numList > li:before {
  content: counter(number) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.p-privacy-content .tbl, .p-terms-content .tbl {
  margin: 1em 0;
  width: auto;
}
.p-privacy-content .tbl th, .p-terms-content .tbl th {
  width: auto;
}
@media screen and (min-width: 768px) {
  .p-privacy-content__lead, .p-privacy-content__item-text, .p-privacy-content__item-text-wrapper, .p-terms-content__lead, .p-terms-content__item-text, .p-terms-content__item-text-wrapper {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .p-privacy-content__item-title, .p-terms-content__item-title {
    font-size: 1.7rem;
  }
  .p-privacy-content__item, .p-terms-content__item {
    padding: 4.5rem 0;
  }
  .p-privacy-content ol.numList > li, .p-terms-content ol.numList > li {
    padding-left: 2rem;
    margin: 1.1em 0 0;
  }
}

.p-company-content .tbl, .p-law-content .tbl {
  margin: 3rem 0 5rem;
}
.p-company-content .tbl th, .p-law-content .tbl th {
  width: 10em;
}
.p-company-content .c-page-subtitle, .p-law-content .c-page-subtitle {
  font-size: 1.4rem;
  padding-bottom: 0.9rem;
  margin: 4rem 0 1.3rem !important;
}
.p-company-content .c-page-textcontent, .p-law-content .c-page-textcontent {
  font-size: 1.2rem;
  line-height: 1.8;
}
.p-company-content p.kome, .p-law-content p.kome {
  font-size: 85%;
  margin-top: 0.6em;
}
.p-company-content .txtList li, .p-law-content .txtList li {
  margin-top: 0.5em;
}
.p-company-content a, .p-law-content a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-company-content a:hover, .p-law-content a:hover {
    text-decoration: none;
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-company-content .tbl, .p-law-content .tbl {
    margin: 5rem 0 8rem;
    font-size: 1.4rem;
  }
  .p-company-content .tbl th, .p-law-content .tbl th {
    width: 15em;
    vertical-align: top;
  }
  .p-company-content .c-page-subtitle, .p-law-content .c-page-subtitle {
    font-size: 1.6rem;
    padding-bottom: 1rem;
    margin: 5rem 0 1.7rem !important;
  }
  .p-company-content .c-page-textcontent, .p-law-content .c-page-textcontent {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

.c-form-errorMsg {
  font-size: 1.3rem;
}

.c-userNav-title__iconWrap {
  font-size: 0;
}

.c-productUser-body__title-name {
  font-size: 1.3rem;
  line-height: 1.3;
}

.c-productUser-sIcon {
  gap: 0.2rem 0.1rem;
}
.c-productUser-sIcon li {
  font-size: 0;
}
.c-productUser-sIcon li img {
  height: 1.6rem;
}

.m-userNav__sections {
  border-color: var(--color-gray-light-little);
}

.m-userNav__title {
  background-color: var(--color-gray-light-little);
  color: var(--color-txt);
}

.m-userNav-section__title {
  border-color: var(--color-gray-light-little);
  padding: 0 1.6rem 1.5rem;
}

.c-userNav-title__text {
  font-size: 1.5rem;
}

.m-userNav-section__menu {
  padding-bottom: 2.5rem;
}

@media screen and (min-width: 768px) {
  .c-productUser-body__title-name {
    font-size: 1.4rem;
    line-height: 1.3;
  }
  .c-productUser-sIcon {
    gap: 0.2rem 0.2rem;
  }
  .c-productUser-sIcon li {
    background: #fff;
  }
  .c-productUser-sIcon li img {
    height: 2.1rem;
  }
}
@media screen and (min-width: 992px) {
  .m-userNav-section__menu {
    padding-bottom: 3rem;
    margin-top: 1rem;
  }
}
.p-myPage-recommendWrap__inner {
  row-gap: 4rem;
}
@media screen and (min-width: 1220px) {
  .p-myPage-recommendWrap {
    margin-top: 6rem;
  }
  .p-myPage-recommendWrap__inner {
    row-gap: 5.2rem;
  }
}

.m-userProductSectCol .m-userProductSectCol-productDetail__info {
  margin-bottom: 1em;
}

.m-userProductSectCol .m-orderProductSect-productPrice {
  font-size: 1.3rem;
}

.m-userProductSectCol-productDetailInfo__title::after {
  letter-spacing: 0;
}

.m-userProductSect-item__picture img {
  aspect-ratio: 1/1;
  object-fit: contain;
}

.m-userProductSectCol-product__pictureLink, .c-productUser-head__link, .m-userProductSect-item__pictureLink {
  pointer-events: none;
}

.m-userSectCol-body .infoBox {
  font-size: 1.4rem;
}
.m-userSectCol-body .infoBox .contactBox {
  border: #C9C9C9 1px solid;
  background: #FBFBFA;
  padding: 1.5rem 1rem 1.4rem;
  margin: 2rem 0 0;
}
.m-userSectCol-body .infoBox .contactBox .tel {
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--color-primary);
}
.m-userSectCol-body .infoBox .contactBox .tel .telLink {
  text-decoration: none;
  font-size: 2.6rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  display: block;
}
.m-userSectCol-body .infoBox .contactBox .time {
  text-align: center;
  font-size: 1rem;
  margin-top: 1em;
}
.m-userSectCol-body .infoBox .contactBox .kome {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .m-userSectCol-body .infoBox .contactBox {
    display: inline-block;
    padding: 2rem 3.2rem 1.8rem;
    margin: 3rem 0 0;
  }
  .m-userSectCol-body .infoBox .contactBox .tel {
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    gap: 0 1.5rem;
  }
  .m-userSectCol-body .infoBox .contactBox .tel .telLink {
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1;
    padding-bottom: 0.1em;
  }
  .m-userSectCol-body .infoBox .contactBox .time {
    text-align: left;
    font-size: 1.2rem;
    margin-top: 1em;
  }
  .m-userSectCol-body .infoBox .contactBox .kome {
    font-size: 1.2rem;
    margin-top: 0.2em;
  }
}/*# sourceMappingURL=customize.css.map */