   * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial,
        "游ゴシック体", "YuGothic", "メイリオ", Meiryo, sans-serif;
      line-height: 1.7;
      color: #222;
      background: #fff;
    }
    img { max-width: 100%; height: auto; display: block; }
    a { color: inherit; text-decoration: none; }

    .container {
      width: 100%;
      max-width: 900px;
      margin: 0 auto;
      padding: 0 16px;
    }
    .section-title {
      text-align: center;
      font-size: 40px;
      margin-bottom: 4px;
    }
    .section-subtitle {
      text-align: center;
      font-size: 13px;
      color: #666;
      margin-bottom: 24px;
    }


    /* Hero */
    .hero {
      position: relative;
      background: url("../img/contact.png") center center / cover no-repeat;
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,0.35);
    }
    .hero-text {
      position: relative;
      z-index: 1;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 60px;
      font-weight: bold;
      color: #fff;
    }

/* snowmonkey */

.snow-monkey-form {
}

.smf-form > .smf-item + .smf-item {
    margin-top: var(--wp--preset--spacing--30);
}

/* テキスt（1行） */
.smf-form .smf-text-control__control {
	width: 100%;
	padding: 24px 20px;
	border-radius: 8px;
	background: var(--wp--preset--color--custom-gray-more-light);
	font-size: 16px;
	font-weight: 500;
	box-shadow: none;
}

/* テキストエリア */
.smf-form .smf-textarea-control__control {
	width: 100%;
	height: 150px;
	padding: 24px 20px;
	border-radius: 8px;
	background: var(--wp--preset--color--custom-gray-more-light);
	font-size: 16px;
	font-weight: 500;
	box-shadow: none;
}



.smf-form .smf-checkbox-control__control:checked::before {
  opacity: 1;
}

.smf-item {
	display: grid;
	gap: 20px;
}

.smf-item__label__text {
	font-size: var(--wp--preset--font-size--semi-large);
	font-weight: 700;
}
/* .smf-item:has([data-validations*="required"]) .smf-item__label */
.smf-item__label {
	display: flex;
	align-items: center;;
	gap: 0.75rem;

	&::after {
		content: "必須";
		padding: 0px 3px;
    background: red;
    font-size: 12px;
    font-weight: 700;
		color: #fff;
	}
}

form p{
  margin-top: 40px;
}

.smf-item{
  margin-bottom: 30px;
}

/* ボタン */
.smf-action {
	text-align: center;
  width: 300px;
  margin: 40px auto 0;
  color: #fff;
  padding: 10px;
}

.thanks-btn{
  width: 300px;
  margin: 40px auto 0;
  color:#fff;
  padding: 10px;
  background: #333;
  font-size: 14px;
}
.smf-form button{
  display: none;
}
		


    footer {
      margin-top: 60px;
      background: #e4302e;
      color: #fff;
      padding: 32px 16px 16px;
      font-size: 13px;
    }
    .footer-inner {
      max-width: 1100px;
      margin: 0 auto;
    }
    .footer-title { font-weight: bold; margin-bottom: 12px; }
    .footer-menu-title { font-weight: bold; margin-bottom: 4px; }
    .footer-menu {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin-bottom: 16px;
    }
    .footer-sns {
      display: flex;
      gap: 16px;
      margin-bottom: 8px;
    }
    .footer-sns a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border: 1px solid #fff;
      font-size: 18px;
    }
    .footer-copy {
      font-size: 11px;
      color: rgba(255,255,255,0.8);
    }

    @media (max-width: 768px) {
    .hero{
      min-height: auto;
      height: 30vh;
    }
    body{
      padding-top: 70px;
    }
    .page-offset{
      padding-top: 0;
    }
    }
