@charset "UTF-8";

/* ======================================================

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-> scss -> base -> _normalize.scss

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

====================================================== */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  list-style-type: none;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

ul {
  margin-left: 0;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* Iphoneでタップすると拡大されないように */
input, textarea, select {
  font-size: 16px!important;
}

/* ==================================================
   Base Style
   ================================================== */
html {
  font-size: 62.5%;
  /*-
  @include min-width(md){
    font-size: 71.42857142%;
  }
  -*/
}

body {
  width: 100%;
  margin: 0 auto;
  font-size: 16px;
  font-size: 1.5rem;
  line-height: 1.6;
  font-family: "Noto Sans JP","游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif!important;
  font-weight: 400;
  font-weight: 400;
  letter-spacing: 0.09em;
  color: #333!important;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

a {
  color: #59ABF3;
  text-decoration: none;
}

a, a:before, a:after {
  -webkit-transition: 0.16s cubic-bezier(0.17, 0.935, 0.305, 1);
  transition: 0.16s cubic-bezier(0.17, 0.935, 0.305, 1);
  color: #1D78C7;
}

a:hover {
  text-decoration: none;
  opacity: 0.6;
  color: #59ABF3;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

p {
  font-weight: 400;
}

img {
  max-width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 0px!important;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
}

.tel{
  pointer-events: none;
}

.pc-only{
  display: block;
}

.sp-only{
  display: none;
}

.nolink{
  pointer-events: none;
}

.en{
  font-family: "Alata", sans-serif;
}

.zen{
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.no-link{
  pointer-events: none;
}

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

  .sp-only{
    display: block;
  }

  .tel{
    pointer-events:auto;
  } 
}

/**
 * テキストの選択
 */
::-moz-selection {
  background: #dedede;
}
::selection {
  background: #dedede;
}

::-moz-selection {
  background: #dedede;
}

/**
 * Scroll Bar
 */
/*-
// 縦スクロールバー（幅）
::-webkit-scrollbar {
	width: 4px; }

// 横スクロールバー（幅）
::-webkit-scrollbar:horizontal {
	height: 12px; }

// スクロールバー軌道（色）
::-webkit-scrollbar-track {
  background: $color-scrollbar;
}

// 軌道のコーナー（色）
::-webkit-scrollbar-corner {
	background: $color-scrollbar;
}

// 移動タブ（色・角丸み）
::-webkit-scrollbar-thumb {
  background: $color-scrollbar;
	border-radius: 12px;
}
-*/
/**
 * iOS
 */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

*:focus,
*:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  box-shadow: none;
}



/* ==================================================
   Pagination
   ================================================== */


.wp-pagenavi {
	font-size: 0;
	text-align: center;
}
.wp-pagenavi .pages{
	display: none;
}
.wp-pagenavi .last{
	display: none;
}
.wp-pagenavi a, .wp-pagenavi span{
	margin: 0;
	padding: 0;
}

.wp-pagenavi .page, .wp-pagenavi .extend {
  display: inline-block;
  width: 45px;
  height: auto;
  line-height: 1;
  background: #FFF;
  font-size: 1.6rem;
  color: #de2626;
  text-decoration: none;
  text-align: center;
  background-color: #fff0f0;
  border: 1px solid #fff0f0;
  padding: 13px 4px 13px;
  border-radius: 100%;
}

.wp-pagenavi .page:hover, .wp-pagenavi .extend:hover {
	opacity: 0.8;
   border: 1px solid #de2626;
   background-color: #fff;
   color: #de2626;
}

.wp-pagenavi .current {
  display: inline-block;
  color: #000;
  width: 43px;
  height: auto;
  padding: 12px 4px 13px;
  line-height: 1;
  font-size: 16px;
  border-radius: 100%;
  text-align: center;
  border: 1px solid #de2626 !important;
  background-color: #fff;
  font-weight: 400 !important;
}


.nextpostslink{
  width: 30px;
  position: relative;
  border: none!important;
  padding: 17px 6px 8px!important;
  position: relative;
}

.nextpostslink::before{
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #111111;
  border-right: 2px solid #111111;
  transform: translate(-50%, -50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0%;
}


.previouspostslink{
  width: 30px;
  position: relative;
  border: none!important;
  padding: 17px 6px 8px!important;
}

.previouspostslink::before{
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #111111;
  border-right: 2px solid #111111;
  transform: translate(-50%, -50%) rotate(225deg);
  position: absolute;
  top: 50%;
  right: 0%;
}

.aroundbox{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0 0;
  padding-top: 24px;
}

.archive-pagination .aroundbox a{
  color: #000;
  text-align: center;
  padding: 0.8em 0.5em;
  display: block;
}

.aroundbox .wp-pagenavi{
  width: auto;
  display: flex;
  align-items: center;
}

.aroundbox.single-p {
  margin-top: 4em;
  align-items: center;
  border-top: 1px solid #d9d9d9;
  padding-top: 2em;
  justify-content: space-between;
}

.aroundbox.single-p {
  font-weight: bold;
}

.aroundbox.single-p div.all{
  margin: 0 1em;
}

.aroundbox.single-p div.all a{
  background-color: #de2626;
  color: #fff;
  font-weight: bold;
  padding: 0.9em 1.5em;
  border-radius: 999px;
}

.aroundbox.single-p div.prev {
  width: 30%;
}

.aroundbox.single-p div.next {
  width: 30%;
  text-align: right;
}

/*.aroundbox div.prev{
  padding-left: 20px;
}*/

/*.aroundbox div.prev a::before{
  content: '';
  position: absolute;
  left: 4px;
  top: 35%;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #fff;
  transform: rotate(-180deg) translate(-50%, -50%);
}*/

.aroundbox div.all{
  text-align: center;
}

.aroundbox div.next{
  position: relative;
  /*padding-right: 20px;*/
}


/*.aroundbox div.next a::before{
  content: '';
  position: absolute;
  right: 4px;
  top: 50%;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #fff;
  transform: translate(-50%, -50%);
}*/

.aroundbox a{
  color: #000;
  position: relative;
}



@media screen and (max-width: 767px) {
  /*.wp-pagenavi .page, .wp-pagenavi .extend, .wp-pagenavi .current {
    width: auto;
  }*/

  .aroundbox{
    margin: 60px 0 0;
  }

  .aroundbox.single-p {
    font-size: 1.3rem;
  }

  .aroundbox.single-p div.all a{
    background-color: #fff;
    padding: 0;
    color: #de2626;
  }
}

/* ページトップボタン */
#page-top {
  bottom: 5px;
  position: fixed;
  right: 6px;
  z-index: 3;
}


@media screen and (max-width: 767px) {

  #page-top {
    max-width: 44px;
    width: 100%;
  }

}

/* ==================================================
   Footer
================================================== */

.l-footer {
  margin-top: 3em;
  width: 100%;
  box-sizing: border-box;
  background-color: #de2626;
  color: #fff;
  padding: 1em 0 2em;
}

.l-footer .inner {
  max-width: calc(1477px + 3% * 2);
}

.l-footer a {
  color: #fff;
  text-decoration: none;
}

.l-footer .footer-row {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(360px, 1fr) minmax(320px, 389px);
  align-items: start;
  gap: clamp(32px, 4vw, 70px);
  padding: 81px 0 54px;
  text-align: left;
}

.l-footer .footer-brand {
  display: grid;
  justify-items: start;
  gap: 0;
}

.l-footer .footer-title {
  display: block;
  width: 240px;
  margin: 0 0 15px;
  overflow: hidden;

  white-space: nowrap;
}

.l-footer .footer-address {
  margin: 0;
  font-style: normal;
  line-height: 1.45;
}

.l-footer .footer-tel {
  margin: 12px 0 0;
  line-height: 1.45;
}

.l-footer .footer-meta {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 5px;
  margin-top: 98px;
  width: 100%;
}

.l-footer .footer-note {
  margin: 0;
  line-height: 1.6;
  opacity: 1;
  font-weight: 500;
  font-size: 1.3rem;
}

.l-footer .copyright {
  margin: 0;
  letter-spacing: 0.04em;
  opacity: 0.9;
}

.l-footer .link-wrap {
  display: grid;
  grid-template-columns: max-content max-content max-content;
  justify-content: end;
  align-items: start;
  gap: 72px;
}

.l-footer .l-block {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.l-footer .p-link {
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
}

.l-footer .contact-block {
  display: grid;
  justify-items: center;
  align-content: center;
  width: 100%;
  min-height: 205px;
  padding: 16px 28px;
  border: 3px solid #fff;
  border-radius: 12px;
  box-sizing: border-box;
}

.l-footer .contact-block.sp-only{
  display: none!important;
}

.l-footer .contact-title {
  margin: 0 0 16px;
  font-weight: 700;
  line-height: 1.2;
  font-size: 1.8rem;
}

.l-footer .contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 273px;
  height: 60px;
  border-radius: 40px;
  font-weight: 700;
}

.l-footer .contact-btn.line {
  background-color: #06c755;
  color: #fff;
}

.l-footer .contact-btn.border {
  margin-top: 12px;
  border: 2px solid #fff;
  color: #fff;
}

.wpml-ls-statics-footer{
  display: none;
}


@media screen and (max-width: 1446px) {

  .l-footer .link-wrap {
    gap: 31px;
  }

  .l-footer .footer-row {
    grid-template-columns: minmax(260px, 0.95fr) minmax(360px, 1fr) minmax(320px, 358px);
  }
}

@media screen and (max-width: 1345px) {

  .l-footer .footer-row {
    display: block;
  }

  .l-footer .contact-block {
    max-width: 354px;
    width: 100%;
  }

  .l-footer .link-wrap {
    justify-content: flex-start;
    margin: 3em 0;
  }

  .l-footer .footer-meta {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {


  .l-footer {
    margin-top: 2em;
  }

  .l-footer .inner {
    width: min(calc(100% - 0px), 1400px);
  }

  .l-footer .footer-row {
    display: block;
    padding: 50px 0 36px;
  }

  .l-footer .footer-meta {
    margin-top: 0px;
  }

  .l-footer .footer-note {
    white-space: normal;
  }

  .l-footer .link-wrap {
    display: block;
    margin-top: 36px;
    margin-bottom: 0;
  }

  .l-footer .l-block {
    gap: 0;
    margin-bottom: 0px;
  }

  .l-footer .p-link {
    margin-bottom: 14px;
  }

  .l-footer .contact-block {
    margin-top: 32px;
  }

  .l-footer .contact-btn {
    width: 100%;
  }

  .l-footer .contact-block.sp-only{
    display: grid!important;
  }

  .l-footer .contact-block.pc-only{
    display: none!important;
  }
}



/* ==================================================
   Header
================================================== */

.utility-bar {
  background: #de2626;
  color: #ffffff;
}

.utility-bar .inner {

  gap: 12px 20px;
  padding: 10px 1em;
  font-size: 1.2rem;
}

.utility-bar .inner > p {
  margin: 0;
  min-width: 0;
}


.l-header {
  width: 100%;
  z-index: 1000;
  background-color: #fff;
  transition: box-shadow 0.25s ease;
}

.l-header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
}

.l-header.is-scroll {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.header-space {
  height: 0;
}

.l-header .inner {
  width: min(calc(100% - 80px), 1400px);
  margin: 0 auto;
}

.l-header a {
  text-decoration: none;
}

.l-header .header-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 20px 0;
}

.l-header .site-title {
  display: block;
  max-width: 165px;
  width: 100%;
  overflow: hidden;
  color: transparent;
  white-space: nowrap;
}

.l-header .header-menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
}

.l-header .header-menu a {
  padding: 6px 0;
  color: #1f1f1f;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.l-header .header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.l-header .locale-controls,
.l-header .locale-switcher {
  display: flex;
  align-items: center;
}

.l-header .locale-switcher {
  gap: 6px;
}

.l-header .locale-switcher__label {
  color: var(--muted);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.l-header .locale-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #1f1f1f;
  border-radius: 999px;
  background-color: #fff;
  color: #1f1f1f;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.l-header .locale-switcher a.is-current,
.l-header .locale-switcher a:hover {
  background-color: #de2626;
  color: #fff;
  border-color: #de2626;
}

.l-header .cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px 18px;
  border: 1px solid #de2626;
  border-radius:999px;
  background-color: #de2626;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 800;
  cursor: pointer;
}

.l-header .cart-trigger__label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  letter-spacing: 0.08em;
}

.l-header .cart-trigger__label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../images/common/cart.svg") center / contain no-repeat;
}

.l-header .cart-trigger__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background-color: #fff;
  color: #de2626;
  font-size: 1.2rem;
}

.l-header .header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.l-header .header-user {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}

.l-header .header-user img {
  width: 100%;
  max-width: 29px;
  display: block;
}

.l-header .sp-ver {
  display: none;
}



@media screen and (max-width: 1025px) {

  .utility-bar .inner {
    padding: 4px 1em;
    font-size: 1.1rem;
  }

}

@media screen and (max-width:1000px) {

  .l-header .header-row {
    gap: 17px;
  }

  .l-header .inner {
      width: min(calc(100% - 25px), 1400px);
  }

  .l-header .cart-trigger {
    gap: 0px;
    padding: 8px 9px
  }

  .l-header .header-menu {
    gap: 12px;
  }
}

