/* ==== WordPress / Contact Form 7 用の追加スタイル ==== */

/* wp_nav_menu を使った場合の互換（.has-sub/.gnav__sub 相当） */
.gnav__list>li.menu-item-has-children>.sub-menu{
  position:absolute;top:100%;left:50%;min-width:250px;padding:12px 0;
  background:#fff;border:1px solid var(--c-line-2);box-shadow:0 14px 30px -14px rgba(40,30,20,.25);
  transform:translate(-50%,8px);opacity:0;visibility:hidden;
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s;
}
.gnav__list>li.menu-item-has-children:hover>.sub-menu,.gnav__list>li.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.gnav__list .sub-menu a{display:block;padding:9px 22px;font-size:13px;letter-spacing:.06em;color:var(--c-ink-2);transition:color .3s,background .3s}
.gnav__list .sub-menu a:hover{color:var(--c-brand);background:var(--c-off)}

/* Contact Form 7 */
.form--cf7 .wpcf7 label{display:block;font-size:14px;font-weight:700;letter-spacing:.08em;margin:0 0 10px;color:var(--c-ink)}
.form--cf7 .wpcf7 p{margin:0 0 28px}
.form--cf7 .wpcf7 input[type=text],.form--cf7 .wpcf7 input[type=email],.form--cf7 .wpcf7 input[type=tel],
.form--cf7 .wpcf7 input[type=number],.form--cf7 .wpcf7 select,.form--cf7 .wpcf7 textarea{
  width:100%;padding:14px 16px;font:inherit;font-size:16px;color:var(--c-ink);
  background:#fff;border:1px solid var(--c-line);border-radius:0;
  transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none;
}
.form--cf7 .wpcf7 select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%232a2826' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
.form--cf7 .wpcf7 ::placeholder{color:#b8b1a9}
.form--cf7 .wpcf7 input:focus,.form--cf7 .wpcf7 select:focus,.form--cf7 .wpcf7 textarea:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-l)}
.form--cf7 .wpcf7 textarea{resize:vertical;min-height:180px;line-height:1.8}
.form--cf7 .wpcf7 fieldset{margin:0 0 28px;padding:0;border:0;min-width:0}
.form--cf7 .wpcf7 legend{display:block;font-size:14px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;color:var(--c-ink);padding:0}
.form--cf7 .wpcf7-radio,.form--cf7 .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:12px 28px}
.form--cf7 .wpcf7-list-item{margin:0}
.form--cf7 .wpcf7-list-item label{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:400;cursor:pointer;margin:0}
.form--cf7 .wpcf7 input[type=radio],.form--cf7 .wpcf7 input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--c-brand);cursor:pointer;flex:none}
.form--cf7 .wpcf7-acceptance{display:block;margin:36px 0 18px;padding:20px;background:var(--c-off);text-align:center}
.form--cf7 .wpcf7-acceptance .wpcf7-list-item{display:inline-block}
.form--cf7 .wpcf7-acceptance label{font-size:14px;line-height:1.7}
.form--cf7 .wpcf7-acceptance a{color:var(--c-brand);background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px}
.form--cf7 .wpcf7-submit,.form--cf7 .wpcf7c-btn-back,.form--cf7 .wpcf7c-btn-confirm{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:320px;min-height:56px;padding:14px 30px;margin:8px auto 0;
  font:inherit;font-size:14px;font-weight:500;letter-spacing:.1em;color:#fff;
  background:var(--c-brand);border:1px solid var(--c-brand);border-radius:0;cursor:pointer;
  transition:background .4s var(--ease);
}
.form--cf7 .wpcf7-submit:hover,.form--cf7 .wpcf7c-btn-confirm:hover{background:var(--c-brand-d)}
.form--cf7 .wpcf7c-btn-back{background:#fff;color:var(--c-ink);border-color:var(--c-ink);margin-right:12px}
.form--cf7 .wpcf7c-btn-back:hover{background:var(--c-ink);color:#fff}
.form--cf7 .wpcf7-form p:has(.wpcf7-submit),.form--cf7 .wpcf7-form .wpcf7c-elm-step2{text-align:center}
.form--cf7 .wpcf7-spinner{display:block;margin:12px auto 0}
.form--cf7 .wpcf7-not-valid-tip{display:block;margin-top:8px;font-size:13px;color:var(--c-brand)}
.form--cf7 .wpcf7-response-output{margin:24px 0 0;padding:14px 18px;border:1px solid var(--c-brand) !important;font-size:14px;color:var(--c-brand)}
.form--cf7 .cf7-turnstile,.form--cf7 .cf-turnstile{margin:0 auto 24px;display:flex;justify-content:center}
@media (max-width:767px){
  .form--cf7 .wpcf7-submit,.form--cf7 .wpcf7c-btn-back,.form--cf7 .wpcf7c-btn-confirm{min-width:0;width:100%;margin:8px 0 0}
}

/* 本文（the_content）のブロック要素 */
.prose h2{font-size:22px;font-weight:700;letter-spacing:.06em;color:var(--c-ink);margin:2.4em 0 .8em;padding-bottom:12px;border-bottom:1px solid var(--c-line);line-height:1.5}
.prose ol{margin:1em 0;padding-left:1.4em;list-style:decimal}
.prose img{margin:1.5em 0}
.prose a:not(.btn){color:var(--c-brand);background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px}
.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:15px}
.prose th,.prose td{padding:12px 14px;border:1px solid var(--c-line);text-align:left;vertical-align:top}
.prose th{background:var(--c-off);font-weight:700}
.prose blockquote{margin:1.5em 0;padding:16px 20px;border-left:2px solid var(--c-brand);background:var(--c-off)}
.info__empty{display:block;padding:26px 8px;color:var(--c-ink-3);font-size:14px}

/* ページネーション */
.pager{margin-top:40px}
.pager .nav-links{display:flex;justify-content:center;gap:8px}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--c-line);font-family:var(--f-en);font-weight:600;font-size:16px;transition:background .3s,color .3s}
.pager .page-numbers.current,.pager .page-numbers:hover{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}

/* 管理バー表示時のヘッダー位置 */
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
