@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ==========================================================
   しらべラボ 共通スタイル
   Cocoon子テーマ style.css に貼り付け
   セクション単位で分けてあるので、上から順に貼って確認できます
   ========================================================== */


/* ----------------------------------------------------------
   1. 変数
   ---------------------------------------------------------- */
:root {
  --sl-bg:        #12151F;  /* 背景 */
  --sl-surface:   #1E2436;  /* カード上面 */
  --sl-surface-2: #191E2C;  /* カード下面（グラデーション用） */
  --sl-line:      #2E3549;  /* 枠線 */
  --sl-line-dim:  #262C3D;  /* 区切り線 */

  --sl-text:      #DCE1EA;  /* 本文・サービス名 */
  --sl-text-dim:  #B9C0CE;  /* 説明文 */
  --sl-text-mute: #8B93A7;  /* 補助 */
  --sl-text-hi:   #F2F5FA;  /* 見出し */
  --sl-price:     #F5EFE3;  /* 金額（クリーム） */

  --sl-gold:      #D6B25E;  /* 縁・アクセント */
  --sl-gold-lt:   #E8CD8C;  /* 金の文字 */
  --sl-teal:      #00C2A8;  /* 該当・肯定 */
  --sl-teal-lt:   #7FE0BE;
  --sl-amber:     #FFB020;  /* 注意 */
  --sl-amber-lt:  #FFD08A;

  --sl-radius:    14px;
  --sl-radius-sm: 10px;
  --sl-shadow:    0 4px 10px rgba(0,0,0,.5);
}


/* ----------------------------------------------------------
   2. 下地
   ---------------------------------------------------------- */
body,
.body,
#container,
.content,
.main,
.article,
.entry-content,
#footer,
.footer {
  background-color: var(--sl-bg);
  color: var(--sl-text);
}

.body .article,
.entry-content {
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: .01em;
}

.entry-content p { color: var(--sl-text-dim); }

a { color: var(--sl-teal-lt); }
a:hover { color: var(--sl-teal); }

::selection { background: rgba(0,194,168,.28); }

.sidebar, .widget { background: transparent; }


/* ----------------------------------------------------------
   3. ヘッダーとロゴ
   ---------------------------------------------------------- */
.header, #header-container, #header-container-in, .navi, #navi {
  background-color: var(--sl-bg);
  border-bottom: 1px solid var(--sl-line-dim);
}

