div.wpcf7 p { padding:20px 20px 0; margin:0; font-size:14px; }
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px; width: 97.5%; }
div.wpcf7 textarea { width:97.5%; height:300px; }
div.wpcf7 input.wpcf7-submit {
   cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:200px; height:45px; margin:0 auto; display:block;
   -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
   background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666;
}
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
 

.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
 
.wpcf7 .required { color: #f00;}
.wpcf7 .any{ color: #080;}

.l-header__menuBtn.sp_ {
    display: none;
}
/* THE BOSS ヘッダーのナビ（10/8） */
.l-header{background:#0a0a0a}
.c-gnav>.menu-item>a{font-family:'Cormorant Garamond','Times New Roman',serif;font-weight:500;font-size:16px;letter-spacing:.24em;color:#fff;padding:0 18px}
.c-gnav>.menu-item>a .ttl{font-size:16px}
.c-gnav>.menu-item>a:after{background:#b5232b}
.c-gnav>.menu-item.tb-nav-cta{margin-left:20px;display:flex;align-items:center}
.c-gnav>.menu-item.tb-nav-cta>a{height:44px;padding:0 24px;background:#9b1c22;font-family:'Noto Sans JP','Hiragino Sans',sans-serif;font-size:13px;letter-spacing:.14em}
.c-gnav>.menu-item.tb-nav-cta>a:hover{background:#b5232b}
.c-gnav>.menu-item.tb-nav-cta>a:after{display:none}
@media (max-width:959px){.l-header__customBtn .c-iconBtn{background:#9b1c22;color:#fff;font-size:11.5px;letter-spacing:.08em;padding:0 12px;width:auto;height:34px}}
@media (max-width:959px){.l-header__customBtn{width:auto!important}.l-header__customBtn .c-iconBtn{white-space:nowrap;width:auto!important;min-width:88px}.l-header__customBtn .c-iconBtn__label{white-space:nowrap;font-size:11px}}
@media (max-width:959px){.l-header__customBtn .c-iconBtn__icon{display:none!important}.l-header__customBtn .c-iconBtn{flex-direction:row;height:34px;align-self:center;margin-right:8px}}

/* THE BOSS 記事の見出し（10/8）— 赤い帯をやめる。h2=黒文字＋下に細い罫線＋左に短い赤／h3=左に赤い縦棒／h4=太字のみ */
:root{--color_htag:#9b1c22}
body .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *)){position:relative;background:none;color:#111;border:0;border-bottom:1px solid #d9d9d9;border-radius:0;padding:0 0 14px;margin:4em 0 1.6em;font-size:26px;line-height:1.5;letter-spacing:.02em;font-weight:700}
body .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *))::before{content:none}
body .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *))::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:3px;background:#9b1c22;border:0}
body .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *)){background:none;color:#111;border:0;border-left:3px solid #9b1c22;border-radius:0;padding:0 0 0 12px;margin:2.6em 0 1em;font-size:20px;line-height:1.5;font-weight:700}
body .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *))::before,
body .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *))::after{content:none}
body .post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *)){background:none;color:#111;border:0;padding:0;margin:2em 0 .8em;font-size:18px;line-height:1.5;letter-spacing:.04em;font-weight:700}
body .post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *))::before{content:none}
@media (max-width:599px){
body .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *)){font-size:21px;padding-bottom:12px;margin:3em 0 1.4em}
body .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *))::after{width:48px}
body .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *)){font-size:18px}
body .post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not([class*="is-style-"]):not(.tbt *)){font-size:17px}
}


/* THE BOSS 記事ページの右サイドバー（10/9・本番）。中身はブログパーツ（.tb-side／.tb-more-bottom）に自前で置く。SWELLの目次ウィジェットは使わない
   追従はSWELLの「追従サイドバー」（.w-fixSide）に任せる
   指定は全部 .single（投稿ページ）から始まる。トップ（固定ページ20）には当たらない */