@media screen and (max-width:820px) {
  .l-header .locale-switcher a {
      padding: 7px 9px;
  }

  .l-header .header-row {
    gap: 15px;
  }

  .l-header .site-title {
    max-width: 135px;
  }

  .l-header .header-user img {
    max-width: 26px;
  }
}

@media screen and (max-width: 1025px) {
  .l-header .pc-ver {
    display: none;
  }

  .l-header .sp-ver {
    display: block;
  }

  .l-header .inner {
    width: min(calc(100% - 32px), 1400px);
  }

  .l-header .header-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
  }

  .l-header .site-title {
    grid-column: 1 / 2;
    justify-self: start;
    width: 112px;
    height: 35px;
  }

  .l-header .header-actions {
    grid-column: 2 / 3;
    justify-self: end;
  }

  .l-header .drawer-btn {
    grid-column: 3 / 4;
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #1f1f1f;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
  }

  .l-header .drawer-btn span {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 2px;
    background-color: #1f1f1f;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }

  .l-header .drawer-btn span:nth-child(1) {
    top: 13px;
  }

  .l-header .drawer-btn span:nth-child(2) {
    top: 20px;
  }

  .l-header .drawer-btn span:nth-child(3) {
    top: 27px;
  }

  .l-header.is-open .drawer-btn span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .l-header.is-open .drawer-btn span:nth-child(2) {
    opacity: 0;
  }

  .l-header.is-open .drawer-btn span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .l-header .cart-trigger {
    min-height: 42px;
    padding: 6px 12px;
    gap: 7px;
    font-size: 1.2rem;
  }

  .l-header .cart-trigger__label::before {
    width: 17px;
    height: 17px;
  }

  .l-header .cart-trigger__count {
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    font-size: 1.1rem;
  }

  .l-header .header-drawer {
    display: block;
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    border-top: 1px solid transparent;
    background-color: #fff;
    opacity: 0;
    transform: translateY(-8px);
    transition:
      max-height 0.45s ease,
      padding 0.35s ease,
      opacity 0.25s ease,
      transform 0.35s ease,
      border-color 0.25s ease;
  }

  .l-header.is-open .header-drawer {
    max-height: 650px;
    padding: 18px 16px 24px;
    border-top-color: #eee;
    opacity: 1;
    transform: translateY(0);
    overflow-y: scroll;
  }

  

  .l-header .header-drawer .locale-controls {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 18px;
  }

  .l-header .header-drawer .locale-switcher {
    display: flex;
    gap: 6px;
  }

  .l-header .header-drawer .locale-switcher__label {
    display: inline-flex;
    align-items: center;
    color: var(--muted);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.12em;
  }

  .l-header .header-drawer .locale-switcher a {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 1.1rem;
  }

  .l-header .drawer-menu {
    display: grid;
    gap: 0;
  }

  .l-header .drawer-acc-btn,
  .l-header .drawer-menu > a {
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    color: #1f1f1f;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  .l-header.is-open .drawer-menu .drawer-acc-btn,
  .l-header.is-open .drawer-menu > a {
    opacity: 1;
    transform: translateY(0);
  }

  .l-header.is-open .drawer-menu .drawer-acc-btn {
    transition-delay: 0.08s;
  }

  .l-header.is-open .drawer-menu > a:nth-child(2) {
    transition-delay: 0.12s;
  }

  .l-header.is-open .drawer-menu > a:nth-child(3) {
    transition-delay: 0.16s;
  }

  .l-header.is-open .drawer-menu > a:nth-child(4) {
    transition-delay: 0.2s;
  }

  .l-header.is-open .drawer-menu > a:nth-child(5) {
    transition-delay: 0.24s;
  }

  .l-header .drawer-acc-body{
    display: none;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 0.5em;
    position: relative;
  }

  .l-header .drawer-acc-btn:after {
    content: "＋";
    position: absolute;
    right: 1%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    font-size: 2rem;
    font-weight: 300;
    color: #000;
    transition:
      transform 0.35s ease,
      color 0.25s ease,
      opacity 0.25s ease;
  }

  .l-header .drawer-acc-btn.open:after {
    content: "－";
    color: #000;
  }

  .l-header .drawer-acc-body a{
    padding: 0.7em;
    opacity: 1;
    font-size: 1.2rem;
    width: 49%;
    border: none;
    background-color: #F7F7F7;
    margin-bottom: 0.4em;
    border-radius: 4px;
    color: #000;
    font-weight: bold;
  }
}


/* ==================================================
  共通
================================================== */

.inner {
  width: 100%;
  max-width: calc(1320px + 3% * 2);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 5%;
  padding-right: 5%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.inner2 {
  width: 100%;
  max-width: calc(1400px + 3% * 2);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 5%;
  padding-right: 5%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}


.btn{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 210px;
  /* max-width: none; */
  margin-top: auto;
  padding: 1.3em 1em 1.3em 1em;
  border: none;
  border-radius: 999px;
  background: #e52525;
  color: #fff;
  border: 2px solid #e52525;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.4;
  transition: 0.3s ease-in-out;
}

.btn:hover{
  background-color: #fff;
  color: #e52525;
}

.btn.white{
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
}

.btn.white:hover{
  background-color: #e52525;
  color: #fff;
  border: 1px solid #e52525!important;
  opacity: 1;
}

.page-ttl{
  padding: 3em 1em 4em;
  text-align: center;
  border-bottom: 4px solid #000;
}

.subpage-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 1.7rem;
  color: #de2626;
  font-family: "Alata", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  white-space: nowrap;
}

.subpage-hero .subpage-hero__eyebrow {
  color: #de2626 !important;
}

.subpage-hero__eyebrow::before,
.subpage-hero__eyebrow::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 2px;
  background: #de2626;
}

.subpage-hero__box .headline {
  margin-bottom: 14px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 3.8rem;
  line-height: 1.18;
  font-weight: bold;
  text-align: center;
}

.subpage-hero__box .page-text{
  color: #666;
  margin: 1em 0 0;
}

/*.c-main{
  padding-top: 7em;
}*/

.c-heading{
  text-align: center;
}

.c-heading .en {
  margin-bottom: 8px;
  color: #de2626;
  font-size: 1.4rem;
  font-weight: 700;
  position: relative;
  letter-spacing: 0.12em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.c-heading .en::before,
.c-heading .en::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 2px;
  background: #de2626;
}

.c-heading .head{
  font-size: 4rem;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

@media screen and (max-width:1200px) {

  .c-heading .head {
    font-size: 3rem;
  }
}

@media screen and (max-width:1025px) {

  .pr-wrapper {
    padding-right: 0;
  }

  .c-main{
    padding-top: 1.6em;
  }

  .big-mv-img {
    height: 469px;
  }

  .subpage-hero__box h1 {
    font-size: 2.5rem;
  }

  .subpage-hero__eyebrow {
    margin-bottom: 1.2rem;
  }

  .c-heading .en{
    font-size: 1.2rem;
  }

  .c-heading .head{
    font-size: 2.8rem;
  }

  .subpage-hero__box .headline {
    font-size: 2.8rem;
  }

  .l-header .cart-trigger__label{
    font-size: 0;
  }
}


@media screen and (max-width:768px) {

  .page-ttl {
    padding: 2em 0em 3em;
    border-bottom: 2px solid #000;
  }

  .page-ttl h1 .en {
    font-size: 4rem;
    margin-bottom: 0;
  }

  .page-ttl h1 .jp {
    font-size: 1.4rem;
  }



  .big-mv-img .b-mv-ttl {
    padding: 0.5em 1em;
    transform: rotate(0deg) translate(0%, 0%);
    left: 0;
    top: auto;
    bottom: 0;
  }

  .big-mv-img {
    height: 320px;
  }

  .btn{
    padding: 1em 1em;
  }


}

/* ==================================================
   Bread Crumb
   ================================================== */
.c-breadcrumb {
}

.c-breadcrumb ul {
  padding: 1em 0 1em 0em;
  background: transparent;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
}

.c-breadcrumb ul li{
  position: relative;
  font-size: 1.2rem;
  font-weight: 500;
}



.c-breadcrumb ul li::after{
  content: '';
  top: 53%;
  right: -16px;
  box-sizing: border-box;
  position: absolute;
	width: 4px;
	height: 4px;
	border-top: 1px solid #666666;
	border-right: 1px solid #666666;
	-webkit-transform: translate(0,-50%) rotate(45deg);
	transform: translate(0,-50%) rotate(45deg);
}

.c-breadcrumb ul li:last-child:after{
  content: none;
}


.c-breadcrumb ul li {
  margin-right: 2.2em;
 }
 
 .c-breadcrumb ul li a {
   color: #202625;
 }
 
 .c-breadcrumb ul li i {
   margin-left: 10px;
 }

@media screen and (max-width: 1200px) {
  .c-breadcrumb {
    padding: 0px 0 0px;
  }
}



/* ==================================================
   TOP
================================================== */

.mv-area {
  display: grid;
  grid-template-columns: minmax(0, 2.7fr) minmax(220px, 0.62fr);
  gap: 14px;
  width: 100%;
  margin: 0.8em 0;
  align-items: stretch;
}

/* slick height fix */
.mv-slider,
.mv-slider .slick-list,
.mv-slider .slick-track,
.mv-slider .slick-slide,
.mv-slider .slick-slide > div {
  height: 100%;
}

.mv-slider {
  position: relative;
  min-width: 0;
}

.mv-block {
  height: 100%;
}

.mv-frame {
  position: relative;
  height: 100%;
  min-height: 700px;
  border: 1px solid var(--line);
  overflow: hidden;
  background-color: #fff;
}

.mv-bg {
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      to top,
      rgba(20,20,20,.32),
      rgba(20,20,20,.04)
    ),
    var(--mv-pc);

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  transform: scale(1);
  transition: transform 7s ease;
}

.slick-current .mv-bg {
  transform: scale(1.06);
}

.mv-text {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: end;
  height: 100%;
  min-height: 700px;
  /*max-width: 760px;*/
  max-width: 100%;
  padding: 56px;
  color: #fff;
}

