@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root {
  --main: #93BAA8;
  --sub: #F2F7F5;
  --be: #F5F5F2;
  --accent: #DE8D8D;
  --padding: 72px;
  --st-font-body: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --st-font-heading: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --st-font-latin: "Inter", "Helvetica Neue", Arial, sans-serif;
}
@media screen and (max-width: 768px) {
  :root {
    --padding: 40px;
  }
}
html {
  overflow: auto;
}
body {
  font-family: var(--st-font-body);
  letter-spacing: 0;
  font-weight: 400;
  font-size: 15px;
  color: #000;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 1180px) {
  body {
    font-size: 13px
  }
}
.shuei, #gnav a, .icon {
  font-family: var(--st-font-heading);
  font-weight: 600;
  font-style: normal;
}
body img {
  display: inline;
}
article, aside, footer, header, nav, section, main {
  display: block;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  line-height: 1.2;
  font-weight: normal;
}
h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}
p {
  margin: 0
}
a {
  color: inherit;
  outline: none;
  text-decoration: none;
  display: inline-block;
}
a:hover img {
  opacity: .8;
}
img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: top;
}
video {
  max-width: 100%;
  height: auto;
}
code, kbd, pre, samp {
  font-size: inherit;
}
ul, ol {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
th, td {
  text-align: left;
  vertical-align: top;
}
blockquote, q {
  quotes: none;
}
blockquote::after, blockquote::before, q::after, q::before {
  content: "";
  content: none;
}
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
address {
  font-style: normal;
}
input, textarea, select {
  max-width: 100%;
}
.sp {
  display: none;
}
@media screen and (max-width: 1180px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .scroll_area {
    overflow-x: auto;
  }
}
/*-----------------------
/*clearfix
---------------------------------*/
/* For modern browsers */
.cf:before, .cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
/* For IE 6/7 only */
.cf {
  *zoom: 1;
}
.l-row {
  display: flex;
  flex-wrap: wrap;
}
.l-row--between {
  justify-content: space-between;
}
.l-row--center {
  justify-content: center;
}
.l-row--middle {
  align-items: center;
}
.l-row--end {
  align-items: flex-end;
}
.l-row.nowrap {
  flex-wrap: nowrap;
}
.l-row.l-row--2 > * {
  width: calc(100% / 2 - 1.6em);
}
.l-row.l-row--3 > * {
  width: calc(100% / 3 - 1.6em);
}
.l-row.l-row--4 > * {
  width: calc(100% / 4 - 1.6em);
}
.l-row.l-row--5 > * {
  width: calc(100% / 5 - 1.6em);
}
@media screen and (max-width: 768px) {
  .title02, .btn02 {
    font-size: 18px;
  }
  .l-row.l-row--1_sp > * {
    width: 100%;
  }
  .l-row.l-row--2_sp > * {
    width: 49%;
  }
  .l-row.l-row--3_sp > * {
    width: calc(100% / 3 - 1.6em);
  }
  .l-row.l-row--4_sp > * {
    width: calc(100% / 4 - 1.6em);
  }
  .l-row.l-row--5_sp > * {
    width: calc(100% / 5 - 1.6em);
  }
}
.bold{
	font-weight:bold;
}
.mr10 {
  margin-right: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb90 {
  margin-bottom: 90px;
}
.mt40 {
  margin-top: 40px
}
.txt_80 {
  font-size: .8em;
}
.txt_120 {
  font-size: 1.2em;
}
.tar {
  text-align: right;
}
.tac {
  text-align: center;
}
.fadein {
  opacity: 0;
  transition: all 1s ease 0s;
}
.fadein.is-in {
  opacity: 1
}
.fadein-up {
  -webkit-transform: translate(0, 20px);
  opacity: 0;
  transform: translate(0, 20px);
  transition: all .6s ease 0s;
  transition-delay: 0;
}
.fadein-up.is-in {
  -webkit-transform: translate(0, 0);
  opacity: 1;
  transform: translate(0, 0);
}
.delay1 {
  opacity: 0;
  transition: all 0.8s ease 0s;
  transition-delay: .3s;
}
.delay2 {
  opacity: 0;
  transition: all 0.8s ease 0s;
  transition-delay: .7s;
}
.delay3 {
  opacity: 0;
  transition: all 0.8s ease 0s;
  transition-delay: 1.1s;
}
.delay1.is-in, .delay2.is-in, .delay3.is-in {
  opacity: 1;
}
.fadein-right {
  -webkit-transform: translate(3.8rem, 0);
  opacity: 0;
  transform: translate(3.8rem, 0);
  transition: all 0.8s ease 0s;
  transition-delay: .3s;
}
.fadein-right.is-in {
  -webkit-transform: translate(0, 0);
  opacity: 1;
  transform: translate(0, 0);
}
.fadein-left {
  -webkit-transform: translate(-3.8rem, 0);
  opacity: 0;
  transform: translate(-3.8rem, 0);
  transition: all 0.8s ease 0s;
  transition-delay: .3s;
}
.fadein-left.is-in {
  -webkit-transform: translate(0, 0);
  opacity: 1;
  transform: translate(0, 0);
}
.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.imgzoom {
  overflow: hidden;
}
.imgzoom img {
  -webkit-animation: zoomin .6s 1;
  animation: zoomin .3s 1;
  animation-fill-mode: forwards;
}
.imgzoom:hover img {
  -webkit-animation: zoomup .8s 1;
  animation: zoomup .6s 1;
  animation-fill-mode: forwards;
}
@keyframes zoomin {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes zoomup {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.l-inner {
  max-width: 1180px;
  margin: 0 auto
}
@media screen and (max-width: 1180px) {
  .l-inner {
    margin: 0 5%;
  }
}
.p-ttl {
  text-align: center;
  font-size: 24px;
  letter-spacing: 0;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 1180px) {
  .p-ttl {
    line-height: 1;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 25px
  }
}
.p-ttl span {
  display: block;
  color: var(--main);
  font-size: 14px;
  margin-top: 5px
}
.swiper-pagination {
  position: inherit;
  padding: 10px 0;
}
@media screen and (max-width: 1180px) {
  .swiper-pagination {
    padding: 0 0 10px;
  }
}
.swiper-pagination-bullet {
  margin: 0 5px
}
.swiper-pagination-bullet-active {
  background: var(--main)
}
.item_list li {
  text-align: center;
  margin: 0 1% 3%;
  position: relative
}
.item_list a {
  display: block;
}
.item_list .img, .item_list .img img {
  width: 100%;
  height: auto;
  display: block;
}
.item_list .item_name {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 8px
}
@media screen and (max-width: 768px) {
  .item_list .item_name {
    font-size: 10px;
  }
}
.item_list .item_info {
  justify-content: space-between;
}
.item_list .price {
  opacity: .6;
  font-size: 16px
}
@media screen and (max-width: 768px) {
  .item_list .price {
    font-size: 12px;
  }
}
.item_list .price span {
  font-size: 10px
}
.icon {
  display: inline-block;
  line-height: 1;
  border-radius: 4px;
  padding: 4px 8px 3px;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .icon {
    padding: 3px 5px 2px;
    font-size: 10px;
  }
}
.icon._freeshipping {
  background: var(--accent);
  color: #fff;
}
.icon._new {
  background: #fff;
  color: #BE3A77;
  border: 1px solid #BE3A77
}
/*---------------
header
----------------*/
.p-header__top {
  background: var(--main);
  padding: 5px 3%;
  justify-content: space-between;
  color: #fff;
}
@media screen and (max-width: 1180px) {
  .p-header__top {
    padding: 5px 1% 5px 3%;
  }
}
.p-header__top p {
  margin-bottom: 0;
}
.sub-nav {
  justify-content: flex-end;
  margin-bottom: 0;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .sub-nav {
    display: none;
  }
}
.sub-nav a {
  padding: 0 .6em;
  position: relative;
  font-size: 12px;
  color: #fff;
}
.sub-nav a:hover {
  opacity: .7
}
.sub-nav a:after {
  content: '|';
  position: absolute;
  top: 0;
  font-size: 14px;
  right: 0
}
.sub-nav li:last-child a:after {
  display: none
}
.p-header__middle {
  height: 78px;
  position: relative
}
@media screen and (max-width: 1180px) {
  .p-header__middle {
    height: 50px;
    width: 100%;
    background: #fff;
  }
  .p-header__middle.fixed {
    position: fixed;
    top: 0;
    z-index: 101
  }
}
.site-ttl {
  width: 25%;
  max-width: 260px;
  position: absolute;
  top: 14%;
  left: 3%;
  z-index: 100
}
.site-ttl span {
  font-size: 10px;
  opacity: .5
}
@media screen and (max-width: 1180px) {
  .site-ttl {
    width: 220px;
    max-width: 100%;
    top: 3px;
    left: 3%;
  }
}
.site-ttl a {
  align-items: center;
}
.site-ttl img {
  width: calc(100% - 6em);
  margin-right: 1em;
}
@media screen and (max-width: 1180px) {
  .site-ttl img {
    margin-right: 4px;
  }
}
.site-ttl span {
  font-size: 12px;
}
@media screen and (max-width: 1180px) {
  .site-ttl span {
    font-size: 10px;
    margin-top: 4px;
  }
}
.p-header__middle .linkarea {
  position: absolute;
  right: 3%;
  height: 78px;
  display: flex;
  align-items: center;
  top: 0;
  z-index: 11;
  font-size: 12px
}
.p-header__middle .linkarea .mypage {
  margin-right: 16px
}
.p-header__middle .linkarea .mypage a {
  position: relative;
  width: 80px
}
@media screen and (max-width: 768px) {
  .p-header__middle .linkarea .mypage a {
    width: auto
  }
}
.p-header__middle .linkarea .mypage a:after {
  content: 'マイページ';
  position: absolute;
  right: 0;
  top: 1px
}
@media screen and (max-width: 768px) {
  .p-header__middle .linkarea .mypage a:after {
    content: '';
    position: inherit;
  }
}
@media screen and (max-width: 768px) {
  .p-header__middle .linkarea .mypage {
    margin-right: 12px;
    width: 17px;
  }
}
.p-header__middle .linkarea .ico img {
  margin-right: 5px;
  width: 23px
}
@media screen and (max-width: 768px) {
  .p-header__middle .linkarea .ico img {
    width: 20px;
    margin-right: 9px;
  }
}
@media screen and (max-width: 1180px) {
  .p-header__middle .linkarea {
    height: 50px;
    right: 47px
  }
}
.total-quant {
  background: var(--accent);
}
@media screen and (max-width: 768px) {
  .total-quant {
    right: -4px;
  }
}
.p-search {
  text-align: center;
  position: relative;
}
.p-search input[type=text] {
  width: 90%;
  margin: 0 auto;
  padding: 1em 3em 1em 1.6em;
  background: #F0F0F0;
  border: none;
  border-radius: 3em;
  height: auto;
}
@media screen and (max-width: 1180px) {
  .p-search input[type=text] {
    width: 100%
  }
}
.p-search input[type=text].icon {
  margin: 0;
  padding: 0;
  background: url(../images/ico-search.svg) no-repeat center;
  cursor: pointer;
  width: 35px;
  height: 25px;
  border: none;
  position: absolute;
  top: 50%;
  right: -2em;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.p-search .btn-outline-secondary {
  border-color: transparent;
  position: absolute;
  top: 7px;
  right: 16px;
}
.search {
  margin-right: 20px
}
@media screen and (max-width: 1180px) {
  /* spnav*/
  .spnav {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 79px;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: all .5s;
    overflow: auto;
    padding: 10px 0;
    z-index: 30
  }
  .spnav .inner {
    padding: 0;
  }
  #js-search {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 50px;
    background: #fff;
    width: 100%;
    padding: 5%;
    z-index: 100;
    transition: all .4s;
  }
  .spnav.active, #js-search.active {
    opacity: 1;
    visibility: visible;
  }
  .openbtn {
    position: absolute;
    width: 50px;
    height: 50px;
    cursor: pointer;
    background: #fff;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .openbtn span {
    display: block;
    transition: all .4s;
    height: 3px;
    background-color: #606060;
    z-index: 40;
    margin: 1px 0;
    border-radius: 4px;
  }
  .openbtn span:nth-of-type(1) {
    top: 22px;
    width: 40%;
  }
  .openbtn span:nth-of-type(2) {
    top: 29px;
    width: 40%;
  }
  .openbtn span:nth-of-type(3) {
    top: 36px;
    width: 40%;
  }
  .openbtn.active span:nth-of-type(1) {
    transform: translateY(3px) rotate(-45deg);
  }
  .openbtn.active span:nth-of-type(2) {
    transform: translateY(-2px) rotate(45deg);
  }
  .openbtn.active span:nth-of-type(3) {
    display: none
  }
  .spnav .c-accordion {
    border: none
  }
  .spnav .c-accordion__title {
    text-align: left;
    font-size: 18px;
    padding: 0.5em 1em;
  }
  .spnav .c-accordion__title--arrow {
    right: 18px
  }
  .spnav .c-accordion__content {
    padding: 18px;
    background: var(--sub)
  }
  .spnav .c-accordion__content a {
    padding: .5em 0;
    font-size: 15px;
    position: relative;
    width: 100%
  }
  .spnav .c-accordion__content a:after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    width: 4px;
    height: 4px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -4px;
  }
  .spnav ._main {
    border-bottom: 1px solid #ebebeb
  }
  .spnav ._sub {
    padding: 18px
  }
  .spnav ._sub a {
    padding: 9px 0;
    font-size: 14px;
  }
  .spnav ._main .c-accordion__content._series li {
    width: 48%;
    margin: 0 1% 1%;
    float: left;
  }
}
@media screen and (max-width: 768px) {
  .spnav {
    top: 50px
  }
}
/*---------------------------------------------
gnav
---------------------------------------------*/
#gnav {
  width: 100%;
  height: 50px;
  position: relative;
  z-index: 10;
}
#gnav > ul {
  margin: 0 auto auto 270px;
  width: 100%;
  height: 78px;
  text-align: center;
  justify-content: flex-start;
  align-items: center;
}
#gnav > ul > li > a {
  height: 78px;
  line-height: 78px;
  display: flex;
  align-items: center;
  text-align: center;
  transition: all 0s linear;
  text-decoration: none;
  padding: 0 2em 0 0;
  opacity: 1;
  font-size: 18px;
  letter-spacing: 0
}
@media screen and (max-width: 1380px) {
  #gnav > ul > li > a {
    padding: 0 1em 0 0;
    font-size: 14px;
  }
}
#gnav > ul > li > a span {
  margin-left: 5px
}
.dli-plus {
  display: inline-block;
  vertical-align: middle;
  color: var(--main);
  line-height: 1;
  width: 14px;
  height: 0.2em;
  background: currentColor;
  border-radius: 0.4em;
  position: relative;
}
.dli-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}
#gnav > ul > li > a:hover .dli-plus:before {
  display: none
}
.navwrap {
  top: 78px;
  left: 0;
  width: 100%;
  margin: 0 auto;
  height: 0;
  text-align: center;
  background: var(--sub);
  position: absolute;
  z-index: 10;
  overflow: hidden;
  display: none;
}
.megainner {
  margin: 0 auto;
  padding: 30px 0;
  max-width: 1000px;
  height: auto;
  line-height: 1.5em;
  text-align: left;
  color: var(--bk);
  position: relative;
  box-sizing: border-box;
}
.megainner .site-nav__in {
  width: 100%;
  flex-direction: row;
}
.megainner .site-nav__in .ttl {
  margin-bottom: 1em;
  font-weight: 700
}
.site-nav__list {
  width: 100%;
}
.site-nav__list li {
  width: 24%;
  margin-right: 1%;
  margin-bottom: 1%
}
.site-nav__list li a {
  padding: 0.6em 1em;
  border: 1px solid #bbb;
  background: #fff;
  position: relative;
  display: block;
  border-radius: 3px;
}
.site-nav__list li a:hover {
  background: var(--main);
  color: #fff;
}
.site-nav__list li a:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #b5aeae;
  border-right: solid 2px #b5aeae;
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -4px;
  transform: rotate(45deg);
}
.mainwrap {
  overflow: hidden;
}
@media screen and (max-width: 1180px) {
  .mainwrap {
    padding-bottom: 64px
  }
}
/*---------------------------------------------
mv
---------------------------------------------*/
.topbnr_area {
  position: relative;
}
@media screen and (max-width: 1180px) {
  .topbnr_area {
    width: 100%;
    margin: 8px auto 0;
  }
}
@media screen and (max-width: 1180px) {
  .topbnr_list {
    margin-bottom: 30px
  }
}
.topbnr_list li a:hover {
  opacity: .8
}
.topbnr_list__img {
  border-radius: 30px
}
.topbnr_list__img img {
  border-radius: 30px
}
.st-hero-slider {
  position: relative;
  width: 100%;
  min-height: 620px;
  background: #1b302d;
  overflow: hidden;
}
.st-hero-slider .swiper-wrapper {
  align-items: stretch;
}
.st-hero-slide {
  position: relative;
  min-height: 620px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.st-hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(19, 37, 34, .9) 0%, rgba(19, 37, 34, .62) 42%, rgba(19, 37, 34, .18) 100%);
  z-index: 1;
}
.st-hero-slide::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 36%;
  background: linear-gradient(180deg, rgba(19, 37, 34, 0) 0%, rgba(19, 37, 34, .72) 100%);
  z-index: 1;
}
.st-hero-slide.swiper-slide-active .st-hero__eyebrow,
.st-hero-slide.swiper-slide-active .st-hero__title,
.st-hero-slide.swiper-slide-active .st-hero__lead,
.st-hero-slide.swiper-slide-active .st-hero__actions,
.st-hero-slide.swiper-slide-active .st-hero__facts {
  animation: stHeroTextIn .68s ease both;
}
.st-hero-slide.swiper-slide-active .st-hero__title {
  animation-delay: .06s;
}
.st-hero-slide.swiper-slide-active .st-hero__lead {
  animation-delay: .12s;
}
.st-hero-slide.swiper-slide-active .st-hero__actions,
.st-hero-slide.swiper-slide-active .st-hero__facts {
  animation-delay: .18s;
}
.st-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1180px, 90%);
  min-height: 620px;
  margin: 0 auto;
  padding: 98px 0 82px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.st-hero__eyebrow {
  width: fit-content;
  padding: 8px 14px 7px;
  background: #c7523f;
  color: #fff;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}
.st-hero__title {
  max-width: 700px;
  margin-top: 22px;
  font-family: var(--st-font-heading);
  font-size: 52px;
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: 0;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .22);
}
.st-hero__lead {
  max-width: 620px;
  margin-top: 22px;
  color: rgba(255, 255, 255, .93);
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .28);
}
.st-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.st-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 4px;
  font-weight: 700;
  line-height: 1.3;
  transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.st-hero__btn:hover {
  transform: translateY(-2px);
}
.st-hero__btn--primary {
  background: #fff;
  color: #183531;
}
.st-hero__btn--ghost {
  border: 1px solid rgba(255, 255, 255, .72);
  color: #fff;
}
.st-hero__btn--ghost:hover {
  background: rgba(255, 255, 255, .12);
}
.st-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  width: min(680px, 100%);
  margin-top: 34px;
  background: rgba(255, 255, 255, .2);
  border: 1px solid rgba(255, 255, 255, .24);
  backdrop-filter: blur(12px);
}
.st-hero__facts div {
  min-width: 0;
  padding: 14px 16px 15px;
  background: rgba(10, 26, 23, .48);
}
.st-hero__facts dt {
  color: rgba(255, 255, 255, .7);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
}
.st-hero__facts dd {
  margin-top: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.st-hero__controls {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 24px;
  width: min(1180px, 90%);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  pointer-events: none;
}
.st-hero__nav {
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 50%;
  background: rgba(12, 28, 25, .42);
  cursor: pointer;
  pointer-events: auto;
}
.st-hero__nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.st-hero-prev::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}
.st-hero-next::before {
  transform: translate(-65%, -50%) rotate(45deg);
}
.st-hero-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto !important;
  padding: 0;
  pointer-events: auto;
}
.st-hero-pagination .swiper-pagination-bullet {
  width: 32px;
  height: 3px;
  margin: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, .62);
  opacity: 1;
}
.st-hero-pagination .swiper-pagination-bullet-active {
  background: #c7523f;
}
@keyframes stHeroTextIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 1180px) {
  .st-hero-slider,
  .st-hero-slide {
    min-height: 580px;
  }
  .st-hero__inner {
    width: 90%;
    min-height: 580px;
    padding-top: 78px;
  }
  .st-hero__title {
    font-size: 42px;
  }
}
@media (max-width: 767px) {
  .st-hero-slider,
  .st-hero-slide {
    min-height: 620px;
  }
  .st-hero-slide {
    background-position: 62% center;
  }
  .st-hero-slide::before {
    background: linear-gradient(180deg, rgba(17, 35, 32, .84) 0%, rgba(17, 35, 32, .68) 48%, rgba(17, 35, 32, .28) 100%);
  }
  .st-hero__inner {
    width: 88%;
    min-height: 620px;
    padding: 66px 0 94px;
    justify-content: flex-end;
  }
  .st-hero__eyebrow {
    max-width: 100%;
    font-size: 11px;
  }
  .st-hero__title {
    margin-top: 16px;
    font-size: 32px;
    line-height: 1.34;
  }
  .st-hero__lead {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.82;
  }
  .st-hero__actions {
    gap: 9px;
    margin-top: 22px;
  }
  .st-hero__btn {
    flex: 1 1 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0 18px;
    font-size: 13px;
  }
  .st-hero__facts {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }
  .st-hero__facts div {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 10px;
    align-items: baseline;
    padding: 10px 12px;
  }
  .st-hero__facts dd {
    margin-top: 0;
    font-size: 13px;
  }
  .st-hero__controls {
    bottom: 18px;
    justify-content: center;
  }
  .st-hero__nav {
    width: 36px;
    height: 36px;
  }
}
.st-section-head {
  display: grid;
  grid-template-columns: minmax(0, .74fr) minmax(280px, .46fr);
  gap: 32px;
  align-items: end;
  margin-bottom: 32px;
}
.st-section-head--center {
  display: block;
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}
.st-section-kicker {
  display: block;
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.4;
}
.st-section-title {
  margin-top: 8px;
  color: #172522;
  font-family: var(--st-font-heading);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 0;
}
.st-section-head p,
.st-first-guide__head p,
.st-business-support__panel p {
  color: #5c625f;
  font-size: 14px;
  line-height: 1.85;
}
.st-trust-strip {
  background: #fff;
  border-bottom: 1px solid #e6ece8;
}
.st-trust-strip .l-inner {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-left: 1px solid #e6ece8;
}
.st-trust-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 3px 12px;
  min-height: 96px;
  padding: 20px 18px;
  border-right: 1px solid #e6ece8;
  align-items: center;
}
.st-trust-card span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e8f0ec;
  color: #2f6b55;
  font-weight: 800;
}
.st-trust-card strong {
  color: #172522;
  font-size: 14px;
  line-height: 1.35;
}
.st-trust-card small {
  color: #6a716f;
  font-size: 11px;
  line-height: 1.45;
}
.st-quick-actions {
  background: #f7f4ee;
  padding: 22px 0;
}
.st-quick-actions .l-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.st-quick-action {
  display: flex;
  flex-direction: column;
  min-height: 116px;
  padding: 18px;
  background: #fff;
  border: 1px solid #e5ded2;
  border-radius: 6px;
  color: #172522;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.st-quick-action:hover {
  transform: translateY(-2px);
  border-color: #c7523f;
  box-shadow: 0 12px 24px rgba(36, 59, 54, .08);
}
.st-quick-action span {
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}
.st-quick-action strong {
  margin-top: 8px;
  font-size: 18px;
  line-height: 1.35;
}
.st-quick-action small {
  margin-top: auto;
  padding-top: 12px;
  color: #6a716f;
  font-size: 12px;
  line-height: 1.55;
}
.st-quick-action--accent {
  background: #1d342f;
  border-color: #1d342f;
  color: #fff;
}
.st-quick-action--accent span,
.st-quick-action--accent small {
  color: rgba(255, 255, 255, .74);
}
.st-purpose-block {
  margin-top: 20px;
}
.st-purpose-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  padding: 0 5%;
}
.st-purpose-grid a {
  display: block;
  min-height: 92px;
  padding: 16px 14px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(61, 125, 98, .18);
  border-radius: 6px;
  transition: background .2s, transform .2s;
}
.st-purpose-grid a:hover {
  background: #fff;
  transform: translateY(-2px);
}
.st-purpose-grid strong {
  display: block;
  color: #172522;
  font-size: 14px;
  line-height: 1.45;
}
.st-purpose-grid span {
  display: block;
  margin-top: 8px;
  color: #6a716f;
  font-size: 11px;
  line-height: 1.55;
}
.st-method-compare {
  padding: var(--padding) 0;
  background: #fff;
}
.st-method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.st-method-card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e0e8e4;
  border-radius: 6px;
  box-shadow: 0 10px 26px rgba(36, 59, 54, .06);
}
.st-method-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.st-method-card__body {
  padding: 18px;
}
.st-method-card__body > span {
  display: inline-flex;
  min-height: 24px;
  padding: 4px 9px;
  align-items: center;
  border-radius: 999px;
  background: #fff1eb;
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
}
.st-method-card h3 {
  margin-top: 12px;
  color: #172522;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.45;
}
.st-method-card dl {
  display: grid;
  gap: 0;
  margin-top: 14px;
  border-top: 1px solid #edf1ee;
}
.st-method-card dl div {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #edf1ee;
}
.st-method-card dt {
  color: #87908c;
  font-size: 11px;
  font-weight: 800;
}
.st-method-card dd {
  color: #2b3431;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}
.st-method-card a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  min-height: 42px;
  padding: 0 14px;
  background: #1d342f;
  color: #fff;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 800;
}
.st-method-card a::after {
  content: "→";
}
.st-product-showcase {
  background: #f4f8f6;
}
.st-product-grid {
  gap: 18px;
  justify-content: flex-start;
}
.st-product-showcase .item_list._recommend .st-product-card {
  width: calc(100% / 3 - 12px);
  margin: 0;
  text-align: left;
}
.st-product-card a {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  background: #fff;
  border: 1px solid #e0e8e4;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(36, 59, 54, .06);
}
.st-product-card__img {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: #eef4f1;
  overflow: hidden;
}
.st-product-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s;
}
.st-product-card a:hover .st-product-card__img img {
  transform: scale(1.04);
}
.st-product-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 9px;
  background: #c7523f;
  color: #fff;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 800;
}
.st-product-card__body {
  display: flex;
  flex-direction: column;
  min-height: 176px;
  padding: 16px;
}
.st-product-card__name {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #172522;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.55;
}
.st-product-card__info {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}
.st-product-card__price {
  color: #c7523f;
  font-size: 18px;
  font-weight: 800;
}
.st-product-card__price span {
  color: #6a716f;
  font-size: 11px;
  font-weight: 600;
}
.st-product-card__more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 18px;
  color: #2f6b55;
  font-size: 12px;
  font-weight: 800;
}
.st-product-card__more::after {
  content: "→";
}
.st-scene-features {
  padding: var(--padding) 0;
  background: #fff;
}
.st-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.st-feature-card {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  border-radius: 6px;
  color: #fff;
}
.st-feature-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(19, 37, 34, .06) 0%, rgba(19, 37, 34, .78) 100%);
}
.st-feature-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s;
}
.st-feature-card:hover img {
  transform: scale(1.05);
}
.st-feature-card span,
.st-feature-card strong {
  position: absolute;
  z-index: 1;
  left: 18px;
  right: 18px;
}
.st-feature-card span {
  bottom: 78px;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
}
.st-feature-card strong {
  bottom: 22px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.48;
}
.st-first-guide {
  padding: var(--padding) 0;
  background: #f7f4ee;
}
.st-first-guide__head {
  display: grid;
  grid-template-columns: minmax(0, .6fr) minmax(300px, .4fr);
  gap: 32px;
  align-items: end;
  margin-bottom: 26px;
}
.st-guide-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.st-guide-grid a {
  display: block;
  min-height: 154px;
  padding: 18px;
  background: #fff;
  border: 1px solid #e5ded2;
  border-radius: 6px;
}
.st-guide-grid span {
  color: #c7523f;
  font-size: 12px;
  font-weight: 800;
}
.st-guide-grid strong {
  display: block;
  margin-top: 14px;
  color: #172522;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
}
.st-guide-grid small {
  display: block;
  margin-top: 12px;
  color: #6a716f;
  font-size: 12px;
  line-height: 1.65;
}
.st-order-flow {
  padding: var(--padding) 0;
  background: #fff;
}
.st-flow-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 34px;
  border: 1px solid #e0e8e4;
  border-radius: 6px;
  overflow: hidden;
}
.st-flow-list li {
  position: relative;
  min-height: 164px;
  padding: 20px 18px;
  border-right: 1px solid #e0e8e4;
  background: #fff;
}
.st-flow-list li:last-child {
  border-right: none;
}
.st-flow-list span {
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
}
.st-flow-list strong {
  display: block;
  margin-top: 12px;
  color: #172522;
  font-size: 17px;
  font-weight: 800;
}
.st-flow-list small {
  display: block;
  margin-top: 12px;
  color: #6a716f;
  font-size: 12px;
  line-height: 1.65;
}
.st-business-support {
  padding: var(--padding) 0;
  background: #1d342f;
}
.st-business-support .st-section-title,
.st-business-support .st-section-kicker,
.st-business-support__panel p {
  color: #fff;
}
.st-business-support .st-section-kicker {
  color: #f0b7a8;
}
.st-business-support__panel {
  display: grid;
  grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
  gap: 40px;
  align-items: start;
}
.st-business-support__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.st-business-support__list div {
  min-height: 142px;
  padding: 18px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 6px;
}
.st-business-support__list span {
  color: #f0b7a8;
  font-size: 11px;
  font-weight: 800;
}
.st-business-support__list strong {
  display: block;
  margin-top: 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
}
.st-business-support__list small {
  display: block;
  margin-top: 9px;
  color: rgba(255, 255, 255, .7);
  font-size: 12px;
  line-height: 1.65;
}
@media screen and (max-width: 1180px) {
  .st-quick-actions .l-inner,
  .st-method-grid,
  .st-feature-grid,
  .st-guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .st-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .st-product-showcase .item_list._recommend .st-product-card {
    width: calc(50% - 9px);
  }
  .st-flow-list {
    grid-template-columns: 1fr;
  }
  .st-flow-list li {
    border-right: none;
    border-bottom: 1px solid #e0e8e4;
  }
  .st-flow-list li:last-child {
    border-bottom: none;
  }
}
@media screen and (max-width: 980px) {
  .st-trust-strip .l-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .st-trust-card:last-child {
    grid-column: span 2;
  }
}
@media (max-width: 767px) {
  .st-section-head,
  .st-first-guide__head,
  .st-business-support__panel {
    display: block;
  }
  .st-section-title {
    font-size: 24px;
  }
  .st-section-head p,
  .st-first-guide__head p,
  .st-business-support__panel p {
    margin-top: 14px;
    font-size: 13px;
  }
  .st-quick-actions .l-inner,
  .st-method-grid,
  .st-feature-grid,
  .st-guide-grid,
  .st-business-support__list {
    grid-template-columns: 1fr;
  }
  .st-trust-strip .l-inner {
    grid-template-columns: 1fr;
  }
  .st-trust-card:last-child {
    grid-column: auto;
  }
  .st-trust-card {
    min-height: 78px;
  }
  .st-purpose-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 5%;
  }
  .st-product-showcase .item_list._recommend .st-product-card {
    width: 100%;
  }
  .st-feature-card {
    min-height: 240px;
  }
}
/*---------------------------------------------
SLOWTOWEL EC header / footer
---------------------------------------------*/
.st-header {
  position: relative;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid #e1e8e4;
}
.st-header__notice {
  background: #203b35;
  color: #fff;
  font-size: 12px;
}
.st-header__notice .l-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 34px;
  gap: 18px;
}
.st-header__notice p {
  margin: 0;
  font-weight: 800;
}
.st-header__notice ul {
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 0;
}
.st-header__notice li {
  position: relative;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
}
.st-header__notice li + li::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, .28);
  transform: translateY(-50%);
}
.st-header__main {
  height: auto;
  background: #fff;
}
.st-header__main.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  box-shadow: 0 12px 28px rgba(26, 45, 40, .12);
}
.admin-bar .st-header__main.fixed {
  top: 32px;
}
.st-header__inner {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  width: min(1240px, 94%);
  min-height: 82px;
  margin: 0 auto;
}
.st-header .site-ttl {
  position: static;
  width: auto;
  max-width: none;
}
.st-header__brand a {
  display: block;
  color: #162723;
  font-family: var(--st-font-heading);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.05;
}
.st-header__brand span {
  display: block;
  margin-bottom: 5px;
  color: #c7523f;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  opacity: 1;
}
#gnav.st-global-nav {
  position: static;
  width: auto;
  height: auto;
}
#gnav.st-global-nav > ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  gap: 2px;
}
#gnav.st-global-nav > ul > li > a {
  display: flex;
  align-items: center;
  height: 82px;
  padding: 0 11px;
  color: #24342f;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  white-space: nowrap;
}
#gnav.st-global-nav > ul > li > a:hover {
  color: #c7523f;
}
.st-mega {
  top: 82px;
  background: #fff;
  border-top: 1px solid #e1e8e4;
  border-bottom: 1px solid #e1e8e4;
  box-shadow: 0 18px 32px rgba(26, 45, 40, .12);
}
.st-mega__inner {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 28px;
  width: min(960px, 92%);
  max-width: 960px;
  padding: 28px 0;
}
.st-mega__lead span {
  display: block;
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
}
.st-mega__lead strong {
  display: block;
  margin-top: 10px;
  color: #162723;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.45;
}
.st-mega__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
}
.st-mega__links a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  background: #f7f4ee;
  border: 1px solid #e4ddd2;
  border-radius: 5px;
  color: #24342f;
  font-size: 13px;
  font-weight: 800;
}
.st-mega__links a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #c7523f;
  border-right: 2px solid #c7523f;
  transform: rotate(45deg);
}
.st-mega__links a:hover {
  background: #fff;
  border-color: #c7523f;
}
.st-header .linkarea {
  position: static;
  height: auto;
  gap: 12px;
  align-items: center;
  font-size: 12px;
}
.st-header-contact {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  background: #c7523f;
  border-radius: 4px;
  color: #fff;
  font-weight: 800;
  white-space: nowrap;
}
.st-header-contact:hover {
  color: #fff;
  background: #a93e2e;
}
.st-header .p-search input[type=text] {
  width: 168px;
  padding: 10px 42px 10px 14px;
  background: #f4f8f6;
  border: 1px solid #dfe8e4;
  border-radius: 999px;
  font-size: 12px;
}
.st-header .p-search .btn-outline-secondary {
  top: 4px;
  right: 8px;
}
.st-header .login ul {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.st-header .login li {
  display: flex;
  align-items: center;
}
.st-header .login a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 5px;
  color: #24342f;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.st-header .login .mypage {
  margin-right: 0;
}
.st-header .login .mypage a {
  width: auto;
  height: 38px;
  padding: 0 2px;
  overflow: visible;
}
.st-header .login .mypage svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.st-header .login .mypage span {
  font-size: 12px;
}
.st-header .login .mypage a::after {
  content: "";
}
.st-header-cart a {
  display: inline-flex;
  position: relative;
  min-height: 38px;
  align-items: center;
  gap: 4px;
  color: #24342f;
  font-weight: 800;
}
.st-header-cart img {
  width: 24px;
}
.st-header-cart .total-quant {
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #c7523f;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.st-header__assist {
  border-top: 1px solid #edf2ef;
  background: #f9fbfa;
}
.st-header__assist .l-inner {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.st-header__assist a {
  padding: 6px 12px;
  color: #40534d;
  font-size: 12px;
  font-weight: 800;
}
.st-header__assist a:hover {
  color: #c7523f;
}
@media screen and (min-width: 1181px) {
  .st-header__inner {
    grid-template-columns: 198px minmax(0, 1fr) auto;
    gap: 10px;
    width: 96%;
  }
  #gnav.st-global-nav > ul > li > a {
    padding: 0 7px;
    font-size: 12.5px;
  }
  .st-header-contact {
    padding: 0 13px;
  }
  .st-header .linkarea {
    gap: 8px;
  }
  .st-header .p-search input[type=text] {
    width: 134px;
  }
  .st-header .login ul {
    gap: 8px;
  }
  .st-header .login .mypage a {
    width: 30px;
    padding: 0;
    justify-content: center;
  }
  .st-header .login .mypage span {
    display: none;
  }
}
.st-spnav__brand {
  padding: 18px;
  background: #203b35;
  color: #fff;
}
.st-spnav__brand span {
  display: block;
  color: rgba(255, 255, 255, .7);
  font-size: 10px;
  font-weight: 800;
}
.st-spnav__brand strong {
  display: block;
  margin-top: 6px;
  font-size: 24px;
  line-height: 1.2;
}
.st-spnav__search {
  padding: 0 18px 22px;
}
.st-spnav__search .s-box {
  display: flex;
  align-items: stretch;
}
.st-spnav__search .p-search input[type=text] {
  width: 100%;
}
.st-spnav__search input[type=text] {
  flex: 1;
  min-width: 0;
  height: 46px;
  border: 1px solid #dfe8e4;
  border-right: none;
  border-radius: 5px 0 0 5px;
  background: #f8faf9;
}
.st-spnav__search .button-search {
  display: grid;
  place-items: center;
  position: static;
  width: 52px;
  height: 46px;
  border: 1px solid #dfe8e4;
  border-radius: 0 5px 5px 0;
  background: #fff;
}
.st-product-showcase--new {
  background: #fff;
}
.st-footer-cta {
  padding: 56px 0;
  background: #203b35;
  color: #fff;
}
.st-footer-cta .l-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}
.st-footer-cta span {
  color: #f0b7a8;
  font-size: 11px;
  font-weight: 800;
}
.st-footer-cta h2 {
  margin-top: 8px;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.55;
}
.st-footer-cta p {
  margin-top: 12px;
  color: rgba(255, 255, 255, .74);
  font-size: 14px;
  line-height: 1.8;
}
.st-footer-cta a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  background: #c7523f;
  border-radius: 4px;
  color: #fff;
  font-weight: 800;
  white-space: nowrap;
}
.st-footer-guide {
  padding: 34px 0;
  background: #f7f4ee;
  border-bottom: 1px solid #e5ded2;
}
.st-footer-guide .l-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.st-footer-guide__item {
  min-height: 148px;
  padding: 18px;
  background: #fff;
  border: 1px solid #e5ded2;
  border-radius: 6px;
}
.st-footer-guide__item span {
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
}
.st-footer-guide__item strong {
  display: block;
  margin-top: 10px;
  color: #172522;
  font-size: 17px;
  font-weight: 800;
}
.st-footer-guide__item p {
  margin-top: 10px;
  color: #5c625f;
  font-size: 12px;
  line-height: 1.7;
}
.st-footer-news {
  padding: 46px 0;
  background: #fff;
}
.st-footer-news .l-inner {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
}
.st-footer-news__head span {
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
}
.st-footer-news__head h2 {
  margin-top: 8px;
  color: #172522;
  font-size: 26px;
  font-weight: 800;
}
.st-footer-news__head a {
  display: inline-flex;
  margin-top: 14px;
  color: #2f6b55;
  font-size: 13px;
  font-weight: 800;
}
.st-footer-news ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid #e1e8e4;
}
.st-footer-news li {
  border-bottom: 1px solid #e1e8e4;
}
.st-footer-news li a,
.st-footer-news li > span {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 18px;
  padding: 15px 0;
  color: #24342f;
  font-size: 13px;
  line-height: 1.6;
}
.st-footer-news time {
  color: #7a8580;
  font-size: 12px;
  font-weight: 800;
}
.st-footer {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #172522;
  color: #fff;
}
.st-footer__inner {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 56px;
  padding: 54px 0;
}
.st-footer__brand a {
  display: block;
  color: #fff;
}
.st-footer__brand span {
  display: block;
  color: #f0b7a8;
  font-size: 10px;
  font-weight: 800;
}
.st-footer__brand strong {
  display: block;
  margin-top: 6px;
  font-size: 30px;
  line-height: 1.15;
}
.st-footer__brand p {
  margin-top: 20px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  line-height: 1.85;
}
.st-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}
.st-footer__nav h3 {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.st-footer__nav ul {
  margin: 14px 0 0;
  padding: 0;
}
.st-footer__nav li + li {
  margin-top: 9px;
}
.st-footer__nav a {
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
  line-height: 1.55;
}
.st-footer__nav a:hover {
  color: #fff;
}
.st-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, .12);
}
.st-footer__bottom .l-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  gap: 16px;
}
.st-footer__bottom small,
.st-footer__bottom a {
  color: rgba(255, 255, 255, .62);
  font-size: 12px;
}
@media screen and (max-width: 1180px) {
  .st-header__inner {
    grid-template-columns: 50px minmax(0, 1fr) auto;
    width: 94%;
    min-height: 64px;
    gap: 12px;
  }
  .st-header__brand a {
    font-size: 24px;
  }
  .st-header__brand span {
    font-size: 9px;
  }
  .st-header .openbtn {
    position: static;
    width: 44px;
    height: 44px;
    background: #f7f4ee;
    border: 1px solid #e5ded2;
    border-radius: 6px;
  }
  .st-header .openbtn span {
    background-color: #203b35;
  }
  .st-header .linkarea {
    right: auto;
    height: auto;
  }
  .st-header .login {
    display: none;
  }
  .st-header-cart span.pc {
    display: none;
  }
  .st-spnav {
    top: 64px;
    z-index: 999;
  }
  .st-spnav .inner {
    padding-bottom: 18px;
  }
  .st-spnav .c-accordion__title {
    position: relative;
    padding: 16px 18px;
    color: #172522;
    font-size: 16px;
    font-weight: 800;
  }
  .st-spnav .c-accordion__title--arrow {
    display: block;
    position: absolute;
    top: 50%;
    right: 18px;
    width: 9px;
    height: 9px;
    border-right: 2px solid #2f6b55;
    border-bottom: 2px solid #2f6b55;
    transform: translateY(-60%) rotate(45deg);
    transition: transform .2s;
  }
  .st-spnav .c-accordion_sp.is-checked .c-accordion__title--arrow {
    transform: translateY(-20%) rotate(-135deg);
  }
  .st-spnav .c-accordion__content {
    display: none;
    padding: 14px 18px;
    background: #f7f4ee;
  }
}
@media (max-width: 980px) {
  .st-footer-guide .l-inner,
  .st-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .st-footer__inner,
  .st-footer-news .l-inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .admin-bar .st-header__main.fixed {
    top: 46px;
  }
  .st-header__brand a {
    font-size: 22px;
  }
  .st-header__brand span {
    margin-bottom: 4px;
  }
  .st-footer-cta,
  .st-footer-news {
    padding: 36px 0;
  }
  .st-footer-cta .l-inner,
  .st-footer-guide .l-inner,
  .st-footer__nav {
    grid-template-columns: 1fr;
  }
  .st-footer-cta h2 {
    font-size: 22px;
  }
  .st-footer-cta a {
    width: 100%;
  }
  .st-footer-news li a,
  .st-footer-news li > span {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .st-footer__inner {
    gap: 32px;
    padding: 40px 0;
  }
  .st-footer__bottom .l-inner {
    display: block;
    padding: 16px 0;
  }
  .st-footer__bottom a {
    display: inline-flex;
    margin-top: 8px;
  }
}
/*---------------------------------------------
Quote request page
---------------------------------------------*/
body.st-is-quote-page {
  background: #f7f4ee;
}
.site-content.st-quote-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #f7f4ee;
}
body.st-is-quote-page:not(.blog) .site-content.st-quote-content {
  max-width: none;
  padding-right: 0;
  padding-left: 0;
  margin-right: 0;
  margin-left: 0;
}
.site-content.st-quote-content #content {
  width: 100%;
  max-width: none;
}
.site-content.st-quote-content .st-quote-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.st-quote-page {
  background: #f7f4ee;
}
.st-quote-hero {
  padding: 58px 0 44px;
  background: #fff;
  border-bottom: 1px solid #e1e8e4;
}
.st-quote-hero .l-inner {
  display: grid;
  max-width: 980px;
  grid-template-columns: minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}
