/**
 * Theme Name: matsubaya
 * License: MIT
 *
 * @format
 */

/*
 * 追加の際はこちらに記述をお願いします。
 */

/* 折込チラシ */
.flyer-wrap {
  width: 100%;
  overflow: hidden;
}
.flyer-wrap>.txt{
  width: min(960px,100%);
  margin-inline: auto;
  font-size: 18px;
  margin-bottom: 1em;
  font-weight: 500;
}
.flyer-wrap__inner {
  width: 960px;
  margin-inline: auto;
  transform-origin: top left;
}
.flyer-wrap__inner > iframe {
  display: block;
  width: 960px;
  height: 1500px;
}

:root {
  --color-white: #fff;
  --color-white-b: #E0E6ED;
  --color-black: #0D0D0D;
  --color-black-0: #000;
  --color-black-3: #333;
  --color-gray: #636E72;
  --px-8: calc(8px * .65);
  --px-10: calc(10px * .65);
  --px-13: calc(13px * .65);
  --px-15: calc(15px * .65);
  --px-16: calc(16px * .65);
  --px-20: calc(20px * .65);
  --px-24: calc(24px * .65);
  --px-25: calc(25px * .65);
  --px-28: calc(28px * .65);
  --px-30: calc(30px * .65);
  --px-32: calc(32px * .65);
  --px-34: calc(34px * .65);
  --px-35: calc(35px * .65);
  --px-40: calc(40px * .65);
  --px-45: calc(45px * .65);
  --px-48: calc(48px * .65);
  --px-50: calc(50px * .65);
  --px-55: calc(55px * .65);
  --px-60: calc(60px * .65);
  --px-65: calc(65px * .65);
  --px-70: calc(70px * .65);
  --px-75: calc(75px * .65);
  --px-80: calc(80px * .65);
  --px-85: calc(85px * .65);
  --px-90: calc(90px * .65);
  --px-95: calc(95px * .65);
  --px-100: calc(100px * .65);
  --px-110: calc(110px * .65);
  --px-120: calc(120px * .65);
  --px-120: calc(120px * .65);
  --px-130: calc(130px * .65);
  --px-132: calc(132px * .65);
  --px-135: calc(135px * .65);
  --px-140: calc(140px * .65);
  --px-150: calc(150px * .65);
  --px-160: calc(160px * .65);
  --px-180: calc(180px * .65);
  --px-200: calc(200px * .65);
  --px-250: calc(250px * .65);
  --px-240: calc(240px * .65);
  --px-300: calc(300px * .65);
  --px-321: calc(321px * .65);
  --px-350: calc(350px * .65);
  --px-400: calc(400px * .65);
  --px-450: calc(450px * .65);
  --px-500: calc(500px * .65);
  --px-550: calc(550px * .65);
  --px-600: calc(600px * .65);
  --px-650: calc(650px * .65);
  --px-700: calc(700px * .65);
  --px-750: calc(750px * .65);
  --px-800: calc(800px * .65);
}
@media (min-width: 960px) {
  :root {
    --px-8: 8px;
    --px-10: 10px;
    --px-13: 13px;
    --px-15: 15px;
    --px-16: 16px;
    --px-20: 20px;
    --px-24: 24px;
    --px-25: 25px;
    --px-28: 28px;
    --px-30: 30px;
    --px-32: 32px;
    --px-34: 34px;
    --px-35: 35px;
    --px-40: 40px;
    --px-45: 45px;
    --px-48: 48px;
    --px-50: 50px;
    --px-55: 55px;
    --px-60: 60px;
    --px-65: 65px;
    --px-70: 70px;
    --px-75: 75px;
    --px-80: 80px;
    --px-85: 85px;
    --px-90: 90px;
    --px-95: 95px;
    --px-100: 100px;
    --px-110: 110px;
    --px-120: 120px;
    --px-130: 130px;
    --px-132: 132px;
    --px-135: 135px;
    --px-140: 140px;
    --px-150: 150px;
    --px-160: 160px;
    --px-180: 180px;
    --px-200: 200px;
    --px-250: 250px;
    --px-240: 240px;
    --px-300: 300px;
    --px-321: 321px;
    --px-350: 350px;
    --px-400: 400px;
    --px-450: 450px;
    --px-500: 500px;
    --px-550: 550px;
    --px-600: 600px;
    --px-650: 650px;
    --px-700: 700px;
    --px-750: 750px;
    --px-800: 800px;
  }
}
/** ==================================================
* privacy
* ================================================ */
.privacy_wrap > h2{
  position: relative;
  font-size: 28px;
  font-weight: bold;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 0.5em;
}
.privacy_wrap > h2::after{
  content: "";
  position: absolute;
  bottom: -1%;
  left: 0;
  width: 20%;
  border-top: 2px solid #193e0b;
}
.privacy_wrap{
  margin: 2em 0;
}
.privacy_wrap > p{
  font-size: 16px;
}
.privacy_wrap > p>a{
  text-decoration: underline;
}
.privacy_wrap > p.-marg{
  margin-top: 1em;
}
@media (max-width:767px) {
  .privacy_wrap > h2{
    font-size: 20px;
  }
}
/** ==================================================
* サイトマップ
* ================================================ */
.body.-siteMap>.inner>.flx{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  gap: 80px 30px;
  width: 80%;
  margin-inline: auto;
}
.body.-siteMap>.inner>.flx>.list>.item{
  font-size: 20px;
}
@media (max-width:767px) {
  .body.-siteMap>.inner>.flx{
    width: 100%;
  }
}
@media (max-width:560px) {
  .body.-siteMap>.inner>.flx{
    grid-template-columns: repeat(1, 1fr);
    justify-items: start;
  }
}
/** ==================================================
* お問い合わせ
* ================================================ */
.section-contact{
  width: min(1200px,95%);
  margin-inline: auto;
  margin-bottom: clamp(4.5rem,2.9155rem + 6.7606vw,9rem);
}
.body.-contact{
  width: min(980px,100%);
  margin-inline: auto;
}
.body.-contact>.lead{
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 2em;
}
@media (max-width:560px) {
  .body.-contact>.lead{
    text-align: left;
  }
}

