@charset "UTF-8";
/*
Theme Name: LW01.6
Theme URI: http://euthymia.net/
Description: EUTHYMIA - L01.4をベースにWooCommerce関連機能を有効化
Author: EUTHYMIA
Author URI: http://euthymia.net/
Version: 20260717
*/
/* B01.2 */
/* ====================================
   Functions (関数)
   ==================================== */
/* px を rem に変換する関数 */
/* ====================================
   Variables (変数定義)
   ==================================== */
/* 1. Breakpoints (レスポンシブ分岐点)
   -------------------------------------------------- */
/* 2. Fonts (フォント設定)
   -------------------------------------------------- */
/* ====================================
   Mixins (ミックスイン)
   ==================================== */
/* Media Queries (レスポンシブ対応)
   --------------------------------------------------
   使い方は @include mq(sm) { ... } のように記述します。
   定義されていないキー（pcなど）を指定すると警告が出ます。
*/
/* --- */
/* 赤パレット
#8b0000
#901a1e
#e60012
#d90000
#d32f2f
#c0392b
#b03a2e
#a93226
*/
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/*
10px	0.625 rem
11px	0.6875 rem
12px	0.75 rem
13px	0.8125 rem
14px	0.875 rem
15px	0.9375 rem
16px	1 rem
17px	1.0625 rem
18px	1.125 rem
19px	1.1875 rem
20px	1.25 rem
*/
body {
  font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1rem;
  font-weight: 400;
  margin: 0;
}

p {
  line-height: 2rem;
}

/* マップにキーが存在するか確認 */
body {
  font-family: "Josefin Sans", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  background-color: #ffffff;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
}

.wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
}

.site-header {
  width: 100%;
  padding: 15px 20px;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  flex: 1;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 30px 20px 60px;
}

.home main {
  padding-top: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.pagetitle {
  letter-spacing: 0.05em;
  padding: 30px 0;
  text-align: center;
  font-weight: 400;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .wrapper {
    /* 2カラム 横並び */
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    margin: 0 auto;
  }
  .site-header {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .container {
    flex: 1 1 auto;
    min-height: 100vh;
  }
  main {
    width: 100%;
    padding: 80px;
  }
  .home main {
    padding-top: 60px;
  }
  /* .site-header の区切り線を body 全体（.wrapper + footer）の高さぶん伸ばす */
  body::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 300px;
    width: 1px;
    background-color: #cbcbc1;
  }
}
label {
  display: block;
  font-weight: bold;
  font-size: 0.9rem;
  color: #222222;
  line-height: 1.5;
  /* 必須マーク */
}
label .required,
label .wpcf7-validates-as-required {
  color: #d32f2f;
  font-weight: normal;
}
label .required::after,
label .wpcf7-validates-as-required::after {
  content: "*";
}

input[type=radio] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #000;
  content: "";
}

input[type=checkbox] {
  position: relative;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin: 0 0.5em 0 0;
  border: 1px solid #222222;
  border-radius: 3px;
  vertical-align: -2px;
  flex-shrink: 0;
  cursor: pointer;
  background-color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
input[type=checkbox]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(34, 34, 34, 0.25);
}
input[type=checkbox]:focus-visible {
  outline: 2px solid #222222;
  outline-offset: 2px;
}
input[type=checkbox]:checked {
  background-color: #222222;
  border-color: #222222;
}
input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  box-sizing: border-box;
}

/*
input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-radius: 9999px;
  background-color: #737373;
}
*/
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=url],
input[type=search],
textarea,
select {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid #cecdc9;
  background-color: #fcfcfc;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
  appearance: none;
  transition: all 0.3s ease;
  color: #222222;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=url]:focus,
input[type=search]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #222222;
  background-color: #fff;
  box-shadow: 0 0 0 1px #222222;
}
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=url],
input[type=search],
textarea,
select {
  /* プレースホルダー */
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=password]::placeholder,
input[type=url]::placeholder,
input[type=search]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #cecdc9;
}

textarea {
  height: 150px;
  resize: vertical;
}

/* 基本ボタンスタイル */
.button, button, input[type=submit] {
  width: 100%;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  text-align: center;
  transition: background-color 0.3s, opacity 0.3s;
  text-decoration: none;
  background-color: #222222;
  color: #ffffff;
  font-weight: bold;
}
.button:hover, button:hover, input[type=submit]:hover {
  opacity: 0.8;
}

.link_01 {
  font-size: 1.25rem;
  padding: 0 6px;
  padding-bottom: 4px;
  border-bottom: 2px solid #222222;
}
.link_01::after {
  content: "»";
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  color: #222222;
}

.button, button, input[type=submit] {
  margin-bottom: 40px;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .button, button, input[type=submit] {
    width: 400px;
  }
}
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  border: 1px solid #cbcbc1;
}
table th,
table td {
  border: 1px solid #cbcbc1;
  text-align: left;
  padding: 0.5em;
  vertical-align: middle;
  font-weight: normal;
}

tfoot tr th,
tfoot tr td {
  padding: 0.5em;
}

