@charset "UTF-8";
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

#pageHeaderWrap {
  padding: min(270px,37.5vw) 0 min(100px,13.888vw);
  position: relative;
}
#pageHeaderWrap .container {
  position: relative;
  z-index: 2;
}
#pageHeaderWrap h1 {
  color: #FFFFFF;
  font-size: clamp(20.8px, 7.222vw, 52px);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
#pageHeaderWrap #breadcrumbs {
  margin: min(50px,6.944vw) auto 0;
}
#pageHeaderWrap #breadcrumbs ol li {
  color: #FFFFFF;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
#pageHeaderWrap #breadcrumbs ol li:not(:last-of-type)::after {
  content: "＞";
  margin-left: 10px;
  font-size: 1.2rem;
}
#pageHeaderWrap #breadcrumbs ol li a {
  color: #FFFFFF;
  font-size: 1.2rem;
}
#pageHeaderWrap #breadcrumbs ol li + li {
  margin-left: 10px;
}
#pageHeaderWrap .backen {
  margin: auto;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(56px, 15.5552vw, 140px);
  font-weight: 600;
  line-height: 1;
  opacity: 0.6;
  position: absolute;
  right: 0;
  bottom: min(60px,8.334vw);
  z-index: 0;
}
#pageHeaderWrap .backen.border_wh {
  text-shadow: 2px 2px 0px #ffffff, -2px 2px 0px #ffffff, -2px -2px 0px #ffffff, 2px -2px 0px #ffffff;
}
#pageHeaderWrap .backen.border_yl {
  text-shadow: 2px 2px 0px #FDD320, -2px 2px 0px #FDD320, -2px -2px 0px #FDD320, 2px -2px 0px #FDD320;
}
#pageHeaderWrap .backen.border_rd {
  text-shadow: 2px 2px 0px #F84242, -2px 2px 0px #F84242, -2px -2px 0px #F84242, 2px -2px 0px #F84242;
}
#pageHeaderWrap .backen.border_gr {
  text-shadow: 2px 2px 0px #91BE2C, -2px 2px 0px #91BE2C, -2px -2px 0px #91BE2C, 2px -2px 0px #91BE2C;
}
#pageHeaderWrap .backen.border_ly {
  text-shadow: 2px 2px 0px #F84343, -2px 2px 0px #F84343, -2px -2px 0px #F84343, 2px -2px 0px #F84343;
}
@media (max-width: 480px) {
  #pageHeaderWrap .backen {
    display: none;
  }
}
#pageHeaderWrap.gr {
  background: #45B035;
}
#pageHeaderWrap.gr .backen {
  color: #45B035;
}
#pageHeaderWrap.yl {
  background: #FDD320;
}
#pageHeaderWrap.yl .backen {
  color: #FDD320;
}
#pageHeaderWrap.rd {
  background: #F84242;
}
#pageHeaderWrap.rd .backen {
  color: #F84242;
}
#pageHeaderWrap.or {
  background: #F7762F;
}
#pageHeaderWrap.or .backen {
  color: #F7762F;
}
@media (max-width: 768px) {
  #pageHeaderWrap {
    padding: min(200px,27.778vw) 0 min(100px,13.888vw);
  }
}

.cover {
  margin-top: max(-80px,-11.112vw);
  padding-top: min(80px,11.112vw);
  width: 100%;
  border-radius: 5.5555555556vw 5.5555555556vw 0 0;
  background: #FAF8F2;
  position: relative;
  z-index: 2;
}

.coverR {
  margin-top: max(-250px,-34.722vw);
  padding-top: min(180px,25vw);
  width: 100%;
  border-radius: 0 17.3611111111vw 0 0;
  background: #FAF8F2;
  position: relative;
  z-index: 2;
}

/*============================================================================
	setting
=============================================================================*/
/*================================================================
	contact form 7用 フォームパーツ
================================================================*/
input, button, textarea {
  margin: 0;
  padding: 0;
  line-height: 1;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=url],
input[type=number],
textarea {
  padding: 10px;
  width: 100%;
  border: 1px solid #000;
  transition: all 0.3s;
  box-sizing: border-box;
  border-radius: 5px;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=url],
