/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./scss/woocommerce.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap);
/*!**************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[3]!./scss/woocommerce.scss (1) ***!
  \**************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* -------------------------------------------------------------------
  default colors
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  default web-font
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  default spacing
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  hover anitionの適用（～xまで）
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  default font-size
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  font rem計算
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  各種rem計算（font以外）
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  flex時のgapを差し引いた横幅計算
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  アスペクト比固定
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  vw変換
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  background
------------------------------------------------------------------- */
.background__base {
  background-color: #F6FAFD;
}
.background__white {
  background-color: white;
}
.background__main {
  background-color: #228CC6;
}

/* -------------------------------------------------------------------
  display
------------------------------------------------------------------- */
.d-inline {
  display: inline;
}
.d-inline-block {
  display: inline-block;
}
.d-block {
  display: block;
}
.d-flex {
  display: flex;
}

/* -------------------------------------------------------------------
  show and hide
------------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  .--sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .--pc {
    display: none !important;
  }
}
/* -------------------------------------------------------------------
  margin / padding
------------------------------------------------------------------- */
.mt-high {
  margin-top: clamp(32px, 5.2083333333vw, 48px);
}
.mt-middle {
  margin-top: clamp(24px, 4.1666666667vw, 40px);
}
.mt-low {
  margin-top: clamp(16px, 2.6041666667vw, 24px);
}
.mt-0 {
  margin-top: 0rem !important;
}

.mr-high {
  margin-right: clamp(32px, 5.2083333333vw, 48px);
}
.mr-middle {
  margin-right: clamp(24px, 4.1666666667vw, 40px);
}
.mr-low {
  margin-right: clamp(16px, 2.6041666667vw, 24px);
}
.mr-0 {
  margin-right: 0rem !important;
}

.mb-high {
  margin-bottom: clamp(32px, 5.2083333333vw, 48px);
}
.mb-middle {
  margin-bottom: clamp(24px, 4.1666666667vw, 40px);
}
.mb-low {
  margin-bottom: clamp(16px, 2.6041666667vw, 24px);
}
.mb-0 {
  margin-bottom: 0rem !important;
}

.ml-high {
  margin-left: clamp(32px, 5.2083333333vw, 48px);
}
.ml-middle {
  margin-left: clamp(24px, 4.1666666667vw, 40px);
}
.ml-low {
  margin-left: clamp(16px, 2.6041666667vw, 24px);
}
.ml-0 {
  margin-left: 0rem !important;
}

.mx-high {
  margin-inline: clamp(32px, 5.2083333333vw, 48px);
}
.mx-middle {
  margin-inline: clamp(24px, 4.1666666667vw, 40px);
}
.mx-low {
  margin-inline: clamp(16px, 2.6041666667vw, 24px);
}
.mx-0 {
  margin-inline: 0rem !important;
}

.my-high {
  margin-block: clamp(32px, 5.2083333333vw, 48px);
}
.my-middle {
  margin-block: clamp(24px, 4.1666666667vw, 40px);
}
.my-low {
  margin-block: clamp(16px, 2.6041666667vw, 24px);
}
.my-0 {
  margin-block: 0rem !important;
}

.ma-high {
  margin: clamp(32px, 5.2083333333vw, 48px);
}
.ma-middle {
  margin: clamp(24px, 4.1666666667vw, 40px);
}
.ma-low {
  margin: clamp(16px, 2.6041666667vw, 24px);
}
.ma-0 {
  margin: 0rem !important;
}

.pt-high {
  padding-top: clamp(32px, 5.2083333333vw, 48px);
}
.pt-middle {
  padding-top: clamp(24px, 4.1666666667vw, 40px);
}
.pt-low {
  padding-top: clamp(16px, 2.6041666667vw, 24px);
}
.pt-0 {
  padding-top: 0rem !important;
}

.pr-high {
  padding-right: clamp(32px, 5.2083333333vw, 48px);
}
.pr-middle {
  padding-right: clamp(24px, 4.1666666667vw, 40px);
}
.pr-low {
  padding-right: clamp(16px, 2.6041666667vw, 24px);
}
.pr-0 {
  padding-right: 0rem !important;
}

.pb-high {
  padding-bottom: clamp(32px, 5.2083333333vw, 48px);
}
.pb-middle {
  padding-bottom: clamp(24px, 4.1666666667vw, 40px);
}
.pb-low {
  padding-bottom: clamp(16px, 2.6041666667vw, 24px);
}
.pb-0 {
  padding-bottom: 0rem !important;
}

.pl-high {
  padding-left: clamp(32px, 5.2083333333vw, 48px);
}
.pl-middle {
  padding-left: clamp(24px, 4.1666666667vw, 40px);
}
.pl-low {
  padding-left: clamp(16px, 2.6041666667vw, 24px);
}
.pl-0 {
  padding-left: 0rem !important;
}

.px-high {
  padding-inline: clamp(32px, 5.2083333333vw, 48px);
}
.px-middle {
  padding-inline: clamp(24px, 4.1666666667vw, 40px);
}
.px-low, .inner, .inner__thin {
  padding-inline: clamp(16px, 2.6041666667vw, 24px);
}
.px-0 {
  padding-inline: 0rem !important;
}

.py-high {
  padding-block: clamp(32px, 5.2083333333vw, 48px);
}
.py-middle {
  padding-block: clamp(24px, 4.1666666667vw, 40px);
}
.py-low {
  padding-block: clamp(16px, 2.6041666667vw, 24px);
}
.py-0 {
  padding-block: 0rem !important;
}

.pa-high {
  padding: clamp(32px, 5.2083333333vw, 48px);
}
.pa-middle {
  padding: clamp(24px, 4.1666666667vw, 40px);
}
.pa-low, .section-search__inner {
  padding: clamp(16px, 2.6041666667vw, 24px);
}
.pa-0 {
  padding: 0rem !important;
}

/* -------------------------------------------------------------------
  layout
------------------------------------------------------------------- */
.section {
  margin-bottom: clamp(28px, 4.6223958333vw, 43px);
}

.inner {
  width: clamp(832px, 109.375vw, 848px);
  margin-inline: auto;
  max-width: 100%;
}
.inner__wide, .footer__inner {
  width: 1280px;
  max-width: 100%;
  margin-inline: auto;
}
.inner__thin {
  width: clamp(632px, 83.3333333333vw, 648px);
  margin-inline: auto;
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .inner.--over {
    padding-inline: 0;
  }
}
/* -------------------------------------------------------------------
  header
------------------------------------------------------------------- */
.header {
  position: relative;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  background-color: white;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(4px, 0.7161458333vw, 7px) clamp(16px, 3.6458333333vw, 40px) 0.5rem;
  border-bottom: 1px solid #F1F2F2;
}
.header__logo-text {
  margin: 0;
  font-size: clamp(10px, 1.4322916667vw, 12px);
  font-weight: 400;
}
.header__logo-img {
  width: clamp(170px, 26.4973958333vw, 237px);
  height: auto;
}