.site-branding {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.site-branding h1 a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  text-decoration: none;
}
.site-branding h1 a img {
  width: auto;
  height: 14px;
}
.site-branding p {
  display: none;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .site-branding {
    width: 150px;
    position: static;
    left: auto;
    top: auto;
    transform: none;
    margin-bottom: 60px;
  }
  .site-branding h1 a {
    height: auto;
  }
  .site-branding h1 a img {
    width: auto;
    height: auto;
  }
}
/* ハンバーガーボタン */
.menu-toggle {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1000;
  margin-bottom: 0;
  /* 3本線 */
}
.menu-toggle span {
  display: block;
  width: 26px;
  height: 2px;
  background-color: #222222;
  margin: 6px auto;
  transition: all 0.3s ease-in-out;
  border-radius: 2px;
}
.menu-toggle {
  /* ✕印アニメーション */
}
.menu-toggle.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.global-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  max-width: none;
  height: 100vh;
  background-color: #ffffff;
  z-index: 990;
  transition: right 0.3s ease-in-out;
  box-shadow: none;
  padding: 100px 30px 40px;
  overflow-y: auto;
  /* クラスがつくと出てくる */
}
.global-nav.active {
  right: 0;
}
.global-nav ul {
  display: flex;
  flex-direction: column;
  border: none;
  margin: 0;
  padding: 0;
}
.global-nav ul li {
  list-style: none;
  text-align: left;
  width: 100%;
  border-bottom: 1px solid #cbcbc1;
  position: relative;
  /*
  &::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 20%; // 右側10%空ける
      height: 1px;
      background-color: colors.$black;
  }
  */
}
.global-nav ul li a {
  display: block;
  padding: 15px 0;
  color: #222222;
  text-decoration: none;
  line-height: 2;
  /*
  &::before {
      content: "»";
      display: inline-block;
      margin-right: 10px;
      color: colors.$black;
  }
  */
}
.global-nav ul li a span {
  display: block;
  margin-left: 18px;
  color: #222222;
  margin-top: 2px;
}
.global-nav ul li a:hover {
  opacity: 0.7;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .menu-toggle {
    display: none;
  }
  .global-nav {
    position: static;
    right: auto;
    width: 100%;
    max-width: none;
    height: auto;
    background-color: transparent;
    box-shadow: none;
    padding: 0;
    overflow: visible;
  }
  .global-nav ul li a {
    font-size: 0.875rem;
    padding: 18px 0;
    line-height: 1.6;
  }
  .global-nav ul li a span {
    margin-left: 0;
    font-size: 0.6875rem;
    margin-top: 0;
  }
}
.footer {
  width: 100%;
}

.site-footer {
  padding: 30px 30px;
}
.site-footer .footer-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.site-footer .footer-inner .footer-branding .footer-logo-img {
  width: auto;
  height: 18px;
}
.site-footer .footer-inner .footer-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  width: 100%;
}
.site-footer .footer-inner .footer-nav ul.footer-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}
.site-footer .footer-inner .footer-nav ul.footer-menu li a {
  text-decoration: none;
  color: inherit;
}
.site-footer .footer-inner .footer-nav ul.footer-menu li a:hover {
  opacity: 0.7;
}
.site-footer .footer-inner .footer-divider {
  display: none;
}
.site-footer .footer-inner .footer-bottom {
  width: 100%;
  text-align: left;
}
.site-footer .copyright {
  font-size: 0.75rem;
  color: #757575;
  margin: 0;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .site-footer {
    padding: 80px 80px 30px 380px;
    border-top: none;
    margin-top: auto;
  }
  .site-footer .footer-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .site-footer .footer-inner .footer-top {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 60px;
  }
  .site-footer .footer-inner .footer-branding {
    flex: 0 0 auto;
  }
  .site-footer .footer-inner .footer-nav {
    flex: 1;
  }
  .site-footer .footer-inner .footer-nav ul.footer-menu {
    flex-direction: row;
    align-items: center;
    gap: 30px;
    justify-content: flex-start;
  }
  .site-footer .footer-inner .footer-divider {
    display: block;
    height: 1px;
    background: #cecdc9;
    margin: 0;
  }
  .site-footer .footer-inner .footer-bottom {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
  }
  .site-footer .copyright {
    flex: 0 0 auto;
  }
}
/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  /* 中央配置 
  .wrapper {
      max-width: 1280px;
      margin: 0 auto;
  }

  .site-header {
      flex: 0 0 260px;
      max-width: 260px;
      padding: 60px 30px;
  }
  */
  /* 全体 メニュー左寄り */
  .wrapper {
    width: 100%;
    margin: 0 auto;
  }
  .site-header {
    flex: 0 0 300px;
    max-width: 300px;
    padding: 60px 50px;
  }
}
.grid {
  width: 100%;
  display: grid;
  grid-auto-rows: auto;
  gap: 20px;
  margin: 0;
}

.grid > div {
  overflow: visible;
  min-width: 0;
}

.grid {
  list-style: none;
}

.grid > li {
  overflow: visible;
  min-width: 0;
  list-style: none;
  margin: 0;
}

.col-1 {
  grid-template-columns: repeat(1, 1fr);
}

.col-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .col-sm-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .col-sm-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .col-sm-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .col-sm-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* マップにキーが存在するか確認 */
/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .grid {
    gap: 20px;
  }
  .col-lg-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .col-lg-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .col-lg-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .col-lg-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* マップにキーが存在するか確認 */
/* ====================================
   Grid 2 (比率指定カラム)
   ====================================
   _grid.scss の .col-N は等分カラム専用のため、
   2:1:1 のような比率指定カラムはこちらに集約する。
   コンテナのクラス（.grid など）は _grid.scss のものをそのまま使う。

   使い方（例：スマホ1カラム→PCで2:1:1）
   <div class="grid col-1 col-lg-2-1-1"> ... </div>

   新しい比率が必要になったら、下の col-ratio ミックスインを使って
   同じ要領でクラスを追加する。
   例）3:1 を lg で使いたい場合
   .col-lg-3-1 {
       @include col-ratio(3, 1);
   }
*/
/* ====================================
   Pagination Styles
   ファイル名: _pagination.scss
   役割: ページ送り（ページネーション）のデザイン
   ==================================== */
/* WooCommerce標準のページネーション */
.woocommerce nav.woocommerce-pagination {
  margin-top: 40px;
  text-align: center;
  width: 100%;
}
.woocommerce nav.woocommerce-pagination ul {
  display: flex; /* 横並びにする */
  justify-content: center; /* 中央寄せ */
  gap: 10px; /* 数字同士の間隔 */
  padding: 0;
  margin: 0;
  list-style: none !important;
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: hidden;
  /* 数字・矢印のスタイル */
}
.woocommerce nav.woocommerce-pagination ul li span, .woocommerce nav.woocommerce-pagination ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px; /* 正方形に近い形 */
  height: 40px;
  padding: 0 10px;
  border: 1px solid #ccc; /* 枠線 */
  color: #333;
  text-decoration: none;
  line-height: 1;
  transition: all 0.3s ease;
  background-color: #fff;
  box-sizing: border-box;
}
.woocommerce nav.woocommerce-pagination ul li span:hover, .woocommerce nav.woocommerce-pagination ul li a:hover {
  background-color: #222222; /* 黒背景 */
  color: #fff; /* 白文字 */
  border-color: #222222;
}
.woocommerce nav.woocommerce-pagination ul li {
  /* 現在のページ (current) */
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: #222222; /* 黒背景 */
  color: #fff; /* 白文字 */
  border-color: #222222;
  font-weight: bold;
  cursor: default;
}
.woocommerce nav.woocommerce-pagination {
  /* レスポンシブ対応が必要な場合 */
  /* マップにキーが存在するか確認 */
}
/**/
.home-section {
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #cbcbc1;
}