.st-quote-hero h1 {
  margin-top: 10px;
  color: #172522;
  font-family: var(--st-font-heading);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.42;
}
.st-quote-hero p {
  max-width: 720px;
  margin-top: 16px;
  color: #5c625f;
  font-size: 15px;
  line-height: 1.9;
}
.st-quote-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.st-quote-hero__facts div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 4px 12px;
  min-height: 78px;
  padding: 15px;
  background: #f4f8f6;
  border: 1px solid #dfe8e4;
  border-radius: 6px;
}
.st-quote-hero__facts span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #203b35;
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.st-quote-hero__facts strong {
  color: #172522;
  font-size: 15px;
  font-weight: 800;
}
.st-quote-hero__facts small {
  color: #6a716f;
  font-size: 12px;
  line-height: 1.55;
}
.st-quote-layout {
  padding: 42px 0 72px;
}
.st-quote-layout .l-inner {
  display: grid;
  max-width: 760px;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.st-quote-main {
  min-width: 0;
}
.st-form-alert {
  margin-bottom: 18px;
  padding: 16px 18px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: #fff;
}
.st-form-alert strong {
  display: block;
  color: #172522;
  font-size: 16px;
  font-weight: 800;
}
.st-form-alert p {
  margin-top: 6px;
  color: #5c625f;
  font-size: 13px;
  line-height: 1.7;
}
.st-form-alert--success {
  border-color: #bad7cc;
  background: #f4fbf7;
}
.st-form-alert--error {
  border-color: #efc8bf;
  background: #fff6f3;
}
.st-quote-form {
  padding: 28px;
  background: #fff;
  border: 1px solid #e1e8e4;
  border-radius: 6px;
  box-shadow: 0 14px 30px rgba(36, 59, 54, .06);
}
.st-form-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.st-form-section {
  margin: 0;
  padding: 0;
  border: none;
}
.st-form-section + .st-form-section {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid #edf1ee;
}
.st-form-section legend,
.st-form-section h2 {
  margin-bottom: 18px;
  color: #172522;
  font-size: 20px;
  font-weight: 800;
}
.st-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}
.st-form-grid__wide {
  grid-column: 1 / -1;
}
.st-conditional-field[hidden] {
  display: none !important;
}
.st-quote-form label {
  display: block;
}
.st-quote-form .wpcf7-form-control-wrap {
  display: block;
}
.st-quote-form label > span {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: #2b3431;
  font-size: 13px;
  font-weight: 800;
}
.st-quote-form em {
  display: inline-flex;
  min-height: 20px;
  align-items: center;
  padding: 0 7px;
  background: #c7523f;
  border-radius: 3px;
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.st-quote-form input,
.st-quote-form select,
.st-quote-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #dce6e2;
  border-radius: 4px;
  background: #fbfcfc;
  color: #172522;
  font-size: 14px;
  line-height: 1.55;
}
.st-quote-form textarea {
  min-height: 150px;
  resize: vertical;
}
.st-file-input {
  padding: 16px;
  background: #f7faf8;
  border: 1px dashed #b8c9c2;
  border-radius: 6px;
}
.st-file-input input[type=file] {
  min-height: auto;
  padding: 13px;
  background: #fff;
  cursor: pointer;
}
.st-file-input .description {
  display: block;
  margin-top: 8px;
  color: #68736f;
  font-size: 12px;
  line-height: 1.7;
}
.st-quote-form input:focus,
.st-quote-form select:focus,
.st-quote-form textarea:focus {
  border-color: #2f6b55;
  background: #fff;
  outline: 2px solid rgba(47, 107, 85, .16);
}
.st-form-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #edf1ee;
}
.st-form-submit p {
  display: none;
}
.st-form-submit button,
.st-form-submit input[type=submit] {
  display: inline-flex;
  width: min(100%, 340px);
  min-height: 52px;
  justify-content: center;
  align-items: center;
  padding: 0 22px;
  background: #c7523f;
  border: none;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  transition: background .2s, transform .2s;
}
.st-form-submit button:hover,
.st-form-submit input[type=submit]:hover {
  background: #a93e2e;
  transform: translateY(-1px);
}
.st-quote-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #c7523f;
  font-size: 12px;
  font-weight: 700;
}
.st-quote-form .wpcf7-response-output {
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.7;
}
.st-quote-form.sent .wpcf7-response-output {
  border-color: #bad7cc !important;
  background: #f4fbf7;
  color: #1e5a43;
}
.st-quote-form.invalid .wpcf7-response-output,
.st-quote-form.failed .wpcf7-response-output,
.st-quote-form.spam .wpcf7-response-output {
  border-color: #efc8bf !important;
  background: #fff6f3;
  color: #a93e2e;
}
.st-quote-form .wpcf7-spinner {
  margin: 0 0 0 10px;
}
.st-quote-side {
  display: block;
  position: static;
  order: -1;
}
.st-quote-side__box {
  padding: 22px;
  background: #fff;
  border: 1px solid #e1e8e4;
  border-radius: 6px;
}
.st-quote-side__box span {
  color: #c7523f;
  font-size: 11px;
  font-weight: 800;
}
.st-quote-side__box h2 {
  margin-top: 8px;
  color: #172522;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.5;
}
.st-quote-side__box ul {
  margin: 16px 0 0;
  padding: 0;
}
.st-quote-side__box li {
  position: relative;
  padding-left: 16px;
  color: #4f5d58;
  font-size: 13px;
  line-height: 1.7;
}
.st-quote-side__box li + li {
  margin-top: 7px;
}
.st-quote-side__box li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  background: #2f6b55;
  border-radius: 50%;
}
.st-quote-side__box p {
  margin-top: 14px;
  color: #5c625f;
  font-size: 13px;
  line-height: 1.8;
}
.st-quote-side__box--dark {
  display: grid;
  grid-template-columns: minmax(128px, .26fr) minmax(0, 1fr);
  gap: 6px 22px;
  align-items: start;
  background: #203b35;
  border-color: #203b35;
}
.st-quote-side__box--dark span {
  grid-row: 1 / span 2;
  margin-top: 4px;
  color: #f0b7a8;
}
.st-quote-side__box--dark h2,
.st-quote-side__box--dark p {
  color: #fff;
}
.st-quote-side__box--dark h2 {
  margin-top: 0;
  font-size: 18px;
}
.st-quote-side__box--dark p {
  margin-top: 0;
}
@media screen and (max-width: 980px) {
  .st-quote-hero .l-inner,
  .st-quote-layout .l-inner {
    grid-template-columns: 1fr;
  }
  .st-quote-layout .l-inner {
    max-width: none;
  }
  .st-quote-side {
    order: 0;
  }
}
@media (max-width: 767px) {
  .st-quote-hero {
    padding: 38px 0 30px;
  }
  .st-quote-hero h1 {
    font-size: 28px;
  }
  .st-quote-hero p {
    font-size: 13px;
  }
  .st-quote-hero__facts {
    grid-template-columns: 1fr;
  }
  .st-quote-layout {
    padding: 30px 0 48px;
  }
  .st-quote-form {
    padding: 20px;
  }
  .st-form-grid,
  .st-quote-side {
    grid-template-columns: 1fr;
  }
  .st-quote-side__box--dark {
    display: block;
  }
  .st-quote-side__box--dark h2 {
    margin-top: 8px;
  }
  .st-form-submit {
    display: block;
  }
  .st-form-submit button,
  .st-form-submit input[type=submit] {
    width: 100%;
    margin-top: 16px;
  }
}
/*---------------------------------------------
/*category_area
---------------------------------------------*/
.category_area {
  background: url(../images/bg-category.jpg)no-repeat;
  background-size: cover;
  padding: var(--padding) 0;
}
@media screen and (max-width: 768px) {
  .category_area .l-inner {
    margin: 0
  }
}
/* ── グループ（軸）コンテナ ── */
.category_group {
  margin-bottom: 2.4em;
}
/* ── グループ見出し ── */
.category_group__ttl {
  display: flex;
  align-items: center;
  gap: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #333;
  margin: 0 5% 1.1em;
  letter-spacing: 0;
}
.category_group__ttl::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1.1em;
  background: #3d7d62;
  border-radius: 2px;
  margin-right: 0.6em;
  flex-shrink: 0;
}
.category_group__ttl::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, rgba(61,125,98,0.4) 0%, rgba(61,125,98,0.05) 100%);
  margin-left: 0.8em;
}
/* ── カテゴリーリスト ── */
.category_list {
  justify-content: center;
  padding: 0 5%;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .category_list {
    width: 640px;
  }
}
.category_list li {
  width: calc(100% / 5 - 3%);
  text-align: center;
  margin: 0 1.5% 1.5em;
}
@media screen and (max-width: 768px) {
  .category_list li {
    width: calc(100% / 4 - 2%);
    margin: 0 1% 12px;
  }
}
/* ── アイテム内レイアウト（flex縦並び） ── */
.category_list li a {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* ── 円形アイコン（サイズ統一） ── */
.category_list li .img {
  display: block;
  width: 80%;
  max-width: 120px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin: 0 auto 0.5em;
}
.category_list li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* 画像未設定時プレースホルダー */
.cat-no-img {
  display: block;
  width: 100%;
  height: 100%;
  background: #e8f0ec;
  border-radius: 50%;
}
/* ── カテゴリー名 ── */
.category_list li .ttl {
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.4;
  display: block;
}
@media screen and (max-width: 768px) {
  .category_list li .ttl {
    font-size: 0.75rem;
  }
}
/* ── カテゴリー説明文（一言コメント） ── */
.cat-desc {
  display: block;
  font-size: 0.72rem;
  color: #666;
  line-height: 1.5;
  margin-top: 0.35em;
  font-weight: 400;
}

/* ============================================
   プリント方法グループ：横型カードレイアウト
   ============================================ */
.category_group--print .scroll_area {
  overflow: visible;
}
.category_group--print .category_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1em 2%;
  padding: 0 5%;
}
.category_group--print .category_list li {
  width: calc(50% - 1%);
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .category_group--print .category_list li {
    width: 100%;
  }
}
/* カード内：横並びレイアウト */
.category_group--print .category_list li a {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1em;
  background: rgba(255,255,255,0.55);
  border-radius: 8px;
  padding: 0.8em;
  transition: background 0.2s;
}
.category_group--print .category_list li a:hover {
  background: rgba(255,255,255,0.85);
}
/* 左：四角形サムネイル */
.category_group--print .category_list li .img {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  overflow: hidden;
  margin: 0;
}
.category_group--print .category_list li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}
/* 画像未設定時のプレースホルダー（四角形） */
.category_group--print .cat-no-img {
  border-radius: 6px;
  background: #dde8e2;
}
/* 右：テキストエリア */
.category_group--print .cat-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
}
.category_group--print .category_list li .ttl {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.4;
  color: #222;
  margin-bottom: 0.4em;
  display: block;
  text-align: left;
}
.category_group--print .cat-desc {
  font-size: 0.78rem;
  color: #555;
  line-height: 1.65;
  margin-top: 0;
  text-align: left;
}
/*---------------------------------------------
/*ranking_area
---------------------------------------------*/
.ranking_area {
  padding: var(--padding) 0;
}
.item_list._ranking li:nth-child(-n+3) {
  width: calc(100% / 3 - 2%);
}
@media screen and (max-width: 768px) {
  .item_list._ranking li:nth-child(-n+2) {
    width: calc(100% / 2 - 2%);
  }
  .item_list._ranking li:nth-child(3) {
    width: calc(100% / 3 - 2%);
  }
}
.item_list._ranking li:nth-child(n+4) {
  width: calc(100% / 5 - 2%);
}
@media screen and (max-width: 768px) {
  .item_list._ranking li:nth-child(n+4) {
    width: calc(100% / 3 - 2%);
  }
}
.item_list._ranking li:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  text-indent: 3px;
  line-height: 20px;
  color: #fff;
  z-index: 2;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.item_list._ranking li:nth-child(-n+3):before {
  content: '';
  padding: 11px 30px 0 0;
  width: 70px;
  height: 70px;
}
.item_list._ranking li:nth-child(n+4):before {
  content: '';
  padding: 6px 20px 0 0;
  width: 50px;
  height: 50px;
}
.item_list._ranking li:nth-child(1):before {
  background: #E0D36A;
  content: '1';
  font-size: 20px;
}
.item_list._ranking li:nth-child(2):before {
  background: #C0C0C0;
  content: '2';
  font-size: 20px;
}
.item_list._ranking li:nth-child(3):before {
  background: #B49688;
  content: '3';
  font-size: 20px;
}
.item_list._ranking li:nth-child(4):before {
  background: #b5aeae;
  content: '4';
  font-size: 16px;
}
.item_list._ranking li:nth-child(5):before {
  background: #b5aeae;
  content: '5';
  font-size: 16px;
}
.item_list._ranking li:nth-child(6):before {
  background: #b5aeae;
  content: '6';
  font-size: 16px;
}
.item_list._ranking li:nth-child(7):before {
  background: #b5aeae;
  content: '7';
  font-size: 16px;
}
.item_list._ranking li:nth-child(8):before {
  background: #b5aeae;
  content: '8';
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .item_list._ranking li:nth-child(-n+3):before, .item_list._ranking li:nth-child(n+4):before {
    padding: 3px 20px 0 0;
    width: 40px;
    height: 40px;
  }
  .item_list._ranking li:nth-child(1):before, .item_list._ranking li:nth-child(2):before, .item_list._ranking li:nth-child(3):before {
    font-size: 16px
  }
}
/*---------------------------------------------
/*recommend_area
---------------------------------------------*/
.recommend_area {
  padding: var(--padding) 0;
  background: var(--sub)
}
.item_list._recommend li {
  width: calc(100% / 4 - 2%);
}
@media screen and (max-width: 768px) {
  .item_list._recommend li {
    width: calc(100% / 2 - 2%);
  }
}
/*---------------------------------------------
/*newitem_area
---------------------------------------------*/
.newitem_area {
  padding: var(--padding) 0
}
.category_list {
  justify-content: space-between;
}
.item_list._newitem li {
  width: calc(100% / 5 - 2%);
}
@media screen and (max-width: 768px) {
  .item_list._newitem li {
    width: calc(100% / 2 - 2%);
  }
}
.item_list._newitem li .item_name {
  position: relative;
  text-indent: 3em;
}
.item_list._newitem li .item_name:before {
  content: 'NEW';
  color: #BE3A77;
  line-height: 1;
  font-size: 12px;
  background: #fff;
  border: 1px solid #BE3A77;
  border-radius: 3px;
  padding: 4px 8px;
  position: absolute;
  top: 0;
  width: 4em;
  left: 0;
  text-align: center;
  text-indent: 0;
}
@media screen and (max-width: 768px) {
  .item_list._newitem li .item_name:before {
    padding: 1px 5px;
    font-size: 10px;
  }
}
/*---------------------------------------------
/*pickitem
---------------------------------------------*/
.pickitem {
  background: #F5F5F2;
  padding: var(--padding) 0
}
.pickitem_area {
  position: relative;
}
.pickitem_area .swiper-wrapper {
  margin-bottom: 55px
}
@media screen and (max-width: 1180px) {
  .pickitem_area .swiper-wrapper {
    margin-bottom: 0
  }
}
.swiper-button-prev, .swiper-button-next {
  height: 50px;
  width: 50px;
  background-image: none;
}
.pickitem_area .swiper-button-prev, .pickitem_area .swiper-button-next {
  margin-top: 0;
  top: 45%
}
.pickitem_area .swiper-button-prev {
  left: -34px
}
.pickitem_area .swiper-button-next {
  right: -34px
}
@media screen and (max-width: 1180px) {
  .pickitem_area .swiper-button-prev, .pickitem_area .swiper-button-next {
    display: none
  }
}
.swiper-button-prev::after, .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 50px;
  margin: auto;
  width: 50px;
  position: absolute;
}
.swiper-button-prev::after {
  background-image: url(../images/ico-arrow-l.svg);
}
.swiper-button-next::after {
  background-image: url(../images/ico-arrow-r.svg);
}
.swiper-slide img {
  height: auto;
  width: 100%;
}
/*
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	opacity: 0;
}
*/
/*---------------------------------------------
/*series
---------------------------------------------*/
.series {
  padding: var(--padding) 0
}
.series_area {
  position: relative;
}
.series_list {
  display: flex;
  gap: 20px 1%;
  flex-wrap: wrap;
  justify-content: space-between;
}
.series_list li {
  flex-basis: 380px;
  border-radius: 10px;
  border: none
}
@media screen and (max-width: 780px) {
  .series_list li {
    flex-basis: 49%;
    border-radius: 10px;
    border: none
  }
}
header .series_list {
  display: flex;
  gap: 5px 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
header .series_list li {
  border-radius: 10px;
  flex-basis: 19%;
  /*width: calc(100% / 5 - 2%);
    margin: 0 1% 1%;*/
  border: none
}
.series_list li a {}
.series_list li a .series__img {
  margin-bottom: 10px
}
.series_list li a .series__img img {
  border-radius: 30px 30px 0 0
}
.series_list li a .series__img img {
  border-radius: 10px
}
.series_list li a .series__txt {
  background: #fff;
  padding: 1em;
  display: block;
  border-radius: 30px;
}
.series_list li a .series__txt .ttl {
  margin-bottom: .6em;
  text-align: center;
  font-size: 16px;
  margin-top: 0;
}
.series_list li a .series__txt .read {
  opacity: .8
}
/*---------------
about
----------------*/
.about {
  background: url(../images/about-bg.jpg)no-repeat center center;
  background-size: cover;
  padding-bottom: 240px
}
@media screen and (max-width: 768px) {
  .about {
    padding-bottom: 120px
  }
}
.about-inner {
  width: 50%;
  padding: var(--padding) 3%;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .about-inner {
    width: 97%
  }
}
.about-inner .logo {
  width: 200px;
  margin-bottom: 40px
}
@media screen and (max-width: 768px) {
  .about-inner .logo {
    width: 120px;
    margin-bottom: 20px
  }
}
.about-inner .ttl {
  margin-bottom: 30px;
  filter: drop-shadow(0px 0px 5px rgb(255, 255, 255));
}
.about-inner .ttl img {
  filter: drop-shadow(5px 5px 5px #ffffff);
}
.btn a {
  color: var(--main);
  padding: 1em;
  border: 3px solid var(--main);
  border-radius: 3em;
  margin: 40px auto 0;
  width: 390px;
  font-size: 20px;
  background: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s
}
@media screen and (max-width: 768px) {
  .btn a {
    width: 276px;
    font-size: 14px;
  }
}
.btn a:hover {
  background: var(--main);
  color: #fff
}
.btn-icon {
  background: var(--main);
  color: #fff;
  border-radius: 3em;
  font-size: 12px;
  position: absolute;
  top: -10px;
  left: 0;
  display: block;
  padding: 4px 1em
}
@media screen and (max-width: 768px) {
  .btn-icon {
    top: -20px;
  }
}
.dli-right {
  display: inline-block;
  vertical-align: middle;
  color: var(--main);
  line-height: 1;
  position: relative;
  width: 16px;
  height: 16px;
  transform: translateX(-25%) rotate(45deg);
  margin-left: 16px;
  transition: all .2s
}
@media screen and (max-width: 768px) {
  .dli-right {
    width: 12px;
    height: 12px;
  }
}
.btn a:hover .dli-right {
  color: #fff;
  margin-left: 24px;
}
.dli-right::before, .dli-right::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 1em;
}
.dli-right::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.25em;
}
.dli-right::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.25em;
}
/*---------------------------------------------
news
---------------------------------------------*/
.news {
  padding: var(--padding) 5%;
}
.news_list {
  max-width: 880px;
  margin: 0 auto;
}
.news_list li {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px dotted #5e5e5e
}
.news_list a:hover {
  text-decoration: underline
}
.news_list a span {
  display: block;
}
.news_list .day {
  margin-bottom: 1em;
  font-weight: 700;
  font-size: 14px;
  opacity: .3
}
/*---------------------------------------------
guide
---------------------------------------------*/
.guide {
  background: var(--sub);
  padding: var(--padding) 0;
}
.guide__list li {
  width: calc(100% / 4 - 2%);
  text-align: center;
  margin: 0 1% 3%;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #707070;
  font-size: 18px;
  padding: 20px
}
@media screen and (max-width: 768px) {
  .guide__list li {
    width: calc(100% / 2 - 2%);
    font-size: 14px;
  }
}
.guide__list li a {
  aspect-ratio: 1.5/1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column
}
.guide__img {
  height: 80px;
  margin-bottom: 16px;
  display: block
}
@media screen and (max-width: 768px) {
  .guide__img {
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .guide__img img {
    width: 70%
  }
}
/*---------------------------------------------
/*p-footer
---------------------------------------------*/
.p-footer {
  font-size: 14px;
  padding: 90px 0 20px;
  width: 100%;
  margin: 0 auto;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-footer {
    font-size: 13px;
    padding: 20px 0 20px
  }
  .p-footer > .l-inner {
    display: block;
    margin: 0
  }
}
.footer-logo {
  width: 200px;
}
@media screen and (max-width: 768px) {
  .footer-logo {
    width: 145px;
    margin: 0 auto 40px;
  }
}
.footer-nav {
  width: calc(100% - 250px);
  margin-left: 50px
}
@media screen and (max-width: 768px) {
  .footer-nav {
    width: 100%;
    margin-left: 0;
  }
}
.footer-nav__p {
  margin-bottom: 2em;
  margin-right: 2em
}
@media screen and (max-width: 768px) {
  .footer-nav__p {
    margin-right: 0;
    width: 100%;
    display: block;
  }
}
.footer-nav__p a {
  padding: 4px 0
}
@media screen and (max-width: 768px) {
  .footer-nav__p a {
    padding: 4px 5%;
    width: 100%;
    position: relative
  }
}
.footer-nav__ttl {
  font-weight: 700;
  padding-bottom: 4px;
  border-bottom: 1px solid #5e5e5e;
  margin-bottom: 1em
}
@media screen and (max-width: 768px) {
  .footer-nav__ttl {
    border-bottom: none;
    padding-left: 2%;
    margin-bottom: 0;
  }
}
._item_category .footer-nav__ttl {
  width: 100%
}
.footer-nav__p .ttl {
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .footer-nav__p .ttl {
    border-bottom: 1px dotted #606060;
    font-weight: normal
  }
}
.footer-nav__c {
  margin: 0 1em;
}
.footer-nav__p .dli-right {
  display: none
}
@media screen and (max-width: 768px) {
  .footer-nav__c {
    margin: 0;
  }
  .footer-nav__c.c-accordion {
    border-bottom: none
  }
  .footer-nav__p .dli-right {
    width: 7px;
    height: 7px;
    right: 16px;
    position: absolute;
    top: 10px;
    color: #333;
    display: block
  }
  .footer-nav__p .dli-right::before {
    height: 0.1em;
  }
  .footer-nav__p .dli-right::after {
    width: 0.1em;
  }
}
.footer-nav__c ul {
  margin-left: 1em;
}
footer .copy {
  font-size: 10px;
  text-align: center;
}
.c-accordion {
  border-bottom: 1px dotted #606060;
}
.c-accordion__title {
  cursor: pointer;
  position: relative;
}
.c-accordion__content {
  display: none;
  padding: .4em .8em
}
.c-accordion__title--arrow {
  padding-right: 2.4em;
  position: relative
}
.c-accordion__title--arrow::after {
  -webkit-transform: translateY(-50%);
  background: transparent url(./img/arrow-bottom-w.png) no-repeat top center/cover;
  content: "";
  height: .8em;
  position: absolute;
  right: .4em;
  top: 50%;
  transform: translateY(-50%);
  transition: all .5s ease 0s;
  width: .8em
}
.c-accordion__title--arrow {
  padding: 0;
  position: absolute;
  right: 20px;
  width: 26px;
  height: 15px;
}
@media screen and (max-width: 1180px) {
  .c-accordion__title--arrow {
    right: 0px;
  }
  .footer-nav__c .c-accordion__title--arrow {
    right: 12px;
    top: 8px;
  }
}
.c-accordion__title--arrow::after, .c-accordion__title--arrow::before {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #333;
  right: -2px;
  top: 50%;
  width: 10px;
  height: 2px;
  transform: translate(-50%, -50%);
}
.c-accordion__title--arrow:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-checked .c-accordion__title--arrow::before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.c-accordion_sp .c-accordion__title--arrow {
  display: none
}
@media screen and (max-width: 768px) {
  .c-accordion_sp .c-accordion__title--arrow {
    display: block
  }
  .js-accordion-content_sp {
    display: none;
    padding: .4em .8em
  }
}
@media screen and (max-width: 1180px) {
  .st-spnav .c-accordion_sp .c-accordion__title--arrow {
    display: block;
    position: absolute;
    top: 50%;
    right: 18px;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
  }
  .st-spnav .c-accordion__title--arrow::before,
  .st-spnav .c-accordion__title--arrow::after {
    right: auto;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 2px;
    background: #2f6b55;
    transform: translate(-50%, -50%);
  }
  .st-spnav .c-accordion__title--arrow::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .st-spnav .c-accordion_sp.is-checked .c-accordion__title--arrow::before {
    transform: translate(-50%, -50%);
  }
}
/*打ち消し
body:not(.home) .site-content header{
	z-index: -1
}
*/
#tokushou .box {
  margin-bottom: 3em;
}
/*グローバルメニューの前に商品画像が来てしまう問題の対処*/
body.no-header-image header, body:not(.home) header {
  position: relative;
}
/*パンくず*/
.breadcrumb {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  margin-bottom: 60px;
  overflow-x: auto;
}
.breadcrumb span {
  font-size: 12px;
  line-height: 1.7;
  padding: 13.5px 0;
  display: inline;
}
.breadcrumb span {
  padding-right: 0;
}
.breadcrumb span br {
  display: none;
}
.breadcrumb .breadcrumb-inner {
  font-size: 12px;
  line-height: 1.7;
  padding: 13.5px 1rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  /*width: 1200px;*/
}
@media only screen and (max-width: 991px) {
  .breadcrumb {
    margin-bottom: 20px
  }
  .p-breadcrumb {
    margin-bottom: 28px;
  }
  .breadcrumb span {
    font-size: 10px;
    height: 40px;
    overflow: hidden;
    padding: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
div.haneru-text-area {
  padding-left: 10px;
  margin-bottom: 40px;
}
div.eco-text-area {
  padding-left: 10px;
  margin-bottom: 40px;
}
p.haneru-text-area {
  font-size: 1em;
  line-height: 1.4;
  padding: 8px 5px;
}
p.eco-text-area {
  font-size: 1em;
  padding: 8px 5px;
}
.color-img {
  margin: 0px 10px;
}
.haneru-spec-title {
  background-color: var(--main);
  font-size: 1em;
  width: 25%;
  padding-top: 10px;
  color: #FFFFFF;
}
.haneru-spec-data {
  background-color: #f1f1ed;
  font-size: 1em;
  width: 75%;
  padding: 10px 6px;
  color: #333333;
  line-height: 1.4;
}
.eco-spec-title {
  background-color: var(--main);
  font-size: 1em;
  width: 25%;
  padding-top: 10px;
  color: #FFFFFF;
}
.eco-spec-data {
  background-color: #f1f1ed;
  font-size: 1em;
  width: 75%;
  padding: 10px 6px;
  color: #333333;
  line-height: 1.4;
}
/*楽天から移行した商品データを見やすく*/
.rakuten_pc_1, .rakuten_pc_2 {
  max-width: 720px;
  margin: 0 auto 1em;
}
.rakuten_pc_1 .bnr {
  margin-bottom: 1.5rem;
}
.rakuten_pc_1 h3.osusume {
  margin-bottom: 1rem;
  font-size: 1.8rem;
}
@media only screen and (max-width: 720px) {
  .rakuten_pc_1, .rakuten_pc_2 {
    max-width: 720px;
    margin: 0 -1.5rem 1em;
  }
  .rakuten_pc_1 tr td:nth-child(2) {
    width: 50%;
  }
  .rakuten_pc_1 .bnr img {
    width: 100%;
  }
  .haneru-spec-data, .haneru-spec-title, .eco-spec-title, .eco-spec-data {
    border-bottom: none;
    display: block;
    width: 100% !important;
    padding: 1.4rem !important;
  }
}
body:not(.blog).single-post .site-content {
  /*padding: var(--padding) 0;*/
}
body:not(.blog) .site-content {
  margin-bottom: 2.8rem;
}
/*/////////////////
カテゴリ人気ランキング
/////////////////*/
.category_ranking {
  margin-bottom: 20px;
  overflow-x: auto;
  border: 1px solid var(--main);
}
.category_ranking h4 {
  font-size: 25px;
  margin-bottom: 0px;
  background: var(--main);
  color: #fff;
  padding: 10px;
  width: 100%;
  max-width: none;
  min-width: 780px;
}
.category_ranking .rank {
  width: 100%;
  text-align: center;
  display: block;
  line-height: normal;
}
.category_ranking .rankimg {
  position: absolute;
  top: 3px;
  left: 33px;
  width: 16px;
  height: auto;
}
@media screen and (min-width: 1200px) {
  /*1200px以上ここから*/
  /*1200px以上ここまで*/
}
@media screen and (min-width: 1350px) {
  /*1350px以上ここから*/
  /*1350px以上ここまで*/
}
@media screen and (max-width: 46.25em) {
  /*740px以下*/
  .category_ranking h4 {
    font-size: 20px;
  }
}
#wc_delivery table#time dd {
  border-bottom: 1px solid #efefef;
  padding: 0 0 25px 30px;
}
main.cart-page, main.container {
  margin-bottom: 8rem;
}
.carousel.single-item-carousel .carousel-inner .carousel-item {
  aspect-ratio: auto;
}
.carousel.single-item-carousel .carousel-inner {
  transition: height 0.6s ease-in-out; /* 高さのトランジションを追加 */
}
.carousel-item.active, .carousel-item-next, .carousel-item-prev {
  display: block;
  opacity: 1; /* アクティブなアイテムは表示される */
}
.carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 0; /* 次または前のアイテムは表示されない */
}
.field-price span.itemDeliveryMethod, .field-price span.delivery_time_limit, .field-price span.point {
  display: block;
  font-size: 1rem;
  margin-top: 1rem;
}
.field-price span.point {
  color: var(--tag-campaign-bg-color, #d82558);
}
.company p.message {
  font-size: 1.5rem;
  text-align: center;
}
.company th {
  background-color: var(--main);
  font-size: 1em;
  width: 25%;
  padding-top: 10px;
  color: #FFFFFF;
}
.company td {
  background-color: #f1f1ed;
  font-size: 1em;
  width: 75%;
  padding: 10px 6px;
  color: #333333;
  line-height: 1.4;
}
.company .aboutbox {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 720px) {
  .company td, .company th {
    border-bottom: none;
    display: block;
    width: 100% !important;
    padding: 1.4rem !important;
  }
}
/*売り切れ表示*/
.item-category article.soldout .card-image::after {
  content: "SOLD OUT";
  position: absolute;
  z-index: 1;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(128, 128, 128, 0.7); /* グレーの透過背景 */
  padding: 10px 20px; /* テキストの背景サイズを調整 */
  font-size: 24px; /* テキストのサイズを調整 */
  font-weight: bold;
  text-align: center;
}
.come {}
.come a {
  color: var(--general-text-color, #1d3994);
  text-decoration: underline;
}
.come a:hover {
  color: var(--general-text-color, #1d54a7);
}
.star-rating, .star-counter-tit {
  display: inline-block;
}
.star-counter {
  width: 100%;
  max-width: 400px;
  min-width: 300px;
}
.review_count_star {
  display: flex;
  align-items: center;
}
.review_count_star .star-counter {
  display: none;
}
.article-item .group-add-item .current-status .campaign_message, .article-item .group-add-item .current-status .tag {
  margin-left: auto;
}
.item-category .star-rating {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .group-add-item .current-status .num-review {
    width: auto;
    margin: 0;
  }
  .review_count_star {
    justify-content: center;
  }
  .star-rating .star {
    font-size: 15px;
    width: 15px;
    height: 15px;
  }
}
/*---------------------------------------
p_footer_guide / [footer]お買い物ガイド
---------------------------------------*/
.guide .title02 {
  font-size: 24px;
  margin-bottom: 1em;
  position: relative;
}
.guide .title03 {
  padding-left: 1em;
  text-align: left;
}
.guide .title03:before {
  position: relative;
  content: '';
  width: 0.6em;
  height: 1px;
  top: -7px;
  left: -7px;
  background: #000;
  display: inline-block;
}
.guide_box__inner {
  padding-left: 40px
}
.pay_list {
  margin: 10px auto;
  border-top: 1px solid #ADAC9B;
  border-bottom: 1px solid #ADAC9B;
  padding: 2em 0 1em;
}
.pay_list .credit {
  width: 100% !important;
}
.pay_list li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 1em;
}
.pay_list li:before {
  position: absolute;
  content: '';
  width: 2px;
  height: 2px;
  background: #000;
  left: 0;
  top: 50%;
}
.ico-guide {
  background: #C31919;
  color: #fff;
  text-align: center;
  padding: .5em 1em;
  font-size: 24px;
  line-height: 1;
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .guide .title02, .guide .btn02 {
    font-size: 18px;
  }
	.guide .title03 {
  padding-left: 0;
}
  .guide .ico-guide {
    font-size: 13px;
  }
  .guide_box__inner {
    padding-left: 0;

    margin: 0 auto 20px;
  }
}


.guide table.usces_calendar{
	width: 45%;
	display: inline-block;
}


.guide table.usces_calendar th,
.guide table.usces_calendar td{
	border: 1px solid #8F8F8F;
	padding: 4px;
	text-align: center;
	vertical-align: middle;
}

.guide table.usces_calendar th{
	background: #E4E4E4;
	font-weight: bold;
}

.guide table.usces_calendar td.businessday,
.guide .business_days_exp_box{
	background: #FF6C6E;
}

.guide .calendar{
	display: flex;
	column-gap:20px;
	flex-wrap: wrap;
}

.guide .calendar .this-month,
.guide .calendar .next-month{

}

.guide .calendar .afterword{
	width : 100%;
}

.guide table caption {
	caption-side: top;
    margin-bottom: .357em;
	text-align: left;
}

/* ============================================
   ガイド インデックスページ（page-guide.php）
   ============================================ */
.guide-index-page.article-item {
  display: block;
  grid-template-columns: none;
  gap: 0;
}

.guide-index-header {
  padding: 0 5%;
  margin-bottom: 2.5rem;
}

.guide-index-title {
  font-size: 1.75rem;
  margin-bottom: 0.5em;
}

.guide-index-lead {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.7;
}

/* ---- 3カラム グリッド ---- */
.guide-index-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding: 0 5% 3rem;
}

@media screen and (max-width: 900px) {
  .guide-index-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 560px) {
  .guide-index-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- カード ---- */
.guide-index-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e0e8e4;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s, box-shadow 0.2s;
}

.guide-index-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.09);
}