.mv-text .en,
.panel-box .en,
.section-label {
  margin-bottom: 11px;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.mv-text .en,
.panel-box .en {
  color: rgba(255, 255, 255, 0.92);
}

.mv-text .sub-text {
  margin-bottom: 12px;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.mv-text .m-label span,
.mv-text .sub-text span{
  font-size: 1.6rem;
}

.mv-text .mv-headline {
  margin-bottom: 20px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: clamp(4rem, 4.2vw, 7rem);
  line-height: 1.4;
  display: inline-block;
  /*white-space: nowrap;*/
  font-weight: bold;
}


.mv-text .btn-block {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/*.mv-text .btn-block a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border: 1px solid #181818;
  border-radius: var(--button-radius);
  background-color: #fff;
  color: #181818;
  font-weight: 700;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.mv-text .btn-block a:hover,
.panel-box.promo a:hover {
  border-color: #181818;
  background-color: #de2626;
  color: #fff;
}*/

/* text animation */
.mv-text .en,
.mv-text .sub-text,
.mv-text .mv-headline,
.mv-text .btn-block {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.68s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.68s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.mv-text .sub-text {
  transition-delay: 0.1s;
}

.mv-text .mv-headline:first-of-type {
  transition-delay: 0.2s;
}

.mv-text h1 span:nth-of-type(2) {
  transition-delay: 0.3s;
}

.mv-text .btn-block {
  transition-delay: 0.42s;
}

.slick-current .mv-text .en,
.slick-current .mv-text .sub-text,
.slick-current .mv-text .mv-headline,
.slick-current .mv-text .btn-block {
  opacity: 1;
  transform: translateY(0);
}

/* slick arrows + dots position */
.mv-slider .slick-dots {
  position: absolute;
  right: 78px;
  bottom: 20px;
  z-index: 20;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  height: 42px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mv-slider .slick-dots li {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 10px;
  height: 10px;
  margin: 0;
  padding: 0;
}

.mv-slider .slick-dots li button {
  display: block;
  width: 10px;
  height: 10px;
  min-width: 10px;
  min-height: 10px;
  padding: 0;

  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);

  font-size: 0;
  line-height: 0;
  color: transparent;

  cursor: pointer;
}

.mv-slider .slick-dots li button::before {
  display: none;
  content: none;
}

.mv-slider .slick-dots li.slick-active button {
  background: #fff;
}

.mv-arrow {
  position: absolute;
  bottom: 20px;
  z-index: 21;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.mv-arrow:hover {
  background-color: rgba(255, 255, 255, 0.22);
  border-color: #fff;
}

.mv-prev {
  right: calc(74px + var(--dots-width, 80px));
}

.mv-next {
  right: 20px;
}


/* side block */
.side-block {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
}

.panel-box {
  padding: 0;
  border: 4px solid #f2f2f2;
  border-radius: 16px;
  overflow: hidden;
}

.panel-box.promo {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
}

.panel-box .panel-img {
  display: block;
  width: 100%;
  min-height: 235px;
  background: #f2f2f2 url("../images/top/bg_mv02.png") center / cover no-repeat;
}

.panel-box .panel-img.bottom {
  background-image: url("../images/top/bg_mv03.png");
}

.panel-box .text-block {
  width: 100%;
  padding: 16px 18px 18px;
  box-sizing: border-box;
}

.panel-box.promo .sub {
  color: #de2626;
}

.panel-box.promo .sub-head {
  margin: 0 0 10px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.35;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.panel-box.promo .btn {
  max-width: 190px;
  padding: 1.1em 1em;
}

@media (prefers-reduced-motion: reduce) {
  .mv-text .en,
  .mv-text .sub-text,
  .mv-text h1 span,
  .mv-text .btn-block {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media screen and (max-width: 1024px) {

  .mv-arrow {
    width: 30px !important;
    height: 30px;
  }

  .mv-text {
    padding-bottom: 5em;
  }

  .mv-prev {
    right: 96px;
  }

  .mv-next {
    right: 11px;
  }

  .mv-area {
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .mv-text .mv-headline {
    font-size: clamp(2.5rem, 4.2vw, 7rem);
  }

  .mv-slider .slick-dots {
    right: 56px;
  }

  .mv-slider .slick-dots li {
    width: 8px;
    height: 8px;
  }

  .mv-frame,
  .mv-text {
    min-height: 560px;
  }

  .side-block {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    padding: 0 1em;
  }

}

@media screen and (max-width: 768px) {

  .mv-bg {
    background-image:
      linear-gradient(
        to top,
        rgba(20,20,20,.32),
        rgba(20,20,20,.04)
      ),
      var(--mv-sp);
  }

  .mv-frame,
  .mv-text {
    min-height: 480px;
  }

  .mv-text {
    padding: 1em 0.5em 3em;
  }

  .mv-slider .slick-dots {
    right: 23px;
    bottom: 0;
  }

  .mv-arrow{
    display: none!important;
  }

  .mv-text .mv-headline{
    font-size: 3.6rem;
    line-height: 1.2;
  }

  .mv-text .m-label span,
  .mv-text .sub-text span{
    font-size: 1.4rem;
  }


  .side-block {
    grid-template-columns: 1fr;
    padding: 0 1em;
  }

  .panel-box .panel-img {
    min-height: 190px;
  }
}


.keyword-area{
  padding: 6em 0;
}

.keyword-area .keyword-list {
  display: flex;
  justify-content: center;
  gap: 1%;
  flex-wrap: wrap;
  margin-top: 4em;
}

.keyword-area .keyword-list a{
  padding: 10px 18px;
  border: 1px solid #000;
  background: #fff;
  border-radius: 999px;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
  color: #000;
  margin-bottom: 0.4em;
}

.keyword-area .keyword-list a:hover{
  background-color: #de2626;
  color: #fff;
  opacity: 1;
}

.topproduct-area{
  padding: 6em 0;
}

.topproduct-area .btn{
  margin: 1em auto 0;
}

.topproduct-area .product-grid{
  margin-top: 5em;
  margin-left: 0;
}



.genre-area{
  padding: 5em 0;
  background: linear-gradient(180deg, #ffdb43 0%, #ffab01 100%);
}

.genre-list{
  display: flex;
  justify-content: space-between;
  position: relative;
  flex-wrap: wrap;
  margin-top: 4em;
}

.genre-list::after{
  content: '';
  width: 31%;
}

.genre-list .g-box{
  width: 31%;
  color: #000;
  display: block;
  margin-bottom: 4em;
  position: relative;
}

.genre-list .g-box:hover{
  opacity: 1;
}

.genre-list .g-box:hover figure{
  transform: translateY(-5px);
}

.genre-list .g-box figure{
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
  border: 4px solid #000;
  border-radius: 21px;
}

.genre-list .g-box figure img{
  display: block;
  width: 100%;
}

.genre-list .g-box:hover .btn {
  background-color: #fff;
  color: #644F26;
}


.genre-list .g-box .g-ttl {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  margin: 0.4em 0 0.8em;
}

.genre-list .g-box .btn{
  position: absolute;
  bottom: 0;
  left: 0;
}


.top-news{
  padding: 6em 0 5em;
}

.top-news .btn{
  margin: 4em auto 0;
}

.top-news .news-nav {
  margin-bottom: 3em;
  margin-top: 3em;
}

.news-nav button{
  padding: 10px 18px;
  border: 1px solid #000;
  background: #fff;
  border-radius: 999px;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
}

.news-nav button:hover{
  background-color: #E72222;
  color: #fff;
}

.news-nav button.is-active{
  background: #E72222;
  color: #fff;
  border-color: #E72222;
}

.guide-wrapper{
  padding: 6em 0 7em;
}

.guide-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2%;
}

.guide-box {
  position: relative;
  min-height: 280px;
  overflow: hidden;
}

.guide-box .link-cover {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.guide-box .bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: filter 0.25s ease, transform 0.25s ease;
}

.guide-box.company .bg {
  background-image: url("../images/top/bg_company.png");
}

.guide-box.guide .bg {
  background-image: url("../images/top/bg_guide.png");
}

.guide-box:hover .bg {
  filter: brightness(1.02);
  transform: scale(1.04);
}

.guide-box .text-block {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: end;
  min-height: 280px;
  padding: 22px clamp(28px, 4vw, 64px) 22px 22px;
  color: #000;
}

.guide-box .en {
  margin-bottom: 2px;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.guide-box.company .en {
  color: #00dec7;
}

.guide-box.guide .en {
  color: #ffb300;
}

.guide-box .ttl {
  color: #000;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.3;
}

.top-faq{
  padding: 4em 0;
  background: linear-gradient(180deg, #ffdb43 0%, #ffab01 100%);
}

.top-faq .btn{
  margin: 4em auto 0;
}

.top-faq .faq-list{
  margin-top: 3em;
}

.top-faq .faq-box {
  margin-bottom: 0.8em;
}


.lower-contact{
  padding: 4em 0;
}

.contact-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 4em;
}

.contact-list.contact-list--contact-page {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-box {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 190px;
  padding: 24px 22px 22px;
  border: 3px solid #181818;
  border-radius: 20px;
  background-color: #fff;
  color: #111;
}

.contact-box:hover{
  opacity: 0.8;
  color: #000;
}

.contact-box .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background-color: #181818;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
}

.contact-box .label {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.contact-box .ttl {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.35;
}

.contact-box .text {
  font-size: 1.2rem;
  line-height: 1.7;
  color: #666;
}

.contact-box::after {
  content: "→";
  position: absolute;
  right: 22px;
  bottom: 18px;
  font-size: 1.8rem;
  color: #000;
}

.contact-box.phone {
  border-color: #181818;
}

.contact-box.phone .icon {
  background-color: #181818;
}

.contact-box.form {
  border-color: #de2626;
}

.contact-box.form .icon {
  background-color: #de2626;
}

.contact-box.line {
  border-color: #04c755;
}

.contact-box.line .icon {
  background-color: #04c755;
}

@media screen and (max-width: 1200px) {

  .genre-list .g-box .g-ttl {
    font-size: 2.4rem;
  }

  .guide-box .ttl {
    font-size: 2.5rem;
  }

  .guide-box{
    min-height: 150px;
    height: 100%;
  }

  .guide-wrapper {
    padding: 2em 0 3em;
  }

  .keyword-area{
    padding: 3em 0;
  }

  .topproduct-area {
    padding: 4em 0;
  }

}

@media screen and (max-width: 768px) {

  .genre-area{
    padding: 4em 0 0;
  }

  .genre-list .g-box {
    width: 48%;
    margin-bottom: 1em;
  }

  .genre-list .g-box .g-ttl {
    font-size: 1.8rem;
  }

  .genre-list .g-box figure {
    border: 2px solid #000;
    border-radius: 10px;
  }
  
  .guide-list {
    grid-template-columns: 1fr;
  }


  .guide-box .text-block {
    padding: 22px 24px;
  }

  .guide-box .ttl {
    font-size: 2rem;
  }

  .guide-box .en {
    font-size: 1.3rem;
  }

  .guide-box,
  .guide-box .text-block {
    min-height: 164px;
  }

  .guide-wrapper {
    padding: 2em 0 5em;
  }

  .keyword-area {
    padding: 4em 0;
  }

  .keyword-area .keyword-list {
    margin-top: 3em;
  }

  .keyword-area .keyword-list a {
    padding: 0.3em 0.9em;
    font-size: 1.3rem;
  }

  .topproduct-area {
    padding: 4em 0;
  }

  .topproduct-area .product-grid {
    margin-top: 3em;
  }

  .top-news {
    padding: 4em 0 3em;
  }

  .news-nav button {
    padding: 0.5em 1em;
    font-size: 1.3rem;
  }

  .news-nav button{
    padding: 10px 18px;
  }

  .contact-list,
  .contact-list.contact-list--contact-page {
    grid-template-columns: 1fr;
  }

  .lower-contact{
    padding: 3em 0 5em;
  }

  .contact-box {
    min-height: 0;
  }
}


/* ==================================================
   商品
================================================== */

.product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.8%;
}

.product-grid .product-card {
  /*width: calc((100% - 54px) / 4);*/
  width: calc((100% - 107px) / 4);
}

.product-grid--catalog .product-card {
  width: calc((100% - 36px) / 3);
}

.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 100%;
}

.product-card a {
  display: block;
  color: #000;
  width: 100%;
  text-align: left;
} 

.product-card a figure{
  margin: 0;
  /* order: 1; */
  width: 100%;
  padding-top: 117.14%;
  overflow: hidden;
  position: relative;
  border: 4px solid #DE2626;
  border-radius: 10px;
}

.product-card a figure img {
  max-width: initial;
  width: 100%;
  /*width: auto;*/
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transition-duration: .9s;
}

.product-card a .prod-desc{
  padding: 1em 0 1em;
}

.product-card a .product-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 3px 8px;
  border: 0;
  border-radius: 2px;
  background: #f1f1f1;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 700;
}

.product-card .prod-name {
  font-size: 1.6rem;
  line-height: 1.45;
  font-weight: bold;
  margin: 0.8em 0;
}

.product-card .product-price {
  display: flex;
  align-items: center;
  gap: 1px;
  width: 100%;
  color: #000000;
  font-weight: 400;
  line-height: 1;
}

.product-card .woocommerce-Price-amount {
  font-size: 21px;
  font-weight: bold;
  line-height: 0.95;
  letter-spacing: 0;
}

.product-card .product-price .woocommerce-Price-currencySymbol {
  align-self: center;
  margin: 0 0 0 2px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
}

.product-card .product-price .woocommerce-price-suffix{
  align-self: center;
  margin: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}

.product-card .price-rank {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  margin-right: 0.5em;
  border-radius: 4px;
  background: #de2626;
  color: #ffffff;
  font-family: "Alata", sans-serif;
  line-height: 1;
  text-align: center;
  overflow: hidden;
}

.product-card .price-rank .price-grade {
  margin-top: 0;
  font-size: 2rem;
}

.product-card .price-rank.price-rank--new .price-grade {
  font-size: 1.3rem;
  letter-spacing: 0;
}


.product-card .price-rank .price-label {
  margin-top: 2px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.product-card .price-rank.price-rank--s {
  background: #de2626;
}

.product-card .price-rank.price-rank--a {
  background: #f4a147;
}

.product-card .price-rank.price-rank--b {
  background: #ffb700;
}

.product-card .price-rank.price-rank--c {
  background: #89654d;
}

.product-card .price-rank.price-rank--d {
  background: #848484;
}

.product-card .product-detail {
  color: #666;
  font-size: 1.2rem;
  line-height: 1.55;
  margin-top: 0.8em;
}


@media screen and (max-width: 1024px) {
  .product-grid .product-card {
    width: calc((100% - 42px) / 3);
  }

  .product-grid--catalog .product-card {
    width: calc((100% - 18px) / 2);
  }
}

@media screen and (max-width: 768px) {
  .product-grid .product-card,
  .product-grid--catalog .product-card {
    width: calc((100% - 18px) / 2);
  }

  .product-grid .product-card{
    margin-bottom: 3em;
  }

  .product-grid .product-card:last-child{
    margin-bottom: 0;
  }
}

@media screen and (max-width: 480px) {
  .product-grid .product-card,
  .product-grid--catalog .product-card {
    width: 100%;
  }
}



/* ==================================================
   お問い合わせ
================================================== */



.p-contact{
  position: relative;
}

.p-contact .contphone-area{
  padding:8em 0 13em;
}

.p-contact .top-text{
  max-width: 941px;
  width: 100%;
  margin: 0 auto 5em;
  text-align: left;
}

.c-form {
  max-width: 941px;
  width: 100%;
  margin: 0 auto;
}

.c-form .cf7-cf-turnstile{
  text-align: center;
  margin-top: 2em;
}
  
.c-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.c-form select,
.c-form textarea {
  background-color:#E3EAEC;
  font-size: 1.4rem;
  padding: 11px 13px;
}

 
.c-form #zip {
  width: 60%;
}

.c-form .your-address1 {
  width: 82% !important;
  margin-bottom: 1em;
}

.c-form .required {
  font-size: 1.3rem;
  color: #000000;
  font-weight: 500;
  margin-left: 0.3em;
  line-height: 1.6;
  float: right;
  border: 1px solid #000000!important;
  border-radius: 4px;
  padding: 0.1em 1em;
}

.c-form table {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  table-layout: fixed;
}
  
.c-form table td {
  font-size: 1.4rem;
  padding: 1.2em 1.5em;
  font-weight: normal;
  color:#000 ;
  background-color: transparent!important;
}
  
.c-form table th {
  width: 305px;
  text-align: left;
  font-size: 1.6rem;
  padding: 1.2em 1em;
  vertical-align: top;
  background-color: transparent!important;
}

.c-form table th p{
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-form .select-wrap{
  width: 72%;
  position: relative;
}
  
.c-form .select-wrap:after {
  content: '';
  top: 50%;
  right: 20px;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 7px solid #3D3D3D;
  position: absolute;
  transform: rotate(90deg) translate(0,-50%);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
}

.c-form .select-wrap select{
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
  
.c-btn-box{
  margin: 60px auto 0;
  position: relative;
  max-width: 380px;
}

.c-btn-box .wpcf7-spinner{
  position: absolute;
}
 

.c-btn-box .btn-c{ 
  max-width: 380px;
    width: 100%;
    padding: 1.3em 1em 1.3em 1em;
    text-align: left;
    font-weight: bold;
    position: relative;
    margin: 0 auto;
    display: block;
    background: #DE2626;
    text-align: center;
    color: #fff;
    cursor: pointer;
    border: 2px solid #DE2626;
    transition: 0.3s ease-in-out;
    border-radius: 100px;
    transition: 0.3s ease-in-out;
    font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif !important;
  }

.c-form input[type="submit"]:hover {
  opacity: 1;
  background: #fff;
  color: #DE2626;
}

.p-contact ::placeholder {
  color: #D2D2D2;
}
  /* 旧Edge対応 */
.p-contact ::-ms-input-placeholder {
  color: #D2D2D2;
}
  /* IE対応 */
.p-contact :-ms-input-placeholder {
    color: #D2D2D2;
}
  
.c-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]), .c-form select, .c-form textarea {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 1px solid transparent;
  padding: 0.5em 0.6em;
  background-color: #fff;
  border: 1px solid #BEBEBE;
  border-radius: 6px;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: 400;
  font-size: 1.6rem;
}
  
input[type=text], input[type=number], input[type=email], input[type=tel], textarea, .input-text, .state_select {
  box-shadow: none!important;
}

.t-archive {
  width: 100%;
  position: relative;
  margin-top: .8em;
}

.t-archive select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.t-archive:after {
  content: '';
  position: absolute;
  top: 23px;
  right: 24px;
  transform: translate(0, -50%);
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 5px solid transparent;
  border-left: 7px solid #000;
   -webkit-transform: rotate(90deg);
  transform: rotate(180deg) translate(0, -50%);
}

.c-form .t-archive {
  width: 75%;
}

.c-form .t-archive select{
  width: 100%;
}

.c-form textarea{
  height: 141px;
  width: 100%;
}

.p-contact .cform-wrap .tab-only{
  display: none;
}


.c-form input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.c-form .wpcf7-list-item.first {
  margin-left: 0;
}

.c-form span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.c-form span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #000000;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.c-form span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 14px;
  height: 14px;
  background-color: #A2A2A2;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
}

.c-form .wpcf7 input[type="file"] {
  border: none!important;
  padding: 0!important;
}



@media screen and (max-width: 1025px) {

  .p-contact .cform-wrap{
    margin: 0 0 6em;
  }

  .estimate-form .form-note {
    font-size: 1.4rem;
  }
  
}

@media screen and (max-width:900px) {

  .p-contact .top-text{
    margin: 0 auto 2em;
  }

}
  
@media screen and (max-width:768px) {

  .p-contact .contphone-area{
    padding: 5em 0 2em;
  }



  .c-form table tr.block th, .c-form table tr.block td {
    display: block;
    width: 100%;
  }

  .p-contact .contact-box {
    margin: 0 auto 6em;
    padding: 3em 1em;
  }

  .p-contact .contact-box .c-heading {
    font-size: 2rem;
  }

  .p-contact .contact-box .c-tel {
    font-size: 2rem;
  }

 .p-contact .contact-box .c-tel a {
    font-size: 2.6rem;
 }
  
  .p-contact .contact-wrap {
    padding: 0em 0 4em;
  }
  
  .c-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]), .c-form select, .c-form textarea {
    width: 100%;
  }
  
  .c-form {
    margin-top: 1em;
  }
  
  .c-form table th {
    padding: 1em 0em 1.1em;
  }
  
  .c-form table td{
    padding: 0em 0em 1em;
  }
  
  .c-form table tbody,
  .c-form table tr,
  .c-form table th,
  .c-form table td {
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: block;
  }

  .c-form .time-wrap .time-block {
    width: 27%;
  }
  
  .c-form .your-address1 {
    width: 100% !important;
  }

  .c-btn-box{
    margin: 30px auto 0;
  }
  
  .c-btn-box .btn{
    font-size: 1.4rem;
  }
  
  .c-form .select-wrap {
    width: 100%;
  }
  
  .c-form textarea {
     width: 100%;
  }
  
  .c-form .phone-wrap input{
    width: 100%!important;
  }
    
  .c-form .file-wrap input{
    width: 100%!important;
  }
  
  .c-form .name-wrap .name-box {
    width: 49%;
  }
  
  .c-form .zip-wrap input {
    width: 39%!important;
  }

  .c-form .t-archive {
    width: 100%;
  }

  .c-form .wpcf7-list-item{
    margin: 0.5em 0;
  }

  .c-form span.wpcf7-list-item-label::before {
    width: 22px;
    height: 22px;
  }

  .c-form span.wpcf7-list-item-label::after {
    left: 5px;
  }


}


/* ==================================================
   お知らせ
================================================== */

.news-area{
  padding: 6em 0;
}

.news-nav{
  display: flex;
  gap: 1%;
  justify-content: center;
  margin-bottom: 4em;
}

.news-nav a{
  padding: 10px 18px;
  border: 1px solid #000000;
  border-radius: #000;
  background: #ffffff;
  color: #000000;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 999px;
}

.news-nav a.is-active{
  background: #E72222;
  color: #fff;
}

.news-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-list li a{
  display: flex;
  color: #000;
  padding: 1.5em 1em;
  border-bottom: 3px solid #000;
  align-items: center;
}

.news-list li a .date-here{
  display: flex;
  align-items: center;
  width: 24%;
  gap: 6%;
}
.news-list li a .date{
  font-family: "Alata", sans-serif;
  
}

.news-list li a .text-wrap{
  display: flex;
  gap: 2%;
  width: 70%;
  align-items: center;
}

.news-list li a .cat-block{
  width: auto;
}

.news-list li a .ttl{
  width: 85%;
  font-weight: bold;
}

.cat-block span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid #de2626;
  border-radius: 100px;
  font-size: 1.2rem;
  background: #ffffff;
  color: #de2626;
  font-style: normal;
  font-weight: 700;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.news-list li a .cat-block span{
  width: 100%;
}


@media screen and (max-width: 1200px) {

  .news-list li a .date-here{

  }

}

@media screen and (max-width: 1025px) {

  .news-list li a {
    display: block;
    padding: 1.5em 0;
    border-bottom: 1px solid #000;
  }

  .news-list li a .date-here{
    width: 100%;
    margin-bottom: 1em;
    gap: 3%;
  }

}


@media screen and (max-width: 767px) {

  .news-area{
    padding: 3em 0;
  }

  .news-nav a {
    padding: 8px 18px;
    font-size: 1.2rem;
  }

  .news-wrapper .news-box .date-wrap{
    display: block;
    margin-bottom: 0.5em;
  }

  .news-wrapper .news-box .date-wrap .date{
    margin-top: 0.5em;
    font-size: 1.3rem;
  }

  .news-wrapper .news-box {
    padding: 1.4em 0em;
  }

  .news-wrapper .news-box .img-box {
    width: 29%;
  }

  .news-wrapper .news-box .text-box {
    width: 67%;
  }


}


/*個別*/

.blog-date{
  display: flex;
  gap: 2%;
  align-items: center;
}

.column-wrap .eyecatch{
  margin-bottom: 2em;
}

.kiji-wrap .blog-date-wrap{
  display: flex;
  margin-bottom: 2em;
  align-items: center;
}

.kiji-wrap{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 4em;
  display: block;
}

.kiji-wrap h1{
  text-align: left;
  position: relative;
  font-size: 3rem;
  font-weight: bold;
  margin: 1em 0 1em;
}

.kiji-wrap .eyecatch{
  z-index: 1;
  position: relative;
  margin: 3em 0;
}

.kiji-wrap .eyecatch img{
  display: block;
  margin:0 auto;
  height: auto;
}

.kiji-wrap .kiji-box {
  padding: 0px 0 0;
  overflow: hidden;
}

.kiji-wrap .kiji-box p{
  margin: 1.5em 0;
}

.kiji-wrap .kiji-box h2{
  padding: 0 0 1em;
  border-bottom: 4px solid #de2626;
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 1em;
  margin-top: 2em;
  font-weight: bold;
  position: relative;
}

.kiji-wrap .kiji-box h3{
  padding: 0.4em 1em;
  background-color: #EEEEEE;
  font-size: 2rem;
  line-height: 2.2;
  margin-bottom: 1em;
  margin-top: 2em;
  font-weight: bold;
  background: #fffcd5;
}

.kiji-wrap .kiji-box h4{
  font-size: 1.8rem;
  padding-left: 1em;
  margin-bottom: 1em;
  margin-top: 2em;
  position: relative;
  display: inline-block;
  border-left:3px solid #de2626;
  font-weight: bold;
}

.kiji-wrap .kiji-box img.aligncenter{
  display: block;
  margin: 1em auto;
} 



.kiji-wrap .kiji-box a{
  color: #000;
  text-decoration: underline;
}

.kiji-wrap .kiji-box a:hover{
  text-decoration: none;
}

.kiji-wrap .kiji-box .btn{
  text-decoration: none;
}

.kiji-wrap .kiji-box .btn:hover{
  color: #fff;
}

.kiji-wrap .kiji-box ol{
  padding-left: 1.8em;
  margin-bottom: 0.5em!important;
  margin-left: 0!important;
}

.kiji-wrap .kiji-box ol li{
  list-style-type:decimal!important;
  
}

.kiji-wrap .kiji-box ul{
  padding-left: 1.8em;
  margin-bottom: 0.5em!important;
  margin-left: 0!important;
}

.kiji-wrap .kiji-box ul li{
  list-style-type: disc!important;
}




.p-news .news-area{
  padding: 0 0 13em;
}


@media screen and (max-width: 767px) {

  .kiji-wrap .blog-date-wrap {
    margin-top: 0.5em;
  }

  .kiji-wrap h1 {
    font-size: 2rem;
  }

  .kiji-wrap .kiji-box h2 {
    font-size: 1.8rem;
  }

  .kiji-wrap .kiji-box h3 {
    font-size: 1.6rem;
  }

  .kiji-wrap .kiji-box h4 {
    font-size: 1.6rem;
    line-height: 1.4;
    padding-left: 1em;
    margin-bottom: 0.5em;
    margin-top: 1em;
    font-weight: 500;
  }

  .p-blog .archive-wrap {
    padding: 0 0 3em;
  }

  .p-blog .blog-tab-wrap {
    margin-bottom: 3em;
  }

 

  .blog-wrapper .side-t-box li a figure {
    height: 71px;
    width: 22%;
  }

  .blog-wrapper .side-t-box li a .detail-block {
    width: 73%;
  }

  .blog-wrapper .side-box {
    margin-bottom: 2em;
  }

  .blog-wrapper .side-box .side-category li a {
    font-size: 1.4rem;
    padding: 0.5em 1em;
  }

  .p-blog .related-wrap{
    margin: 7em 0 0 auto;
  }

  .p-blog .related-wrap::before{
    width: 166px;
    height: 382px;
  }

}



/* ==================================================
  よくあるご質問
================================================== */

.p-faq{
  padding-bottom: 10em;
}

.p-faq .faq-content {
  margin-top: 3.2em;
}

.p-faq .faq-nav{
  display: flex;
}

.p-faq .fn-btn{
  display: block;
  max-width: 205px;
  width: 100%;
  background-color: #616161;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  position: relative;
  margin: 0 0.5em 0 0;
  font-weight: 500;
  padding: 1em 0.5em;
  letter-spacing: 0;
}

.p-faq .fn-btn::after {
  content: '';
  position: absolute;
  right: 4px;
  top: 50%;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #fff;
  transform: translate(-50%, -50%);
}

.p-faq .fn-btn:last-child{
  margin-right: 0;
}

.p-faq .faq-content .f-box{
  border: 1px solid #C2C2C2;
  padding: 0em 1em;
  max-width: 760px;
  width: 100%;
  margin-bottom: 1.3em;
}

.p-faq .faq-content .f-box .f-cont{
  padding: 1em 0 1em 0em;
  position: relative;
  display: flex;
}

.p-faq .faq-content .f-box .f-cont .icon{
  max-width: 50px;
  height: 50px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1em;
  font-size: 2.5rem;
  font-weight: bold;
  color: #fff;
}

.p-faq .faq-content .f-box .f-cont.f-question .icon{
  background-color: #5E5E5E;
}

.p-faq .faq-content .f-box .f-cont.f-answer .icon{
  background-color: #9F9F9F;
}

.p-faq .faq-content .f-box .f-cont.f-question {
  border-bottom: 1px solid #C2C2C2;
}

.p-faq .faq-content .f-box .f-cont .text{
  width: 80%;
  padding-top: 0.8em
}

@media screen and (max-width:1200px) {

  .p-faq{
    padding-bottom: 2em;
  }
}

@media screen and (max-width:768px) {

  .p-faq {
    padding-bottom: 0em;
  }

  .p-faq .faq-nav {
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .p-faq .fn-btn{
    display: block;
    max-width: 49%;
    width: 100%;
    font-size: 1.4rem;
    margin: 0 0 0.5em;
  }

  .p-faq .faq-content {
    margin-top: 2.2em;
  }

  .p-faq .faq-content .f-box .f-cont .icon {
    max-width: 40px;
    height: 40px;
    font-size: 1.4rem;
  }

  .p-faq .faq-content .f-box .f-cont .text {
    padding-top: 0.2em;
  }
}


/* ==================================================
  会社概要
================================================== */

.p-company .company-area{
  padding: 6em 0;
}

.p-company .subpage-panel{
  margin-bottom: 6em;
}

.p-company .subpage-panel:last-child{
  margin-bottom: 0;
}

.p-company .subpage-panel h2{
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 0.7em;
}

.subpage-table {
    width: 100%;
    border-collapse: collapse;
        margin-bottom: 0;
}

.subpage-table {
  border: 1px solid #d9d9d9;
  background: #ffffff;
}

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

.subpage-table th,
.subpage-table td {
  padding: 16px 18px;
  border-bottom: 1px solid #d9d9d9;
  text-align: left;
  vertical-align: top;
  font-size: 1.6rem;
}

.subpage-table th {
  width: 220px;
  background: var(--surface-soft);
  font-weight: 700;
}

.subpage-form {
  padding: 28px;
}

.subpage-form--plain {
  border: 0;
  background: transparent;
  padding: 0;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}


.table-wrap dl{
  display: flex;
  align-items: center;
  border-bottom: 1px solid #EEEAEA;
}

.table-wrap dl dt{
  width: 15%;
  padding: 1.5em 0 1.5em 0em;
  font-weight: bold;
}

.table-wrap dl dd{
  width: 85%;
  padding: 1.5em 0 1.5em 0em;
  margin-bottom: 0;
}


@media screen and (max-width:768px) {

  .p-company {
    padding-bottom: 0em;
  }

  .p-company .company-area{
    padding: 4em 0;
  }


  .p-company .subpage-panel h2{
    font-size: 2rem;
  }

  .subpage-table th, .subpage-table td {
    display: block;
    width: 100%;
    font-size: 1.4rem;
  }

}


/* ==================================================
   よくあるご質問
================================================== */

.p-faq{
  position: relative;
}

.p-faq .faq-area{
  padding: 8em 0 0em;
}

.faq-area .c-heading-ribbon{
  margin-bottom: 4em;
}

.p-faq .top-text{
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: bold;
}

/*.p-faq .faq-wrap{
  margin: 0em 0 7em;
}*/

.p-faq .faq-nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1%;
  width: 100%;
  margin: 0 auto 7em;
}

.p-faq .faq-nav a{
  width: 24%;
  color: #000;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  display: block;
  padding: 1em 0.5em;
  transition: 0.3s ease-in-out;
  border-radius: 38px;
  position: relative;
  background-color: #fff;
  border: 1px solid #000;
}

.p-faq .faq-nav a:hover{
  background-color: #DE2626;
  color: #fff;
  border-radius: 30px;
  opacity: 1;
}

.faq-contents{
  width: 100%;
  margin: 0 auto;
}

.faq-block{
  margin-bottom: 6em;
}

.faq-block:last-child{
  margin-bottom: 0;
}

.faq-block .faq-cat{
  position: relative;
  font-weight: 500;
  font-size: 2.8rem;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  margin-bottom: 1.5em;
  position: relative;
  font-weight: bold;
}

.faq-box{
  margin-bottom: 1.4em;
  border: 1px solid #d9d9d9;
  background-color: #fff;
}

.faq-box:last-child{
  margin-bottom: 0em;
}

.box-f.question{
  padding: 1.5em 2em;
  font-size: 1.6rem;
  cursor: pointer;
  position: relative;
  font-weight: bold;
}


.box-f.answer .desc,
.box-f.question .desc{
  display: flex;
  align-items: center;
}

.box-f.answer .desc{
  line-height: 1.8;
}

.box-f.answer .en,
.box-f.question .en{
  font-size: 2.4rem;
  margin-right: 1em;
  font-weight: 500;
  line-height: 1;
  border-radius: 100%;
  max-width: 40px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding-left: 3px;
  padding-bottom: 3px;
}


.box-f.answer{
  font-size: 1.6rem;
  padding: 0em 2em 1.5em 2em;
  display: none;
  position: relative;
}

.box-f.answer p{
  margin-bottom: 0;
}

.box-f.question:after {
  content: '';
  background: url(../images/common/triangle_black.svg) no-repeat;
  background-size: cover;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translate(-50%, -50%);
  transition:
    transform 0.35s ease,
    color 0.25s ease,
    opacity 0.25s ease;
}

.box-f.question.open:after {
   transform: translate(-50%, -50%) rotate(90deg);
}


@media screen and (max-width:1200px) {


  .p-faq .faq-area {
    padding: 3em 0 6em;
  }

  .p-faq .top-text{
    font-size: 1.6rem;
  }



  .p-faq .faq-block .faq-cat {
    font-size: 1.8rem;
  }

  .faq-block .faq-cat::before {
    top: 32px;
  }

  
  .box-f.answer{
    font-size: 1.4rem;
  }

  .box-f.question:after {
    font-size: 3rem;
  }
  
}

@media screen and (max-width:1070px) {

  .p-faq .faq-nav a {
    font-size: 1.4rem;
  }

  .p-faq .top-text {
    font-size: 1.6rem;
  }

  .p-faq .faq-nav a::before {
    right: -10px;
  }

  .p-faq .faq-block {
    margin-bottom: 4em;
  }

   .p-faq .faq-block:last-child{
    margin-bottom: 0;
   }

  .p-faq .faq-block .faq-cat {
    font-size: 2rem;
  }



  .faq-wrap {
    margin: 0em 0 0em;
  }

}

@media screen and (max-width:768px) {

  

  .p-faq .top-text {
    font-size: 1.4rem;
  }

  .p-faq .faq-area{
    padding: 0 0 3em;
  }

  .p-faq .faq-nav {
    margin-bottom: 3em;
    justify-content: space-between;
  }

  .p-faq .faq-wrap {
    margin: 3em 0 0em;
  }

  .p-faq .faq-nav a {
    width: 49%;
    font-size: 1.3rem;
    margin-bottom: 0.5em;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .faq-block {
    display: block;
    margin-bottom: 4em;
  }

  .box-f.answer .desc, .box-f.question .desc {
    align-items: flex-start;
  }
  
  .p-faq .faq-block .faq-cat {
    width: 100%;
    margin-bottom: 1em;
  }

  .p-faq .faq-block .faq-list {
    width: 100%;
    padding: 0;
  }

   .p-faq .faq-box {
    margin-bottom: 1em;
  }

  .box-f.question {
    font-size: 1.4rem;
    padding: 1.3em 4em 1.3em 1em;
  }

  .p-faq .box-f.answer::before,
  .p-faq .box-f.question::before {
    width: 28px;
    height: 28px;
    left: 2%;
    top: 16px;
  }

  .box-f.answer {
    font-size: 1.4rem;
    padding: 1.3em 1em 1.3em 1em;
  }
 
  .box-f.question:after {
    width: 23px;
    height: 23px;
    right: 1%;
  }


  .box-f.answer .desc {
    padding: 0em;
  }

  .box-f.question:after {
    font-size: 2rem;
  }


}

/* ==================================================
  ご利用ガイド
================================================== */

.p-guide .guide-area{
  padding: 6rem 0 11em;
}

.p-guide .guide-nav-list {
  /*display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));*/
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.p-guide .guide-nav-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 16px 18px;
  border: 1px solid #111;
  border-radius: 999px;
  background-color: #fff;
  color: #111;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  width: 19%;
}

.p-guide .guide-nav-box span{
  position: relative;
  padding-left: 1em;
}

.p-guide .guide-nav-box:hover {
  background-color: #de2626;
  color: #fff;
}

.p-guide .guide-nav-box:nth-child(1)::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 50%;
  width: 29px;
  height: 22px;
  transform: translate(0, -50%);
  background: url(../images/common/icon01.svg) no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(1):hover::before {
  background: url(../images/common/icon01w.svg) no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(2)::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 50%;
  width: 23px;
  height: 16px;
  transform: translate(0,-50%);
  background: url("../images/common/icon02.svg") no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(2):hover::before {
  background: url(../images/common/icon02w.svg) no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(3)::before {
  content: '';
  position: absolute;
  left: 25px;
  top: 50%;
  width: 24px;
  height: 14px;
  transform: translate(0,-50%);
  background: url("../images/common/icon03.svg") no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(3):hover::before {
  background: url(../images/common/icon03w.svg) no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(4)::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 50%;
  width: 17px;
  height: 16px;
  transform: translate(0,-50%);
  background: url("../images/common/icon04.svg") no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(4):hover::before {
  background: url(../images/common/icon04w.svg) no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(5)::before {
  content: '';
  position: absolute;
  left: 23px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translate(0,-50%);
  background: url("../images/common/icon05.svg") no-repeat;
  background-size: cover;
}

.p-guide .guide-nav-box:nth-child(5):hover::before {
  background: url(../images/common/icon05w.svg) no-repeat;
  background-size: cover;
}


.p-guide .point-box-area{
  margin: 6em 0;
}

.p-guide .point-list.row3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 3em;
}

.p-guide .point-box {
  text-align: center;
}

.p-guide .point-box .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 94px;
  height: 94px;
  margin-bottom: 16px;
  border: 2px solid #f2a900;
  border-radius: 50%;
  color: #f2a900;
  font-size: 2.8rem;
  font-weight: 700;
  font-family: "Alata", sans-serif;
}

.p-guide .point-box h3 {
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: bold;
}

.p-guide .point-box p {
  line-height: 1.7;
}

.guide-flow-list {
  display: grid;
  gap: 28px;
}

.guide-panel {
  overflow: hidden;
  border: 4px solid #111;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
}

 .head-block {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 1em 1em 1em 3.5em;
  background-color: #de2626;
  position: relative;
}


#guide-flow-order .head-block::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 50%;
  width: 29px;
  height: 22px;
  transform: translate(0, -50%);
  background: url(../images/common/icon01w.svg) no-repeat;
  background-size: cover;
}

#guide-flow-payment .head-block::before {
  content: '';
  position: absolute;
  left: 21px;
  top: 50%;
  width: 26px;
  height: 18px;
  transform: translate(0,-50%);
  background: url("../images/common/icon02w.svg") no-repeat;
  background-size: cover;
}

#guide-flow-delivery .head-block::before {
  content: '';
  position: absolute;
  left: 21px;
  top: 51%;
  width: 30px;
  height: 17px;
  transform: translate(0, -50%);
  background: url(../images/common/icon03w.svg) no-repeat;
  background-size: cover;
}

 #guide-flow-exchange .head-block::before {
  content: '';
  position: absolute;
  left: 22px;
  top: 50%;
  width: 24px;
  height: 22px;
  transform: translate(0, -50%);
  background: url(../images/common/icon04w.svg) no-repeat;
  background-size: cover;
}

 #guide-flow-member .head-block::before {
  content: '';
  position: absolute;
  left: 23px;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translate(0,-50%);
  background: url("../images/common/icon05w.svg") no-repeat;
  background-size: cover;
}

.guide-panel .head-block h2 {
  margin: 0;
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
}

.guide-panel .body-block {
  padding: 2em 2em;
  font-size: 1.6rem;
  line-height: 1.8;
}

.guide-flow-box{
  margin-bottom: 4em;
}

.guide-flow-box:last-child{
  margin-bottom: 0;
}

.guide-panel .g-box{
  margin-bottom: 2em;
}

.guide-panel .g-box .ttl{
  font-size: 2.2rem;
  font-weight: 900;
  margin-bottom: 0.1em;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.guide-panel .g-box .desc{
  font-size: 1.6rem;
  line-height: 1.8;
}

.guide-panel .g-box:last-child{
  margin-bottom: 0;
}

.guide-panel ul{
  margin: 0.4em 0 0.4em;
}

.guide-panel ul li{
  position: relative;
  padding-left: 2em;
  line-height: 2;
}

.guide-panel ul li::before {
  content: '';
  width: 6px;
  height: 6px;
  background-color: #000;
  border-radius: 100%;
  position: absolute;
  top: 12px;
  left: 7px;
}

.payment-bank {
  margin-top: 30px;
}

.payment-bank__title {
  margin-bottom: 10px;
  font-weight: 700;
}

.p-guide .order-list {
  display: grid;
  gap: 22px;
}

.p-guide .order-box {
  padding: 14px 28px;
  background-color: #fffcd5;
}

.p-guide .order-box p {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 700;
}

.p-guide .order-box .num {
  margin-right: 20px;
  color: #de2626;
  font-size: 2.2rem;
  font-weight: 900;
}

.p-guide .text-block {
  display: grid;
  gap: 6px;
  padding: 0 8px;
}

.text-block p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.6;
}

@media screen and (max-width: 1200px) {

  .p-guide .guide-nav-box{
    font-size: 1.4rem;
    width: 32%;
  }

  .p-guide .guide-nav-box:nth-child(3)::before {
    left: 15px;
    width: 25px;
  }

  .p-guide .guide-nav-box:nth-child(4)::before {
    left: 12px;
  }

  .p-guide .guide-nav-box:nth-child(5)::before {
    left: 15px;
  }

}

@media screen and (max-width: 768px) {

  .p-guide .guide-area{
    padding: 4rem 0;
  }

  .p-guide .guide-nav-list,
  .p-guide .point-list.row3 {
    grid-template-columns: 1fr;
  }

  .p-guide .point-box .num {
    width: 80px;
    height: 80px;
  }

  .p-guide .guide-nav-box {
    min-height: 58px;
    font-size: 1.4rem;
    width: 100%;
  }

  .p-guide .guide-nav-box:nth-child(3)::before {
    left: 17px;
  }

  .p-guide .guide-nav-box:nth-child(4)::before {
    left: 18px;
  }

  .p-guide .guide-nav-box:nth-child(5)::before {
    left: 20px;
  }

  .guide-panel{
    border: 2px solid #111;
    border-radius: 10px 10px 0 0;
  }

  .guide-panel .head-block {
    padding: 1em 1em 1em 3.5em;
    min-height: 59px;
  }

  .guide-panel .head-block h2 {
    font-size: 2rem;
  }

  .guide-panel .body-block {
    padding: 1em 1em 1.5em;
    font-size: 1.4rem;
  }

  .p-guide .order-box {
    padding: 12px 16px;
  }

  .p-guide .order-box p {
    font-size: 1.6rem;
  }

  .p-guide .order-box .num {
    margin-right: 12px;
    font-size: 1.4rem;
  }

  
  .text-block p {
    margin: 0;
    font-size: 1.4rem;
  }

  .guide-panel .g-box .desc {
    font-size: 1.4rem;
  }

  .guide-panel .g-box .ttl {
    font-size: 1.8rem;
  }
}



/* ==================================================
  プライバシーポリシー
================================================== */

.p-privacy{

  color: #000;
}

.p-privacy .privacy-area{
  padding: 6em 0 5em;
}

.p-privacy .subpage-policy {
  display: grid;
  gap: 80px;
}

.p-privacy .policy-intro {
  line-height: 1.8;
}

.p-privacy .policy-section {
  display: grid;
  gap: 16px;
  word-break: break-all;
}

.p-privacy .policy-section h2 {
  position: relative;
  margin-bottom: 0;
  padding-bottom: 14px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 2.9rem;
  line-height: 1.4;
  font-weight: bold;
}

.p-privacy .policy-section h2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: #de2626;
}



.p-privacy .policy-list{
  margin: 0;
  padding: 0;
}

.p-privacy .policy-list li {
  line-height: 1.8;
  position: relative;
  padding-left: 2em;
}

.p-privacy .policy-list li::before {
  content: '';
  width: 6px;
  height: 6px;
  background-color: #000;
  border-radius: 100%;
  position: absolute;
  top: 12px;
  left: 7px;
}

.p-privacy .policy-section p {
  color: var(--text);
  line-height: 1.8;
  margin-bottom: 0;
}
@media screen and (max-width:768px) {

  .p-privacy .policy-section h2{
    font-size: 2.2rem;
  }

}


@media screen and (max-width:768px) {

  .p-privacy {
    padding-bottom: 0em;
  }

  .p-privacy .privacy-area{
    padding: 4em 0 2em;
  }

  .p-privacy .policy-section h2 {
    font-size: 1.8rem;
  }

  .p-privacy .policy-list li::before {
    width: 4px;
    height: 4px;
  }

  .p-privacy .policy-list li {
    padding-left: 1.5em;
  }
}


/* ==================================================
  サイトマップ
================================================== */


.p-sitemap__hero {
  padding: 9em 0 5em;
  border-bottom: 2px solid #111;
}

.p-sitemap__title {
  text-align: center;
  font-size: 5rem;
  line-height: 1.4;
  font-weight: 700;
  color: #111;
}

.p-sitemap__body {
  padding: 9em 0 17em;
}

.p-sitemap__section + .p-sitemap__section {
  margin-top: 7em;
}

.p-sitemap__heading-wrap {
  position: relative;
  margin-bottom: 1.8em;
  padding-bottom: 0.9em;
}

.p-sitemap__heading-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: #ea1f1f;
}

.p-sitemap__heading {
  font-size: 3rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 0;
  color: #111;
}

.p-sitemap__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.6em 2.4em;
}

.p-sitemap__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6em;
  min-height: 5.6rem;
  padding: 1.4em 0;
  border-bottom: 2px solid #d9d9d9;
  color: #111;
  position: relative;
  transition: 0.3s ease-in-out;
}

