@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){
  /*必要ならばここにコードを書く*/
}


/* =============================
   JTH Heading Styles
   ============================= */

/* H2 — ゴールドバッジ背景 */
.entry-content h2, .article h2 {
  background: linear-gradient(135deg, #b8820a, #FFD700, #C8960C) !important;
  color: #0f0f1a !important;
  padding: 8px 22px !important;
  display: inline-block !important;
  border-radius: 6px !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: 0.5px !important;
  border: none !important;
}

/* H3 — 宝箱アイコン＋ゴールド */
.entry-content h3, .article h3 {
  color: #FFD700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  border: none !important;
  padding: 0 !important;
}
.entry-content h3::before, .article h3::before {
  content: '' !important;
  display: inline-block !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23C8960C'%3E%3Cpath d='M8,48 Q8,18 50,18 Q92,18 92,48 Z'/%3E%3Crect x='16' y='26' width='20' height='14' rx='2' fill='%230f0f1a' opacity='0.5'/%3E%3Crect x='40' y='22' width='20' height='18' rx='2' fill='%230f0f1a' opacity='0.5'/%3E%3Crect x='64' y='26' width='20' height='14' rx='2' fill='%230f0f1a' opacity='0.5'/%3E%3Crect x='6' y='46' width='88' height='6' rx='1'/%3E%3Cpath d='M8,52 L8,82 Q8,88 14,88 L86,88 Q92,88 92,82 L92,52 Z'/%3E%3Crect x='16' y='56' width='16' height='26' rx='2' fill='%230f0f1a' opacity='0.35'/%3E%3Crect x='64' y='56' width='16' height='26' rx='2' fill='%230f0f1a' opacity='0.35'/%3E%3Crect x='39' y='60' width='22' height='18' rx='3' fill='%230f0f1a' opacity='0.5'/%3E%3Ccircle cx='50' cy='66' r='4' fill='%230f0f1a' opacity='0.8'/%3E%3Crect x='47' y='68' width='6' height='6' rx='1' fill='%230f0f1a' opacity='0.8'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

/* H4 — 下線スタイル */
.entry-content h4, .article h4 {
  color: #FFD700 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  padding: 0 0 8px 0 !important;
  border-bottom: 2px solid #C8960C !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  display: block !important;
}

/* H5 — グラデーション文字 */
.entry-content h5, .article h5 {
  background: linear-gradient(90deg, #FFD700 0%, #C8960C 60%, #a06800 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  border: none !important;
}

/* H6 — ゴールドボーダー（左＋下） */
.entry-content h6, .article h6 {
  color: #C8960C !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 5px 0 5px 12px !important;
  border-left: 3px solid #FFD700 !important;
  border-bottom: 1px solid #2d2d50 !important;
  border-top: none !important;
  border-right: none !important;
}

/* ── H2 Center Fix ── */
.entry-content .wp-block-heading.has-text-align-center,
.article .wp-block-heading.has-text-align-center {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}


/* ── Custom File Upload Button ── */
.jth-file-wrap { position: relative; display: inline-flex; align-items: center; gap: 10px; }
.wpcf7-file { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.jth-file-btn {
  display: inline-block;
  background: linear-gradient(135deg, #D4A017, #F1C40F);
  color: #1A1A2E;
  font-weight: 700;
  font-size: .9rem;
  padding: 8px 20px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  pointer-events: none;
}
.jth-file-name {
  font-size: .85rem;
  color: #6B7280;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* ===== JTH Contact Form 7 Style ===== */
.jth-cf7-wrap{background:#FFFBEF;border:1px solid #E8D5A3;border-radius:12px;padding:28px 32px;max-width:100%;margin:0 auto;}
.jth-cf7-table{width:100%;border-collapse:collapse;}
.jth-cf7-table tr{border-bottom:1px solid #F0E5C0;}
.jth-cf7-table th{background:#FFF5D6;padding:14px 16px;font-weight:700;width:30%;vertical-align:top;text-align:left;color:#5C4A1E;font-size:.92rem;}
.jth-cf7-table td{padding:10px 16px;vertical-align:top;}
.jth-cf7-table input[type="text"],.jth-cf7-table input[type="email"],.jth-cf7-table textarea,.jth-cf7-table select{width:100%;border:1.5px solid #E0C96A;border-radius:8px;padding:10px 12px;background:#fff;font-size:.95rem;transition:border-color .2s;box-sizing:border-box;}
.jth-cf7-table input:focus,.jth-cf7-table textarea:focus,.jth-cf7-table select:focus{outline:none;border-color:#D4A017;box-shadow:0 0 0 3px rgba(212,160,23,.15);}
.jth-cf7-required{display:inline-block;background:#D4A017;color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:4px;margin-right:6px;vertical-align:middle;letter-spacing:.04em;}
.jth-cf7-optional{display:inline-block;background:#BBA86A;color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:4px;margin-right:6px;vertical-align:middle;letter-spacing:.04em;}
.jth-cf7-checkbox-group .wpcf7-list-item{display:block;margin:4px 0;}
.jth-cf7-checkbox-group .wpcf7-list-item label{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:.95rem;color:#3A2E10;background:#FFFBEF;border:1px solid #E8D5A3;border-radius:6px;transition:background .15s;}
.jth-cf7-checkbox-group .wpcf7-list-item label:hover{background:#FFF3CC;}
.jth-cf7-checkbox-group input[type="checkbox"]{accent-color:#D4A017;width:17px;height:17px;flex-shrink:0;}
.jth-cf7-hint{font-size:.82rem;color:#8A7340;margin-top:6px;line-height:1.5;}
.jth-cf7-submit-wrap{text-align:center;margin-top:24px;}
.jth-cf7-submit-wrap input[type="submit"]{background:linear-gradient(135deg,#D4A017,#B8860B);color:#fff;font-weight:700;font-size:1rem;padding:14px 48px;border:none;border-radius:50px;cursor:pointer;letter-spacing:.06em;transition:opacity .2s,transform .1s;}
.jth-cf7-submit-wrap input[type="submit"]:hover{opacity:.88;transform:translateY(-1px);}
.jth-cf7-acceptance{background:#FFF8E1;border-left:4px solid #D4A017;padding:10px 14px;border-radius:0 8px 8px 0;margin:6px 0;font-size:.88rem;color:#4A3A10;}
.jth-cf7-acceptance .wpcf7-list-item{margin:0;}
.jth-cf7-acceptance .wpcf7-list-item label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.jth-cf7-acceptance input[type="checkbox"]{accent-color:#D4A017;width:16px;height:16px;flex-shrink:0;margin-top:2px;}
.wpcf7-not-valid{border-color:#E74C3C !important;background:#FFF5F5 !important;}
.wpcf7-not-valid-tip{color:#C0392B;font-size:.82rem;margin-top:4px;display:block;}
.wpcf7-response-output{border-radius:8px;padding:12px 16px;margin-top:16px;font-size:.9rem;}
@media(max-width:640px){
  .jth-cf7-wrap{padding:20px 16px;}
  .jth-cf7-table,.jth-cf7-table tbody,.jth-cf7-table tr,.jth-cf7-table th,.jth-cf7-table td{display:block;width:100%;}
  .jth-cf7-table th{border-bottom:none;padding-bottom:4px;}
  .jth-cf7-table td{padding-top:0;}
  .jth-cf7-table tr{padding:10px 0;border-bottom:1px solid #F0E5C0;}
}

/* JTH Site Guides Scroll */
.jth-sg-wrap{max-width:1100px;margin:60px auto 20px;padding:0 20px}
.jth-sg-outer{position:relative;display:flex;align-items:center;gap:8px}
.jth-sg-scroll{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:8px 4px 16px;-ms-overflow-style:none;scrollbar-width:none;flex:1}
.jth-sg-scroll::-webkit-scrollbar{display:none}
.jth-sg-card{text-decoration:none;color:inherit;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s;flex:0 0 260px;min-width:260px}
.jth-sg-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.jth-sg-img{width:100%;padding-top:60%;background-size:cover;background-position:center}
.jth-sg-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:6px}
.jth-sg-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#C0392B}
.jth-sg-ttl{font-size:.95rem;font-weight:700;color:#1A1A2E;line-height:1.4;margin:0}
.jth-sg-exc{font-size:.8rem;color:#6b7280;line-height:1.6;margin:0}
.jth-sg-btn{background:#fff;border:1px solid #e5e7eb;border-radius:50%;width:40px;height:40px;font-size:1.4rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.1);transition:background .2s}
.jth-sg-btn:hover{background:#f3f4f6}
@media(max-width:540px){.jth-sg-card{flex:0 0 200px;min-width:200px}.jth-sg-btn{display:none}}