/* ---- カード：サムネイル ---- */
.guide-index-card__img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f0f4f2;
}

.guide-index-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}

.guide-index-card:hover .guide-index-card__img img {
  transform: scale(1.03);
}

/* 画像なしのプレースホルダー */
.guide-index-card__no-img {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #dde8e2 0%, #c8dbd3 100%);
  position: relative;
}

.guide-index-card__no-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0bdb5' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") no-repeat center / 40px;
  opacity: 0.5;
}

/* ---- カード：テキスト部 ---- */
.guide-index-card__body {
  padding: 1em 1.2em 1.2em;
  display: flex;
  flex-direction: column;
  gap: 0.4em;
  flex: 1;
}

.guide-index-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: #222;
  line-height: 1.4;
}

/* タイトルの右に矢印アイコン */
.guide-index-card__title::after {
  content: ' →';
  font-size: 0.85em;
  color: #3d7d62;
  font-weight: 400;
}

.guide-index-card__desc {
  font-size: 0.8rem;
  color: #777;
  line-height: 1.6;
}

/* ============================================
   Welcart カート画面
   ============================================ */
#wc_cart div.cart_navi ul {
  margin-top: clamp(2.6rem, 4vw, 4rem);
  margin-bottom: clamp(2.3rem, 3.8vw, 3.2rem);
}