.p-sitemap__link::before{
  content: '';
  background: url(../images/common/triangle_red.svg) no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translate(0%,-50%);
  transition: 0.3s ease-in-out;
}

.p-sitemap__link:hover::before{
  right: 0%;
}

.p-sitemap__link:hover {
  opacity: 1;
  color: #ea1f1f;
}

.p-sitemap__link-text {
  font-size: 1.6rem;
  line-height: 1.7;
}

/*.p-sitemap__link-icon {
  position: relative;
  flex-shrink: 0;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #ea1f1f;
  border-radius: 50%;
}

.p-sitemap__link-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 0.45rem;
  height: 0.45rem;
  border-top: 1px solid #ea1f1f;
  border-right: 1px solid #ea1f1f;
  transform: translate(-50%, -50%) rotate(45deg);
}*/

@media screen and (max-width: 1024px) {
  .p-sitemap__title {
    font-size: 4.2rem;
  }

  .p-sitemap__heading {
    font-size: 2.6rem;
  }

  .p-sitemap__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .p-sitemap {
    padding-bottom: 0em;
  }

  .p-sitemap__hero {
    padding: 7em 0 3.5em;
  }

  .p-sitemap__title {
    font-size: 3.2rem;
  }

  .p-sitemap__body {
    padding:3em 0 6em;
  }

  .p-sitemap__section + .p-sitemap__section {
    margin-top: 4.8em;
  }

  .p-sitemap__heading {
    font-size: 2rem;
  }

  .p-sitemap__heading-wrap {
    margin-bottom: 0em;
  }

  .p-sitemap__heading-wrap::after {
    width: 7rem;
  }

  .p-sitemap__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .p-sitemap__link {
    min-height: 5rem;
    padding-bottom: 1em;
    padding-right: 0.5em;
  }

  .p-sitemap__link-text {
    font-size: 1.4rem;
  }

  .p-sitemap__link::before {
    width: 22px;
    height: 22px;
  }

  .p-sitemap__heading-wrap::before {
    height: 2px;
  }
}