.home-info h2 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 20px;
  padding: 0;
}

.home-category-list {
  row-gap: 40px;
}

.home-category-pair {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}

.home-category-photo img {
  width: 100%;
  height: auto;
  display: block;
}

.home-category {
  padding: 20px;
}
.home-category h3 {
  display: flex;
  flex-flow: column;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #222222;
}
.home-category h3 span {
  font-size: 0.875rem;
}
.home-category ul li {
  font-size: 1.25rem;
  line-height: 2.4;
  white-space: nowrap;
}
.home-category ul li::before {
  content: "»";
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  color: #222222;
}
.home-category ul li span {
  font-size: 1rem;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .home-category-pair {
    flex-direction: row;
    align-items: stretch;
  }
  .home-category-photo {
    flex: 0 0 42%;
  }
  .home-category-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home-category {
    flex: 1 1 auto;
  }
}
.page-home-pickup-item {
  background-color: #ffffff;
}
.page-home-pickup-item .page-home-pickup-image {
  display: block;
  position: relative;
  overflow: hidden;
}
.page-home-pickup-item .page-home-pickup-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s;
}
.page-home-pickup-item .page-home-pickup-image:hover img {
  transform: scale(1.05);
}
.page-home-pickup-item .page-home-pickup-info {
  padding: 1.25rem;
}
.page-home-pickup-item h3 {
  font-size: 1rem;
  margin: 0 0 0.25rem;
}
.page-home-pickup-item h3 a {
  color: #222222;
  text-decoration: none;
}
.page-home-pickup-item .page-home-pickup-meta {
  font-size: 0.75rem;
  color: #757575;
  margin-bottom: 0.625rem;
}
.page-home-pickup-item .page-home-pickup-excerpt {
  font-size: 0.8125rem;
  line-height: 1.7;
  margin-bottom: 0.75rem;
  color: #222222;
}

.page-home-pickup-grid {
  row-gap: 32px;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .page-home-pickup-grid {
    row-gap: 20px;
    column-gap: 24px;
  }
  .page-home-pickup-item .page-home-pickup-info {
    padding: 1.5rem;
  }
}
.home-pickup3-track {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
  padding-bottom: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  user-select: none;
}
.home-pickup3-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.home-pickup3-item {
  flex: 0 0 82%;
  scroll-snap-align: start;
  background-color: #f8f8f8;
  display: block;
  color: inherit;
  text-decoration: none;
  -webkit-user-drag: none;
}

.home-pickup3-photo {
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center center;
}

.home-pickup3-caption {
  padding: 1.25rem;
}

.home-pickup3-num {
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  font-size: 2.25rem;
  color: #c7c7c7;
  margin: 0 0 0.375rem;
  line-height: 1;
}

.home-pickup3-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.home-pickup3-title {
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  margin: 0;
}

.home-pickup3-meta {
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  font-size: 0.75rem;
  color: #757575;
  margin: 0;
}

.home-pickup3-text {
  margin: 0.875rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.8;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .home-pickup3-item {
    flex: 0 0 46%;
  }
}
/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .home-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .home-pickup3-item {
    flex: 0 0 31%;
  }
}
.home-pickup {
  margin-bottom: 60px;
  padding-bottom: 60px;
}
.home-pickup .home-pickup-item a .home-pickup-image {
  margin-bottom: 10px;
}
.home-pickup .home-pickup-item a .home-pickup-category-desc {
  text-transform: uppercase;
  border-bottom: 1px solid #222222;
  font-weight: 700;
  letter-spacing: 0.06rem;
  line-height: 1.8;
}
.home-pickup .home-pickup-item a .home-pickup-category-name {
  font-weight: 700;
}
.home-pickup .home-pickup-item a .more {
  font-size: 1.25rem;
  padding: 0 6px;
  padding-bottom: 4px;
  border-bottom: 2px solid #222222;
}
.home-pickup .home-pickup-item a .more::after {
  content: "»";
  display: inline-block;
  margin-left: 6px;
  margin-right: 6px;
  color: #222222;
}

.page-home2-about {
  display: flex;
  flex-direction: column-reverse;
  gap: 1.875rem;
  margin-top: 3.75rem;
}
.page-home2-about .page-home2-about-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.page-home2-about .page-home2-about-text p {
  margin: 0 0 1rem;
  line-height: 1.9;
}

/* --- home-design.php / home-photograph.php --- */
.page-home2-showcase {
  margin-top: 5rem;
}

.page-home2-showcase-grid {
  margin-top: 1.25rem;
}
.page-home2-showcase-grid img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.page-home2-showcase-foot {
  margin-top: 1.875rem;
}
.page-home2-showcase-foot p:first-child {
  line-height: 1.9;
  margin-bottom: 1.25rem;
}

/* --- home-instagram.php --- */
.page-home2-instagram {
  margin-top: 5rem;
}

.page-home2-instagram-grid {
  margin-top: 1.5rem;
}

.page-home2-instagram-item {
  overflow: hidden;
}
.page-home2-instagram-item img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  transition: transform 0.5s;
}
.page-home2-instagram-item:hover img {
  transform: scale(1.08);
}

/* --- home-travel.php --- */
.page-home2-travel {
  margin-top: 5rem;
}

.page-home2-travel-grid {
  margin-top: 1.5rem;
}

.page-home2-travel-photo {
  overflow: hidden;
}
.page-home2-travel-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  transition: transform 0.5s;
}

.page-home2-travel-item:hover .page-home2-travel-photo img {
  transform: scale(1.08);
}