input[type=number],
textarea {
  background: #FFFFFF;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=number]:focus,
textarea:focus {
  background: #fffacd;
}
@media (max-width: 480px) {
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=url],
  input[type=number],
  textarea {
    padding: 5px;
    font-size: 1.4rem;
  }
}

textarea {
  line-height: 1.8;
}

::-webkit-input-placeholder,
::-ms-input-placeholder,
::placeholder {
  color: #A7A7A7;
}

/* ラジオボタン */
span.wpcf7-list-item {
  margin: 0 30px 0 0;
  line-height: 1;
}
span.wpcf7-list-item:last-child {
  margin-right: 0;
}
@media (max-width: 480px) {
  span.wpcf7-list-item {
    margin: 0 10px 0 0;
  }
}
span.wpcf7-list-item label {
  padding: 3px 3px 3px 20px;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
span.wpcf7-list-item label span.wpcf7-list-item-label {
  margin-bottom: 3px;
}
@media (max-width: 480px) {
  span.wpcf7-list-item label span.wpcf7-list-item-label {
    font-size: 1.5rem;
  }
}
span.wpcf7-list-item label input[type=radio] {
  display: none;
}
span.wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::before, span.wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::after {
  content: "";
  border-radius: 100%;
  transition: all 0.2s;
  position: absolute;
  top: 50%;
}
span.wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::before {
  margin-top: -8px;
  width: 15px;
  height: 15px;
  background: #f3f3f3;
  border: 1px solid #ccc;
  left: 0;
}
span.wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label:hover::before {
  background: #fff;
}
span.wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::after {
  margin-top: -5px;
  width: 9px;
  height: 9px;
  background: #55C0CC;
  opacity: 0;
  left: 3px;
  transform: scale(2);
}
span.wpcf7-list-item label input[type=radio]:checked + .wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #55C0CC;
}
span.wpcf7-list-item label input[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  transform: scale(1);
}
@media (max-width: 480px) {
  span.wpcf7-list-item label {
    display: block;
  }
}
@media (max-width: 480px) {
  span.wpcf7-list-item + .wpcf7-list-item {
    margin: 0px 10px 0 0;
  }
}

/* チェックボックス */
span.wpcf7-list-item label {
  margin-right: 20px;
  padding: 3px 3px 3px 30px;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.2s;
}
span.wpcf7-list-item label input[type=checkbox] {
  display: none;
}
span.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::before, span.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  transition: all 0.2s;
}
span.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::before {
  margin-top: -9px;
  width: 18px;
  height: 18px;
  background: #FFFFFF;
  border: 1px solid #A7A7A7;
  border-radius: 3px;
  top: 50%;
  left: 0px;
}
span.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label:hover::before {
  background: #FFFFFF;
}
span.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::after {
  margin-top: -3px;
  width: 9px;
  height: 5px;
  border-left: 2px solid #55C0CC;
  border-bottom: 2px solid #55C0CC;
  transform: rotate(-45deg) scale(0.5);
  opacity: 0;
  top: 50%;
  left: 5px;
}
span.wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: #FFFFFF;
  border: 1px solid #55C0CC;
}
span.wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  transform: rotate(-45deg) scale(1);
}

/* ドロップダウン */
select.wpcf7-select {
  padding: 10px;
  width: 100%;
  border: 1px solid #000;
  transition: all 0.3s;
  box-sizing: border-box;
  border-radius: 5px;
}