.c-formcontrol {
  --c-formcontrol-py: .625em;
  --c-formcontrol-px: 1em;
  --c-formcontrol-bg: var(--color-white);
  --c-formcontrol-border: 1px solid var(--color-gray);
  --c-formcontrol-border-radius: 2px;
  --c-formcontrol-font-size: 16px;
  --c-formcontrol-line-height: 1.6;
  --c-formcontrol-file-button-bg: hsl(208.04deg 100% 74.55% / 50%);
  --c-formcontrol-file-button-hover-bg: hsl(208.04deg 100% 74.55% / 20%);
  --c-formcontrol-file-button-color: inherit;
  --c-formcontrol-file-button-border: none;
}
.c-formcontrol.-typeTerms {
  --c-formcontrol-py: .5em;
  --c-formcontrol-px: 1em;
  --c-formcontrol-font-size: 16px;
  --c-formcontrol-bg: var(--color-white);
  --c-formcontrol-border: 1px solid var(--color-gray);
}
.c-formcontrol {
  background: var(--c-formcontrol-bg);
  border: var(--c-formcontrol-border);
  border-radius: var(--c-formcontrol-border-radius);
  display: inline-block;
  font-size: var(--c-formcontrol-font-size);
  line-height: var(--c-formcontrol-line-height);
  padding: var(--c-formcontrol-py) var(--c-formcontrol-px);
  width: auto;
}
.c-formcontrol::-moz-placeholder {
  color: var(--c-formcontrol-placeholder-color);
}
.c-formcontrol::placeholder {
  color: var(--c-formcontrol-placeholder-color);
}
select.c-formcontrol {
  padding-right: 2.25em;
}
.c-formcontrol::file-selector-button {
  background: var(--c-formcontrol-file-button-bg);
  border-right: var(--c-formcontrol-border);
  color: var(--c-formcontrol-file-button-color);
  margin: calc(var(--c-formcontrol-py)*-1) calc(var(--c-formcontrol-px)*-1);
  margin-inline-end:var(--c-formcontrol-px);padding: var(--c-formcontrol-py) var(--c-formcontrol-px);
  transition-duration: var(--duration-base);
  transition-property: background-color,color;
}
.c-formcontrol:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--c-formcontrol-file-button-hover-bg);
}
.c-formcontrol.-block {
  display: block;
  width: 100%;
}

