/*
 Theme Name: hamilton-child
 Template: hamilton
*/

/* ================================
   基本
================================ */
a {
  text-decoration: none;
}

.site-header .site-title {
    font-size: 3em;
}
/* フォーム全体の最大幅 */
.entry-content {
  max-width: 760px;
  margin: 0 auto;
}
.site-header {
  margin: 0 auto 0 auto;
  max-width: 1240px;
  padding: 10px 0;
  position: relative;
  width: 90%;
  z-index: 10000;
}
/* タイトルロゴ */
.site-title a {
  font-family: 'Cinzel', '源ノ明朝', 'Hiragino Mincho Pro', serif;
  text-transform: uppercase;
  letter-spacing: .15em;
}
.alt-nav a:hover {
  color: #000;
  border-bottom: 2px solid currentColor;
}

/* 本文 */
body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', sans-serif;
}

.site-footer {
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.04em;
}

.site-footer .site-name {
  font-family: 'Cinzel', 'Noto Serif JP', serif;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(0,0,0,.9);
}

.site-footer p {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  margin: 0;
  color: rgba(0,0,0,.45);
}
.site-footer a {
  text-decoration: none;
  transition: opacity .3s;
}

.site-footer a:hover {
  opacity: 0.6;
}


/* ================================
   CF7 レイアウト
================================ */

/* dl を flex に */
.entry-content dl.cf7__list {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin: 0 0 60px 0 !important;
  padding: 0 !important;
  font-size: 16px;
}

/* dt / dd 共通 */
.entry-content dl.cf7__list > dt,
.entry-content dl.cf7__list > dd {
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 行間 */
.entry-content dl.cf7__list > dt:nth-of-type(n + 2),
.entry-content dl.cf7__list > dd:nth-of-type(n + 2) {
  margin-top: 30px !important;
}

/* ================================
   左：ラベル
================================ */
.entry-content dl.cf7__list > dt {
  flex: 0 0 260px !important;
  width: 260px !important;
  font-size: 16px !important;
  font-weight: 500;
  line-height: 1.6;
  white-space: normal !important;
  word-break: break-word;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cf7__required { background: #BE1D1D; }
.cf7__optional { background: #878D8E; }

/* ================================
   右：入力欄
================================ */
.entry-content dl.cf7__list > dd {
  flex: 0 0 calc(100% - 260px) !important;
  width: calc(100% - 260px) !important;
}

/* input / textarea 共通 */
.entry-content .cf7__list input[type="text"],
.entry-content .cf7__list input[type="password"],
.entry-content .cf7__list input[type="email"],
.entry-content .cf7__list input[type="url"],
.entry-content .cf7__list input[type="date"],
.entry-content .cf7__list input[type="month"],
.entry-content .cf7__list input[type="time"],
.entry-content .cf7__list input[type="datetime"],
.entry-content .cf7__list input[type="datetime-local"],
.entry-content .cf7__list input[type="week"],
.entry-content .cf7__list input[type="number"],
.entry-content .cf7__list input[type="search"],
.entry-content .cf7__list input[type="tel"],
.entry-content .cf7__list input[type="color"],
.entry-content .cf7__list textarea {
  width: 100% !important;
  margin: 0 !important;              /* Hamiltonの余白殺し */
  padding: 15px 20px;
  background: #F4F4F4;
  border: none;
  font-size: 16px;
  box-sizing: border-box;
}

/* input 高さ */
.entry-content .cf7__list input[type="text"],
.entry-content .cf7__list input[type="email"],
.entry-content .cf7__list input[type="tel"] {
  height: 56px;
}

/* textarea */
.entry-content .cf7__list textarea {
  min-height: 200px;
  resize: vertical;
}

/* textarea 行だけ上揃え */
.entry-content dl.cf7__list > dd:has(textarea) {
  align-items: flex-start !important;
}

/* p の余白除去（ズレ防止） */
.entry-content dl.cf7__list dt p,
.entry-content dl.cf7__list dd p {
  margin: 0 !important;
}

/* ================================
   送信ボタン
================================ */
.cf7__button {
  text-align: center;
  margin-top: 40px;
}

.cf7__button input[type="submit"] {
  width: 260px;
  height: 60px;
  background: #000;
  color: #fff;
  border: none;
  font-size: 15px;
  transition: opacity .4s;
}

.cf7__button input[type="submit"]:hover {
  opacity: .6;
}

/* 送信ボタンを完全中央に */
.cf7__button {
  padding-left: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* pタグの影響も殺す */
.cf7__button p {
  margin: 0 !important;
  padding: 0 !important;
}

/* =====================================
   CF7：送信・遷移中 spinner 共通位置
   （入力画面 / 確認画面 両対応）
===================================== */

/* ボタン親を基準にする */
.cf7__button,
.wpcf7-form .wpcf7-submit {
  position: relative;
}

/* spinner をレイアウトから外す */
.wpcf7-spinner {
  position: absolute !important;
  left: 50% !important;
  bottom: -32px !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}

/* ================================
   スマホ
================================ */
@media screen and (max-width: 767px) {

  .entry-content {
    max-width: 100%;
    padding: 0 20px;
  }

  .entry-content dl.cf7__list > dt,
  .entry-content dl.cf7__list > dd {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .entry-content dl.cf7__list > dt {
    margin-bottom: 8px !important;
  }

  .cf7__button input[type="submit"] {
    width: 180px;
    height: 56px;
  }
}
.home-hero {
  margin-bottom: 60px;
}
/* スライダータイトル装飾 */
.slide-title {
	font-family: "Cinzel", serif;
	font-size: 42px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

/* サブ */
.slide-sub {
	font-size: 14px;
	letter-spacing: 0.2em;
}
.metaslider .flexslider .caption-wrap {
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,0.15),
		rgba(0,0,0,0.35)
	) !important;
}
.metaslider .caption-wrap {
	text-shadow: 0 2px 10px rgba(0,0,0,.4);
}