/* 同意チェック */
span.wpcf7-acceptance label {
  margin-right: 20px;
  padding: 3px 3px 3px 22px;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.2s;
}
span.wpcf7-acceptance label input[type=checkbox] {
  display: none;
}
span.wpcf7-acceptance label input[type=checkbox] + .wpcf7-list-item-label::before, span.wpcf7-acceptance label input[type=checkbox] + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  transition: all 0.2s;
}
span.wpcf7-acceptance label input[type=checkbox] + .wpcf7-list-item-label::before {
  margin-top: -9px;
  width: 18px;
  height: 18px;
  background: #FFFFFF;
  border: 1px solid #A7A7A7;
  border-radius: 3px;
  top: 50%;
  left: 5px;
}
span.wpcf7-acceptance label input[type=checkbox] + .wpcf7-list-item-label:hover::before {
  background: #FFFFFF;
}
span.wpcf7-acceptance label input[type=checkbox] + .wpcf7-list-item-label::after {
  margin-top: -3px;
  width: 9px;
  height: 5px;
  border-left: 2px solid #55C0CC;
  border-bottom: 2px solid #55C0CC;
  transform: rotate(-45deg) scale(0.5);
  opacity: 0;
  top: 50%;
  left: 5px;
}
span.wpcf7-acceptance label input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: #FFFFFF;
  border: 1px solid #55C0CC;
}
span.wpcf7-acceptance label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  transform: rotate(-45deg) scale(1);
}

/* 送信ボタン */
.wpcf7-submit {
  color: #FFFFFF;
  font-size: 1.8rem;
  text-align: center;
  width: 100%;
  height: 70px;
  line-height: 70px;
  background: #FDD320;
  transition: 0.4s;
  border-radius: 1.3888888889vw;
}
.wpcf7-submit:hover {
  color: #FDD320;
  background: transparent;
  border: 1px solid #FDD320;
}

/*============================================================================
	formArea
=============================================================================*/
#formArea {
  margin: 0 auto;
  padding: min(100px,13.888vw) 0 min(200px,27.778vw);
  max-width: 1020px;
  width: 90%;
}
@media (max-width: 480px) {
  #formArea {
    padding-top: 30px;
  }
}
#formArea #formWrap dl + dl {
  margin-top: 40px;
}
@media (max-width: 480px) {
  #formArea #formWrap dl + dl {
    margin-top: 30px;
  }
}
#formArea #formWrap dl dt {
  margin: auto 0 20px;
  font-size: 2rem;
  font-weight: 500;
  width: 100%;
  position: relative;
  align-self: flex-start;
}
@media (max-width: 480px) {
  #formArea #formWrap dl dt {
    font-size: 1.8rem;
  }
}
#formArea #formWrap dl dt span {
  color: #F84242;
}
#formArea #formWrap dl dt .required {
  color: #F84242;
  font-size: 1.6rem;
  vertical-align: super;
}
#formArea #formWrap dl dd {
  width: 100%;
  font-size: 1.8rem;
}
@media (max-width: 480px) {
  #formArea #formWrap dl dd {
    font-size: 1.6rem;
  }
}
#formArea #formWrap dl dd p.note {
  margin-bottom: 20px;
  font-size: 1.5rem;
}
@media (max-width: 480px) {
  #formArea #formWrap dl dd p.note {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
}
#formArea #formWrap dl dd.length_full span.wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}
#formArea #formWrap dl dd.fl span + span {
  margin-left: 1em;
}
#formArea #formWrap dl dd table.sticker-selection tr th {
  padding: 10px;
}
@media (max-width: 480px) {
  #formArea #formWrap dl dd table.sticker-selection tr:first-child {
    display: none;
  }
}
#formArea #formWrap dl dd table.sticker-selection tr td p {
  padding: 10px;
}
@media (max-width: 480px) {
  #formArea #formWrap dl dd table.sticker-selection tr:first-child td p {
    padding: 10px 0;
  }
}
#formArea #formWrap .privacy {
  margin: min(60px,8.334vw) auto;
  text-align: center;
}
#formArea #formWrap .privacy p + p {
  margin-top: 1em;
}
#formArea #formWrap .sentArea {
  margin: min(80px,11.112vw) auto 0;
  max-width: 300px;
  width: 80%;
  height: 80px;
  text-align: center;
}
@media (max-width: 480px) {
  #formArea #formWrap .sentArea {
    margin-top: 50px;
  }
}
@media (max-width: 1024px) {
  #formArea #formWrap {
    padding: min(40px,5.556vw);
  }
  #formArea #formWrap dl {
    display: block;
  }
  #formArea #formWrap dl dt {
    margin: 0 0 20px;
    width: 100%;
  }
  #formArea #formWrap dl dd {
    width: 100%;
  }
}
@media (max-width: 480px) {
  #formArea {
    border-radius: 5.3333333333vw 5.3333333333vw 0 0;
  }
  #formArea #formWrap {
    padding: 0;
    border-radius: 2.6666666667vw;
  }
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
  margin-top: 10px;
}