/* -------------------------------------------------------------------
  header-nav
------------------------------------------------------------------- */
.header-nav {
  width: 375px;
  margin-inline: auto;
}
.header-nav__btn {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  align-items: center;
  cursor: pointer;
}
.header-nav__btn-burger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: clamp(24px, 3.6458333333vw, 32px);
  height: clamp(14px, 2.0833333333vw, 18px);
}
.header-nav__btn-burger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #228CC6;
  transition: all 0.3s linear;
}
.--on .header-nav__btn-burger span:nth-child(1) {
  transform: rotate(29deg);
  transform-origin: left top;
}
.--on .header-nav__btn-burger span:nth-child(2) {
  width: 0;
}
.--on .header-nav__btn-burger span:nth-child(3) {
  transform: rotate(-29deg);
  transform-origin: left bottom;
}
.header-nav__btn-text {
  line-height: 1;
}
.header-nav__btn-text::before {
  content: "メニュー";
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: clamp(10px, 1.5625vw, 14px);
  color: #228CC6;
}
.--on .header-nav__btn-text::before {
  content: "閉じる";
  margin-inline: 0.5em;
}
.header-nav__ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.header-nav__ul li {
  border-bottom: 1px solid #F1F2F2;
}
.header-nav__ul li > a {
  display: block;
  padding: 1rem;
  color: #228CC6;
  text-decoration: none;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
}
.header-nav__contents {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  transition: transform 0.3s width;
}
.--on .header-nav__contents {
  transition: transform 0.3s width;
  width: 100%;
}
.header-nav__contents-inner {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(110%);
  overflow-y: scroll;
  background-color: white;
  width: 100%;
  transition: transform 0.3s linear;
}
.--on .header-nav__contents-inner {
  transform: translateX(0);
}
.header-nav__contents-inner::-webkit-scrollbar {
  width: 5px;
}
.header-nav__contents-inner::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.header-nav__contents-inner::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}
.header-nav__contents-btns {
  display: grid;
  justify-content: center;
  row-gap: 0.5rem;
  padding-block: 2.6666666667rem;
}

/* -------------------------------------------------------------------
  768px以上
------------------------------------------------------------------- */
@media screen and (min-width: 600px) {
  .header-nav {
    width: 412px;
  }
  .header-nav__ul li > a {
    font-size: 1.1333333333rem;
  }
  .header-nav__contents-inner {
    width: 540px;
    padding-top: 2.6666666667rem;
    box-shadow: -4px 4px 8px 0px rgba(34, 140, 198, 0.16);
  }
  .header-nav__contents-btns {
    padding-block: 4.2666666667rem 2.6666666667rem;
  }
}
/* -------------------------------------------------------------------
  footer
------------------------------------------------------------------- */
.footer {
  margin-top: clamp(80px, 15.625vw, 160px);
  background-color: #515456;
}
.footer__inner {
  padding: clamp(40px, 6.7708333333vw, 64px) clamp(16px, 3.6458333333vw, 40px) 1rem;
}
.footer__copy {
  display: block;
  margin-top: clamp(40px, 6.7708333333vw, 64px);
  color: white;
  font-size: 10px;
  text-align: center;
}
.footer__copy a {
  color: white;
  text-decoration: none;
}
.footer-nav__ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 1rem 2rem;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.footer-nav a {
  color: white;
  text-decoration: none;
  font-size: clamp(12px, 1.6927083333vw, 14px);
}
.footer-nav a:hover {
  color: white;
}

@media screen and (min-width: 768px) {
  .footer-nav__ul {
    flex-direction: row;
    justify-content: center;
  }
}
/* -------------------------------------------------------------------
  title
------------------------------------------------------------------- */
.title__main {
  position: relative;
  padding-top: clamp(32px, 7.2916666667vw, 80px);
  padding-left: clamp(0px, 1.0416666667vw, 16px);
  color: #228CC6;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  font-size: clamp(24px, 3.6458333333vw, 32px);
}
.title__main::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * clamp(38px, 6.25vw, 58px));
  display: block;
  width: clamp(108px, 20.3125vw, 204px);
  height: clamp(98px, 18.4244791667vw, 185px);
  background-color: #2A2C2E;
  border-radius: 50%;
  background: linear-gradient(136.07deg, rgba(34, 140, 198, 0.15) 22.34%, rgba(34, 140, 198, 0) 74.1%);
  filter: blur(10px);
}
.title__main-text {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #228CC6;
}
.title__main--center, .title__main.--center {
  text-align: center;
}
.title__sub {
  color: #2A2C2E;
}
.title__mini {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #228CC6;
  font-weight: 700;
}
.title__text, .single-product .woocommerce-notices-wrapper + .product .related > h2, .woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
.woocommerce-address-fields > h3, #order_review_heading, .woocommerce-order-received h2, .woocommerce-account h2,
.woocommerce-account h3 {
  margin-bottom: 1rem;
  color: #228CC6;
  font-weight: 700;
  font-size: 1.2rem;
}

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

table,
.table,
.table-scroll,
.woocommerce-MyAccount-orders {
  width: 100%;
  position: relative;
}
table tr,
.table tr,
.table-scroll tr,
.woocommerce-MyAccount-orders tr {
  position: relative;
}
table th, table td,
.table th,
.table td,
.table-scroll th,
.woocommerce-MyAccount-orders th,
.table-scroll td,
.woocommerce-MyAccount-orders td {
  padding-block: clamp(24px, 4.1666666667vw, 40px);
  padding-left: clamp(12px, 2.734375vw, 30px);
  border-bottom: 1px solid #228CC6;
}
table th,
.table th,
.table-scroll th,
.woocommerce-MyAccount-orders th {
  text-align: left;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  vertical-align: baseline;
  min-width: 6em;
}
table__remark,
.table__remark,
.table-scroll__remark {
  padding-top: 0.5rem;
  text-align: right;
  font-size: 0.75rem;
}
table.--price th, table.--price td,
.table.--price th,
.table.--price td,
.table-scroll.--price th,
.--price.woocommerce-MyAccount-orders th,
.table-scroll.--price td,
.--price.woocommerce-MyAccount-orders td {
  font-weight: bold;
}
table.--price th,
.table.--price th,
.table-scroll.--price th,
.--price.woocommerce-MyAccount-orders th {
  font-size: min(1.25rem, 3.7333333333vw);
}
table.--price td,
.table.--price td,
.table-scroll.--price td,
.--price.woocommerce-MyAccount-orders td {
  text-align: right;
  font-size: min(1.25rem, 4.8vw);
  padding-right: min(2rem, 3.2vw);
}
table.--price td small,
.table.--price td small,
.table-scroll.--price td small,
.--price.woocommerce-MyAccount-orders td small {
  font-size: min(1.25rem, 3.2vw);
}