.c-contactform {
  --c-contactform-list-gap: 0;
  --c-contactform-list-item-gap: calc(var(--px-16)*.75) 0;
  --c-contactform-cloudflare-margin: var(--px-24) auto 0;
  --c-contactform-action-margin: var(--px-24) auto 0;
  --c-contactform-action-submit-margin: var(--px-24) auto 0;
  --c-contactform-label-column-gap: 1em;
  --c-contactform-label-font-weight: 700;
  --c-contactform-label-font-size: 16px;
  --c-contactform-label-line-height: 1.6;
  --c-contactform-label-letter-spacing: -.02em;
  --c-contactform-horizontal-label-lg-width: 13em;
  --c-contactform-horizontal-label-lg-padding: calc(.625em + 1px) 0;
  --c-contactform-any-padding: .5em .375em;
  --c-contactform-any-background: #dbdad9;
  --c-contactform-any-border-radius: 3px;
  --c-contactform-any-letter-spacing: .125em;
  --c-contactform-any-font-size: 11px;
  --c-contactform-any-color: var(--color-black);
  --c-contactform-any-required-background: #ad0002;
  --c-contactform-any-required-color: #fff;
}
.c-contactform>.list>.item {
  border-bottom: 1px dotted #e0e0e0;
  padding-block: 2em;
}
.c-contactform>.list>.item>.label{
  color: #193e0b;
}
.c-contactform>.list>.item>.label .note {
  align-self: flex-end;
  font-size: 15px;
}
.c-contactform>.list {
  display: flex;
  flex-direction: column;
  gap: var(--c-contactform-list-gap);
}
.c-contactform>.list>.item {
  display: flex;
  flex-direction: column;
  gap: var(--c-contactform-list-item-gap);
}
.c-contactform>.list>.item>.label {
  align-items: center;
  -moz-column-gap: var(--c-contactform-label-column-gap);
  column-gap: var(--c-contactform-label-column-gap);
  display: flex;
  flex: 0 0 auto;
  font-size: var(--c-contactform-label-font-size);
  font-weight: var(--c-contactform-label-font-weight);
  letter-spacing: var(--c-contactform-label-letter-spacing);
  line-height: var(--c-contactform-label-line-height);
}
.c-contactform>.list>.item>.label>.any {
  background: var(--c-contactform-any-background);
  border-radius: var(--c-contactform-any-border-radius);
  color: var(--c-contactform-any-color);
  display: grid;
  flex: 0 0 auto;
  font-size: var(--c-contactform-any-font-size);
  letter-spacing: var(--c-contactform-any-letter-spacing);
  line-height: 1;
  padding: var(--c-contactform-any-padding);
  place-items: center;
  text-indent: var(--c-contactform-any-letter-spacing);
}
.c-contactform>.list>.item>.control {
  flex: 1 1 0%;
}
.c-contactform>.cloudflare {
  margin: var(--c-contactform-cloudflare-margin);
  text-align: center;
}
.c-contactform>.action {
  margin-block: 2em;
}
.c-contactform>.action>.submit {
  margin: var(--c-contactform-action-submit-margin);
  position: relative;
}
.c-contactform>.list>.item>.label>.any.-required {
  background: var(--c-contactform-any-required-background);
  color: var(--c-contactform-any-required-color);
}
.c-contactform.-horizontal>.list>.item {
  align-items: flex-start;
  flex-direction: row;
}
.c-contactform.-horizontal>.list>.item>.label {
  padding: var(--c-contactform-horizontal-label-lg-padding);
  width: var(--c-contactform-horizontal-label-lg-width);
}
.c-contactform.-horizontal>.list>.item>.control {
  align-self: center;
}
.c-btn {
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-flex;
}
.c-btn.-block {
  display: flex;
  width: 100%;
}
.c-btn.-typeB {
  --c-btn-typeA-h-unitless: 64;
  --c-btn-typeA-fs-unitless: 17;
  --c-btn-typeA-fs: 17px;
  --c-btn-typeA-arrow-r-unitless: 17;
  --c-btn-typeA-arrow-fs-unitless: 17;
  --c-btn-typeA-arrow-fs: var(--font-17);
  background: #669b60;
  border: 1px solid #669b60;
  color: #fff;
  font-size: var(--c-btn-typeA-fs);
  font-weight: 600;
  line-height: 1.4;
  min-height: calc(var(--c-btn-typeA-h-unitless)/var(--c-btn-typeA-fs-unitless)*1em);
  padding-block:.25em;padding-left: calc(var(--c-btn-typeA-pl-unitless)/var(--c-btn-typeA-fs-unitless)*1em);
  padding-right: calc(var(--c-btn-typeA-pr-unitless)/var(--c-btn-typeA-fs-unitless)*1em);
  position: relative;
  transition-duration: .65s;
  transition-property: background-color,border-color,color
}
.wpcf7 {
  --wpcf7-not-valid-tip-font-weight: 700;
  --wpcf7-not-valid-tip-font-size: 14px;
  --wpcf7-not-valid-tip-color: #ad0002;
  --wpcf7-response-output-padding: 2em 1.5em;
  --wpcf7-response-output-font-weight: 700;
  --wpcf7-response-output-font-size: 15px;
  --wpcf7-response-output-line-height: 1.4;
}
.wpcf7-response-output {
  background: transparent!important;
  border: 2px solid;
  font-size: var(--wpcf7-response-output-font-size)!important;
  font-weight: var(--wpcf7-response-output-font-weight)!important;
  letter-spacing: 0!important;
  line-height: var(--wpcf7-response-output-line-height)!important;
  margin: 0!important;
  padding: var(--wpcf7-response-output-padding)!important;
  position: relative!important;
  text-align: center!important;
  z-index: 0!important;
}
.wpcf7-response-output:before {
  background: currentColor!important;
  content: ""!important;
  inset: 0!important;
  opacity: .05!important;
  position: absolute!important;
}
.wpcf7 .wpcf7-response-output {
  color: #669b60!important;
}
.wpcf7 .sent .wpcf7-response-output {
  color: #46b450!important;
}
.wpcf7 .aborted .wpcf7-response-output,.wpcf7 .failed .wpcf7-response-output {
  color: #dc3232!important;
}
.wpcf7 .spam .wpcf7-response-output {
  color: #f56e28!important;
}
.wpcf7 .invalid .wpcf7-response-output,.wpcf7 .payment-required .wpcf7-response-output,.wpcf7 .unaccepted .wpcf7-response-output {
  color: #ffb900!important;
}
.wpcf7-spinner {
  inset: 50% auto auto 50%!important;
  margin: 0!important;
  position: absolute!important;
  transform: translate(-50%,-50%)!important;
}
input[type="file"].c-formcontrol {
  border: var(--c-formcontrol-border);
}
input[type="file"].c-formcontrol::file-selector-button {
  border: none;
  border-right: var(--c-formcontrol-border);
}
@media (max-width:767px) {
  .c-contactform.-horizontal>.list>.item {
    align-items: flex-start;
    flex-direction: column;
  }
  .c-contactform.-horizontal>.list>.item>.control{
    width: 100%;
  }
  .c-contactform.-horizontal>.list>.item>.label{
    width: 100%;
  }
  .c-contactform>.list>.item{
    padding-block: 1em;
  }
}