/* ==================================================
  新規登録
================================================== */

.page-id-91 h2,
.page-id-10 h2{
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 2em;
}

.page-id-91 .entry-title{
  display: none;
}

.page-id-91 .hentry .entry-content a,
.page-id-10 .hentry .entry-content a {
  color: #000;
}


.page-id-91 input[type=text],
.page-id-91 input[type=email],
.page-id-91 input[type=password], 
.page-id-91 input[type=text]:focus,
.page-id-91 input[type=email]:focus,
.page-id-91 input[type=password]:focus,
.page-id-10 input[type=text],
.page-id-10 input[type=email],
.page-id-10 input[type=password], 
.page-id-10 input[type=text]:focus,
.page-id-10 input[type=email]:focus,
.page-id-10 input[type=password]:focus {
  background-color: #fff;
  border: 1px solid #f2f2f2;
}

.page-id-91 .woocommerce-button,
.page-id-10 .woocommerce-button:not(
  .woocommerce-orders-table .woocommerce-button,
  .woocommerce-pagination .woocommerce-button
) {
  max-width: 200px;
  width: 100% !important;
  display: block;
  margin: 0 auto;
  background-color: #de2626;
  border: 1px solid #de2626;
  color: #fff;
  border-radius: 100px;
}

.page-id-91 .woocommerce-button:hover,
.page-id-10 .woocommerce-button:hover{
  background-color: #fff;
  color: #000;
}