.page-home2-travel-date {
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  font-size: 0.75rem;
  color: #757575;
  margin: 0.875rem 0 0.25rem;
}

.page-home2-travel-title {
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.7;
  margin: 0;
}

/* --- home-contact.php --- */
.page-home2-contact {
  margin-top: 6.25rem;
  padding: 3.125rem 1.25rem;
  background-color: #f8f8f8;
  text-align: center;
}
.page-home2-contact h2 {
  font-size: 1.625rem;
  margin: 0;
}

.page-home2-contact-lead {
  margin: 1.5rem 0;
  line-height: 1.9;
}

.page-home2-contact-btn {
  margin: 0 auto;
}
.page-home2-contact-btn a {
  max-width: 400px;
  margin: 0 auto;
}

.page-home2-only-lg {
  display: none;
}

/* --- 複数パーツ共通のリンク寄せ --- */
.page-home2-link-right {
  text-align: right;
}

.page-home2-link-center {
  text-align: center;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .page-home2-only-lg {
    display: inline;
  }
  .page-home2-about {
    flex-direction: row;
    align-items: center;
    gap: 5rem;
  }
  .page-home2-about .page-home2-about-photo {
    width: 41.6666%;
  }
  .page-home2-about .page-home2-about-text {
    width: 58.3333%;
  }
  .page-home2-showcase-foot {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2.5rem;
  }
  .page-home2-showcase-foot p:first-child {
    margin-bottom: 0;
  }
  .page-home2-contact {
    padding: 4.375rem 2.5rem;
  }
}
.home-title {
  font-family: "sofia-pro", "sans-serif";
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #222222;
}

.home-title2 {
  margin-bottom: 1.875rem;
}
.home-title2 h2 {
  font-weight: 700;
  margin: 0 0 0.3125rem;
  font-family: "sofia-pro", "sans-serif";
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  font-weight: 600;
  padding-bottom: 10px;
  border-bottom: 2px solid #222222;
}
.home-title2 p.lead {
  font-size: 0.75rem;
  color: #757575;
}

.home-title3-en {
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  letter-spacing: 0.08em;
  font-weight: bold;
}

.home-title3-ja {
  font-size: 0.8125rem;
  color: #757575;
}

.home-title3 h2 {
  font-family: "sofia-pro", "sans-serif";
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
}
.home-title3 .home-title3-en {
  margin-top: 0.625rem;
  font-size: 1.5rem;
  display: inline-block;
}

.home-title3-line {
  position: relative;
  padding-left: 1.875rem;
}
.home-title3-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.875rem;
  width: 1.25rem;
  height: 1px;
  background-color: #222222;
}

.home-title3-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.home-title3-row h2 {
  font-size: 1.625rem;
}

.home-title3-badge {
  background-color: #222222;
  color: #ffffff;
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  font-size: 0.75rem;
  padding: 0.3125rem 1rem;
  display: inline-block;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  h2.home-title {
    margin-bottom: 40px;
  }
  .home-title3 h2 {
    font-size: 2.5rem;
  }
}
/* home-img.php（page-home2.php のヒーロー／クロスフェード背景） */
.home-img {
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  height: 60vh;
  min-height: 320px;
  max-height: 560px;
  overflow: hidden;
  /* マップにキーが存在するか確認 */
}
@media screen and (min-width: 768px) {
  .home-img {
    width: 100%;
    margin-left: 0;
  }
}

.home-img-bg {
  position: absolute;
  inset: 0;
}
.home-img-bg span {
  position: absolute;
  inset: 0;
  display: block;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  animation: page-home2-crossfade 16s infinite;
}
.home-img-bg span:nth-child(1) {
  animation-delay: 0s;
}
.home-img-bg span:nth-child(2) {
  animation-delay: 4s;
}
.home-img-bg span:nth-child(3) {
  animation-delay: 8s;
}
.home-img-bg span:nth-child(4) {
  animation-delay: 12s;
}