#wc_cart #cart .upbutton {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: 0;
  color: #53655f;
  font-size: 0.86rem;
  line-height: 1.6;
}

#wc_cart #cart .upbutton input {
  position: static;
  width: auto;
  min-width: 116px;
  max-width: none;
  min-height: 42px;
  padding: 0.7rem 1.35rem;
  border-color: #9fb5ad;
  border-radius: 6px;
  background: #fff;
  color: #263b34;
  font-weight: 700;
}

#wc_cart #cart_table {
  margin: 0;
  border: 1px solid #e3ebe7;
  border-radius: 8px;
  overflow: hidden;
}

#wc_cart #cart_table thead th {
  border-color: #e3ebe7;
  background: #f3f6f4;
  color: #53615d;
  font-size: 0.9rem;
  font-weight: 700;
}

#wc_cart #cart_table th,
#wc_cart #cart_table td {
  border-color: #e3ebe7;
}

#wc_cart #cart_table tbody td {
  padding-top: 1.35rem;
  padding-bottom: 1.35rem;
}

#wc_cart #cart_table td.productname {
  line-height: 1.6;
}

#wc_cart #cart_table td.productname .itemcode {
  color: #64746f;
}

#wc_cart #cart_table td.unitprice,
#wc_cart #cart_table td.subtotal {
  font-weight: 700;
  letter-spacing: 0;
}