.wpcf7-form.invalid .wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
  display: block;
}

/* Contact Form 7: free_text オプション使用時のスタイル調整 */
.wpcf7-list-item.has-free-text {
  display: flex; /* ラベルとテキスト入力欄を横並びにする基本設定 */
  flex-wrap: wrap; /* 必要に応じて改行を許可 */
  align-items: center; /* 垂直方向の中央揃え */
  margin-bottom: 5px; /* 各ラジオボタン項目間の下マージン（お好みで調整） */
}

.wpcf7-list-item.has-free-text > label {
  margin-right: 10px; /* ラジオボタンラベルとテキスト入力欄の間のマージン */
}

/* 「その他」のテキスト入力欄のスタイル調整 */
.wpcf7-form-control.wpcf7-radio .wpcf7-list-item.has-free-text .wpcf7-free-text {
  margin-left: 0; /* 必要に応じて調整 */
  /* width: 100%; */ /* テキスト入力欄を親要素の幅いっぱいにしたい場合など */
  /* margin-top: 5px; */ /* ラジオボタンの下に改行して表示する場合のマージン */
}

/* もし「その他」のテキスト入力欄を必ず改行させたい場合 */
.wpcf7-list-item.has-free-text > .wpcf7-free-text {
  width: 100%; /* 幅を100%にして改行を促す */
  margin-top: 8px; /* 上のマージンを調整 */
}

#formWrap dl table.sticker-selection td .wpcf7-list-item label {
  padding-left: 20px; /* ラジオボタンの●が表示されるスペース */
  display: inline-block;
  position: relative;
}

#formWrap dl table.sticker-selection td .wpcf7-list-item input[type=radio] + .wpcf7-list-item-label::before {
  content: "";
  border-radius: 100%;
  transition: all 0.2s;
  position: absolute;
  top: 50%;
  margin-top: -8px; /* 既存のスタイルに合わせる */
  width: 15px; /* 既存のスタイルに合わせる */
  height: 15px; /* 既存のスタイルに合わせる */
  background: #f3f3f3; /* 既存のスタイルに合わせる */
  border: 1px solid #ccc; /* 既存のスタイルに合わせる */
  left: 0; /* labelのpadding-leftと連動 */
}

#formWrap dl table.sticker-selection td .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label::before {
  background: #fff; /* 既存のスタイルに合わせる */
  border: 1px solid #55C0CC; /* $radio の色 */
}

#formWrap dl table.sticker-selection td .wpcf7-list-item input[type=radio] + .wpcf7-list-item-label::after {
  content: "";
  border-radius: 100%;
  transition: all 0.2s;
  position: absolute;
  top: 50%;
  margin-top: -5px; /* 既存のスタイルに合わせる */
  width: 9px; /* 既存のスタイルに合わせる */
  height: 9px; /* 既存のスタイルに合わせる */
  background: #55C0CC; /* $radio の色 */
  opacity: 0;
  left: 3px; /* ::beforeの内側に表示されるように調整 */
  transform: scale(2);
}

#formWrap dl table.sticker-selection td .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  transform: scale(1);
}

#formWrap dl dd span.wpcf7-form-control-wrap[data-name=variety] .wpcf7-form-control.wpcf7-radio .wpcf7-list-item, #formWrap dl dd span.wpcf7-form-control-wrap[data-name=variety] .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
  display: block; /* 各選択肢をブロック要素にして縦に並べる */
  margin-bottom: 10px; /* 各選択肢間の下マージン（お好みで調整） */
}
#formWrap dl dd span.wpcf7-form-control-wrap[data-name=comments] {
  width: 100%;
}
#formWrap dl dd span.wpcf7-form-control-wrap[data-name=comments] textarea {
  height: 100px;
}

#formWrap dl table.sticker-selection tbody tr {
  padding: 5px 0;
  background-color: #fff;
}
#formWrap dl table.sticker-selection tbody tr:nth-child(even) {
  background-color: #f0f0f0;
}