/* 安全網: 部品は投稿ページ（.single）の中でだけ見せる。記事下部などが固定ページ・トップに出ても表示しない */
.tb-side,.tb-more-bottom{display:none}
.single .tb-side{display:block}
.single .tb-more-bottom{display:block}
@media (min-width:960px){
  /* 右サイドバーに自前の目次が出ている時だけ、本文中の目次を隠す（サイドバーをオフにすれば自動で元に戻る） */
  .single.-sidebar-on:has(#sidebar .tb-toc li) .post_content .p-toc{display:none}
  .single #sidebar .tb-side{display:flex;flex-direction:column;gap:22px}
  #body_wrap.single #pagetop{right:8px}
}
@media (max-width:959px){ .single #sidebar:has(.tb-side){display:none} }
.single .tb-ttl{font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;color:#0e0e0e;margin:0 0 12px;padding:0 0 8px;border-bottom:1px solid #d9d9d9;position:relative}
.single .tb-ttl::after{content:"";position:absolute;left:0;bottom:-1px;width:32px;height:2px;background:#9b1c22}
.single .tb-ttl small{display:block;font-family:"Cormorant Garamond","Times New Roman",serif;font-weight:600;font-size:11px;letter-spacing:.24em;color:#9b1c22;margin-bottom:2px}
/* 目次：h2だけ・番号つき・今読んでいる所に赤（中身は sidebar.js が本文のh2から作る） */
.single .tb-toc{overflow-y:auto;max-height:calc(100vh - 530px);min-height:200px;scrollbar-width:thin}
.single .tb-toc ol{list-style:none;margin:0;padding:0;counter-reset:tbtoc}
.single .tb-toc li{counter-increment:tbtoc;margin:0}
.single .tb-toc a{display:flex;gap:10px;padding:7px 8px 7px 12px;border-left:2px solid #ececec;color:#555;font-size:13px;line-height:1.55;text-decoration:none;transition:color .2s,border-color .2s,background .2s}
.single .tb-toc a::before{content:counter(tbtoc,decimal-leading-zero);font-family:"Cormorant Garamond","Times New Roman",serif;font-size:13px;color:#aaa;flex:0 0 auto;line-height:1.55}
.single .tb-toc a:hover{color:#0e0e0e}
.single .tb-toc a.is-current{border-left-color:#9b1c22;color:#9b1c22;font-weight:700;background:#faf5f5}
.single .tb-toc a.is-current::before{color:#9b1c22}
.single .tb-tocw:not(:has(li)){display:none}
/* THE BOSSのほかの記事（小さなカード） */
.single .tb-more ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.single .tb-more li{margin:0}
.single .tb-more li.is-self{display:none}
.single .tb-more a{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:#0e0e0e}
.single .tb-more img{width:104px;height:58px;object-fit:cover;flex:0 0 104px;border-radius:2px;display:block;margin:0}
.single .tb-more .tb-co{display:block;font-size:12.5px;font-weight:700;line-height:1.4;margin:0 0 2px}
.single .tb-more .tb-line{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.5;color:#666}
.single .tb-more a:hover .tb-co{color:#9b1c22}
.single .tb-more .tb-all{display:inline-block;margin-top:14px;font-size:12px;color:#9b1c22;text-decoration:none;letter-spacing:.06em}
/* スマホ・中間幅：記事の最後（記事下部ウィジェット）に小さなカード。PCでは隠す */
.single .tb-more-bottom{margin:3em 0 2em}
@media (min-width:960px){ .single .tb-more-bottom{display:none} }
@media (max-width:959px){
  .single .tb-more-bottom ul{gap:14px}
  .single .tb-more-bottom img{width:112px;height:63px;flex-basis:112px}
  .single .tb-more-bottom .tb-co{font-size:14px}
  .single .tb-more-bottom .tb-line{font-size:12.5px}
}