#wc_cart #cart_table td.quantity input {
  border-radius: 6px;
  background: #f5f6f5;
}

#wc_cart #cart_table tfoot tr {
  background: #fff;
}

#wc_cart #cart_table tfoot th {
  border: none;
  background: #fff;
}

#wc_cart #cart_table tfoot .amount-text {
  color: #273831;
  font-weight: 700;
}

#wc_cart #cart_table tfoot .amount {
  color: #273831;
  font-size: 1.25rem;
  font-weight: 800;
}

#wc_cart .currency_code {
  color: #5c6d67;
  font-size: 0.88rem;
}

#wc_cart .st-cart-footer {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

#wc_cart .wcem-cart-estimate {
  margin: 0;
  padding: 20px;
  border: 1px solid #dbe7e2;
  border-radius: 8px;
  background: #f8fbf9;
  box-shadow: none;
}

#wc_cart .wcem-cart-estimate__eyebrow {
  margin: 0 0 0.45rem;
  color: #c85442;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

#wc_cart .wcem-cart-estimate h3 {
  margin-bottom: 0.55rem;
  color: #12251f;
  font-size: 1.05rem;
}

#wc_cart .wcem-cart-estimate p {
  color: #53655f;
  font-size: 0.88rem;
  line-height: 1.8;
}