.page-id-91 label,
.page-id-10 label{
  font-weight: bold;
  margin-bottom: 0.2em;
  display: block;
}

.page-id-91 .show-password-input,
.page-id-10 .show-password-input{
  background-color: transparent;
}

.page-id-91 .my-acc-nav,
.page-id-10 .my-acc-nav{
  display: flex;
  justify-content: space-between;
  margin-bottom: 3em;
}

.page-id-10.logged-in .my-acc-nav{
    display: none;
 }

.page-id-91 .my-acc-nav a,
.page-id-10 .my-acc-nav a{
  color: #000;
  text-align: center;
  width: 49%;
  border-bottom: 1px solid #000;
  position: relative;
  display: block;
  padding-bottom: 1em;
}

.page-id-10 #billing_phone_field label .optional {
  display: none !important;
}

.page-id-10 #billing_phone_field label.required_field::after {
  content: " *";
  color: #de2626;
}

.p-withdraw{
  padding: 5em 0 2em;
}

.withdraw-btn {
  max-width: 117px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 0.7em 0.5em;
  background-color: #D54F4F;
  color: #fff!important;
  font-weight: bold;
  text-decoration: none !important;
}



@media (min-width: 768px) {

   .page-id-91.left-sidebar .content-area, 
  .page-id-10.left-sidebar .content-area {
    width: 100%!important;
  }

  .page-id-91 .my-acc-nav,
  .page-id-10 .my-acc-nav{
    display: none;
  }

}


@media (max-width: 768px) {

  .page-id-91 h2,
  .page-id-10 h2 {
      font-size: 2.5rem;
      margin-bottom: 1em;
  }

  .page-id-91 .u-column2.col-2,
  .page-id-10 .u-column2.col-2{
    margin-top: 5em;
  }
}


/* ==================================================
   404エラー
================================================== */

.p-error .inner{
  padding-top: 4em;
  padding-bottom: 4em;
  text-align: center;
}

.p-error .inner .btn{
  margin: 2em auto 0;
}




/* ==================================================
  退会する
================================================== */

.p-withdraw .reg-wrap{
  display: table;
  margin: 0 auto;
}

.p-withdraw .reg-wrap input[type="submit"]{
  margin: 0 auto;
  display: block;
}


/* ==================================================
   404エラー
================================================== */

.p-error .c-error{
  text-align: center;
}

.p-error .c-error .btn{
  margin: 5em auto 0;
}

.p-error{
  padding-bottom: 6em;
}

/* ==================================================
   ログイン
================================================== */

.page-id-10 .entry-header{
  display: none;
}

.page-id-10 .woocommerce-breadcrumb{
  display: none;
}

.page-id-10 #secondary{
  display: none;
}

.page-id-10 .ttl{
  font-size: 3rem;
}

.page-id-10 .woocommerce-form-login__submit{
  margin-top: 1em;
}

.page-id-10 .login-wrap{
  max-width: 800px;
  width: 100%;
}

.login-outer .register-box{
  margin-top: 5em;
}

.page-id-10 .woocommerce-button.button.print{
  font-size:0;
  padding: 7px 10px;

}

.page-id-10 .woocommerce-orders-table__row.woocommerce-orders-table__row--status-cancelled .woocommerce-button.button.print, 
.page-id-10 .woocommerce-orders-table__row.woocommerce-orders-table__row--status-pending .woocommerce-button.button.print,
.page-id-10 .woocommerce-orders-table__row.woocommerce-orders-table__row--status-failed .woocommerce-button.button.print,
.page-id-10 .woocommerce-orders-table__row.woocommerce-orders-table__row--status-processing .woocommerce-button.button.print,
.page-id-10 .woocommerce-orders-table__row.woocommerce-orders-table__row--status-on-hold .woocommerce-button.button.print{
  display: none;
}



.page-id-10 .woocommerce-button.button.print::before{
  content: '領収書を印刷';
  font-size: 12px;
  font-weight: bold;
  color: #000;
}

.page-id-10 .woocommerce-MyAccount-navigation li a{
  color: #000;
}


/* ==================================================
   カート
================================================== */

.page-id-90 #secondary,
.page-id-89 #secondary,
.page-id-8 #secondary,
.page-id-9 #secondary{
  display: none;
}

.page-id-8 .wp-block-separator + .wp-block-heading{
  display: none;
}

.page-id-8 .wc-block-product-new{
  display: none;
}

.page-id-9 .woocommerce-checkout .woocommerce-additional-fields__field-wrapper label{
  margin-bottom: 1em;
  position: relative;
}

.page-id-9 .woocommerce-checkout .woocommerce-additional-fields__field-wrapper label::after{
  content: '※お届け希望日がある場合は、注文メモに記載下さい。';
  font-size: 14px;
  display: block;
}

@media (min-width: 768px) {

  .page-id-90 #primary,
  .page-id-89 #primary,
  .page-id-8 #primary,
  .page-id-9 #primary {
      width: 100%!important;
      float: none;
  }
}

/* ==================================================
   マイページ
================================================== */

@media (max-width: 768px) {

  .page-id-10 form.woocommerce-EditAccountForm p.form-row-first{
    float: none!important;
  }

  .page-id-10 form.woocommerce-EditAccountForm p.form-row-last {
    float: none !important;
  }
}