@keyframes page-home2-crossfade {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  33% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.home-img-copy {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 1;
  color: #ffffff;
  font-family: "Josefin Sans", "sofia-pro", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  margin: 0;
  /* マップにキーが存在するか確認 */
}
@media screen and (min-width: 768px) {
  .home-img-copy {
    font-size: 1.25rem;
  }
}
.home-img-copy {
  /* マップにキーが存在するか確認 */
}
@media screen and (min-width: 1025px) {
  .home-img-copy {
    left: 2.5rem;
    bottom: 2.5rem;
    font-size: 1.625rem;
  }
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .home-img {
    height: 380px;
    min-height: 460px;
    max-height: 700px;
  }
}
/* /product-categor */
.tax-product_cat {
  font-size: 0.875rem;
}
.tax-product_cat .woocommerce-breadcrumb {
  display: none;
}
.tax-product_cat .woocommerce-products-header {
  text-align: left;
  padding-bottom: 30px;
  width: 100%;
}
.tax-product_cat .woocommerce-products-header .term-description {
  font-size: 1.375rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #222222;
  font-weight: normal;
  line-height: 1.2;
}
.tax-product_cat .woocommerce-products-header h1 {
  font-size: 0.875rem;
  color: #666;
  margin: 0;
}
.tax-product_cat .woocommerce-result-count, .tax-product_cat .woocommerce-ordering {
  display: none;
}

.sub-category {
  display: block;
  margin-bottom: 20px;
  padding: 0;
}
.sub-category ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  gap: 8px;
  margin: 0 auto;
  list-style: none;
}
.sub-category ul li {
  list-style: none;
  flex: 1;
  width: 100%;
}
.sub-category a {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #222222;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  border: 1px solid #222222;
}
.sub-category a span {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-family: "Josefin Sans", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sub-category a span::before {
  content: "»";
  display: inline-block;
  margin-right: 4px;
  color: #222222;
}
.sub-category a:hover {
  background-color: #333;
  color: #fff;
  opacity: 1;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .sub-category {
    margin-bottom: 40px;
  }
  .sub-category ul {
    justify-content: start;
    margin-left: 0;
    margin-right: auto;
    gap: 20px;
    max-width: 800px;
  }
  .sub-category a {
    padding: 12px 0;
  }
  /* マップにキーが存在するか確認 */
}
@media screen and (min-width: 768px) {
  /* マップにキーが存在するか確認 */
}
@media screen and (min-width: 768px) {
  /* マップにキーが存在するか確認 */
}
/* /product-categor */
ul.products li a h2 {
  font-size: 0.875rem;
  padding: 10px 0 5px;
}
ul.products li .product_type_variable {
  display: none;
}

/*
    ul.products {
        li.product {
            img {
                width: 100%;
                height: auto;
                display: block;
                margin-bottom: 20px;
            }
            h2.woocommerce-loop-product__title {
                font-size: functions.rem(14);
                font-weight: normal;
                color: colors.$black;
                margin-bottom: 8px;
                line-height: 1.4;
            }
            .price {
                color: colors.$black;
                display: block;
                font-weight: normal;
                padding-bottom: 8px;
                del {
                    opacity: 0.5;
                    margin-right: 5px;
                }
                ins {
                    text-decoration: none;
                    font-weight: bold;
                }
            }
            .button,
            .added_to_cart {
                display: none;
            }
        }
    }
*/
.product-detail .woocommerce-breadcrumb {
  display: none;
}
.product-detail .product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
.product-detail .product .woocommerce-product-gallery {
  width: 100%;
}
.product-detail .product .summary {
  width: 100%;
  display: block;
}
.product-detail .product .summary .product_title {
  line-height: 1.6;
  margin: 20px 0 15px;
  color: #222222;
}
.product-detail .product .summary table.variations {
  border: none;
}
.product-detail .product .summary table.variations tr {
  padding: 0;
}
.product-detail .product .summary table.variations tr th.label {
  width: 50%;
  padding: 0;
  border: none;
}
.product-detail .product .summary table.variations tr td.value {
  padding: 0;
  border: none;
}
.product-detail .product .summary table.variations tr td.value .variation-select-wrap {
  position: relative;
  display: block;
  /*
  &::after {
      content: "▼";
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 10px;
      pointer-events: none;
      color: colors.$black;
  }
  */
}
.product-detail .product .summary table.variations tr td.value .variation-select-wrap::before {
  content: "▼";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  pointer-events: none;
  color: #222222;
}
.product-detail .product .summary table.variations tr td.value .reset_variations {
  display: none;
}
.product-detail .product .summary table.variations tr td.value select {
  width: 100%;
  padding: 12px;
  border: 1px solid #222222;
  background-color: #ffffff;
  border-radius: 0;
  color: #222222;
  text-align: center;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s, border-color 0.2s;
}
.product-detail .product .summary table.variations tr td.value select:hover {
  background-color: #f5f5f5;
}
.product-detail .product .summary table.variations tr td.value select:focus {
  outline: 2px solid #222222;
  outline-offset: 2px;
}
.product-detail .product .single_variation_wrap {
  width: 100%;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 15px 0;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation .woocommerce-variation-availability {
  order: 1;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation .woocommerce-variation-availability p.stock.out-of-stock {
  color: #d32f2f;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation .woocommerce-variation-availability p.stock.in-stock {
  display: none;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation .woocommerce-variation-price {
  order: 2;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation .woocommerce-variation-price .price {
  color: #333;
  font-size: 1.375rem;
  letter-spacing: 0.0625rem;
}
.product-detail .product .single_variation_wrap .woocommerce-variation.single_variation .woocommerce-variation-price .price::after {
  content: " (税込)";
  font-size: 0.75rem;
  font-weight: normal;
  margin-left: 0.3em;
}
.product-detail .product .single_variation_wrap {
  /* カートボタン */
}
.product-detail .product .single_variation_wrap .woocommerce-variation-add-to-cart {
  width: 100%;
  display: block;
}
.product-detail .product .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
  display: none !important;
}
.product-detail .product .woocommerce-product-details__short-description {
  width: 100%;
  margin: 30px 0 15px;
}
.product-detail .product .woocommerce-product-details__short-description p {
  line-height: 2;
}
.product-detail .product .product_meta {
  font-size: 0.75rem;
  color: #222222;
  text-align: right;
}
.product-detail .product .product_meta .posted_in {
  display: none;
}
.product-detail .product .product-note {
  margin-top: 20px;
}
.product-detail .product .product-note li {
  font-size: 0.75rem;
  line-height: 2;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .product-detail {
    width: 100%;
  }
  .product-detail .product {
    flex-wrap: nowrap;
    gap: 40px;
  }
  .product-detail .product div.images,
  .product-detail .product div.woocommerce-product-gallery {
    width: 48%;
    position: sticky;
    top: 90px;
  }
  .product-detail .product div.summary {
    width: 48%;
    text-align: left;
  }
  .product-detail .product div.summary .product_title {
    font-size: 1.25rem;
    margin-top: 0;
    margin-bottom: 20px;
  }
  .product-detail .product div.summary form.cart {
    text-align: left;
  }
  .product-detail .product div.summary form.cart table.variations th.label {
    width: 200px;
  }
  .product-detail .product div.summary form.cart table.variations td.value select {
    width: 120px;
  }
  .product-detail .product div.summary form.cart .single_variation_wrap .woocommerce-variation.single_variation {
    /* 価格情報（右側） */
  }
  .product-detail .product div.summary form.cart .single_variation_wrap {
    /* カートボタン */
  }
  /* マップにキーが存在するか確認 */
}
@media screen and (min-width: 768px) {
  /* マップにキーが存在するか確認 */
}
/* 商品詳細 画像スライダー */
.woocommerce-product-gallery {
  position: relative;
  display: block;
}
.woocommerce-product-gallery__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.woocommerce-product-gallery__image {
  box-sizing: border-box;
  transition: opacity 0.3s ease;
}
.woocommerce-product-gallery__image:nth-child(1) {
  width: 100%;
}
.woocommerce-product-gallery__image:not(:nth-child(1)) {
  /* 5列表示: (100% - 隙間4つ分20px) ÷ 5 */
  width: calc((100% - 20px) / 5);
  cursor: pointer;
  opacity: 0.4;
  /* 【重要】選んでないときは薄くする */
}
.woocommerce-product-gallery__image:not(:nth-child(1)):hover {
  opacity: 0.8;
  /* マウスを乗せたとき */
}
.woocommerce-product-gallery__image:not(:nth-child(1)).is-active {
  opacity: 1;
  /* くっきり表示 */
  border: 1px solid #333;
  /* お好みで枠線をつけてもOK */
}
.woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
}

.woocommerce-product-gallery__trigger {
  display: none;
}

/* /cart */
.cart-page .cart-empty-state {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  width: 100%;
}
.cart-page .return-to-shop {
  width: 100%;
  margin: 0;
}
.cart-page .woocommerce-notices-wrapper {
  display: none;
}
.cart-page .woocommerce-cart-form table.shop_table {
  border: none;
}
.cart-page .woocommerce-cart-form table.shop_table thead {
  display: none;
}
.cart-page .woocommerce-cart-form table.shop_table tbody tr.cart_item {
  display: grid;
  grid-template-areas: "image name remove" "image price price" "quantity subtotal subtotal";
  grid-template-columns: 80px 1fr 30px;
  gap: 10px;
  background: #ffffff;
  border: 1px solid #222222;
  margin-bottom: 30px;
  position: relative;
  box-sizing: border-box;
  padding: 15px;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td {
  display: block;
  border: none;
  width: auto;
  text-align: left;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-remove {
  display: none;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-thumbnail {
  grid-area: image;
  width: 100%;
  padding: 0;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-name {
  grid-area: name;
  font-weight: bold;
  line-height: 1.4;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-name a {
  color: #222222;
  text-decoration: none;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-price {
  grid-area: price;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-price::before {
  content: "単価: ";
  opacity: 0.8;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-quantity {
  grid-area: quantity;
  align-self: end;
  padding: 0;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-quantity::before {
  content: "数量: ";
  font-weight: bold;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-quantity .quantity {
  display: inline-block;
  width: 80px;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-quantity .quantity input {
  height: 36px;
  width: 90%;
  border: 1px solid #cecdc9;
  text-align: center;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
  grid-area: subtotal;
  align-self: end;
  justify-self: end;
  font-weight: bold;
  padding: 0;
}
.cart-page .woocommerce-cart-form table.shop_table tbody td.product-subtotal::before {
  content: "小計: ";
  font-weight: bold;
}
.cart-page .woocommerce-cart-form table.shop_table tbody .actions {
  display: flex;
  flex-direction: column;
  gap: 15px;
  border-top: 1px solid #222222;
  padding: 0;
}
.cart-page .woocommerce-cart-form table.shop_table tbody .actions button[name=update_cart] {
  background-color: #ffffff;
  color: #222222;
  border: 1px solid #222222;
  cursor: pointer;
  margin-top: 30px;
}
.cart-page .cart-collaterals {
  margin-top: 30px;
  font-size: 1rem;
}
.cart-page .cart-collaterals h2 {
  font-size: 1rem;
  padding-bottom: 15px;
  border-bottom: 1px solid #222222;
}
.cart-page .cart-collaterals table.shop_table_responsive {
  width: 100%;
  border-collapse: collapse;
  border: none;
}
.cart-page .cart-collaterals table.shop_table_responsive tbody tr th,
.cart-page .cart-collaterals table.shop_table_responsive tbody tr td {
  border-bottom: 1px solid #222222;
  text-align: right;
  display: table-cell;
  width: auto;
  padding-top: 15px;
  padding-bottom: 15px;
}
.cart-page .cart-collaterals table.shop_table_responsive tbody tr th {
  width: 20%;
  text-align: left;
}
.cart-page .cart-collaterals table.shop_table_responsive tbody tr td {
  width: 80%;
}
.cart-page .cart-collaterals .wc-proceed-to-checkout {
  margin-top: 30px;
}
.cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
}
.cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
  opacity: 0.8;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .cart-page .woocommerce {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
  }
  .cart-page .woocommerce .woocommerce-cart-form {
    width: 60%;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table {
    display: table;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table thead {
    display: table-header-group;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table thead th {
    border-bottom: 2px solid #222222;
    font-weight: bold;
    color: #222222;
    text-align: center;
    padding: 12px 0;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody {
    display: table-row-group;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody tr {
    display: table-row;
    border: none;
    background: transparent;
    padding: 0;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td {
    display: table-cell;
    vertical-align: middle;
    padding: 24px 0;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td::before {
    content: none;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td.product-remove {
    width: 30px;
    text-align: center;
    font-size: 1.25rem;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td.product-thumbnail {
    width: 80px;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td.product-name {
    padding-left: 12px;
    padding-right: 12px;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td.product-price {
    padding-right: 10px;
  }
  .cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody td.product-subtotal {
    width: auto;
    text-align: left;
  }
  .cart-page .woocommerce .cart-collaterals {
    width: 40%;
    position: sticky;
    top: 100px;
  }
}
/* /checkout */
.checkout-page .checkout-container {
  display: block;
}
.checkout-page .checkout-container .woocommerce-NoticeGroup {
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #757575;
}
.checkout-page .checkout-columns {
  display: block;
}
.checkout-page .checkout-left {
  width: 100%;
}
.checkout-page .checkout-right {
  width: 100%;
  margin-top: 30px;
}
.checkout-page .checkout-right #order_review_heading {
  font-weight: bold;
  color: #222222;
  border-bottom: none;
  text-align: center;
  display: block;
  margin-top: 30px;
  margin-bottom: 20px;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #757575;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table thead tr th {
  text-align: center;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table tbody {
  border: 1px solid #757575;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table tbody tr.cart_item td {
  padding: 10px;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
  font-size: 0.875rem;
  text-align: left;
  width: 60%;
  font-weight: normal;
  border: 1px solid #757575;
  vertical-align: middle;
  width: 60%;
  font-weight: normal;
  border: 1px solid #757575;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table tfoot {
  text-align: right;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table tfoot tr th {
  width: 60%;
  padding: 10px 0 5px 10px;
  vertical-align: middle;
  font-weight: bold;
}
.checkout-page .checkout-right table.woocommerce-checkout-review-order-table tfoot tr td {
  width: 40%;
  padding: 5px 10px 10px 0;
  text-align: right;
  vertical-align: middle;
  font-weight: bold;
}
.checkout-page #customer_details h3 {
  font-weight: bold;
  color: #222222;
  border-bottom: none;
  text-align: center;
  display: block;
  margin-bottom: 20px;
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper #billing_country_field,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper #billing_country_field,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper #billing_country_field {
  display: none !important;
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper .form-row,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper .form-row,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper .form-row {
  display: block;
  width: 100%;
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper .form-row.form-row-first, .checkout-page #customer_details .woocommerce-billing-fields__field-wrapper .form-row.form-row-last,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper .form-row.form-row-first,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper .form-row.form-row-last,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper .form-row.form-row-first,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper .form-row.form-row-last {
  width: calc(50% - 10px);
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper .form-row .select2-container .select2-selection--single,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper .form-row .select2-container .select2-selection--single,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper .form-row .select2-container .select2-selection--single {
  height: 50px;
  border: 1px solid #cecdc9;
  border-radius: 4px;
  background-color: #ffffff;
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper .form-row .select2-container .select2-selection--single .select2-selection__rendered,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper .form-row .select2-container .select2-selection--single .select2-selection__rendered,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper .form-row .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 50px;
  color: #222222;
}
.checkout-page #customer_details .woocommerce-billing-fields__field-wrapper .form-row .select2-container .select2-selection--single .select2-selection__arrow,
.checkout-page #customer_details .woocommerce-shipping-fields__field-wrapper .form-row .select2-container .select2-selection--single .select2-selection__arrow,
.checkout-page #customer_details .woocommerce-additional-fields__field-wrapper .form-row .select2-container .select2-selection--single .select2-selection__arrow {
  height: 48px;
}
.checkout-page #customer_details .woocommerce-shipping-fields {
  margin: 30px 0;
}
.checkout-page #customer_details .woocommerce-additional-fields {
  margin-top: 15px;
}
.checkout-page #customer_details .woocommerce-additional-fields label {
  margin-bottom: 5px;
}
.checkout-page .woocommerce-checkout-payment {
  margin-top: 30px;
  background: #ffffff;
  border: 1px solid #757575;
  padding: 30px 15px;
}
.checkout-page .woocommerce-checkout-payment .payment-method-header {
  display: flex;
  align-items: center;
  gap: 10px;
}
.checkout-page .woocommerce-checkout-payment .payment-method-header input[type=radio] {
  display: inline-block;
  vertical-align: middle;
}
.checkout-page .woocommerce-checkout-payment .payment-method-header label {
  font-size: 1rem;
  display: inline-block;
  vertical-align: middle;
  width: auto;
  white-space: nowrap;
}
.checkout-page .woocommerce-checkout-payment .payment_method_square_credit_card .payment-method-icons {
  margin: 15px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.checkout-page .woocommerce-checkout-payment .payment_method_square_credit_card .payment-method-icons img {
  display: inline-block;
  vertical-align: middle;
}
.checkout-page .woocommerce-checkout-payment .payment_method_square_credit_card .payment_box {
  clear: both;
  display: block;
  border-radius: 4px;
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
}
.checkout-page .woocommerce-checkout-payment .payment_method_square_credit_card .payment_box p {
  margin-bottom: 15px;
}
.checkout-page .woocommerce-checkout-payment .payment_method_bankjp {
  margin-bottom: 15px;
}
.checkout-page .woocommerce-checkout-payment .payment_method_bankjp .payment-method-icons {
  display: none;
}
.checkout-page .woocommerce-checkout-payment .place-order {
  margin: 0;
  padding: 0;
}
.checkout-page .woocommerce-checkout-payment button[type=submit] {
  margin-top: 30px;
  width: 100%;
}
.checkout-page .woocommerce-checkout-payment #place_order {
  color: transparent !important;
  position: relative;
}
.checkout-page .woocommerce-checkout-payment #place_order::after {
  content: "注文する";
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  line-height: 1;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 1025px) {
  .checkout-page .checkout-container {
    display: block;
  }
  .checkout-page .checkout-container form.checkout {
    width: 100%;
  }
  .checkout-page .checkout-columns {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    width: 100%;
  }
  .checkout-page .checkout-left {
    flex: 1;
    width: 60%;
  }
  .checkout-page .checkout-right {
    flex: 0 0 40%;
    width: 40%;
    margin-top: 0;
    position: sticky;
    top: 20px;
  }
  .checkout-page .checkout-right #order_review_heading {
    margin-top: 0;
  }
}
/* /order-received */
.order-received-page .woocommerce-order {
  width: 100%;
  line-height: 2;
}
.order-received-page .woocommerce-order .woocommerce-notice {
  margin-bottom: 20px;
}
.order-received-page .woocommerce-order ul {
  line-height: 2.4;
}
.order-received-page .woocommerce-order h2 {
  font-size: 1.125rem;
  margin-top: 40px;
  margin-bottom: 20px;
  border-bottom: 1px solid #222222;
}
.order-received-page .woocommerce-order thead tr, .order-received-page .woocommerce-order tbody tr, .order-received-page .woocommerce-order tfoot tr {
  border: 1px solid #cecdc9;
}
.order-received-page .woocommerce-order thead tr td, .order-received-page .woocommerce-order thead tr th, .order-received-page .woocommerce-order tbody tr td, .order-received-page .woocommerce-order tbody tr th, .order-received-page .woocommerce-order tfoot tr td, .order-received-page .woocommerce-order tfoot tr th {
  padding: 10px;
  border-left: 1px solid #cecdc9;
}

/* マップにキーが存在するか確認 */
.my-account-page .myaccount-login {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #757575;
}
.my-account-page .myaccount-login h2, .my-account-page .myaccount-registration h2 {
  margin-bottom: 10px;
}
.my-account-page .myaccount-login .woocommerce-Input--text, .my-account-page .myaccount-registration .woocommerce-Input--text {
  margin-bottom: 20px;
}
.my-account-page .myaccount-login .woocommerce-button, .my-account-page .myaccount-registration .woocommerce-button {
  margin: 10px 0;
}

.woocommerce .password-input {
  position: relative;
  display: block;
}
.woocommerce .password-input input[type=password],
.woocommerce .password-input input[type=text] {
  width: 100%;
  box-sizing: border-box;
  padding-right: 44px;
}
.woocommerce .password-input input::-ms-reveal {
  display: none;
}
.woocommerce button.show-password-input {
  box-sizing: border-box;
  align-self: flex-start;
  width: 44px;
  min-width: 44px;
  max-width: none;
  height: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  overflow: visible;
  flex-shrink: 0;
  position: absolute;
  top: 50%;
  right: 0.25rem;
  transform: translateY(-50%);
  background-color: transparent;
  color: #222222;
  border: none;
  border-radius: 0;
  font-size: inherit;
  line-height: 1;
  font-weight: normal;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: opacity 0.2s ease;
}
.woocommerce button.show-password-input::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23222222"/></svg>');
}
.woocommerce button.show-password-input.display-password::before {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23222222"/></svg>');
}
.woocommerce button.show-password-input:hover {
  opacity: 0.7;
  background-color: transparent;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
  width: 100%;
  margin-bottom: 30px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
  list-style: none;
  background: #fff;
  border: 1px solid #757575;
  border-radius: 4px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid #eee;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 15px 20px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li a:hover {
  background-color: #f5f5f5;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #222222;
  color: #fff;
  font-weight: bold;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--downloads {
  display: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  width: 100%;
  line-height: 2;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content p {
  margin: 0 15px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content a {
  text-decoration: underline;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content p {
  margin-bottom: 15px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  /*
  form {
      .woocommerce-form-row {
      }
      fieldset {
          border: 1px solid #eee;
          background: colors.$bg;
          border-radius: 4px;
          legend {
              font-weight: bold;
              background: colors.$bg;
          }
      }
      button[type="submit"] {
          background-color: colors.$black;
          color: #fff;
          border: none;
          cursor: pointer;
          font-weight: bold;
          border-radius: 4px;
          transition: opacity 0.3s;
          &:hover { opacity: 0.8; }
      }
  }
  */
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns .u-column1, .woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns .u-column2 {
  width: 100%;
  border-radius: 4px;
  box-sizing: border-box;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns header.title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #cecdc9;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns header.title a.edit {
  background: #fff;
  border: 1px solid #cecdc9;
  border-radius: 3px;
  text-decoration: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .u-columns address {
  font-style: normal;
  line-height: 1.6;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.account-orders-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #757575;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.account-orders-table th, .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.account-orders-table td {
  border-bottom: 1px solid #757575;
  text-align: left;
  font-size: 0.75rem;
  padding: 0.5em;
  text-align: center;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.account-orders-table th a, .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.account-orders-table td a {
  color: #222222;
  background: #ffffff;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.account-orders-table th {
  background-color: #ffffff;
  font-weight: bold;
}

/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .woocommerce-account {
    /*
    max-width: 1000px;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
    */
  }
}
/* アニメーション定義: 回転 (Spin) */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.page-contact .page-content {
  width: 100%;
}
.page-contact .page-content p {
  margin-bottom: 30px;
  width: 100%;
}
.page-contact .page-content textarea {
  height: 200px;
}
.page-contact .page-content .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin-top: 5px;
  box-sizing: border-box;
}
.page-contact .page-content input[type=submit],
.page-contact .page-content button[type=submit] {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  background-color: #222222;
  color: #ffffff;
  font-weight: bold;
  letter-spacing: 0.05em;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity 0.3s;
  text-align: center;
  appearance: none;
}
.page-contact .page-content input[type=submit]:hover,
.page-contact .page-content button[type=submit]:hover {
  opacity: 0.8;
  background-color: #333;
}
.page-contact .page-content {
  /* エラーメッセージ（入力欄下） */
}
.page-contact .page-content .wpcf7-not-valid-tip {
  color: #d32f2f;
  display: block;
}
.page-contact .page-content {
  /* 送信結果メッセージボックス */
}
.page-contact .page-content .wpcf7-response-output {
  border-radius: 4px;
  text-align: center;
  border: 1px solid transparent;
  box-sizing: border-box;
  width: 100%;
  display: none;
}
.page-contact .page-content {
  /* 表示制御：成功 */
}
.page-contact .page-content form.sent .wpcf7-response-output,
.page-contact .page-content .wpcf7-mail-sent-ok {
  display: block !important;
  border-color: #222222;
  background-color: #ffffff;
  color: #222222;
}
.page-contact .page-content {
  /* 表示制御：エラー */
}
.page-contact .page-content form.invalid .wpcf7-response-output,
.page-contact .page-content form.unaccepted .wpcf7-response-output,
.page-contact .page-content form.spam .wpcf7-response-output,
.page-contact .page-content form.failed .wpcf7-response-output,
.page-contact .page-content .wpcf7-validation-errors {
  display: block !important;
  border-color: #d32f2f;
  background-color: #fff;
  color: #d32f2f;
}
.page-contact .page-content {
  /* ローディングアイコン */
}
.page-contact .page-content .wpcf7-spinner, .page-contact .page-content .ajax-loader {
  width: 24px !important;
  height: 24px !important;
  background-color: transparent !important;
  border: 3px solid #cecdc9 !important;
  border-top-color: #222222 !important;
  border-radius: 50% !important;
  display: block !important;
  animation: spin 1s linear infinite;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}
.page-contact .page-content .wpcf7-spinner.is-active, .page-contact .page-content .is-active.ajax-loader {
  visibility: visible !important;
  opacity: 1 !important;
}
/* マップにキーが存在するか確認 */
@media screen and (min-width: 768px) {
  .page-contact .page-content {
    width: 80%;
    margin: 0 auto;
  }
}
.law {
  max-width: 1080px;
  margin: 0 auto;
}
.law p {
  margin-bottom: 15px;
}
.law hr {
  margin: 30px 0;
}

/* マップにキーが存在するか確認 */

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