#wc_cart .wcem-cart-estimate__form {
  align-self: center;
}

#wc_cart .wcem-cart-estimate__form label {
  color: #20342d;
  font-size: 0.88rem;
}

#wc_cart .wcem-cart-estimate__form input[type="text"] {
  max-width: none;
  min-height: 48px;
  border-color: #c8d9d2;
  border-radius: 6px;
}

#wc_cart .wcem-cart-estimate__form .wcem-estimate-button {
  width: 100%;
  min-height: 48px;
  border-radius: 6px;
  background: #16765d;
  letter-spacing: 0;
}

#wc_cart .st-cart-footer .send {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}

#wc_cart .st-cart-footer .send input,
#wc_cart .st-cart-footer .send a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 58px;
  border-radius: 8px;
  letter-spacing: 0;
}

/* モバイルは内容確認ページと同じく主ボタン(次へ)を先頭に */
#wc_cart .st-cart-footer .send .to_customerinfo_button {
  order: -1;
}

#wc_cart .st-cart-footer .send .to_customerinfo_button {
  background: #16765d;
  color: #fff;
  font-weight: 800;
}

#wc_cart .st-cart-footer .send .continue_shopping_button {
  border: 1px solid #e4e9e6;
  background: #f5f6f5;
  color: #394840;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #wc_cart #cart .upbutton {
    padding: 0;
  }

  /* ボタン行(買い物を続ける・次へ)を先頭に、見積書パネルはその下へ分離 */
  #wc_cart .st-cart-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  /* PC: 買い物を続ける=左端(小)・次へ=右端(大)。両端に離して誤クリックを防ぐ */
  #wc_cart .st-cart-footer .send {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }

  #wc_cart .st-cart-footer .send .continue_shopping_button {
    flex: 0 1 220px;
    min-width: 170px;
  }

  #wc_cart .st-cart-footer .send .to_customerinfo_button {
    flex: 0 1 340px;
    min-width: 280px;
    order: 0;
  }

  #wc_cart .wcem-cart-estimate {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 16px;
  }

  #wc_cart .wcem-cart-estimate__form {
    max-width: 560px;
  }
}