.sl-logo { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.sl-logo:hover { opacity: .85; }
.sl-logo__mark { flex: none; width: 30px; height: 30px; }
.sl-logo__ja {
  display: block;
  font-size: 16px; font-weight: 500; line-height: 1.1;
  letter-spacing: .06em; color: var(--sl-text-hi);
}
.sl-logo__ja em { font-style: normal; color: var(--sl-teal-lt); }
.sl-logo__rule {
  height: 1px; margin: 4px 0 3px;
  background: linear-gradient(90deg, var(--sl-gold), rgba(214,178,94,0));
}
.sl-logo__en {
  display: block;
  font-size: 7px; letter-spacing: .3em; color: var(--sl-text-mute);
}


/* ----------------------------------------------------------
   4. パンくず
   ---------------------------------------------------------- */
.sl-breadcrumb, .breadcrumb {
  font-size: 11px; color: #6E7689;
  background: transparent; border: none; padding: 14px 0 0;
}
.sl-breadcrumb a, .breadcrumb a { color: #6E7689; text-decoration: none; }
.sl-breadcrumb a:hover { color: var(--sl-text-mute); }


/* ----------------------------------------------------------
   5. サービスアイコン
   色は .sl-ico--* で切り替え
   ---------------------------------------------------------- */
.sl-ico {
  flex: none;
  display: flex; align-items: center; justify-content: center;
  width: 64px; height: 64px;
  border-radius: 18px;
  border: 1px solid rgba(214,178,94,.75);
  box-shadow: inset 0 2px 3px rgba(255,255,255,.3),
              inset 0 -3px 6px rgba(0,0,0,.35),
              var(--sl-shadow);
  font-size: 13px; font-weight: 500; line-height: 1.35;
  text-align: center; text-shadow: 0 1px 2px rgba(0,0,0,.35);
  text-decoration: none;
}
.sl-ico--sm { width: 56px; height: 56px; border-radius: 16px; font-size: 12px; }
.sl-ico--long { font-size: 11px; letter-spacing: -.01em; }  /* FANZA TV など */

.sl-ico--teal    { background: linear-gradient(155deg,#26B489 0%,#12795F 60%,#0B5544 100%); color:#EAFBF4; }
.sl-ico--teal-lt { background: linear-gradient(155deg,#3ED09F 0%,#1D9E75 60%,#137557 100%); color:#04342C; text-shadow:none; }
.sl-ico--teal-dk { background: linear-gradient(155deg,#1B8C6E 0%,#0A5442 60%,#063428 100%); color:#C7EEDF; }
.sl-ico--blue    { background: linear-gradient(155deg,#4F94DE 0%,#1B65AE 60%,#12446F 100%); color:#EAF3FD; }
.sl-ico--purple  { background: linear-gradient(155deg,#7F77DD 0%,#544BBA 60%,#3A3389 100%); color:#F2F1FE; }
.sl-ico--coral   { background: linear-gradient(155deg,#C9704B 0%,#99401F 60%,#6E2A12 100%); color:#FBEDE7; }
.sl-ico--pink    { background: linear-gradient(155deg,#D8677F 0%,#A8395A 60%,#7A2440 100%); color:#FDEFF3; }
.sl-ico--gray    { background: linear-gradient(155deg,#3A4258 0%,#242B3D 60%,#171C29 100%); color:#EDEFF5; }


/* ----------------------------------------------------------
   6. 一覧カード
   ---------------------------------------------------------- */
.sl-card {
  display: block;
  background: linear-gradient(180deg, var(--sl-surface) 0%, var(--sl-surface-2) 100%);
  border: 1px solid var(--sl-line);
  border-radius: var(--sl-radius);
  padding: 13px;
  margin: 0 0 10px;
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease;
}
.sl-card:hover { border-color: #3A4258; }
.sl-card:active { transform: translateY(.5px); }

.sl-card__head { display: flex; gap: 11px; }
.sl-card__name-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sl-card__name { font-size: 15px; font-weight: 400; color: var(--sl-text); }

/* 性格ラベル（押せない。左に縦線のみ） */
.sl-tag {
  font-size: 11px; letter-spacing: .06em;
  padding-left: 7px; border-left: 2px solid var(--sl-teal-lt);
  color: var(--sl-teal-lt);
}
.sl-tag--blue   { color:#A8CDF2; border-left-color:#6FA6E0; }
.sl-tag--purple { color:#BDB8F0; border-left-color:#8E85DF; }
.sl-tag--coral  { color:#F0B99F; border-left-color:#C9704B; }
.sl-tag--pink   { color:#F3AFC0; border-left-color:#D8677F; }

.sl-card__review {
  font-size: 12.5px; line-height: 1.65;
  color: var(--sl-text-dim); margin: 6px 0 0;
}

/* 価格 */
.sl-price-row {
  display: flex; align-items: baseline; gap: 8px;
  border-top: 1px solid var(--sl-line-dim);
  margin: 11px 0 0; padding: 10px 0 0;
}
.sl-price__unit { font-size: 11px; color: var(--sl-text-mute); }
.sl-price__num {
  font-size: 20px; font-weight: 500;
  color: var(--sl-price);
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
}

/* 属性チップ（平面・枠線のみ） */
.sl-chips { display: flex; gap: 7px; flex-wrap: wrap; margin: 10px 0 0; }
.sl-chip {
  font-size: 11px; padding: 3px 9px; border-radius: 8px;
  color: #9FE8DA;
  background: rgba(0,194,168,.12);
  border: 1px solid rgba(0,194,168,.4);
}
.sl-chip--warn {
  color: var(--sl-amber-lt);
  background: rgba(255,176,32,.13);
  border-color: rgba(255,176,32,.45);
}
.sl-chip i { font-size: 13px; vertical-align: -2px; }


/* ----------------------------------------------------------
   7. ボタン（2つ並び・上段に予告文）
   ---------------------------------------------------------- */
.sl-btns { display: flex; gap: 9px; margin: 13px 0 0; }
.sl-btn {
  flex: 1; text-align: center; text-decoration: none;
  border-radius: 12px; padding: 8px 0 9px;
  transition: transform .06s ease;
}
.sl-btn__cap { display: block; font-size: 9.5px; letter-spacing: .02em; }
.sl-btn__label { display: block; font-size: 13px; margin-top: 2px; }

.sl-btn--sub {
  background: linear-gradient(180deg,#39415A 0%,#232A3C 60%,#1A2030 100%);
  border: 1px solid rgba(214,178,94,.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 3px 7px rgba(0,0,0,.45);
}
.sl-btn--sub .sl-btn__cap { color: var(--sl-gold-lt); }
.sl-btn--sub .sl-btn__label { color: #EDEFF5; }

.sl-btn--main {
  background: linear-gradient(180deg,#3ED09F 0%,#1FAA7C 60%,#17936B 100%);
  border: 1px solid rgba(214,178,94,.6);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 3px 7px rgba(0,0,0,.45);
}
.sl-btn--main .sl-btn__cap { color: #04342C; opacity: .75; }
.sl-btn--main .sl-btn__label { color: #04342C; font-weight: 500; }

/* 押し込み */
.sl-btn:active {
  transform: translateY(1px);
  box-shadow: inset 0 -1px 2px rgba(0,0,0,.3);
}


/* ----------------------------------------------------------
   8. 記事内：登録前に確認したい4つのこと
   ---------------------------------------------------------- */
.sl-check {
  background: linear-gradient(180deg, var(--sl-surface) 0%, var(--sl-surface-2) 100%);
  border: 1px solid rgba(214,178,94,.55);
  border-radius: var(--sl-radius);
  padding: 16px 15px;
  margin: 20px 0;
  box-shadow: 0 4px 14px rgba(0,0,0,.45);
}
.sl-check__title {
  font-size: 13px; letter-spacing: .04em;
  color: var(--sl-gold-lt); margin: 0 0 14px;
}
.sl-check__title i { font-size: 15px; vertical-align: -2px; margin-right: 5px; }
.sl-check__item { margin: 0 0 13px; padding: 0 0 13px; border-bottom: 1px solid var(--sl-line-dim); }
.sl-check__item:last-child { margin: 0; padding: 0; border-bottom: none; }
.sl-check__label { font-size: 13px; font-weight: 500; color: var(--sl-price); margin: 0 0 4px; }
.sl-check__text { font-size: 13px; line-height: 1.75; color: var(--sl-text-dim); margin: 0; }


/* ----------------------------------------------------------
   9. 見出し
   ---------------------------------------------------------- */
.entry-content h2,
.article h2 {
  font-size: 17px; font-weight: 500;
  color: var(--sl-text-hi);
  background: none; border: none;
  border-left: 3px solid #4CC59D;
  padding: 0 0 0 10px;
  margin: 26px 0 0;
}
.entry-content h3,
.article h3 {
  font-size: 15px; font-weight: 500;
  color: var(--sl-text-hi);
  background: none; border: none; padding: 0;
  margin: 18px 0 8px;
}
/* 注意喚起の小見出し */
.entry-content h3.sl-warn,
.article h3.sl-warn { color: var(--sl-amber-lt); }


/* ----------------------------------------------------------
   10. 表
   ---------------------------------------------------------- */
.entry-content table {
  width: 100%; border-collapse: collapse;
  font-size: 13px; margin: 16px 0;
}
.entry-content th,
.entry-content td {
  border: 1px solid var(--sl-line-dim);
  padding: 9px 11px; text-align: left;
}
.entry-content th { background: var(--sl-surface-2); color: var(--sl-text); font-weight: 500; }
.entry-content td { color: var(--sl-text-dim); }
.entry-content td:last-child { font-variant-numeric: tabular-nums; }


/* ----------------------------------------------------------
   11. フッター
   ---------------------------------------------------------- */
.footer, #footer {
  border-top: 1px solid var(--sl-line-dim);
  color: var(--sl-text-mute);
  font-size: 12px;
}
.footer a { color: var(--sl-text-mute); text-decoration: none; }
.footer a:hover { color: var(--sl-text); }


/* ----------------------------------------------------------
   12. 幅とモバイル
   ---------------------------------------------------------- */
.sl-wrap { max-width: 420px; margin: 0 auto; }

@media screen and (max-width: 480px) {
  .body .article, .entry-content { font-size: 14px; }
  .sl-card { padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .sl-card, .sl-btn { transition: none; }
}
/* サイドバーの見出し */
.sidebar h2,
.sidebar h3,
.widget-sidebar h2,
.widget-sidebar h3,
.wp-block-group h2 {
  background: var(--sl-surface) !important;
  color: var(--sl-text-hi) !important;
  border: none;
  border-left: 3px solid #4CC59D;
  font-size: 15px;
  font-weight: 500;
  padding: 9px 12px;
}

/* サイドバー本文 */
.sidebar,
.sidebar li,
.sidebar p { color: var(--sl-text-dim); }
.sidebar a { color: var(--sl-teal-lt); }

/* 検索ボックス */
.sidebar input[type="search"],
.wp-block-search__input {
  background: var(--sl-surface-2);
  border: 1px solid var(--sl-line);
  color: var(--sl-text);
  border-radius: 8px;
  padding: 8px 10px;
}
.wp-block-search__button {
  background: var(--sl-surface);
  border: 1px solid var(--sl-line);
  color: var(--sl-text);
  border-radius: 8px;
}
/* ===== ロゴ ===== */
.header-container-in .logo-header .site-name-text-link {
  display: flex !important;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.header-container-in .logo-header .site-name-text-link::before {
  content: "";
  flex: none;
  display: block;
  width: 22px;
  height: 22px;
  border: 2px solid #D6B25E;
  border-radius: 50%;
  background: rgba(31,170,124,.22);
  box-shadow: 10px 10px 0 -1px #D6B25E;
}

.header-container-in .logo-header .site-name-text {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .06em;
  color: #F2F5FA;
}/* ロゴの柄を修正 */
.header-container-in .logo-header .site-name-text-link::before {
  box-shadow: none;
  position: relative;
}

.header-container-in .logo-header .site-name-text {
  position: relative;
}

.header-container-in .logo-header .site-name-text::before {
  content: "";
  position: absolute;
  left: -14px;
  bottom: 1px;
  width: 10px;
  height: 3px;
  background: #D6B25E;
  border-radius: 2px;
  transform: rotate(45deg);
}/* ロゴのレンズに質感 */
.header-container-in .logo-header .site-name-text-link::before {
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.4) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(150deg, rgba(93,202,165,.42) 0%, rgba(31,170,124,.26) 45%, rgba(10,60,48,.5) 100%);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.35),
    inset 0 -2px 4px rgba(0,0,0,.4),
    0 2px 5px rgba(0,0,0,.45);
  border-color: rgba(214,178,94,.9);
}/* ロゴの柄に質感 */
.header-container-in .logo-header .site-name-text::before {
  width: 11px;
  height: 4.5px;
  left: -15px;
  bottom: 0;
  border-radius: 3px;
  background: linear-gradient(180deg, #EBCE8E 0%, #D6B25E 45%, #A8843C 100%);
  box-shadow: 0 1px 2px rgba(0,0,0,.5);
}/* 4項目ブロック 強化 */
.entry-content .sl-check {
  background: linear-gradient(180deg, #1E2436 0%, #191E2C 100%) !important;
  border: 1px solid rgba(214,178,94,.55) !important;
  border-radius: 14px !important;
  padding: 18px 16px !important;
  margin: 24px 0 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.45);
}
.entry-content .sl-check__title {
  font-size: 13px !important;
  letter-spacing: .04em;
  color: #E8CD8C !important;
  margin: 0 0 16px !important;
}
.entry-content .sl-check__item {
  margin: 0 0 14px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #262C3D;
}
.entry-content .sl-check__item:last-child {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none;
}
.entry-content .sl-check__label {
  font-size: 13.5px !important;
  font-weight: 500;
  color: #F5EFE3 !important;
  margin: 0 0 5px !important;
}
.entry-content .sl-check__text {
  font-size: 13px !important;
  line-height: 1.75 !important;
  color: #B9C0CE !important;
  margin: 0 !important;
}/* 見出し 修正 */
.entry-content h2,
.article h2 {
  font-size: 18px !important;
  font-weight: 500;
  color: #F2F5FA !important;
  background: none !important;
  border: none !important;
  border-left: 3px solid #4CC59D !important;
  padding: 2px 0 2px 11px !important;
  margin: 34px 0 16px !important;
}

.entry-content h3,
.article h3 {
  font-size: 15.5px !important;
  font-weight: 500;
  color: #FFD08A !important;
  background: none !important;
  border: none !important;
  border-left: none !important;
  padding: 0 !important;
  margin: 26px 0 10px !important;
}/* H3 最優先 */
body .entry-content h3,
body .article h3,
html body .entry-content h3 {
  color: #FFD08A !important;
  border-left: 0 !important;
  border: 0 !important;
  background: none !important;
  padding-left: 0 !important;
}/* ===== 年齢認証 ===== */
.age-gate,
.age-gate__wrapper,
.age-restriction-modal {
  background: #12151F !important;
  color: #DCE1EA !important;
}

.age-gate__heading,
.age-gate h1, .age-gate h2 {
  color: #F2F5FA !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: .02em;
}

.age-gate__subheading,
.age-gate p {
  color: #B9C0CE !important;
  font-size: 13.5px !important;
  line-height: 1.8 !important;
}

.age-gate__buttons,
.age-gate__form { margin-top: 22px !important; }

.age-gate__submit,
.age-gate button,
.age-gate__button {
  border-radius: 12px !important;
  padding: 13px 26px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: 1px solid rgba(214,178,94,.6) !important;
  margin: 0 6px !important;
  min-width: 120px;
}

.age-gate__submit--yes,
.age-gate__button--yes {
  background: linear-gradient(180deg,#3ED09F 0%,#1FAA7C 60%,#17936B 100%) !important;
  color: #04342C !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 3px 7px rgba(0,0,0,.45);
}

.age-gate__submit--no,
.age-gate__button--no {
  background: linear-gradient(180deg,#39415A 0%,#232A3C 60%,#1A2030 100%) !important;
  color: #DCE1EA !important;
  border-color: rgba(214,178,94,.35) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 3px 7px rgba(0,0,0,.4);
}

.age-gate__remember,
.age-gate label {
  color: #8B93A7 !important;
  font-size: 12px !important;
}/* 年齢認証 背景 */
html.age-restricted,
body.age-restricted,
.age-restricted { background: #0C0E16 !important; }

.age-gate__wrapper {
  border-radius: 16px !important;
  border: 1px solid rgba(214,178,94,.45) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.6) !important;
  padding: 34px 26px !important;
  max-width: 440px !important;
}

.age-gate {
  background: #0C0E16 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
}/* 年齢認証 全画面化 */
.age-gate {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99999 !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.age-gate__wrapper {
  width: 100% !important;
  margin: 0 auto !important;
}/* 年齢認証 背景を全画面に */
:root {
  --ag-overlay-width: 100vw;
  --ag-background-color: #0C0E16;
}

.age-gate__background-color,
.age-gate-background-color {
  background-color: #0C0E16 !important;
  width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
}

.age-gate__wrapper {
  background: #0C0E16 !important;
  width: 100vw !important;
  min-height: 100vh !important;
}

html.age-gate__restricted,
html.age-gate__restricted body { background: #0C0E16 !important; }
/* カード幅とチップ 修正 */
.entry-content .sl-card {
  max-width: 460px;
  margin-left: 0;
}

.entry-content .sl-chip {
  background: rgba(0,194,168,.12) !important;
  border: 1px solid rgba(0,194,168,.4) !important;
  color: #9FE8DA !important;
  font-weight: 400 !important;
}

.entry-content .sl-chip--warn {
  background: rgba(255,176,32,.13) !important;
  border-color: rgba(255,176,32,.45) !important;
  color: #FFD08A !important;
}/* カード内の余白調整 */
.entry-content .sl-card p { margin: 0 !important; }
.entry-content .sl-card__review { margin: 6px 0 0 !important; }
.entry-content .sl-price-row { margin-top: 12px !important; padding-top: 11px !important; }
.entry-content .sl-chips { margin-top: 11px !important; }
.entry-content .sl-btns { margin-top: 13px !important; }
/* ----------------------------------------------------------
   13. お問い合わせフォーム
   ---------------------------------------------------------- */
.wpcf7 { margin-top: 22px; }

.wpcf7 label {
  display: block;
  font-size: 13px;
  color: var(--sl-text-mute);
  letter-spacing: .04em;
  margin-bottom: 20px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: 11px 13px;
  background: var(--sl-surface);
  border: 1px solid var(--sl-line);
  border-radius: 8px;
  color: var(--sl-text);
  font-size: 15px;
  line-height: 1.6;
}

.wpcf7 textarea { min-height: 190px; resize: vertical; }

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: var(--sl-accent);
  box-shadow: 0 0 0 2px rgba(31,170,124,.18);
}

.wpcf7 input[type="submit"] {
  display: block;
  width: 100%;
  padding: 14px;
  background: var(--sl-accent);
  border: none;
  border-radius: 10px;
  color: #0B0E16;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .06em;
  cursor: pointer;
  transition: opacity .15s;
}

.wpcf7 input[type="submit"]:hover { opacity: .88; }

.wpcf7-not-valid-tip {
  color: #E0A050;
  font-size: 12px;
  margin-top: 5px;
}

.wpcf7 form .wpcf7-response-output {
  border-radius: 8px;
  border-width: 1px;
  font-size: 13px;
  padding: 11px 13px;
}/* 送信ボタン 優先度を上げる */
.entry-content .wpcf7 input[type="submit"],
.entry-content .wpcf7 .wpcf7-submit {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 14px !important;
  background: var(--sl-accent) !important;
  background-image: none !important;
  border: none !important;
  border-radius: 10px !important;
  color: #0B0E16 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

.entry-content .wpcf7 input[type="submit"]:hover { opacity: .88 !important; }
/* 送信ボタン 色を直接指定 */
.entry-content .wpcf7 input[type="submit"],
.entry-content .wpcf7 .wpcf7-submit {
  background: #1FAA7C !important;
  background-color: #1FAA7C !important;
  color: #0B0E16 !important;
}/* 送信ボタン 質感を作る */
.entry-content .wpcf7 input[type="submit"],
.entry-content .wpcf7 .wpcf7-submit {
  width: auto !important;
  min-width: 240px !important;
  margin: 22px auto 0 !important;
  padding: 15px 34px !important;
  background: linear-gradient(180deg, #34C08F 0%, #1FAA7C 52%, #17845F 100%) !important;
  border: 1px solid rgba(214,178,94,.55) !important;
  border-radius: 12px !important;
  color: #08110D !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(0,0,0,.22),
    0 6px 16px rgba(0,0,0,.46),
    0 0 0 1px rgba(0,0,0,.3) !important;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease !important;
}

.entry-content .wpcf7 input[type="submit"]:hover {
  filter: brightness(1.06) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.4),
    inset 0 -1px 0 rgba(0,0,0,.22),
    0 8px 20px rgba(0,0,0,.52),
    0 0 0 1px rgba(0,0,0,.3) !important;
}

.entry-content .wpcf7 input[type="submit"]:active {
  transform: translateY(1px) !important;
  box-shadow:
    inset 0 2px 5px rgba(0,0,0,.34),
    0 2px 7px rgba(0,0,0,.4) !important;
}

.entry-content .wpcf7 p:last-of-type { text-align: center; }
/* ----------------------------------------------------------
   14. カードアイコンをリンク化
   ---------------------------------------------------------- */
.entry-content a.sl-ico {
  text-decoration: none;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.entry-content a.sl-ico:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.entry-content a.sl-ico:active {
  transform: translateY(1px);
  filter: brightness(.94);
}

.entry-content a.sl-ico:focus-visible {
  outline: 2px solid #D6B25E;
  outline-offset: 3px;
}/* ----------------------------------------------------------
   15. カードの決済行
   ---------------------------------------------------------- */
.entry-content .sl-pay {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: 10px !important;
  padding-top: 10px;
  border-top: 1px solid var(--sl-line-dim, #262C3D);
}

.entry-content .sl-pay__label {
  flex: none;
  font-size: 10px;
  color: #8B93A7;
  letter-spacing: .1em;
}

.entry-content .sl-pay__body {
  font-size: 12px;
  color: #C8D0E0;
  line-height: 1.6;
}

.entry-content .sl-pay__warn {
  color: #E0A050;
  margin-left: 6px;
  white-space: nowrap;
}

@media screen and (max-width: 480px) {
  .entry-content .sl-pay { gap: 7px; }
  .entry-content .sl-pay__body { font-size: 11.5px; }
}
/* 決済行の補足（警告ではない注記） */
.entry-content .sl-card .sl-pay__note {
  color: #8B93A7 !important;
  margin-left: 6px !important;
  white-space: nowrap !important;
}/* 価格行の補足（無料期間など） */
.entry-content .sl-card .sl-price__free {
  margin-left: 12px !important;
  padding: 4px 9px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  color: var(--sl-price) !important;
  letter-spacing: .04em !important;
  border: 1px solid #3A4157 !important;
  background: none !important;
  border-radius: 7px !important;
  vertical-align: 3px !important;
}/* 表の行を揃える */
.entry-content table tr:nth-child(even) td,
.entry-content table tr:nth-child(odd) td {
  background: none !important;
  color: #B9C0CE !important;
}
.entry-content table tr:nth-child(even) th,
.entry-content table tr:nth-child(odd) th {
  background: #191E2C !important;
  color: #DCE1EA !important;
}/* 表の縞模様を無効化 */
html body table tr:nth-of-type(2n) td,
html body table tr:nth-of-type(2n+1) td,
html body table tr:nth-child(2n) td,
html body table tr:nth-child(2n+1) td,
html body .entry-content table tr td {
  background: transparent !important;
  color: #C8D0E0 !important;
  opacity: 1 !important;
  filter: none !important;
}

html body .entry-content table tr th {
  background: #191E2C !important;
  color: #F2F5FA !important;
  opacity: 1 !important;
  filter: none !important;
}

html body .entry-content table,
html body .entry-content table td,
html body .entry-content table th {
  border-color: #2E3549 !important;
}/* ----------------------------------------------------------
   16. 関連商品ボタン（紫）
   ---------------------------------------------------------- */
.entry-content .sl-btn--goods {
  background: linear-gradient(180deg,#8F86E8 0%,#6A5FD0 55%,#4F45A8 100%) !important;
  border: 1px solid rgba(214,178,94,.6) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.4),
    0 4px 10px rgba(0,0,0,.5) !important;
}
.entry-content .sl-btn--goods .sl-btn__cap {
  color: #1A1440 !important;
  opacity: .8;
}
.entry-content .sl-btn--goods .sl-btn__label {
  color: #1A1440 !important;
  font-weight: 500 !important;
}
.entry-content .sl-btn--goods:hover {
  filter: brightness(1.06);
}