.table-scroll__wrap {
  overflow: auto;
  white-space: nowrap;
  margin: 1em 0;
}
.table-scroll::-webkit-scrollbar, .woocommerce-MyAccount-orders::-webkit-scrollbar {
  height: 5px;
}
.table-scroll::-webkit-scrollbar-track, .woocommerce-MyAccount-orders::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.table-scroll::-webkit-scrollbar-thumb, .woocommerce-MyAccount-orders::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}

@media screen and (max-width: 767px) {
  .table tr {
    display: grid;
    gap: 0.5rem;
  }
  .table th {
    padding-bottom: 0;
    padding-left: 0;
    border-bottom: 0;
  }
  .table td {
    padding-top: 0;
    padding-left: 0;
  }
}
/* -------------------------------------------------------------------
  main-sub
------------------------------------------------------------------- */
.main-sub {
  position: relative;
  margin-bottom: clamp(40px, 7.8125vw, 80px);
}
.main-sub__contents {
  padding-top: clamp(0px, 3.2552083333vw, 50px);
}
.main-sub__title {
  margin-top: 0;
  padding-top: clamp(63px, 10.6119791667vw, 100px);
}

.breadcrumbs {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  background-color: white;
  border-bottom: 1px solid #F1F2F2;
  font-size: clamp(10px, 1.4322916667vw, 12px);
}
.breadcrumbs__inner {
  margin-inline: 0;
  padding-inline: clamp(16px, 6.25vw, 80px);
  padding-block: 0.25rem;
}
.breadcrumbs__inner > span {
  color: #228CC6;
}
.breadcrumbs__inner > span a, .breadcrumbs__inner > span span {
  text-decoration: none;
  color: #2A2C2E;
}
.breadcrumbs span {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?k92fvz");
  src: url("../fonts/icomoon.eot?k92fvz#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff2?k92fvz") format("woff2"), url("../fonts/icomoon.ttf?k92fvz") format("truetype"), url("../fonts/icomoon.woff?k92fvz") format("woff"), url("../fonts/icomoon.svg?k92fvz#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-l:before {
  content: "\e900";
  color: #515456;
}

.icon-arrow-r:before {
  content: "\e908";
  color: #515456;
}

.icon-crown:before {
  content: "\e901";
  color: #ffdb1c;
}

.icon-doctor:before {
  content: "\e902";
  color: #228cc6;
}

.icon-instagram:before {
  content: "\e903";
  color: #515456;
}

.icon-new:before {
  content: "\e905";
  color: #228cc6;
}

.icon-search:before {
  content: "\e906";
  color: #228cc6;
}

.icon-user:before {
  content: "\e907";
  color: #fca421;
}

.icon-x:before {
  content: "\e904";
  color: #515456;
}

/* -------------------------------------------------------------------
  btn-block
------------------------------------------------------------------- */
.btn-block, .products .added_to_cart, .button, .woocommerce-MyAccount-navigation ul li a, .woocommerce-account h2 + a.edit,
.woocommerce-account h3 + a.edit {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.5em;
  min-width: 250px;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  padding: 0.7333333333rem 1.0666666667rem;
  border: 1px solid #228CC6;
  border-radius: 4px;
  font-weight: bold;
  text-decoration: none;
  outline: 0 !important;
  cursor: pointer;
}
.btn-block.--info, .woocommerce-MyAccount-navigation ul li a.--info, .btn-block__info, .woocommerce-common .button, .woocommerce-error .button, .woocommerce-message .button, .products .added_to_cart, .button, .cart-collaterals .checkout-button,
.woocommerce-order-details .checkout-button, .woocommerce-checkout-review-order .button, .woocommerce-account h2 + a.edit,
.woocommerce-account h3 + a.edit, .section-search__form-submit__btn {
  background-color: #228CC6;
  border-color: #228CC6;
  color: white;
}
@media screen and (min-width: 600px) {
  .btn-block.--info, .woocommerce-MyAccount-navigation ul li a.--info, .btn-block__info, .woocommerce-common .button, .woocommerce-error .button, .woocommerce-message .button, .products .added_to_cart, .button, .cart-collaterals .checkout-button,
  .woocommerce-order-details .checkout-button, .woocommerce-checkout-review-order .button, .woocommerce-account h2 + a.edit,
  .woocommerce-account h3 + a.edit, .section-search__form-submit__btn {
    transition: all 0.3s linear;
  }
  .btn-block.--info:hover, .woocommerce-MyAccount-navigation ul li a.--info:hover, .btn-block__info:hover, .products .added_to_cart:hover, .button:hover, .cart-collaterals .checkout-button:hover,
  .woocommerce-order-details .checkout-button:hover, .woocommerce-account h2 + a.edit:hover,
  .woocommerce-account h3 + a.edit:hover, .section-search__form-submit__btn:hover {
    background-color: transparent;
    color: #228CC6;
  }
}
.btn-block.--accent, .products .--accent.added_to_cart, .--accent.button, .woocommerce-MyAccount-navigation ul li a.--accent, .woocommerce-account h2 + a.--accent.edit,
.woocommerce-account h3 + a.--accent.edit, .btn-block__accent {
  background-color: #FCA421;
  border-color: #FCA421;
  color: white;
}
@media screen and (min-width: 600px) {
  .btn-block.--accent, .products .--accent.added_to_cart, .--accent.button, .woocommerce-MyAccount-navigation ul li a.--accent, .woocommerce-account h2 + a.--accent.edit,
  .woocommerce-account h3 + a.--accent.edit, .btn-block__accent {
    transition: all 0.3s linear;
  }
  .btn-block.--accent:hover, .products .--accent.added_to_cart:hover, .--accent.button:hover, .woocommerce-MyAccount-navigation ul li a.--accent:hover, .woocommerce-account h2 + a.--accent.edit:hover,
  .woocommerce-account h3 + a.--accent.edit:hover, .btn-block__accent:hover {
    background-color: transparent;
    color: #FCA421;
  }
}
.btn-block.--sub, .products .--sub.added_to_cart, .--sub.button, .woocommerce-MyAccount-navigation ul li a.--sub, .woocommerce-account h2 + a.--sub.edit,
.woocommerce-account h3 + a.--sub.edit, .btn-block__sub {
  background-color: #014C6F;
  border-color: #014C6F;
  color: white;
}
@media screen and (min-width: 600px) {
  .btn-block.--sub, .products .--sub.added_to_cart, .--sub.button, .woocommerce-MyAccount-navigation ul li a.--sub, .woocommerce-account h2 + a.--sub.edit,
  .woocommerce-account h3 + a.--sub.edit, .btn-block__sub {
    transition: all 0.3s linear;
  }
  .btn-block.--sub:hover, .products .--sub.added_to_cart:hover, .--sub.button:hover, .woocommerce-MyAccount-navigation ul li a.--sub:hover, .woocommerce-account h2 + a.--sub.edit:hover,
  .woocommerce-account h3 + a.--sub.edit:hover, .btn-block__sub:hover {
    background-color: transparent;
    color: #014C6F;
  }
}
.btn-block.--round, .products .--round.added_to_cart, .--round.button, .woocommerce-MyAccount-navigation ul li a.--round, .woocommerce-account h2 + a.--round.edit,
.woocommerce-account h3 + a.--round.edit, .btn-block__round {
  padding-inline: 1.6rem;
  border-radius: 2em;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
}
.btn-block.--round::after, .products .--round.added_to_cart::after, .--round.button::after, .woocommerce-MyAccount-navigation ul li a.--round::after, .woocommerce-account h2 + a.--round.edit::after,
.woocommerce-account h3 + a.--round.edit::after, .btn-block__round::after {
  content: "\e908";
  position: absolute;
  right: 1.6rem;
  font-family: icomoon;
  line-height: 1.7;
}
.text-center .btn-block, .text-center .products .added_to_cart, .products .text-center .added_to_cart, .text-center .button, .text-center .woocommerce-MyAccount-navigation ul li a, .woocommerce-MyAccount-navigation ul li .text-center a, .text-center .woocommerce-account h2 + a.edit, .woocommerce-account .text-center h2 + a.edit,
.text-center .woocommerce-account h3 + a.edit,
.woocommerce-account .text-center h3 + a.edit, .btn-block.--center, .products .--center.added_to_cart, .--center.button, .woocommerce-MyAccount-navigation ul li a.--center, .woocommerce-account h2 + a.--center.edit,
.woocommerce-account h3 + a.--center.edit {
  margin-inline: auto;
}

@media screen and (min-width: 600px) {
  .btn-block.--round, .products .--round.added_to_cart, .--round.button, .woocommerce-MyAccount-navigation ul li a.--round, .woocommerce-account h2 + a.--round.edit,
  .woocommerce-account h3 + a.--round.edit {
    transition: all 0.3s linear;
  }
  .btn-block.--round::after, .products .--round.added_to_cart::after, .--round.button::after, .woocommerce-MyAccount-navigation ul li a.--round::after, .woocommerce-account h2 + a.--round.edit::after,
  .woocommerce-account h3 + a.--round.edit::after {
    transition: all 0.3s linear;
  }
  .btn-block.--round:hover, .products .--round.added_to_cart:hover, .--round.button:hover, .woocommerce-MyAccount-navigation ul li a.--round:hover, .woocommerce-account h2 + a.--round.edit:hover,
  .woocommerce-account h3 + a.--round.edit:hover {
    background-color: #228CC6;
    color: white;
  }
  .btn-block.--round:hover::after, .products .--round.added_to_cart:hover::after, .--round.button:hover::after, .woocommerce-MyAccount-navigation ul li a.--round:hover::after, .woocommerce-account h2 + a.--round.edit:hover::after,
  .woocommerce-account h3 + a.--round.edit:hover::after {
    border-color: white;
    right: 1.0666666667rem;
  }
}
.post-content p,
.editor-area p {
  text-align: justify;
  line-height: 2;
}
.post-content b,
.editor-area b {
  color: #228CC6;
  font-size: 1.2em;
}
.post-content img,
.editor-area img {
  margin-bottom: calc(1.6rem - 1em);
}

.post-links:not(.--only-next) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.post-links__next, .post-links__prev {
  font-size: 0.8rem;
  text-decoration: none;
  color: #777;
}
.post-links__next {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.5em;
}
.post-links__next::after {
  content: "→";
  flex-shrink: 0;
}
.post-links__prev {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.5em;
}
.post-links__prev::before {
  content: "←";
  flex-shrink: 0;
}

/* -------------------------------------------------------------------
  base
------------------------------------------------------------------- */
html,
body {
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
}

body {
  font-size: 15px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #2A2C2E;
  background-color: #ffffff;
  width: 100%;
  overflow-x: hidden;
}
body.--on {
  overflow: hidden;
}

a {
  color: #228CC6;
  text-decoration: underline;
}
@media screen and (min-width: 600px) {
  a {
    transition: 0.3s linear color;
  }
  a:hover {
    color: #228CC6;
  }
  a img {
    transition: 0.3s linear opacity;
  }
  a img:hover {
    opacity: 0.5;
  }
}

p {
  text-align: justify;
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

img,
svg {
  vertical-align: bottom;
  max-width: 100%;
}

img {
  height: auto;
}

figure {
  margin: 0;
}

* {
  box-sizing: border-box;
}

h2, h3, h4, h5 {
  margin: 0;
}

ol, ul {
  margin-top: 0;
  padding-left: 1.5em;
}

.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}

.flex-column {
  display: flex;
  flex-direction: column;
  row-gap: 2.6666666667rem;
}
.flex-column__item {
  margin: 0;
}
.--border .flex-column__item:not(:first-child) {
  padding-top: 2.6666666667rem;
  border-top: 1px solid #228CC6;
}
.flex-column__item-dt {
  margin-bottom: 0.5rem;
  font-weight: bold;
}
.flex-column__item-dt a {
  color: #2A2C2E;
}
.flex-column__item-dd {
  margin-left: 0;
  font-size: 14px;
}

.content-catch {
  text-align: center;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: clamp(20px, 2.8645833333vw, 24px);
  font-weight: 500;
  color: #228CC6;
}
.content-catch .--large {
  font-size: 1.2em;
}

.section-search {
  background-color: #F6FAFD;
  border-top: 2px solid #228CC6;
}
.section-search__inner {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
}
.section-search__title {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: clamp(20px, 2.8645833333vw, 24px);
  font-weight: 500;
  color: #228CC6;
}
.section-search__title::before {
  content: "\e906";
  font-family: icomoon;
  margin-right: clamp(4px, 0.78125vw, 8px);
}
.section-search__form {
  display: flex;
  -moz-column-gap: 4px;
       column-gap: 4px;
  margin-top: clamp(8px, 1.5625vw, 16px);
}
.section-search__form-input {
  width: 250px;
  padding: 0.5rem 1rem;
  border: 2px solid #228CC6;
  border-radius: 4px;
  font-size: 0.9333333333rem;
}
.section-search__form-submit {
  flex-shrink: 0;
}
.section-search__form-submit__btn {
  height: 100%;
  padding-inline: 1rem;
  border-radius: 4px;
  font-size: 0.9333333333rem;
  font-weight: 700;
}
.section-search__form-submit__btn::before {
  content: "\e906";
  font-family: icomoon;
  margin-right: 4px;
}
.section-search__tags {
  margin-top: 0.5rem;
}

.sticky-cvp {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  transform: translateY(100%);
  transition: 0.3s linear transform;
}
.sticky-cvp.--sticky {
  transform: translateY(0%);
}
.sticky-cvp__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  -moz-column-gap: clamp(3px, 1.2369791667vw, 16px);
       column-gap: clamp(3px, 1.2369791667vw, 16px);
  max-width: 526px;
  margin-inline: auto;
  padding: 0.5rem 0.5rem;
}
.sticky-cvp__inner .btn-block, .sticky-cvp__inner .products .added_to_cart, .products .sticky-cvp__inner .added_to_cart, .sticky-cvp__inner .button, .sticky-cvp__inner .woocommerce-MyAccount-navigation ul li a, .woocommerce-MyAccount-navigation ul li .sticky-cvp__inner a, .sticky-cvp__inner .woocommerce-account h2 + a.edit, .woocommerce-account .sticky-cvp__inner h2 + a.edit,
.sticky-cvp__inner .woocommerce-account h3 + a.edit,
.woocommerce-account .sticky-cvp__inner h3 + a.edit {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  text-align: center;
  font-size: clamp(14px, 1.953125vw, 16px);
}