@media screen and (max-width: 767px) {
  #wc_cart div.cart_navi ul {
    margin-top: 2.4rem;
    margin-bottom: 2rem;
  }

  #wc_cart #cart .upbutton {
    align-items: stretch;
    flex-direction: column;
    gap: 0.6rem;
    text-align: left;
  }

  #wc_cart #cart .upbutton input {
    width: 100%;
  }

  #wc_cart #cart_table {
    border: none;
    border-radius: 0;
  }

  #wc_cart #cart_table tbody tr {
    padding: 1.2rem 0;
    border-bottom-color: #e3ebe7;
  }

  #wc_cart .wcem-cart-estimate {
    padding: 18px;
  }
}

/* Welcart 最終確認画面 */
#wc_confirm #purchase_form .send {
  display: grid;
  grid-template-columns: minmax(136px, 180px) minmax(248px, 320px) minmax(280px, 360px);
  align-items: stretch;
  justify-content: center;
  gap: 14px;
  max-width: 930px;
  margin: 48px auto 0;
}

#wc_confirm #purchase_form .send input {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 58px;
  margin: 0;
  padding: 0 1.2rem;
  border-radius: 8px;
  -webkit-clip-path: inset(0 round 8px);
  clip-path: inset(0 round 8px);
  font-weight: 800;
  filter: none;
  letter-spacing: 0;
  line-height: 1.35;
}

#wc_confirm #purchase_form .send input.back_to_delivery_button {
  position: static;
  grid-column: 1;
  grid-row: 1;
  border: 1px solid #e2e7e4;
  background: #f5f6f5;
  color: #394840;
}

#wc_confirm #purchase_form .send input#wcem_confirm_estimate_button {
  grid-column: 2;
  grid-row: 1;
  border: 1px solid #9fc9bd;
  background: #fff;
  color: #176b57;
}

#wc_confirm #purchase_form .send input#purchase_button {
  grid-column: 3;
  grid-row: 1;
  border: 1px solid #16765d !important;
  background: #16765d !important;
  background-color: #16765d !important;
  background-image: linear-gradient(#16765d, #16765d) !important;
  color: #fff !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}

#wc_confirm #purchase_form .send input.back_to_delivery_button:hover,
#wc_confirm #purchase_form .send input#wcem_confirm_estimate_button:hover {
  border-color: #26332e;
  background: #eef5f2;
  color: #12342b;
}

#wc_confirm #purchase_form .send input#purchase_button:hover {
  border-color: #125f4b !important;
  background: #125f4b !important;
  background-color: #125f4b !important;
  background-image: linear-gradient(#125f4b, #125f4b) !important;
  color: #fff !important;
}

#wc_confirm #purchase_form .send input:focus {
  outline: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

#wc_confirm #purchase_form .send input:focus-visible {
  outline: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

@media screen and (max-width: 767px) {
  #wc_confirm #purchase_form .send {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 32px;
  }

  #wc_confirm #purchase_form .send input {
    min-height: 56px;
  }

  #wc_confirm #purchase_form .send input#purchase_button {
    order: 1;
  }

  #wc_confirm #purchase_form .send input#wcem_confirm_estimate_button {
    order: 2;
  }

  #wc_confirm #purchase_form .send input.back_to_delivery_button {
    order: 3;
  }
}

/* Welcart 購入ステップ共通ボタン */
#wc_cart .st-cart-footer .send input,
#wc_cart .st-cart-footer .send a,
#wc_customer .send input,
#wc_delivery .send input,
#wc_confirm #purchase_form .send input {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  min-width: 0;
  min-height: 56px;
  margin: 0;
  padding: 0 1.2rem;
  border-radius: 8px;
  -webkit-clip-path: inset(0 round 8px);
  clip-path: inset(0 round 8px);
  filter: none;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.35;
  text-align: center;
}

#wc_customer .send,
#wc_delivery .send {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  max-width: 620px;
  margin: 48px auto 0;
}

#wc_customer .send input,
#wc_delivery .send input {
  width: 100%;
  max-width: none;
  height: 58px;
}

#wc_customer .send input.back_cart_button,
#wc_delivery .send input.back_to_customer_button {
  position: static;
  flex: 0 1 180px;
  order: 1;
  border: 1px solid #e2e7e4;
  background: #f5f6f5;
  background-color: #f5f6f5;
  background-image: linear-gradient(#f5f6f5, #f5f6f5);
  color: #394840;
}

#wc_cart .st-cart-footer .send .continue_shopping_button,
#wc_confirm #purchase_form .send input.back_to_delivery_button {
  background-image: linear-gradient(#f5f6f5, #f5f6f5);
}

#wc_cart .st-cart-footer .send .to_customerinfo_button,
#wc_customer .send input.to_deliveryinfo_button,
#wc_customer .send input.to_reganddeliveryinfo_button,
#wc_customer .send input.to_memberlogin_button,
#wc_delivery .send input.to_confirm_button,
#wc_confirm #purchase_form .send input#purchase_button {
  flex: 1 1 320px;
  order: 2;
  border: 1px solid #16765d !important;
  background: #16765d !important;
  background-color: #16765d !important;
  background-image: linear-gradient(#16765d, #16765d) !important;
  color: #fff !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

#wc_cart .st-cart-footer .send .to_customerinfo_button,
#wc_cart .st-cart-footer .send .continue_shopping_button {
  flex: 0 0 auto;
  height: 58px;
}

#wc_cart .st-cart-footer .send .continue_shopping_button:hover,
#wc_customer .send input.back_cart_button:hover,
#wc_delivery .send input.back_to_customer_button:hover,
#wc_confirm #purchase_form .send input.back_to_delivery_button:hover,
#wc_confirm #purchase_form .send input#wcem_confirm_estimate_button:hover {
  border-color: #26332e;
  background: #eef5f2;
  background-color: #eef5f2;
  background-image: linear-gradient(#eef5f2, #eef5f2);
  color: #12342b;
}

#wc_cart .st-cart-footer .send .to_customerinfo_button:hover,
#wc_customer .send input.to_deliveryinfo_button:hover,
#wc_customer .send input.to_reganddeliveryinfo_button:hover,
#wc_customer .send input.to_memberlogin_button:hover,
#wc_delivery .send input.to_confirm_button:hover,
#wc_confirm #purchase_form .send input#purchase_button:hover {
  border-color: #125f4b !important;
  background: #125f4b !important;
  background-color: #125f4b !important;
  background-image: linear-gradient(#125f4b, #125f4b) !important;
  color: #fff !important;
}

