@charset "UTF-8";
.cf2,
.cf2__label {
  color: var(--cf-ink)
}
.cf2__list li,
.cf2__notes li {
  position: relative;
  padding-left: 24px
}
.cf2__list li::before,
.cf2__notes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .9em;
  width: 7px;
  height: 7px
}
.cf2__btn,
.cf2__label,
.cf2__subhead,
.cf2__title {
  font-weight: 700
}
#js-submitError,
.cf2__center {
  text-align: center
}
#js-submitError,
.cf2__notes li + li {
  margin-top: 18px
}
.cf2 {
  --cf-ink: #3a342f;
  --cf-muted: #8c817a;
  --cf-brand: #91837d;
  --cf-brand-deep: #6f635c;
  --cf-line: #e4ded8;
  --cf-surface: #faf8f5;
  --cf-error: #b04a3f;
  --cf-fs-note: 14px;
  --cf-fs-label: 16px;
  --cf-fs-input: 16px;
  --cf-fs-error: 14px;
  --cf-fs-btn: 18px;
  --cf-fs-title: 26px;
  --cf-fs-text: 16px;
  --cf-fs-subhead: 20px;
  --cf-fs-list: 16px;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  -webkit-font-smoothing: antialiased
}
.cf2__notes {
  list-style: none;
  margin: 0 0 48px;
  padding: 30px 32px;
  background: var(--cf-surface);
  border: 1px solid var(--cf-line);
  border-radius: 16px
}
.cf2__notes li {
  font-size: var(--cf-fs-note);
  line-height: 2;
  color: #5d544e
}
.cf2__notes li::before {
  border-radius: 50%;
  background: var(--cf-brand)
}
.cf2__card {
  background: #fff;
  border: 1px solid var(--cf-line);
  border-radius: 22px;
  padding: 56px 52px;
  -webkit-box-shadow: 0 22px 55px -32px rgba(58,52,47,.4);
  box-shadow: 0 22px 55px -32px rgba(58,52,47,.4)
}
.cf2__row {
  display: grid;
  gap: 36px
}
@media (min-width:600px) {
  .cf2__row {
    grid-template-columns: 1fr 1fr
  }
}
.cf2__field {
  margin-bottom: 36px
}
.cf2__row .cf2__field {
  margin-bottom: 0
}
.cf2__label {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: var(--cf-fs-label);
  letter-spacing: .04em
}
.cf2__badge,
.cf2__dot {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox
}
.cf2__label .en {
  margin-left: .45em;
  font-weight: 400;
  font-size: .85em;
  color: var(--cf-muted)
}
.cf2__input,
.cf2__textarea {
  width: 100%;
  font-family: inherit;
  font-size: var(--cf-fs-input);
  color: var(--cf-ink);
  background: var(--cf-surface);
  border: 1.5px solid var(--cf-line);
  border-radius: 12px;
  padding: 18px;
  -webkit-transition: border-color .2s,background .2s,-webkit-box-shadow .2s;
  transition: border-color .2s,background .2s,box-shadow .2s,-webkit-box-shadow .2s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
.cf2__textarea {
  min-height: 220px;
  resize: vertical;
  line-height: 1.9
}
.cf2__input::-webkit-input-placeholder,
.cf2__textarea::-webkit-input-placeholder {
  color: #b6aca4
}
.cf2__input::-moz-placeholder,
.cf2__textarea::-moz-placeholder {
  color: #b6aca4
}
.cf2__input:-ms-input-placeholder,
.cf2__textarea:-ms-input-placeholder {
  color: #b6aca4
}
.cf2__input::-ms-input-placeholder,
.cf2__textarea::-ms-input-placeholder {
  color: #b6aca4
}
.cf2__input::placeholder,
.cf2__textarea::placeholder {
  color: #b6aca4
}
.cf2__input:hover,
.cf2__textarea:hover {
  border-color: #d3cabf
}
.cf2__input:focus,
.cf2__textarea:focus {
  outline: 0;
  background: #fff;
  border-color: var(--cf-brand);
  -webkit-box-shadow: 0 0 0 4px rgba(145,131,125,.15);
  box-shadow: 0 0 0 4px rgba(145,131,125,.15)
}
.cf2__error {
  margin: 8px 4px 0;
  font-size: var(--cf-fs-error);
  line-height: 1.6;
  color: var(--cf-error)
}
.cf2__error:empty {
  display: none
}
.cf2__actions,
.cf2__submit {
  margin-top: 48px;
  text-align: center
}
.cf2__panel {
  background: #fff;
  border: 1px solid var(--cf-line);
  border-radius: 22px;
  padding: 60px 52px;
  -webkit-box-shadow: 0 22px 55px -32px rgba(58,52,47,.4);
  box-shadow: 0 22px 55px -32px rgba(58,52,47,.4)
}
.cf2__badge {
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  color: #fff;
  background: var(--cf-brand);
  margin-bottom: 28px;
  -webkit-box-shadow: 0 14px 26px -12px rgba(145,131,125,.7);
  box-shadow: 0 14px 26px -12px rgba(145,131,125,.7)
}
.cf2__badge--alert {
  background: var(--cf-error);
  -webkit-box-shadow: 0 14px 26px -12px rgba(176,74,63,.5);
  box-shadow: 0 14px 26px -12px rgba(176,74,63,.5)
}
.cf2__badge svg {
  width: 40px;
  height: 40px
}
.cf2__title {
  margin: 0 0 20px;
  font-size: var(--cf-fs-title);
  letter-spacing: .02em;
  line-height: 1.55;
  color: var(--cf-ink)
}
.cf2__list li,
.cf2__text {
  line-height: 2;
  color: #5d544e
}
.cf2__text {
  margin: 0;
  font-size: var(--cf-fs-text)
}
.cf2__text + .cf2__text {
  margin-top: 22px
}
.cf2__rule {
  border: none;
  border-top: 1px solid var(--cf-line);
  margin: 48px 0
}
.cf2__section + .cf2__section {
  margin-top: 44px
}
.cf2__subhead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  font-size: var(--cf-fs-subhead);
  line-height: 1.5;
  color: var(--cf-ink)
}
.cf2__dot {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: var(--cf-surface);
  border: 1px solid var(--cf-line);
  color: var(--cf-brand)
}
.cf2__btn,
.cf2__btn:hover {
  color: #fff;
  text-decoration: none
}
.cf2__dot svg {
  width: 18px;
  height: 18px
}
.cf2__list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0
}
.cf2__list li {
  font-size: var(--cf-fs-list)
}
.cf2__list li + li {
  margin-top: 8px
}
.cf2__list li::before {
  border-radius: 50%;
  background: var(--cf-brand)
}
.cf2__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  min-width: 280px;
  font-family: inherit;
  font-size: var(--cf-fs-btn);
  letter-spacing: .04em;
  background: var(--cf-brand);
  border: none;
  border-radius: 999px;
  padding: 20px 44px;
  cursor: pointer;
  -webkit-transition: background .2s,-webkit-transform .2s,-webkit-box-shadow .2s;
  transition: transform .2s,background .2s,box-shadow .2s,-webkit-transform .2s,-webkit-box-shadow .2s;
  -webkit-box-shadow: 0 14px 26px -14px rgba(145,131,125,.8);
  box-shadow: 0 14px 26px -14px rgba(145,131,125,.8)
}
.cf2__btn:hover {
  background: var(--cf-brand-deep);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
  -webkit-box-shadow: 0 18px 32px -14px rgba(111,99,92,.8);
  box-shadow: 0 18px 32px -14px rgba(111,99,92,.8)
}
.cf2__btn:active {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
.cf2__btn:focus-visible {
  outline: rgba(145,131,125,.5) solid 3px;
  outline-offset: 3px
}
.cf2__btn svg {
  width: 1.1em;
  height: 1.1em;
  -webkit-transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s,-webkit-transform .2s
}
.cf2__btn:hover svg {
  -webkit-transform: translateX(4px);
  transform: translateX(4px)
}
@media (max-width:599px) {
  .cf2 {
    --cf-fs-title: 22px;
    --cf-fs-subhead: 18px
  }
  .cf2__card,
  .cf2__panel {
    padding: 32px 22px
  }
  .cf2__notes {
    padding: 24px 22px
  }
  .cf2__btn {
    width: 100%;
    min-width: 0;
    padding: 18px 24px
  }
}
@media (prefers-reduced-motion:reduce) {
  .cf2 * {
    -webkit-transition: none!important;
    transition: none!important
  }
  .cf2__btn:hover {
    -webkit-transform: none;
    transform: none
  }
}
.cf2__notes p {
  margin: 0;
  font-size: var(--cf-fs-note);
  line-height: 2.1;
  color: #5d544e
}
.cf2__notes p + p {
  margin-top: 1.4em
}
.contact .ttl-con {
  background: #fff;
  border-bottom: 1px solid #3a342f;
  padding-top: 24px;
  padding-bottom: 24px
}