/*
	Theme Name: diver_child
	Template: diver
	Description:  Diverの子テーマです。
	Theme URI: http://tan-taka.com/diver/
	Author: Takato Takagi
 */

/* カスタマイズする場合にはこれより下に追記してください  */


/* Contact Page */
.zenno-contact-page {
  --zc-bg: #050505;
  --zc-border: rgba(164, 255, 116, 0.18);
  --zc-text: rgba(255, 255, 255, 0.94);
  --zc-muted: rgba(255, 255, 255, 0.68);
  --zc-accent: #a4ff74;
  --zc-accent-strong: #7dff38;
  background: #000;
  color: var(--zc-text);
  padding: 120px 20px 88px;
}
[data-theme="light"] .zenno-contact-page {
  --zc-bg: #f5fff0;
  --zc-surface: rgba(255, 255, 255, 0.9);
  --zc-surface-strong: rgba(248, 255, 244, 0.98);
  --zc-border: rgba(112, 191, 64, 0.18);
  --zc-text: #111;
  --zc-muted: rgba(0, 0, 0, 0.62);
  background: linear-gradient(180deg, #fbfff8 0%, #eef8e8 100%);
}
.zenno-contact-hero,
.zenno-contact-shell { max-width: 1240px; margin: 0 auto; }
.zenno-contact-hero { margin: 0 auto 42px; text-align: center; }
.zenno-contact-hero__inner,
.zenno-contact-grid { max-width: 920px; margin-left: auto; margin-right: auto; }
.zenno-contact-eyebrow { margin: 0 0 14px; font-size: 13px; letter-spacing: 0.36em; color: var(--zc-accent); }
.zenno-contact-title { margin: 0; font-size: clamp(34px, 5vw, 58px); line-height: 1.08; letter-spacing: 0.06em; }
.zenno-contact-accent { width: 84px; height: 2px; margin: 24px auto; background: linear-gradient(90deg, transparent 0%, var(--zc-accent) 50%, transparent 100%); }
.zenno-contact-lead { margin: 0; color: var(--zc-muted); font-size: 15px; line-height: 2; }
.zenno-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: center; width: 100%; }
.zenno-contact-card { position: relative; width: 100%; max-width: 920px; margin: 0 auto; border: 1px solid var(--zc-border); background: var(--zc-surface); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: 26px; overflow: hidden; box-shadow: 0 24px 80px rgba(0,0,0,0.18); }
[data-theme="light"] .zenno-contact-card { box-shadow: 0 20px 60px rgba(77, 122, 47, 0.08); }
.zenno-contact-card::before,
.zenno-contact-card::after { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(164, 255, 116, 0.32); border-radius: 22px; }
.zenno-contact-card::before { inset: 12px; }
.zenno-contact-card::after { inset: 22px; opacity: 0.32; }
.zenno-contact-card__head,
.zenno-contact-card__body { position: relative; z-index: 1; }
.zenno-contact-card__head { padding: 34px 34px 0; }
.zenno-contact-card__label { margin: 0 0 10px; font-size: 11px; letter-spacing: 0.28em; color: var(--zc-accent); }
.zenno-contact-card__title { margin: 0; font-size: clamp(24px, 3vw, 34px); line-height: 1.35; }
.zenno-contact-card__body { padding: 30px 34px 34px; }
.zenno-contact-form-area .wpcf7 { width: 100%; }
.zenno-contact-form-area .wpcf7 form { display: grid; gap: 18px; }
.zenno-contact-form-area p { margin: 0; }
.zenno-contact-form-area label { display: block; margin-bottom: 10px; font-size: 13px; line-height: 1.7; letter-spacing: 0.08em; color: var(--zc-text); }
.zenno-contact-form-area .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.zenno-contact-form-area input[type="text"],
.zenno-contact-form-area input[type="email"],
.zenno-contact-form-area input[type="tel"],
.zenno-contact-form-area input[type="url"],
.zenno-contact-form-area select,
.zenno-contact-form-area textarea { width: 100%; border: 1px solid var(--zc-border); background: rgba(255,255,255,0.04); color: var(--zc-text); border-radius: 14px; padding: 16px 18px; font-size: 15px; line-height: 1.6; transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease; box-sizing: border-box; }
[data-theme="light"] .zenno-contact-form-area input[type="text"],
[data-theme="light"] .zenno-contact-form-area input[type="email"],
[data-theme="light"] .zenno-contact-form-area input[type="tel"],
[data-theme="light"] .zenno-contact-form-area input[type="url"],
[data-theme="light"] .zenno-contact-form-area select,
[data-theme="light"] .zenno-contact-form-area textarea { background: rgba(136, 217, 76, 0.05); }
.zenno-contact-form-area textarea { min-height: 220px; resize: vertical; }
.zenno-contact-form-area input::placeholder,
.zenno-contact-form-area textarea::placeholder { color: var(--zc-muted); }
.zenno-contact-form-area input:focus,
.zenno-contact-form-area select:focus,
.zenno-contact-form-area textarea:focus { outline: none; border-color: rgba(164, 255, 116, 0.82); box-shadow: 0 0 0 4px rgba(164, 255, 116, 0.14); }
.zenno-contact-form-area .wpcf7-list-item { margin: 0 14px 10px 0; }
.zenno-contact-form-area input[type="checkbox"],
.zenno-contact-form-area input[type="radio"] { accent-color: var(--zc-accent-strong); }
.zenno-contact-form-area .wpcf7-submit { justify-content: center; align-items: center; min-width: 220px; padding: 16px 28px; border: 1px solid rgba(164, 255, 116, 0.56); border-radius: 999px; background: #000; color: var(--zc-text); font-size: 14px; letter-spacing: 0.18em; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.zenno-contact-form-area .wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(164, 255, 116, 0.18); }
.zenno-contact-form-area .wpcf7-spinner { margin: 12px 0 0 12px; }
.zenno-contact-form-area .wpcf7-not-valid-tip,
.zenno-contact-form-area .wpcf7-response-output,
.zenno-contact-form-area .wpcf7 form .wpcf7-response-output { margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; font-size: 13px; line-height: 1.8; }
.zenno-contact-form-area .wpcf7-not-valid-tip { color: #ff8e8e; }
.zenno-contact-form-area .wpcf7 form.sent .wpcf7-response-output { border-color: rgba(84, 190, 107, 0.55); background: rgba(84, 190, 107, 0.12); color: #7be391; }
.zenno-contact-form-area .wpcf7 form.invalid .wpcf7-response-output,
.zenno-contact-form-area .wpcf7 form.failed .wpcf7-response-output,
.zenno-contact-form-area .wpcf7 form.aborted .wpcf7-response-output,
.zenno-contact-form-area .wpcf7 form.spam .wpcf7-response-output { border-color: rgba(255, 110, 110, 0.45); background: rgba(255, 110, 110, 0.09); color: #ff9b9b; }
@media (max-width: 767px) {
  .zenno-contact-page { padding: 96px 16px 72px; }
  .zenno-contact-hero { margin-bottom: 24px; }
  .zenno-contact-title { font-size: 32px; letter-spacing: 0.04em; }
  .zenno-contact-lead { font-size: 14px; line-height: 1.9; }
  .zenno-contact-card { border-radius: 20px; }
  .zenno-contact-card::before { inset: 10px; }
  .zenno-contact-card::after { inset: 18px; }
  .zenno-contact-card__head { padding: 26px 22px 0; }
  .zenno-contact-card__body { padding: 20px 22px 24px; }
  .zenno-contact-form-area input[type="text"],
  .zenno-contact-form-area input[type="email"],
  .zenno-contact-form-area input[type="tel"],
  .zenno-contact-form-area input[type="url"],
  .zenno-contact-form-area select,
  .zenno-contact-form-area textarea { padding: 14px 15px; font-size: 14px; }
  .zenno-contact-form-area .wpcf7-submit { width: 100%; min-width: 0; }
}