#wc_cart .st-cart-footer .send input:focus,
#wc_cart .st-cart-footer .send a:focus,
#wc_customer .send input:focus,
#wc_delivery .send input:focus,
#wc_confirm #purchase_form .send input:focus {
  outline: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

@media screen and (min-width: 768px) {
  #wc_customer .send input.to_deliveryinfo_button,
  #wc_customer .send input.to_reganddeliveryinfo_button,
  #wc_customer .send input.to_memberlogin_button,
  #wc_delivery .send input.to_confirm_button {
    flex: 0 1 360px;
  }
}

@media screen and (max-width: 767px) {
  #wc_customer .send,
  #wc_delivery .send {
    flex-direction: column;
    gap: 12px;
    margin-top: 32px;
  }

  #wc_cart .st-cart-footer .send .to_customerinfo_button,
  #wc_customer .send input.to_deliveryinfo_button,
  #wc_customer .send input.to_reganddeliveryinfo_button,
  #wc_customer .send input.to_memberlogin_button,
  #wc_delivery .send input.to_confirm_button,
  #wc_confirm #purchase_form .send input#purchase_button {
    order: 1;
  }

  #wc_cart .st-cart-footer .send .continue_shopping_button,
  #wc_customer .send input.back_cart_button,
  #wc_delivery .send input.back_to_customer_button,
  #wc_confirm #purchase_form .send input.back_to_delivery_button {
    order: 2;
  }

  #wc_confirm #purchase_form .send input#wcem_confirm_estimate_button {
    order: 2;
  }

  #wc_confirm #purchase_form .send input.back_to_delivery_button {
    order: 3;
  }
}

/* ==========================================================
   TOP 数字帯（2026-07 リニューアル: 漢字丸アイコン帯の置き換え）
   ========================================================== */
.st-trust-strip--nums .l-inner {
  border-left: 1px solid #e6ece8;
}
.st-num-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 96px;
  padding: 18px 20px;
  border-right: 1px solid #e6ece8;
}
.st-num-card strong {
  color: #172522;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .01em;
}
.st-num-card strong i {
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
  margin-left: 2px;
  color: #2f6b55;
}
.st-num-card small {
  color: #6a716f;
  font-size: 11px;
  line-height: 1.5;
}
.st-num-card--reserved {
  display: none;
}
@media screen and (max-width: 980px) {
  .st-trust-strip--nums .l-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .st-num-card {
    min-height: 74px;
    border-bottom: 1px solid #e6ece8;
  }
  .st-num-card:nth-child(5) {
    grid-column: span 2;
  }
}
@media (max-width: 767px) {
  .st-trust-strip--nums .l-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .st-num-card strong {
    font-size: 22px;
  }
}

/* 2026-07 オファー型ヒーローコピー用のサイズ調整（1行14文字まで折り返さない） */
.st-hero__title {
  max-width: 780px;
  font-size: 46px;
}
@media screen and (max-width: 1180px) {
  .st-hero__title {
    font-size: 37px;
  }
}
@media (max-width: 767px) {
  .st-hero__title {
    font-size: 23px;
  }
}

/* 商品ページ上部のカテゴリ説明抜粋（途中で切れて表示されるため非表示。2026-07監査対応） */
.single .item-excerpt {
  display: none;
}

/* ＠単価表示（最大ロット時の1枚単価。2026-07価格表示刷新） */
.st-at-price {
  font-weight: 800;
  font-size: 1.15em;
  letter-spacing: .01em;
}
.field-price .st-at-price {
  font-size: 26px;
  color: #172522;
}
.st-at-price__note {
  display: inline-block;
  margin-left: 8px;
  font-size: 12px;
  color: #6a716f;
}

/* ==========================================================
   商品一覧 リスト型レイアウト（縦一列・左画像・右詳細）2026-07
   ========================================================== */
.st-item-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 8px 0 28px;
}
.st-list-item {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 218px;
  gap: 0;
  background: #fff;
  border: 1px solid #e2e0d9;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.st-list-item:hover {
  border-color: #2f6b55;
  box-shadow: 0 10px 26px rgba(36, 59, 54, .10);
}
.st-list-item__imgwrap {
  display: block;
  position: relative;
  background: #f6f4ef;
}
.st-list-item__imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  display: block;
}
.st-list-item__body {
  min-width: 0;
  padding: 20px 24px 18px;
  display: flex;
  flex-direction: column;
}
.st-list-item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.st-list-item__tag {
  display: inline-block;
  padding: 2px 9px;
  border: 1px solid #d8d4c8;
  border-radius: 999px;
  background: #faf8f3;
  color: #4b524f;
  font-size: 11px;
  line-height: 1.6;
}
.st-list-item__tag--method {
  border-color: #2f6b55;
  background: #eef4f0;
  color: #2f6b55;
  font-weight: 700;
}
.st-list-item__name {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}
.st-list-item__name a {
  color: #172522;
}
.st-list-item__name a:hover {
  color: #2f6b55;
  text-decoration: underline;
}
.st-list-item__review {
  min-height: 0;
  font-size: 12px;
}
.st-list-item__desc {
  margin: 6px 0 12px;
  color: #555c59;
  font-size: 13px;
  line-height: 1.75;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.st-list-item__specs {
  margin: auto 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  padding-top: 12px;
  border-top: 1px dashed #e2e0d9;
}
.st-list-item__specs > div {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.st-list-item__specs dt {
  color: #8a8f8c;
  font-size: 11px;
}
.st-list-item__specs dd {
  margin: 0;
  color: #172522;
  font-size: 12.5px;
  font-weight: 700;
}
.st-list-item__action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  padding: 20px 22px;
  background: #faf8f3;
  border-left: 1px solid #eee9dd;
}
.st-list-item__price {
  line-height: 1.2;
}
.st-list-item__price-label {
  display: block;
  color: #8a8f8c;
  font-size: 11px;
  margin-bottom: 3px;
}
.st-list-item__price strong {
  color: #172522;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: .01em;
}
.st-list-item__price-tax {
  margin-left: 3px;
  color: #6a716f;
  font-size: 11px;
}
.st-list-item__action .icon._freeshipping {
  margin: 0;
}
.st-list-item__btn {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px 10px;
  background: #1d342f;
  border-radius: 6px;
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  text-align: center;
  transition: background .2s;
}
.st-list-item__btn:hover {
  background: #2f6b55;
  color: #fff;
}
@media screen and (max-width: 1180px) {
  .st-list-item {
    grid-template-columns: 224px minmax(0, 1fr) 190px;
  }
  .st-list-item__body {
    padding: 16px 18px 14px;
  }
  .st-list-item__action {
    padding: 16px 16px;
  }
  .st-list-item__price strong {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .st-list-item {
    grid-template-columns: 118px minmax(0, 1fr);
    grid-template-areas:
      "img body"
      "action action";
  }
  .st-list-item__imgwrap {
    grid-area: img;
  }
  .st-list-item__imgwrap img {
    aspect-ratio: 1 / 1;
  }
  .st-list-item__body {
    grid-area: body;
    padding: 12px 14px 10px;
  }
  .st-list-item__name {
    font-size: 14.5px;
    line-height: 1.4;
  }
  .st-list-item__desc {
    display: none;
  }
  .st-list-item__specs {
    gap: 4px 12px;
    padding-top: 8px;
  }
  .st-list-item__specs dd {
    font-size: 11.5px;
  }
  .st-list-item__action {
    grid-area: action;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 14px;
    border-left: none;
    border-top: 1px solid #eee9dd;
  }
  .st-list-item__price strong {
    font-size: 20px;
  }
  .st-list-item__price-label {
    display: inline;
    margin-right: 4px;
  }
  .st-list-item__btn {
    width: auto;
    margin-top: 0;
    padding: 9px 16px;
    font-size: 12.5px;
  }
}

/* モバイルのリスト画像は正方形のまま上寄せ（縦長クロップ防止） */
@media (max-width: 767px) {
  .st-list-item__imgwrap {
    align-self: start;
  }
  .st-list-item__imgwrap img {
    height: auto;
  }
}

/* 一覧スペック: 商品仕様（サイズ・素材等）はPCのみ表示 */
@media (max-width: 767px) {
  .st-list-item__spec--detail {
    display: none;
  }
}

/* ＠単価の版代別途注記 */
.st-list-item__price-note,
.st-price-note {
  display: block;
  margin-top: 2px;
  color: #8a8f8c;
  font-size: 10.5px;
  font-weight: 400;
  line-height: 1.4;
}

/* PCメガメニュー: JS(is-mega-open)と対のCSSトランジション。
   高さは常に全開でopacity/translateYのみ動かす=開いた瞬間からパネル全域がホバー可能 */
#gnav .st-global-nav__has-menu .navwrap {
  display: block;
  height: auto;
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
}

#gnav .st-global-nav__has-menu.is-mega-open .navwrap {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0s;
}

/* 会員ページ(会員情報編集・退会等)のボタンをサイト標準デザインに統一。
   Welcart固有のボタンクラスを直接指定(ページ側ラッパーの揺れに依存しない) */
input.editmember,
input.deletemember,
.send input.top,
.send input.back {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 12px auto 0;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid #e4e9e6;
  border-radius: 8px;
  background: #f5f6f5;
  color: #394840;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

input.editmember:hover,
input.deletemember:hover,
.send input.top:hover,
.send input.back:hover {
  opacity: 0.85;
}

/* 更新する = 主ボタン(緑) */
input.editmember {
  background: #16765d;
  border-color: #16765d;
  color: #fff;
}

/* 退会する = 控えめな危険色 */
input.deletemember {
  background: #fff;
  border-color: #e5cdc8;
  color: #b5493a;
}

/* 正式ロゴ(SVG)差し替え */
.st-header__brand .st-logo-img {
  display: block;
  width: auto;
  height: 34px;
  margin-top: 2px;
}

.st-spnav__brand .st-logo-img--spnav {
  display: block;
  width: auto;
  height: 22px;
  margin-top: 4px;
}

.st-footer__brand .st-logo-img--footer {
  display: block;
  width: auto;
  height: 96px;
  margin: 6px 0 2px;
}

/* ============================================================
   コンテンツ内 商品カード / ボタン (inc/shortcodes.php 用, 2026-08-28)
   ============================================================ */
.stc-item-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:1.6em 0}
.stc-item-card{display:flex;flex-direction:column;border:1px solid #e3e3e3;border-radius:8px;overflow:hidden;background:#fff}
.stc-item-card__img{display:block;aspect-ratio:1.45;overflow:hidden;background:#f6f6f6}
.stc-item-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.stc-item-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.stc-item-card__tags{display:flex;flex-wrap:wrap;gap:4px}
.stc-item-card__tag{font-size:11px;background:#eef2f0;color:#2c5347;padding:2px 9px;border-radius:99px}
.stc-item-card__name{font-size:15px;font-weight:700;line-height:1.5;margin:0}
.stc-item-card__name a{color:inherit;text-decoration:none}
.stc-item-card__name a:hover{text-decoration:underline}
.stc-item-card__price{margin:0;font-size:13px}
.stc-item-card__price strong{font-size:19px}
.stc-item-card__tax{font-size:11px;color:#777;margin-left:2px}
.stc-item-card__note{font-size:11px;color:#777}
.stc-item-card__meta{margin:0;font-size:12px;color:#555}
.stc-item-card__btn{margin:auto 0 0}
.stc-item-card .stc-btn{display:block;padding:10px 12px;font-size:14px}
.stc-btn{display:inline-block;padding:13px 30px;border-radius:6px;font-size:15px;font-weight:700;text-decoration:none;text-align:center;line-height:1.4;transition:opacity .2s;cursor:pointer}
.stc-btn:hover{opacity:.82;text-decoration:none}
.stc-btn--primary{background:#203b35;color:#fff !important}
.stc-btn--ghost{background:#fff;color:#203b35 !important;border:2px solid #203b35}
p > .stc-btn + .stc-btn{margin-left:10px}
@media (max-width:560px){
  .stc-item-cards{grid-template-columns:1fr}
  .stc-btn{display:block}
  p > .stc-btn + .stc-btn{margin-left:0;margin-top:10px}
}

/* --- 商品カード調整 (2026-08-28 v2): テーマ本文のp余白を打ち消し+単体カードは横型 --- */
.stc-item-card p{margin:0 !important;line-height:1.6}
.stc-item-card .stc-item-card__name{line-height:1.5}
.stc-item-card__body{gap:8px}
.stc-item-cards:has(.stc-item-card:only-child){display:block}
.stc-item-card:only-child{flex-direction:row;max-width:680px}
.stc-item-card:only-child .stc-item-card__img{flex:0 0 220px;aspect-ratio:auto;align-self:stretch;min-height:190px}
.stc-item-card:only-child .stc-item-card__body{padding:16px 20px}
.stc-item-card:only-child .stc-item-card__btn .stc-btn{display:inline-block;padding:10px 24px;width:auto}
@media (max-width:560px){
  .stc-item-card:only-child{flex-direction:column}
  .stc-item-card:only-child .stc-item-card__img{flex:auto;aspect-ratio:1.45;min-height:0}
  .stc-item-card:only-child .stc-item-card__btn .stc-btn{display:block;width:100%}
}