/* -------------------------------------------------------------------
  1024px以上
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  768px以上
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  767以下
------------------------------------------------------------------- */
/* -------------------------------------------------------------------
  contact-item
------------------------------------------------------------------- */
.contact-item:not(:first-child), .contact-item__radio:not(:first-child), .contact-item__textarea:not(:first-child) {
  margin-top: 1.5rem;
}
.contact-item > br, .contact-item__radio > br, .contact-item__textarea > br {
  display: none;
}
.contact-item small, .contact-item__radio small, .contact-item__textarea small {
  display: block;
  margin-bottom: 0.5rem;
}
.contact-item__label {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  margin-bottom: 0.25rem;
  font-size: 0.9333333333rem;
  font-weight: 700;
}
.contact-item__label.--require::after {
  content: "必須";
  font-size: 0.8rem;
  color: #FC4821;
}
.contact-item__textarea p:not(.contact-item__contents-remark) {
  display: none;
}
.contact-item__radio .contact-item__label {
  margin-bottom: 0.8666666667rem;
}
.contact-item__contents {
  position: relative;
}
.contact-item__contents-count {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}
.contact-item__contents-remark {
  padding-inline: 1rem;
  color: #FCA421;
  font-size: 0.9333333333rem;
}
.contact-item__privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}
.contact-item__privacy .contact-item__label {
  font-weight: 400;
}
.contact-item__privacy a {
  color: #2A2C2E;
  font-weight: 700;
}
.contact-item__submit {
  margin-top: 1rem;
}