/* ==================================================
   商品一覧
================================================== */

.tax-product_cat .page-ttl,
.post-type-archive-product .page-ttl {
  margin-bottom: 6em;
}

.woocommerce-products-header{
  display: none;
}

.category-descbox{
  margin-bottom: 3em;
  line-height: 2;
  border-bottom: 1px solid #ccc;
  padding-bottom: 3em;
  padding-top: 0.5em;
}


.post-type-archive .woocommerce-products-header{
  display: none;
}

.archive-prod-nav{
  margin-bottom: 3em;
}

/*.right-sidebar .content-area {
  float: none!important;
  margin-right: 0!important;
  width: 100%!important;
  margin-bottom: 0!important;
}*/

.archive-block{
  margin: 0 0 5em;
}

.archive-block .c-ttl{
  margin-bottom: 2em;
}


.woocommerce-product-gallery .flex-direction-nav{
  display: none;
}

.woocommerce-loop-product__link .woocommerce-loop-product__title{
  font-size: 1.4rem!important;
  line-height: 1.6;
  text-align: left;
}

.outofstock .woocommerce-loop-product__link{
  position: relative;
}

.outofstock .product_type_simple{
  display: none!important;
}

.outofstock .product_type_variable{
  display: none;
}

.outofstock .woocommerce-loop-product__link .soldout{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: #ccc;
  color: #fff;
  padding: 0.5em 0.5em;
  font-family: "Outfit", sans-serif;
}



.woocommerce-loop-product__link .description{
  text-align: left;
  color: #000;
}

.product .add_to_cart_button{
  display: none;
}

.storefront-sorting{
  display: none;
}

.product-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row-reverse;
  gap: 2em;
  margin-bottom: 2.4em;
  padding: 1.8em 0em;
  background: #fff;
}

.product-list-toolbar .product-count {
  font-size: 1.5rem;
  font-weight: 500;
  color: #555;
}

.product-list-toolbar .product-sort {
  display: flex;
  align-items: center;
  gap: 1.5em;
}

.product-list-toolbar .product-sort a {
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
}

.product-list-toolbar .product-sort a.is-active,
.product-list-toolbar .product-sort a:hover {
  color: #de2626;
}

/*--- サイドバー ---*/


#secondary .product-side {
  display: grid;
  gap: 20px;
}

#secondary .side-box {
  padding: 24px;
  border: 4px solid #f2f2f2;
  border-radius: 16px;
  background: #fff;
  overflow: visible;
}

#secondary .side-box--cat {
  position: relative;
  z-index: 20;
}

#secondary .side-ttl {
  margin-bottom: 14px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}

#secondary .side-cat {
  position: relative;
  border-top: 1px solid #ececec;
}

#secondary .side-cat:first-child {
  border-top: 0;
}

#secondary .side-cat-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  /*gap: 10px;*/
  min-height: 44px;
  padding: 6px 0;
}

#secondary .side-cat-head:hover {
  background: #fafafa;
}

#secondary .side-cat-head a {
  color: #111;
  text-decoration: none;
  line-height: 1.45;
  word-break: break-word;
  position: relative;
}

#secondary .side-cat-head .arrow{
  position: relative;
}

#secondary .side-cat-head .arrow::before {
  content: '';
  background: url(../images/common/triangle_black.svg) no-repeat;
  background-size: cover;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  transition: transform 0.35s ease, color 0.25s ease, opacity 0.25s ease;
}

#secondary .side-cat-head a:hover,
#secondary .side-item a:hover {
  color: #de2626;
}

#secondary .side-cat--level2:hover > .side-cat-head a,
#secondary .side-cat--level2:focus-within > .side-cat-head a,
#secondary .side-cat--level3:hover > .side-cat-head a,
#secondary .side-cat--level3:focus-within > .side-cat-head a {
  color: #de2626;
}

#secondary .side-cat--level1:hover > .side-cat-head .arrow::before,
#secondary .side-cat--level1:focus-within > .side-cat-head .arrow::before,
#secondary .side-cat--level2:hover > .side-cat-head .arrow::before,
#secondary .side-cat--level2:focus-within > .side-cat-head .arrow::before,
#secondary .side-cat--level3:hover > .side-cat-head .arrow::before,
#secondary .side-cat--level3:focus-within > .side-cat-head .arrow::before {
  background: url(../images/common/triangle_red.svg) no-repeat;
  background-size: cover;
}


#secondary .side-cat:hover > .side-cat-head .side-cat-toggle::before,
#secondary .side-cat:focus-within > .side-cat-head .side-cat-toggle::before {
  transform: rotate(90deg);
}

#secondary .side-cat-child {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 30;
  width: 230px;
  min-height: 520px;
  padding: 0;
  box-sizing: border-box;
  background: #f2f2f2;
  box-shadow: 10px 12px 24px rgba(0, 0, 0, 0.08);
}

#secondary .side-cat:hover > .side-cat-child,
#secondary .side-cat:focus-within > .side-cat-child,
#secondary .side-cat-child.is-open {
  display: grid;
  align-content: start;
  gap: 0;
}

#secondary .side-cat--level2,
#secondary .side-cat--level3 {
  position: relative;
  border-top: 0;
}

#secondary .side-cat--level1 > .side-cat-child {
  min-height: 520px;
}

/* level2 -> level3：item yang dipilihに追従 */
#secondary .side-cat--level2 > .side-cat-child {
  top: 0;
  left: 100%;
  min-height: auto;
  height: auto;
}

/* level3 -> level4：同じく親itemに追従 */
#secondary .side-cat--level3 > .side-cat-child {
  top: 0;
  left: 100%;
  min-height: auto;
  height: auto;
}

#secondary .side-cat--level2 > .side-cat-child,
#secondary .side-cat--level3 > .side-cat-child {
  top: 0;
  left: 100%;
}

#secondary .side-cat--level2 .side-cat-head,
#secondary .side-cat--level3 .side-cat-head,
#secondary .side-cat--level4 .side-cat-head {
  padding: 0;
}

#secondary .side-cat--level2 .side-cat-head a,
#secondary .side-cat--level3 .side-cat-head a,
#secondary .side-cat--level4 .side-cat-head a {
  display: flex;
  align-items: flex-start;
  padding: 0.5em 2.5em 0.5em 1em;
  width: 100%;
  color: #555;
  font-weight: 400;
  font-size: 1.4rem;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

#secondary .side-cat--level2 .side-cat-head a:hover,
#secondary .side-cat--level3 .side-cat-head a:hover,
#secondary .side-cat--level4 .side-cat-head a:hover {
  color: #de2626;
}

#secondary .side-cat--level2 >.side-cat-child {
  z-index: 31;
}

#secondary .side-cat--level3 > .side-cat-child {
  z-index: 32;
}

#secondary .side-cat--level2 > .side-cat-child,
#secondary .side-cat--level3 > .side-cat-child {
  top: 0;
  left: 100%;
}

#secondary .side-cat--level2 > .side-cat-child::before,
#secondary .side-cat--level3 > .side-cat-child::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -20px;
  width: 20px;
}

#secondary .side-list {
  display: grid;
  gap: 10px;
}

#secondary .side-item a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  color: #111;
  text-decoration: none;
}

#secondary .rank-badge {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;

  width: 36px;
  height: 36px;
  border-radius: 4px;
  background: #de2626;
  color: #fff;
  line-height: 1;
  text-align: center;
  overflow: hidden;
}

#secondary .rank-badge.price-rank--s {
  background: #de2626;
}

#secondary .rank-badge.price-rank--a {
  background: #f4a147;
}

#secondary .rank-badge.price-rank--b {
  background: #ffb700;
}

#secondary .rank-badge.price-rank--c {
  background: #89654d;
}

#secondary .rank-badge.price-rank--d {
  background: #848484;
}

#secondary .rank-badge span {
  font-size: 1.24rem;
  font-weight: 700;
}

#secondary .rank-badge em {
  margin-top: 2px;
  font-size: 0.47rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.side-item a{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  color: #111;
  text-decoration: none;
  position: relative;
}

/* fake checkbox */
.side-item .check{
  position: relative;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: #ebebeb;
}

/* check mark */
.side-item .check::after{
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;

  width: 5px;
  height: 9px;

  border-right: 2px solid #000;
  border-bottom: 2px solid #000;

  transform: rotate(45deg);

  opacity: 0;
  transition: opacity .2s ease;
}

/* hover */
/*.side-item a:hover .check::after{
  opacity: 1;
}*/

/* active taxonomy */
.side-item.is-active .check::after{
  opacity: 1;
}

/* Search & Filter Pro */
.filter-here {
  display: grid;
  gap: 20px;
}

.filter-here .searchandfilter > ul {
  display: grid;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.filter-here .searchandfilter > ul > li {
  padding: 24px;
  border: 4px solid #f2f2f2;
  border-radius: 16px;
  background: #fff;
}

.filter-here .searchandfilter h4 {
  margin: 0 0 14px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}

.filter-here .searchandfilter ul ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.filter-here .searchandfilter ul ul li {
  margin: 0;
  padding: 0;
}

.filter-here .sf-input-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.filter-here .sf-label-checkbox {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 5px 10px 5px 30px!important;
  position: relative;
  width: auto;
  color: #111;
  font-size: 1.4rem;
  line-height: 1.5;
}

.filter-here .sf-label-checkbox::before {
  content: "";
  display: block;
  position: absolute;
  left: 5px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: #ebebeb;
}

.filter-here .sf-label-checkbox::after {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  top: 50%;
  width: 5px;
  height: 9px;
  margin-top: -7px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  opacity: 0;
  transform: rotate(45deg);
  transition: opacity 0.2s ease;
}

.filter-here .sf-input-checkbox:checked + .sf-label-checkbox::after {
  opacity: 1;
}

.filter-here .sf-label-checkbox:hover {
  color: #de2626;
}

.filter-here .sf-label-checkbox:hover::after {
  opacity: 1;
}

.filter-here .sf-count {
  margin-left: 4px;
  color: #999;
  font-size: 1.2rem;
}

/* radio hide */
.filter-here .sf-input-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* label */
.filter-here .sf-label-radio {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding-left: 2em!important;
  cursor: pointer;
  color: #111;
  line-height: 1.5;
}

/* outer circle */
.filter-here .sf-label-radio::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);

  width: 20px;
  height: 20px;

  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
}

/* inner circle */
.filter-here .sf-label-radio::after {
  display: block;
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #000;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity .2s ease;
}

/* checked */
.filter-here .sf-input-radio:checked + .sf-label-radio::after {
  opacity: 1;
}

/* hover */
.filter-here .sf-label-radio:hover {
  color: #de2626;
}

/* rank label spacing */
.filter-here .sf-field-taxonomy-product_rank .sf-label-checkbox {
  padding-left: 5.6em !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  position: relative;
  background-repeat: no-repeat;
  background-position: 30px center;
  background-size: 36px 36px;
}

/* S */
.filter-here .sf-field-taxonomy-product_rank input[value="new-rank"] + .sf-label-checkbox {
  background-image: url("../images/common/rank-new.svg");
}


/* S */
.filter-here .sf-field-taxonomy-product_rank input[value="s-rank"] + .sf-label-checkbox {
  background-image: url("../images/common/rank-s.svg");
}

/* A */
.filter-here .sf-field-taxonomy-product_rank input[value="a-rank"] + .sf-label-checkbox {
  background-image: url("../images/common/rank-a.svg");
}

/* B */
.filter-here .sf-field-taxonomy-product_rank input[value="b-rank"] + .sf-label-checkbox {
  background-image: url("../images/common/rank-b.svg");
}

/* C */
.filter-here .sf-field-taxonomy-product_rank input[value="c-rank"] + .sf-label-checkbox {
  background-image: url("../images/common/rank-c.svg");
}

/* D */
.filter-here .sf-field-taxonomy-product_rank input[value="d-rank"] + .sf-label-checkbox {
  background-image: url("../images/common/rank-d.svg");
}



.sp-cat-nav {
  display: none;
}

@media screen and (max-width: 1200px) {

  #secondary .side-cat-head a{
    font-size: 1.4rem;
  }

  .filter-here .searchandfilter > ul > li ,
  #secondary .side-box {
    padding: 14px;
    border: 2px solid #f2f2f2;
    border-radius: 10px;
  }

  #secondary .side-cat-head .arrow::before {
    width: 15px;
    height: 15px;
    right: -8px;
  }

}

@media screen and (max-width: 980px) {

  #secondary .side-cat-head a{
    font-size: 1.3rem;
    padding-right: 1em;
  }

  .filter-here .sf-field-taxonomy-product_rank .sf-label-checkbox {
    padding-left: 4.6em !important;
  }

  /* S */
    .filter-here .sf-field-taxonomy-product_rank input[value="new-rank"] + .sf-label-checkbox {
      background-size: 28px;
    }

    /* S */
    .filter-here .sf-field-taxonomy-product_rank input[value="s-rank"] + .sf-label-checkbox {
      background-size: 28px;
    }

    /* A */
    .filter-here .sf-field-taxonomy-product_rank input[value="a-rank"] + .sf-label-checkbox {
     background-size: 28px;
    }

    /* B */
    .filter-here .sf-field-taxonomy-product_rank input[value="b-rank"] + .sf-label-checkbox {
      background-size: 28px;
    }

    /* C */
    .filter-here .sf-field-taxonomy-product_rank input[value="c-rank"] + .sf-label-checkbox {
      background-size: 28px;
    }


}