/* reCAPTCHA v3 アイコンを不可視に */
.grecaptcha-badge { visibility: hidden; }

/* 王冠アイコン（70%サイズに縮小） */
.crown {
    position: relative;
    padding: 0px 0px 0px 1.75em; /* 2.5em × 0.7 */
}
.crown::before,
.crown::after {
    position: absolute;
    left: 0px;
    width: 0px;
    height: 0px;
    content: "";
}
.crown::before {
    top: -0.375em; /* -1.25em × 0.7 */
    border: 0.7em solid transparent; /* 1em × 0.7 */
    border-bottom: 1.05em solid currentColor; /* 1.5em × 0.7 */
}
.crown::after {
    top: 0.675em; /* 0.25em × 0.7 */
    border: 0.35em solid transparent; /* 0.5em × 0.7 */
    border-left: 0.7em solid currentColor; /* 1em × 0.7 */
    border-right: 0.7em solid currentColor; /* 1em × 0.7 */
}


/** ==================================================
* お取引先様・生産者の声
* ================================================ */
.flex.-t_gap{
  gap: 1em;
}
.-t_voice-cate{
  padding-inline: 1em;
  width: 100%;
}
.no-content{
  text-align: center;
  padding: 2em 1em;
  background-color: rgb(245 248 242);
}

/** ==================================================
* フッター
* ================================================ */
.-t_footer-bottom{
  gap: 2rem;
}
@media (max-width:1023px) { 
  .-t_footer-bottom>.-t_marg{
    margin-bottom: 1em;
  }
}