.mwform-radio-field.vertical-item {
  padding-left: 1rem;
}

.mw_wp_form_send_error {
  text-align: center;
}

input:not([type=radio], [type=select], [type=checkbox]),
textarea,
select {
  outline: 1px solid #ccc;
  border: 0;
  border-radius: 3px;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=time],
input[type=date],
input[type=number],
input[type=url],
input[type=password],
select,
textarea {
  max-width: 100%;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  background-color: #F1F2F2;
  border-radius: 0.25rem;
  outline-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  transition: background-color 0.3s linear;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=time]:focus,
input[type=date]:focus,
input[type=number]:focus,
input[type=url]:focus,
input[type=password]:focus,
select:focus,
textarea:focus {
  background-color: #FBFBFB;
}
input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=date]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=password]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #a6aaad;
}
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=time]::placeholder,
input[type=date]::placeholder,
input[type=number]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #a6aaad;
}

input[type=text], input[type=email], input[type=url] {
  width: 250px;
}
input[name=detail] {
  width: 100%;
}

textarea {
  width: 100%;
  padding: 1rem 1rem 4rem;
}

input,
textarea,
select {
  font-size: 0.9333333333rem;
}

select[name=age], select[name=sex] {
  width: 176px;
}

.mwform-tel-field input {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  max-width: 28%;
}

/* -------------------------------------------------------------------
  content-box
------------------------------------------------------------------- */
.content-box, .woocommerce-checkout-payment {
  display: grid;
  gap: 1.6rem;
  padding: 2.4rem 1.6rem 2.6666666667rem;
  border-radius: 4px;
}
.content-box__title {
  text-align: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  margin-bottom: 0;
}
.content-box__description {
  margin: 0 auto;
  font-size: 0.9333333333rem;
  text-align: justify;
  line-height: 1.5;
}
.content-box__description a {
  font-weight: 700;
  color: #2A2C2E;
}
.content-box__btn {
  text-align: center;
}
.content-box__btn a {
  margin-inline: auto;
}
.content-box.--narrow, .content-box__narrow, .woocommerce-checkout-payment {
  gap: 1.0666666667rem;
}
.content-box.--info, .content-box__info, .woocommerce-checkout-payment {
  background-color: #F1F2F2;
}
.content-box.--accent, .--accent.woocommerce-checkout-payment, .content-box__accent {
  background-color: #FFF8ED;
}
.content-box.--no-radius, .--no-radius.woocommerce-checkout-payment {
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  .content-box__description {
    text-align: center;
  }
}
.woocommerce-common, .woocommerce-message, .woocommerce-error {
  display: grid;
  gap: 0.5rem 1rem;
  margin-bottom: 2.5rem;
  padding: 1rem;
  background-color: #F6FAFD;
}
.woocommerce-common .button, .woocommerce-message .button, .woocommerce-error .button {
  margin-inline: auto;
}
.woocommerce-error {
  padding-left: 2.5rem;
  background-color: #fff7ea;
}
.woocommerce-message {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.woocommerce .required {
  color: #FCA421;
}

.wc-empty-cart-message {
  margin-block: 1rem 2.5rem;
}

.products {
  padding-left: 0;
  list-style-type: none;
}
.products.columns-4, .products.columns-3, .products.columns-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 1rem;
  grid-template-columns: repeat(auto-fit, minmax(163px, 1fr));
}
.products.columns-4 .product, .products.columns-3 .product, .products.columns-2 .product {
  max-width: 255px;
}
.products .button,
.products .added_to_cart {
  min-width: 155px;
  margin-top: 1rem;
  margin-inline: auto;
  padding-block: 0.5rem;
  font-weight: 700;
  font-size: 0.9333333333rem;
}
.products .added_to_cart {
  margin-top: 0.5rem;
}