@media screen and (max-width: 767px) {

  .tax-product_cat .page-ttl, 
  .post-type-archive-product .page-ttl {
    margin-bottom: 4em;
  }

  .sp-cat-nav {
    display: block;
    margin: 3em 0 2em;
  }

  .sp-cat-nav .browse-ttl{
    font-size: 1.8rem;
    font-weight: bold;
  }

  .sp-cat-select-wrap {
    margin: 1em 0em 0;
    position: relative;
  }

  .sp-cat-select {
    width: 100%;
    min-height: 44px;
    padding: 0 42px 0 14px;
    border: 1px solid #ddd;
    border-radius: 999px;
    background: #fff;
    color: #111;
    font-size: 1.4rem;
    font-weight: 600;
  }

  .sp-cat-grand-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 1em 0em 0;
  }

  .sp-cat-grand-list a {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid #ddd;
    border-radius: 999px;
    background: #fff;
    color: #555;
    font-size: 1.3rem;
    line-height: 1.4;
    text-decoration: none;
  }

  .sp-cat-grand-list a.is-current {
    border-color: #de2626;
    background: #de2626;
    color: #fff;
  }

  .product-list-toolbar {
    display: block;
  }

  .product-list-toolbar .product-sort a {
    font-size: 1.4rem;
  }

  .product-list-toolbar .product-count {
    font-size: 1.5rem;
    margin-top: 0.7em;
  }
}

.sp-filter-btn-wrap,
.sp-filter-modal {
  display: none;
}

@media screen and (max-width: 767px) {

  .sp-filter-btn-wrap {
    display: block;
    margin: 0 1.5em 1em;
  }

  .sp-filter-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    border: 1px solid #111;
    border-radius: 999px;
    background: #fff;
    color: #111;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
    position: relative;
  }

  .sp-filter-btn::before{
    content: '';
    background: url(../images/common/icon_filter.svg) no-repeat;
    width: 20px;
    height: 20px;
    left: 11%;
    top: 50%;
    transform: translate(0,-50%);
    position: absolute;
  }

  .sp-filter-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
  }

  .sp-filter-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .sp-filter-bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
  }

  .sp-filter-box {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 82vh;
    overflow-y: auto;
    padding: 20px 18px 28px;
    border-radius: 20px 20px 0 0;
    background: #fff;
    transform: translateY(100%);
    transition: transform .3s ease;
  }

  .sp-filter-modal.is-open .sp-filter-box {
    transform: translateY(0);
  }

  .sp-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
  }

  .sp-filter-ttl {
    font-size: 1.8rem;
    font-weight: 700;
  }

  .sp-filter-close {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #111;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font-size: 2rem;
    line-height: 1;
    padding: 0;
    cursor: pointer;
  }

  body.is-filter-open {
    overflow: hidden;
  }

  .sp-filter-box .filter-here .searchandfilter > ul > li{
    padding: 0;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid #d9d9d9;
    padding-bottom: 2em;
    background: #fff;
  }

  .sp-filter-box .filter-here .searchandfilter h4 {
    margin: 0 0 6px;
    font-size: 1.6rem;
    padding: 0;
  }

  .sp-filter-box .filter-here .searchandfilter ul ul {
    gap: 5px;
  }
}

/*--- 詳細ページ --*/


.single-product.left-sidebar .content-area {
  width: 100%!important;
  margin-top: 8em;
}

.single-product #secondary{
  display: none!important;
}

.single-product .woocommerce-tabs{
  display: none;
}

.single-product .product_title{
  font-weight: bold;
  font-size: 2.8rem;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  border-bottom: none;
}

.single-product .summary .prod-price{
  font-weight: bold;
}

.single-product .summary .woocommerce-Price-amount{
  font-size: 3.5rem;
}

.single-product .summary .woocommerce-Price-currencySymbol{
  font-size: 2rem;
}

.single-product .single-detail-wrap{
  clear: both;
}

.single-product .single-detail-wrap .product-detail-nav{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  border-bottom: 2px solid #111111;
  margin-bottom: 6em;
}

.single-product .single-detail-wrap .product-detail-nav a{
  padding: 0 0 14px;
  color: #111111;
  font-size: 1.8rem;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-weight: 700;
}

/*.single-product div.product .woocommerce-product-gallery .flex-viewport{
  border: 4px solid #de2626;
  border-radius: 15px;
}*/

/* 共通 */
.woocommerce-product-gallery__image{
  box-sizing:border-box;
  border-radius:8px;
  overflow:hidden;
}

/* 複数画像時 */
.woocommerce-product-gallery__image.flex-active-slide{
  border:4px solid #de2626;
}

/* 画像1枚だけ */
.woocommerce-product-gallery__wrapper
.woocommerce-product-gallery__image:first-child:last-child{
  border:4px solid #de2626;
}
.single-product .woocommerce-product-gallery .flex-viewport{
  min-height: 600px;
}

.single-product .woocommerce-product-gallery__image{
  height: 600px;
  display:flex !important;
  align-items:center;
  justify-content:center;
}

/*.single-product .woocommerce-product-gallery__image img{
  max-height:100%;
  width:auto;
  object-fit:contain;
}
*/



.single-product .stock-label{
  color: #de2626;
  font-weight: 700;
  font-size: 1.3rem;
}

.single-product .p-cat-wrap{
  display: flex;
  gap: 0.3em;
  flex-wrap: wrap;
  margin-bottom: 0.8em;
}

.p-cat-wrap .product-label{
  display: inline-flex;
  padding: 4px 8px;
  background: #f1f1f1;
  font-size: 1.2rem;
  font-weight: 700;
}

.single-product .product-title{
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  margin: 0.4em 0;
  font-size: 3.3rem;
}

.single-product .product-price-row{
  display: flex;
  align-items: center;
  gap: 2%;
}

.single-product .product-info-table .row{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 0.7em 0;
  font-size: 1.8rem;
  border-bottom: 1px solid #d9d9d9;
}

.single-product .product-info-table .row strong{
  color: #000;
}

.single-product .product-rank-link{
  margin: 1.3em 0;
}

.single-product .rank-modal-btn{
  background-color: transparent;
  position: relative;
  padding: 0;
  font-size: 1.6rem;
  padding-left: 1.5em;
}

.single-product .rank-modal-btn:hover{
  color: #de2626;
}

.single-product .rank-modal-btn::after {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #111111;
  color: #ffffff;
  font-family: "Alata", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  left: 0;
  top: 2px;
  position: absolute;
}

.single-product .rank-modal-btn:hover::after {
  background: #de2626;
}

.single-product .rank-modal-btn::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
  background: #000;
}

.single-product .rank-modal-btn:hover::before{
  background: #de2626;
}

.product-cart-area form.cart {
  margin-top: 28px;
}

.product-cart-area .quantity {
  width: 100%;
  margin-bottom: 24px;
}

html[lang="ja"] .product-cart-area .quantity::before{
  content:"数量";
}

html[lang="en-US"] .product-cart-area .quantity::before{
  content:"Quantity";
}

.product-cart-area .quantity::before {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
}

.product-cart-area .quantity input.qty {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #111;
  background: #fff;
  font-size: 1.6rem;
  text-align: left;
  color: #000;
}

.product-cart-area .single_add_to_cart_button {
  width: calc(50% - 8px);
  min-height: 54px;
  border: 0;
  border-radius: 999px;
  background: #e72222;
  color: #fff;
  font-weight: 700;
}

.product-cart-area .single_add_to_cart_button:hover {
  background: #c91515;
}

.product-cart-area form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.product-cart-area .quantity {
  width: 100%;
}

.product-cart-area .single_add_to_cart_button,
.product-cart-area .buy-now-button {
  width: calc(50% - 7px);
  min-height: 60px;
  border: 0;
  font-size: 1.6rem;
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
}

.product-cart-area .single_add_to_cart_button {
  background: #de2626!important;
}

.product-cart-area .buy-now-button {
  background: #111;
}



.rank-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}

.rank-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.rank-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.56);
  opacity: 0;
  transition: opacity .3s ease;
}

.rank-modal.is-open .rank-modal-bg {
  opacity: 1;
}

.rank-modal-box {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  padding: clamp(32px, 5vw, 56px);
  border: 4px solid #111;
  border-radius: 24px;
  background: #fff;
  opacity: 0;
  transform: translateY(24px) scale(.98);
  transition: opacity .35s ease, transform .35s ease;
}

.rank-modal.is-open .rank-modal-box {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.rank-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 2px solid #111;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}

.rank-modal-box .section-label {
  justify-content: center;
  margin-bottom: 12px;
  font-family: "Alata", sans-serif;
}

.rank-modal-box h2 {
  margin: 0;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0;
}

.rank-modal-lead {
  max-width: 620px;
  margin: 24px auto 34px;
  line-height: 1.9;
  text-align: center;
}

.rank-modal-list {
  display: grid;
  gap: 16px;
}

.rank-modal-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 2px solid #111;
  border-radius: 18px;
  background: #fffcd5;
}

.product-price-row .price-rank,
.rank-modal-badge {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 76px;
  border-radius: 10px;
  color: #fff;
  line-height: 1;
  text-align: center;
}

.product-price-row .price-rank{
  width: 48px;
  height: 48px;
  border-radius: 4px;
}

.product-price-row .price-rank.price-rank--new,
.rank-modal-badge.price-rank--new {
  background: #de2626;
}

.product-price-row .price-rank.price-rank--s,
.rank-modal-badge.price-rank--s {
  background: #f4a147;
}

.product-price-row .price-rank.price-rank--a,
.rank-modal-badge.price-rank--a {
  background: #ffb700;
}

.product-price-row .price-rank.price-rank--b,
.rank-modal-badge.price-rank--b {
  background: #89654d;
}

.product-price-row .price-rank.price-rank--c,
.rank-modal-badge.price-rank--c {
  background: #848484;
}


.rank-modal-badge strong {
  font-size: 4.2rem;
  font-weight: 600;
}

.rank-modal-badge strong {
    font-size: 2.2rem;
}

.product-price-row .price-rank .price-grade{
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 0.1em;
}

.product-price-row .price-rank.price-rank--new .price-grade{
  font-size: 1.6rem;
}

.rank-modal-badge em {
  margin-top: 3px;
  font-style: normal;
  font-size: 1.6rem;
  font-family: "Alata", sans-serif;
}

.product-price-row .price-rank .price-label{
  font-size: 1rem;
}

.rank-modal-item h3 {
  margin: 0 0 7px;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
}

.rank-modal-item p {
  margin: 0;
  line-height: 1.75;
}

body.is-rank-modal-open {
  overflow: hidden;
}
@media (min-width: 768px) {
  .col-full {
      max-width: 1391px!important;
  }

  .single-product div.product .summary {
    width: 46.941176%!important;
  }

  .single-product div.product .woocommerce-product-gallery {
    width: 47.176471%!important;
  }

  .page-id-10.logged-in .content-area{
    width: 100%!important;
  }
}

@media screen and (max-width:768px) {


  .product-price-row .price-rank.price-rank--new .price-grade{
    font-size: 1.3rem;
  }

  .single-product.left-sidebar .content-area {
    margin-top: 6em;
  }

  .single-product .rank-modal-btn{
    font-size: 1.4rem;
  }

  .single-product .rank-modal-btn::after {
    width: 16px;
    height: 16px;
    font-size: 1.1rem;
  }

  .single-product .single-detail-wrap .product-detail-nav a {
    font-size: 1.4rem;
    padding: 0 0 9px;
  }

  .single-product .single-detail-wrap .product-detail-nav {
    margin-bottom: 2em;
  }

  #secondary{
    display: none!important;
  }

  .single-product .woocommerce-product-gallery__image {
    height: auto;
  }

  /* 複数画像時 */
  .woocommerce-product-gallery__image.flex-active-slide{
    border:2px solid #de2626;
  }

  /* 画像1枚だけ */
  .woocommerce-product-gallery__wrapper
  .woocommerce-product-gallery__image:first-child:last-child{
    border:2px solid #de2626;
  }

  .single-product .product-title {
    font-size: 2.8rem;
  }

  .product-price-row .price-rank {
    width: 42px;
    height: 42px;
  }

  .product-price-row .price-rank .price-grade {
    font-size: 2rem;
  }

  .product-price-row .price-rank .price-label {
    font-size: 0.8rem;
  }

  .rank-modal-box h2 {
    font-size: 2.8rem;
  }

  .rank-modal-box {
    padding: 3em 1em 1em;
    border: 2px solid #111;
    border-radius: 19px;
  }

  .product-price-row .price-rank, .rank-modal-badge {
    width: 47px;
    height: 48px;
  }

  .rank-modal-item h3 {
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 2px;
  }

  .rank-modal-badge strong {
    font-size: 1.5rem;
  }

  .rank-modal-badge em {
    font-size: 1.1rem;
  }

  .rank-modal-close {
    top: 18px;
    right: 18px;
    width: 37px;
    height: 37px;
    font-size: 3rem;
  }
 
}

.maintenance{
  text-align: center;
}