.woocommerce-ordering {
  margin-bottom: 2rem;
  text-align: right;
}
.woocommerce-loop-product__link {
  display: block;
  text-decoration: none;
  color: #2A2C2E;
}
.woocommerce-loop-product__link .attachment-woocommerce_thumbnail {
  margin-bottom: 1rem;
}
.woocommerce-loop-product__link .price {
  font-weight: 700;
  font-size: 0.8666666667rem;
}
.woocommerce-loop-product__title {
  margin-bottom: 0.25rem;
  font-weight: 700;
  font-size: 0.9333333333rem;
}

.single-product .woocommerce-notices-wrapper + .product {
  display: grid;
  gap: 1.5rem;
}
.single-product .woocommerce-notices-wrapper + .product .entry-summary .entry-title {
  margin-block: 0 0.5rem;
  font-size: 1.125rem;
}
.single-product .woocommerce-notices-wrapper + .product .entry-summary .price {
  margin-bottom: 1.5rem;
  font-weight: 700;
}
.single-product .woocommerce-notices-wrapper + .product .entry-summary .cart {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 0.5rem;
}
.single-product .woocommerce-notices-wrapper + .product .entry-summary .cart .input-text.qty {
  height: 100%;
}
.single-product .woocommerce-notices-wrapper + .product .woocommerce-tabs {
  margin-top: 1rem;
}
.single-product .woocommerce-notices-wrapper + .product .woocommerce-tabs > ul {
  display: none;
}
.single-product .woocommerce-notices-wrapper + .product .woocommerce-tabs .woocommerce-Tabs-panel > h2 {
  display: none;
}
.single-product .woocommerce-notices-wrapper + .product .related {
  margin-top: 3rem;
}
.shop_table:not(.woocommerce-MyAccount-orders) {
  display: grid;
}
.shop_table:not(.woocommerce-MyAccount-orders) th,
.shop_table:not(.woocommerce-MyAccount-orders) td {
  padding: 1.5rem 0.5rem;
  border-color: #F1F2F2;
}
.shop_table:not(.woocommerce-MyAccount-orders) tr {
  display: grid;
  border-bottom: 0;
}
.shop_table:not(.woocommerce-MyAccount-orders) tr td, .shop_table:not(.woocommerce-MyAccount-orders) tr th {
  border: 0;
}
.shop_table:not(.woocommerce-MyAccount-orders) .woocommerce-cart-form__cart-item,
.shop_table:not(.woocommerce-MyAccount-orders) thead tr {
  grid-template-columns: 2em calc(117px + 1rem) auto 100px 80px 100px;
  align-items: center;
  border-bottom: 1px solid #F1F2F2;
}

.order-total .includes_tax {
  display: block;
  text-align: right;
}

.woocommerce-cart-form .shop_table .product-remove a {
  color: #2A2C2E;
  text-decoration: none;
}
.woocommerce-cart-form .shop_table .product-name a {
  color: #2A2C2E;
}
.woocommerce-cart-form .shop_table .product-thumbnail > a {
  display: block;
  aspect-ratio: 1;
  width: 100%;
  width: 117px;
}
.woocommerce-cart-form .shop_table .product-thumbnail > a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.woocommerce-cart-form .shop_table .product-quantity .input-text {
  width: 64px;
}
.woocommerce-cart-form .shop_table .product-price, .woocommerce-cart-form .shop_table .product-subtotal {
  text-align: right;
}
.woocommerce-cart-form .shop_table thead tr .product-price, .woocommerce-cart-form .shop_table thead tr .product-subtotal {
  text-align: left;
}
.woocommerce-cart-form .shop_table .actions {
  padding-right: 0;
}
.woocommerce-cart-form .shop_table .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #F1F2F2;
}
.woocommerce-cart-form .shop_table button[name=update_cart] {
  margin-left: auto;
}

.cart-collaterals,
.woocommerce-order-details {
  width: 343px;
  margin-top: clamp(40px, 7.8125vw, 80px);
  margin-left: auto;
}
.cart-collaterals .cart_totals > h2,
.woocommerce-order-details .cart_totals > h2 {
  margin-bottom: 1rem;
}
.cart-collaterals .shop_table tr,
.woocommerce-order-details .shop_table tr {
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #F1F2F2;
}
.cart-collaterals .shop_table td,
.woocommerce-order-details .shop_table td {
  text-align: right;
}
.cart-collaterals .checkout-button,
.woocommerce-order-details .checkout-button {
  margin-inline: auto;
}

form.woocommerce-checkout {
  display: grid;
  gap: 2rem 1rem;
  grid-template-rows: auto auto 1fr auto;
  grid-template-columns: repeat(2, minmax(343px, 1fr));
  grid-template-areas: "checkout_notice checkout_notice" "checkout_detail checkout_title" "checkout_detail checkout" "checkout_remark checkout";
}
form.woocommerce-checkout > .col2-set {
  display: contents;
}
form.woocommerce-checkout > .col2-set > .col-1 {
  -ms-grid-row: 3;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: checkout_detail;
}
form.woocommerce-checkout > .col2-set > .col-2 {
  -ms-grid-row: 7;
  -ms-grid-column: 1;
  grid-area: checkout_remark;
}
form.woocommerce-checkout #order_review_heading {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: checkout_title;
}
form.woocommerce-checkout .woocommerce-checkout-review-order {
  -ms-grid-row: 5;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  grid-area: checkout;
}
form.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: checkout_notice;
}
form.woocommerce-checkout .woocommerce-error {
  margin-bottom: 0;
}

.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
.woocommerce-address-fields > h3 {
  margin-bottom: 1rem;
}
.woocommerce-billing-fields p,
.woocommerce-shipping-fields p,
.woocommerce-additional-fields p,
.woocommerce-address-fields p {
  text-align: left;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-order-details__field-wrapper,
.woocommerce-address-fields__field-wrapper,
.woocommerce-EditAccountForm__field-wrapper,
.woocommerce-ResetPassword__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.woocommerce-billing-fields__field-wrapper p,
.woocommerce-additional-fields__field-wrapper p,
.woocommerce-additional-fields__field-wrapper p,
.woocommerce-order-details__field-wrapper p,
.woocommerce-address-fields__field-wrapper p,
.woocommerce-EditAccountForm__field-wrapper p,
.woocommerce-ResetPassword__field-wrapper p {
  margin: 0;
  text-align: left;
}
.woocommerce-billing-fields .form-row,
.woocommerce-additional-fields .form-row,
.woocommerce-additional-fields .form-row,
.woocommerce-order-details .form-row,
.woocommerce-address-fields .form-row,
.woocommerce-EditAccountForm .form-row,
.woocommerce-ResetPassword .form-row {
  display: grid;
  gap: 0.5rem;
}
.woocommerce-billing-fields .form-row input,
.woocommerce-billing-fields .form-row select,
.woocommerce-billing-fields .form-row textarea,
.woocommerce-additional-fields .form-row input,
.woocommerce-additional-fields .form-row select,
.woocommerce-additional-fields .form-row textarea,
.woocommerce-additional-fields .form-row input,
.woocommerce-additional-fields .form-row select,
.woocommerce-additional-fields .form-row textarea,
.woocommerce-order-details .form-row input,
.woocommerce-order-details .form-row select,
.woocommerce-order-details .form-row textarea,
.woocommerce-address-fields .form-row input,
.woocommerce-address-fields .form-row select,
.woocommerce-address-fields .form-row textarea,
.woocommerce-EditAccountForm .form-row input,
.woocommerce-EditAccountForm .form-row select,
.woocommerce-EditAccountForm .form-row textarea,
.woocommerce-ResetPassword .form-row input,
.woocommerce-ResetPassword .form-row select,
.woocommerce-ResetPassword .form-row textarea {
  width: 100%;
}
.woocommerce-billing-fields .form-row-first, .woocommerce-billing-fields .form-row-last,
.woocommerce-additional-fields .form-row-first,
.woocommerce-additional-fields .form-row-last,
.woocommerce-additional-fields .form-row-first,
.woocommerce-additional-fields .form-row-last,
.woocommerce-order-details .form-row-first,
.woocommerce-order-details .form-row-last,
.woocommerce-address-fields .form-row-first,
.woocommerce-address-fields .form-row-last,
.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last,
.woocommerce-ResetPassword .form-row-first,
.woocommerce-ResetPassword .form-row-last {
  width: calc(( 100% / 2 ) - ( ( 1rem * (2 - 1)) / 2 ));
}
.woocommerce-billing-fields .form-row-first input,
.woocommerce-billing-fields .form-row-first select, .woocommerce-billing-fields .form-row-last input,
.woocommerce-billing-fields .form-row-last select,
.woocommerce-additional-fields .form-row-first input,
.woocommerce-additional-fields .form-row-first select,
.woocommerce-additional-fields .form-row-last input,
.woocommerce-additional-fields .form-row-last select,
.woocommerce-additional-fields .form-row-first input,
.woocommerce-additional-fields .form-row-first select,
.woocommerce-additional-fields .form-row-last input,
.woocommerce-additional-fields .form-row-last select,
.woocommerce-order-details .form-row-first input,
.woocommerce-order-details .form-row-first select,
.woocommerce-order-details .form-row-last input,
.woocommerce-order-details .form-row-last select,
.woocommerce-address-fields .form-row-first input,
.woocommerce-address-fields .form-row-first select,
.woocommerce-address-fields .form-row-last input,
.woocommerce-address-fields .form-row-last select,
.woocommerce-EditAccountForm .form-row-first input,
.woocommerce-EditAccountForm .form-row-first select,
.woocommerce-EditAccountForm .form-row-last input,
.woocommerce-EditAccountForm .form-row-last select,
.woocommerce-ResetPassword .form-row-first input,
.woocommerce-ResetPassword .form-row-first select,
.woocommerce-ResetPassword .form-row-last input,
.woocommerce-ResetPassword .form-row-last select {
  width: 100%;
}
.woocommerce-billing-fields .form-row-wide, .woocommerce-billing-fields .form-row.notes,
.woocommerce-additional-fields .form-row-wide,
.woocommerce-additional-fields .form-row.notes,
.woocommerce-additional-fields .form-row-wide,
.woocommerce-additional-fields .form-row.notes,
.woocommerce-order-details .form-row-wide,
.woocommerce-order-details .form-row.notes,
.woocommerce-address-fields .form-row-wide,
.woocommerce-address-fields .form-row.notes,
.woocommerce-EditAccountForm .form-row-wide,
.woocommerce-EditAccountForm .form-row.notes,
.woocommerce-ResetPassword .form-row-wide,
.woocommerce-ResetPassword .form-row.notes {
  width: 100%;
}
.woocommerce-billing-fields .form-row em,
.woocommerce-additional-fields .form-row em,
.woocommerce-additional-fields .form-row em,
.woocommerce-order-details .form-row em,
.woocommerce-address-fields .form-row em,
.woocommerce-EditAccountForm .form-row em,
.woocommerce-ResetPassword .form-row em {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
}

#order_review_heading {
  margin-bottom: 0;
}

.woocommerce-checkout-review-order .shop_table thead th {
  padding-block: 1rem;
}
.woocommerce-checkout-review-order .shop_table tr {
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #F1F2F2;
}
.woocommerce-checkout-review-order .shop_table td {
  text-align: right;
}
.woocommerce-checkout-review-order .includes_tax {
  display: block;
  text-align: right;
}
.woocommerce-checkout-review-order .button {
  margin-inline: auto;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 1rem;
}
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 0.75rem;
}
.woocommerce-checkout .wc_payment_methods {
  margin-left: 0;
  padding-left: 0;
  list-style-type: none;
}
.woocommerce-checkout .wc_payment_method {
  margin-bottom: 0.5rem;
}
.woocommerce-checkout .wc_payment_method .payment_box {
  padding-left: 1.5rem;
  font-size: 0.75rem;
  margin-top: 0.5rem;
}

.woocommerce-order-received h2 {
  margin-bottom: 1rem;
}

.woocommerce-customer-details {
  margin-top: clamp(40px, 7.8125vw, 80px);
}

.woocommerce-order-details,
.woocommerce-customer-details {
  display: none;
}

.woocommerce-MyAccount-navigation ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2.5rem;
  padding-left: 0;
  list-style-type: none;
}
.woocommerce-MyAccount-navigation ul li a {
  font-size: 0.75rem;
  width: 100%;
  height: 100%;
  max-width: 100%;
  min-width: 0;
  padding-inline: 0.5rem;
  place-items: center;
  text-align: center;
}

.woocommerce-account h2,
.woocommerce-account h3 {
  margin-block: 2rem 1rem;
}
.woocommerce-account h2:has(+ .woocommerce-form-login),
.woocommerce-account h3:has(+ .woocommerce-form-login) {
  text-align: center;
}
.woocommerce-account .woocommerce-LostPassword {
  width: 100%;
  text-align: center;
  font-size: 0.75rem;
}

.woocommerce-address-fields__field-wrapper {
  margin-bottom: 1.5rem;
}

button[name=save_address] {
  margin-inline: auto;
}

.woocommerce-EditAccountForm,
.woocommerce-form-login {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.woocommerce-EditAccountForm p,
.woocommerce-form-login p {
  margin-bottom: 0;
  text-align: left;
}
.woocommerce-EditAccountForm fieldset,
.woocommerce-form-login fieldset {
  width: 100%;
  margin-top: 1.5rem;
}
.woocommerce-EditAccountForm fieldset p,
.woocommerce-form-login fieldset p {
  margin-bottom: 0.5rem;
}
.woocommerce-EditAccountForm .button[name=save_account_details],
.woocommerce-form-login .button[name=save_account_details] {
  margin-top: 1.5rem;
}

.woocommerce-form-login {
  max-width: 600px;
  margin-inline: auto;
  justify-content: center;
}
.woocommerce-form-login .form-row input,
.woocommerce-form-login .form-row select,
.woocommerce-form-login .form-row textarea {
  width: 100%;
}
.woocommerce-form-login .form-row-first, .woocommerce-form-login .form-row-last, .woocommerce-form-login .form-row-wide, .woocommerce-form-login .form-row.notes {
  display: grid;
  gap: 0.5rem;
}
.woocommerce-form-login .form-row-first, .woocommerce-form-login .form-row-last {
  width: calc(( 100% / 2 ) - ( ( 1rem * (2 - 1)) / 2 ));
}
.woocommerce-form-login .form-row-first input,
.woocommerce-form-login .form-row-first select, .woocommerce-form-login .form-row-last input,
.woocommerce-form-login .form-row-last select {
  width: 100%;
}
.woocommerce-form-login .form-row-wide, .woocommerce-form-login .form-row.notes {
  width: 100%;
}
.woocommerce-form-login .form-row em {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
}
.woocommerce-form-login .form-row input[name=rememberme] {
  width: auto;
}
.woocommerce-form-login__rememberme {
  display: block;
  text-align: center;
  margin-block: 1.5rem 0.5rem;
}

.woocommerce-ResetPassword {
  max-width: 600px;
  margin-inline: auto;
}
.woocommerce-ResetPassword .form-row-first, .woocommerce-ResetPassword .form-row-last {
  width: 100%;
}

.woocommerce-orders .woocommerce-MyAccount-content {
  overflow-x: scroll;
}

@media screen and (min-width: 768px) {
  .single-product .woocommerce-notices-wrapper + .product {
    grid-template: "gallery summary" auto "gallery tabs" 1fr "related related" auto/minmax(343px, 55%) minmax(343px, 1fr);
  }
  .single-product .woocommerce-notices-wrapper + .product .woocommerce-product-gallery {
    grid-area: gallery;
  }
  .single-product .woocommerce-notices-wrapper + .product .woocommerce-product .entry-summary {
    grid-area: summary;
  }
  .single-product .woocommerce-notices-wrapper + .product .woocommerce-product .woocommerce-tabs {
    grid-area: tabs;
  }
  .single-product .woocommerce-notices-wrapper + .product .related {
    grid-area: related;
  }
}

@media screen and (min-width: 768px){
  .single-product .woocommerce-notices-wrapper + .product .woocommerce-product-gallery {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .single-product .woocommerce-notices-wrapper + .product .woocommerce-product .entry-summary {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .single-product .woocommerce-notices-wrapper + .product .woocommerce-product .woocommerce-tabs {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .single-product .woocommerce-notices-wrapper + .product .related {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
@media screen and (max-width: 768px) {
  form.woocommerce-checkout {
    gap: 2rem 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-template-areas: "checkout_notice" "checkout_detail" "checkout_remark" "checkout_title" "checkout";
  }
  form.woocommerce-checkout > .col2-set > .col-1 {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  form.woocommerce-checkout > .col2-set > .col-2 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  form.woocommerce-checkout #order_review_heading {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
  }
  form.woocommerce-checkout .woocommerce-checkout-review-order {
    -ms-grid-row: 9;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  form.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
}
@media screen and (max-width: 599px) {
  .products.columns-4, .products.columns-3, .products.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
  .products.columns-4 .product, .products.columns-3 .product, .products.columns-2 .product {
    max-width: 100%;
  }
  .woocommerce-cart-form .shop_table thead {
    display: none;
  }
  .woocommerce-cart-form .shop_table th,
  .woocommerce-cart-form .shop_table td:not(.actions) {
    padding-block: 0 1rem;
  }
  .woocommerce-cart-form .shop_table .product-thumbnail {
    display: none;
  }
  .woocommerce-cart-form .shop_table .product-name, .woocommerce-cart-form .shop_table .product-price, .woocommerce-cart-form .shop_table .product-quantity, .woocommerce-cart-form .shop_table .product-subtotal {
    display: flex;
    justify-content: space-between;
    text-align: right;
  }
  .woocommerce-cart-form .shop_table .product-name::before, .woocommerce-cart-form .shop_table .product-price::before, .woocommerce-cart-form .shop_table .product-quantity::before, .woocommerce-cart-form .shop_table .product-subtotal::before {
    font-weight: 700;
  }
  .woocommerce-cart-form .shop_table .product-name::before {
    content: "商品：";
  }
  .woocommerce-cart-form .shop_table .product-price::before {
    content: "金額：";
  }
  .woocommerce-cart-form .shop_table .product-quantity::before {
    content: "数量：";
  }
  .woocommerce-cart-form .shop_table .product-subtotal::before {
    content: "小計：";
    font-weight: 400;
  }
  .woocommerce-cart-form .shop_table .woocommerce-cart-form__cart-item {
    grid-template-columns: 1fr;
  }
}

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