/* ヨシケイキッチン フロントCSS */

  .ykp{
    --ykp-bg:#f6f4ee;--ykp-surface:#fff;--ykp-surface2:#faf9f4;--ykp-border:#d8d4c8;--ykp-border2:#b6b1a2;
    --ykp-text:#1f1f1f;--ykp-text2:#6b6a64;--ykp-text3:#9a988f;--ykp-red:#8ec361;--ykp-red-d:#6fa348;--ykp-red-bg:#eef4e6;--ykp-err:#d63030;--ykp-err-bg:#fdeeee;--ykp-head:"fot-tsukuardgothic-std","Noto Sans JP",sans-serif;
    --ykp-r:10px;--ykp-r-lg:16px;font-family:"游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","Yu Gothic",sans-serif;color:var(--ykp-text);
    max-width:1050px;margin:0 auto;padding:14px 0 56px;line-height:1.7;-webkit-font-smoothing:antialiased;}
  .ykp *{box-sizing:border-box;}
  .ykp-hero{background:linear-gradient(160deg,#fff 0%,var(--ykp-surface2) 100%);border:1px solid var(--ykp-border);
    border-radius:var(--ykp-r-lg);padding:34px 28px 30px;text-align:center;position:relative;overflow:hidden;}
  .ykp-hero::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--ykp-red),#b5d98e);}
  .ykp-eyebrow{margin:0;font-size:11px;letter-spacing:.28em;color:var(--ykp-red);font-weight:700;}
  .ykp-title{margin:8px 0 4px;font-size:26px;font-weight:700;font-family:var(--ykp-head);color:#7fbe25;}
  .ykp-lead{margin:0 0 20px;font-size:14px;color:var(--ykp-text2);}
  .ykp-search{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
  .ykp-search-field{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ykp-border2);
    border-radius:999px;padding:0 6px 0 18px;transition:.15s;}
  .ykp-search-field:focus-within{border-color:var(--ykp-red);box-shadow:0 0 0 4px var(--ykp-red-bg);}
  .ykp-search-mark{color:var(--ykp-text3);font-size:17px;}
  #ykp-zip{border:0;outline:0;background:transparent;font-size:20px;font-family:inherit;letter-spacing:.14em;width:150px;padding:12px 0;color:var(--ykp-text);}
  .ykp-btn-search{border:0;border-radius:999px;background:var(--ykp-red);color:#fff;font-family:inherit;font-size:15px;font-weight:700;padding:0 30px;cursor:pointer;transition:.15s;}
  .ykp-btn-search:hover{background:var(--ykp-red-d);}
  .ykp-btn-search:active{transform:translateY(1px);}
  .ykp-note{margin:14px 0 0;font-size:11px;color:var(--ykp-text3);}
  .ykp-result{margin-top:18px;}
  .ykp-card{background:var(--ykp-surface);border:1px solid var(--ykp-border);border-radius:var(--ykp-r-lg);padding:26px 26px 22px;animation:ykp-in .35s cubic-bezier(.2,.7,.3,1) both;}
  @keyframes ykp-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  .ykp-fc-head{border-bottom:2px solid var(--ykp-red-bg);padding-bottom:14px;margin-bottom:16px;}
  .ykp-fc-kicker{margin:0;font-size:12px;color:var(--ykp-red);font-weight:700;letter-spacing:.06em;}
  .ykp-fc-name{margin:2px 0 0;font-size:22px;font-weight:700;font-family:var(--ykp-head);}
  .ykp-fc-info{margin:0 0 18px;display:grid;gap:6px;}
  .ykp-fc-info div{display:grid;grid-template-columns:78px 1fr;gap:8px;font-size:14px;}
  .ykp-fc-info dt{margin:0;color:var(--ykp-text3);font-weight:500;}
  .ykp-fc-info dd{margin:0;}
  .ykp-menu-block{margin:0 0 18px;}
  .ykp-menu-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--ykp-red-d);padding-left:11px;border-left:4px solid var(--ykp-red);}
  .ykp-table{width:100%;border-collapse:collapse;font-size:14px;overflow:hidden;border:1px solid var(--ykp-border);border-radius:var(--ykp-r);}
  .ykp-table thead th{background:var(--ykp-surface2);color:var(--ykp-text2);font-weight:700;font-size:12px;text-align:left;padding:9px 12px;border-bottom:1px solid var(--ykp-border);}
  .ykp-table thead th.ykp-num{text-align:right;width:74px;}
  .ykp-table tbody td{padding:11px 12px;border-bottom:1px solid var(--ykp-border);}
  .ykp-table tbody tr:last-child td{border-bottom:0;}
  .ykp-table tbody tr:nth-child(even){background:#fcfbf7;}
  .ykp-menu{font-weight:500;}
  .ykp-num{text-align:right;font-variant-numeric:tabular-nums;}
  .ykp-dash{color:var(--ykp-text3);}
  .ykp-inline-note{background:var(--ykp-red-bg);border:1px solid #d3e6bb;border-radius:var(--ykp-r);padding:13px 16px;font-size:13.5px;color:var(--ykp-red-d);margin:4px 0 0;}
  .ykp-comment{margin-top:16px;background:var(--ykp-surface2);border:1px dashed var(--ykp-border2);border-radius:var(--ykp-r);padding:13px 16px;font-size:13.5px;color:var(--ykp-text2);}
  .ykp-card--info{text-align:center;padding:36px 26px;}
  .ykp-info-mark{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:var(--ykp-surface2);border:1px solid var(--ykp-border);display:flex;align-items:center;justify-content:center;color:var(--ykp-text3);font-size:24px;}
  .ykp-info-lead{margin:0 auto;max-width:34em;font-size:15px;font-weight:500;}
  .ykp-info-sub{margin:10px auto 0;max-width:34em;font-size:13px;color:var(--ykp-text2);}
  .ykp-info-link{display:inline-block;margin:16px 0 4px;padding:11px 26px;border-radius:999px;background:var(--ykp-red);color:#fff;text-decoration:none;font-weight:700;font-size:14px;}
  .ykp-info-link:hover{background:var(--ykp-red-d);}
  .ykp-loading{text-align:center;padding:30px;color:var(--ykp-text3);font-size:14px;}
  .ykp-spin{display:inline-block;width:18px;height:18px;border:2px solid var(--ykp-border2);border-top-color:var(--ykp-red);border-radius:50%;animation:ykp-rot .7s linear infinite;vertical-align:-4px;margin-right:8px;}
  @keyframes ykp-rot{to{transform:rotate(360deg);}}
  @media(max-width:520px){.ykp-title{font-size:22px;}.ykp-search{flex-direction:column;align-items:stretch;}.ykp-search-field{border-radius:var(--ykp-r);justify-content:center;}#ykp-zip{width:auto;flex:1;}.ykp-btn-search{border-radius:var(--ykp-r);padding:13px;}}
  /* ===== 入力フォーム（アクセスゲート） ===== */
  .ykp-gate{background:var(--ykp-surface);border:1px solid var(--ykp-border);border-radius:var(--ykp-r-lg);
    padding:32px 28px 28px;position:relative;overflow:hidden;}
  .ykp-gate::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;
    background:linear-gradient(90deg,var(--ykp-red),#b5d98e);}
  .ykp-gate-head{text-align:center;margin-bottom:24px;}
  .ykp-gate-head .ykp-title{font-size:22px;margin:8px 0 8px;}
  .ykp-gate-lead{margin:0;font-size:13.5px;color:var(--ykp-text2);}
  .ykp-field{margin-bottom:15px;}
  .ykp-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;margin-bottom:6px;}
  .ykp-tag{font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:4px;letter-spacing:.04em;}
  .ykp-tag--req{background:var(--ykp-red-bg);color:var(--ykp-red);}
  .ykp-tag--opt{background:var(--ykp-surface2);color:var(--ykp-text3);border:1px solid var(--ykp-border);}
  .ykp-input{width:100%;border:1.5px solid var(--ykp-border2);border-radius:var(--ykp-r);padding:11px 13px;
    font-size:14.5px;font-family:inherit;color:var(--ykp-text);background:#fff;transition:.15s;}
  .ykp-input::placeholder{color:#c3c1b8;}
  .ykp-input:focus{outline:0;border-color:var(--ykp-red);box-shadow:0 0 0 4px var(--ykp-red-bg);}
  .ykp-input.is-err{border-color:var(--ykp-err);background:var(--ykp-err-bg);}
  .ykp-err{margin:5px 0 0;font-size:12px;color:var(--ykp-err);}
  .ykp-input-row{display:flex;gap:8px;align-items:stretch;}
  .ykp-input-row .ykp-input{flex:1;min-width:0;}
  .ykp-btn-sub{flex:none;border:1.5px solid var(--ykp-red);background:#fff;color:var(--ykp-red);border-radius:var(--ykp-r);
    padding:0 18px;font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s;}
  .ykp-btn-sub:hover:not(:disabled){background:var(--ykp-red);color:#fff;}
  .ykp-btn-sub:disabled{border-color:var(--ykp-border2);color:var(--ykp-text3);cursor:default;}
  .ykp-hint{margin:5px 0 0;font-size:11.5px;color:var(--ykp-text3);line-height:1.7;}
  .ykp-hint.is-busy{color:var(--ykp-text2);}
  .ykp-hint.is-ok{color:#3f8f4a;}
  .ykp-hint.is-err{color:var(--ykp-err);}
  .ykp-fieldset{font-size:13px;font-weight:700;color:var(--ykp-red);margin:26px 0 14px;padding-bottom:8px;
    border-bottom:1px solid var(--ykp-border);letter-spacing:.04em;}
  .ykp-fieldset:first-child{margin-top:0;}
  textarea.ykp-input{resize:vertical;line-height:1.7;}
  .ykp-unit-row{display:flex;align-items:center;gap:8px;}
  .ykp-unit-row .ykp-input{width:140px;}
  .ykp-unit{font-size:13.5px;color:var(--ykp-text2);}
  .ykp-agree{display:flex;gap:9px;align-items:flex-start;background:var(--ykp-surface2);border:1px solid var(--ykp-border);
    border-radius:var(--ykp-r);padding:12px 14px;margin:20px 0 16px;font-size:12.5px;color:var(--ykp-text2);}
  .ykp-agree input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--ykp-red);flex:none;cursor:pointer;}
  .ykp-agree a{color:var(--ykp-red);}
  .ykp-btn-gate{width:100%;border:0;border-radius:999px;background:var(--ykp-red);color:#fff;font-family:inherit;
    font-size:15.5px;font-weight:700;padding:15px;cursor:pointer;transition:.15s;}
  .ykp-btn-gate:hover{background:var(--ykp-red-d);}
  .ykp-gate-note{margin:16px 0 0;font-size:11.5px;color:var(--ykp-text3);line-height:1.8;}
  /* 認証後の表示バー */
  .ykp-pass{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--ykp-surface2);
    border:1px solid var(--ykp-border);border-radius:var(--ykp-r);padding:9px 14px;margin-bottom:14px;font-size:12.5px;color:var(--ykp-text2);}
  .ykp-pass b{font-weight:500;color:var(--ykp-text);}
  .ykp-pass button{margin-left:auto;border:1px solid var(--ykp-border2);background:#fff;border-radius:999px;
    padding:5px 12px;font-size:11.5px;font-family:inherit;color:var(--ykp-text2);cursor:pointer;}
  .ykp-pass button:hover{border-color:var(--ykp-red);color:var(--ykp-red);}
  /* 税抜表記 */
  .ykp-tax{margin:0 0 12px;font-size:12.5px;color:var(--ykp-text2);background:var(--ykp-surface2);
    border:1px solid var(--ykp-border);border-radius:var(--ykp-r);padding:8px 12px;}
  /* メニュー見出し横のブランドロゴ */
  .ykp-menu-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .ykp-brand{height:20px;width:auto;display:block;}
  .ykp-brand-ph{display:inline-flex;align-items:center;height:20px;padding:0 9px;border:1px dashed var(--ykp-border2);
    border-radius:5px;background:#fff;font-size:10.5px;font-weight:500;color:var(--ykp-text3);letter-spacing:.02em;}
  /* キッチンサイト ヘッダー（設置イメージ） */
  @media(max-width:560px){.kt-nav{display:none;}.kt-logo-img{height:36px;}}

/* ===== テーマCSSの継承を打ち消す上書き（詳細度対策・.ykp配下に限定） ===== */
/* 本文サイズを他ページ（游ゴシック・16〜18px）に合わせる */
.ykp{font-size:16px;line-height:1.9;}
.ykp .ykp-title{font-size:28px;line-height:1.3;margin:10px 0 6px;}
.ykp .ykp-gate-head .ykp-title{font-size:25px;}
.ykp .ykp-gate-lead{font-size:16px;line-height:1.9;margin:0;}
.ykp .ykp-eyebrow{font-size:12px;}
.ykp .ykp-lead{font-size:16px;margin:0 0 22px;}
.ykp .ykp-note{font-size:13px;margin:14px 0 0;}
.ykp .ykp-field{margin-bottom:18px;}
.ykp .ykp-label{font-size:15px;font-weight:600;margin-bottom:7px;line-height:1.5;}
.ykp .ykp-tag{font-size:11px;padding:3px 8px;}
.ykp .ykp-fieldset{font-size:16px;margin:28px 0 14px;}
.ykp .ykp-hint{font-size:13px;line-height:1.7;margin:6px 0 0;}
.ykp .ykp-err{font-size:13px;margin:6px 0 0;}
/* 入力・選択・テキストエリア：要素+クラス+祖先で確実に上書き */
.ykp input.ykp-input,.ykp select.ykp-input,.ykp textarea.ykp-input{
  font-size:16.5px;line-height:1.6;height:auto;padding:13px 15px;
  border:1.5px solid #a9a493;border-radius:var(--ykp-r);background:#fff;
  width:100%;box-sizing:border-box;color:var(--ykp-text);}
.ykp input.ykp-input:focus,.ykp select.ykp-input:focus,.ykp textarea.ykp-input:focus{
  border-color:var(--ykp-red);box-shadow:0 0 0 3px var(--ykp-red-bg);outline:0;}
.ykp .ykp-unit-row .ykp-input{width:160px;}
.ykp .ykp-input-row .ykp-input{flex:1;min-width:0;width:auto;}
/* ボタン類：テーマのフォームリセット(border:none/background:transparent)に確実に勝つよう詳細度を上げて再指定 */
.ykp button.ykp-btn-sub{
  -webkit-appearance:none!important;appearance:none!important;
  border:2px solid #8ec361!important;background:#fff!important;color:#8ec361!important;
  border-radius:10px;font-size:15px;font-weight:700;line-height:1;
  height:auto;padding:0 20px;cursor:pointer;white-space:nowrap;flex:none;}
.ykp button.ykp-btn-sub:hover:not(:disabled){background:#8ec361!important;color:#fff!important;}
.ykp button.ykp-btn-sub:disabled{border-color:#b6b1a2!important;color:#9a988f!important;background:#fff!important;cursor:default;}
.ykp button.ykp-btn-search{
  -webkit-appearance:none!important;appearance:none!important;
  border:0!important;background:#8ec361!important;color:#fff!important;border-radius:999px;
  font-size:17px;font-weight:700;line-height:1;height:auto;padding:15px 32px;cursor:pointer;}
.ykp button.ykp-btn-search:hover{background:#6fa348!important;}
.ykp button.ykp-btn-gate{
  -webkit-appearance:none!important;appearance:none!important;
  border:0!important;background:#8ec361!important;color:#fff!important;border-radius:999px;
  font-size:17px;font-weight:700;line-height:1.2;width:100%;height:auto;padding:17px;cursor:pointer;}
.ykp button.ykp-btn-gate:hover{background:#6fa348!important;}
.ykp #ykp-zip{font-size:22px;width:160px;}
/* 結果テーブル・見出し */
.ykp .ykp-fc-name{font-size:24px;line-height:1.3;}
.ykp .ykp-fc-kicker{font-size:13px;}
.ykp .ykp-fc-info div{font-size:15px;}
.ykp .ykp-fc-info dt{font-size:15px;}
.ykp .ykp-menu-title{font-size:15px;}
.ykp .ykp-table th,.ykp .ykp-table td{font-size:15px;line-height:1.6;}
.ykp .ykp-menu{font-size:15px;}
.ykp .ykp-num{font-size:15px;}
.ykp .ykp-tax{font-size:14px;}
.ykp .ykp-agree{font-size:14px;}
.ykp .ykp-inline-note{font-size:15px;}
.ykp .ykp-info-lead{font-size:17px;}
.ykp .ykp-info-sub{font-size:15px;}
.ykp .ykp-field>.ykp-hint,.ykp .ykp-field>.ykp-err{margin-bottom:0;}

/* ===== チェックボックス復活＆必須・注意文言の赤 ===== */
/* テーマのフォームリセット(appearance:none)を打ち消してチェックボックスを表示 */
.ykp .ykp-agree input[type="checkbox"]{
  display:inline-block!important;
  -webkit-appearance:checkbox!important;-moz-appearance:checkbox!important;appearance:auto!important;
  width:18px!important;height:18px!important;min-width:18px;margin:1px 0 0;flex:none;cursor:pointer;
  accent-color:#8ec361;background:#fff;border:1px solid #b6b1a2;border-radius:0;opacity:1;position:static;}
/* 必須バッジは赤、任意はグレーのまま */
.ykp .ykp-tag--req{background:#fdeeee!important;color:#d63030!important;border:1px solid #f2c9c9!important;}
/* 注意・エラー文言を赤で明確に */
.ykp .ykp-err{color:#d63030!important;font-weight:500;}
.ykp .ykp-hint.is-err{color:#d63030!important;}
.ykp .ykp-input.is-err{border-color:#d63030!important;background:#fdeeee!important;}

/* ===== 他ページに合わせて枠・緑ライン・カード背景を除去（素付け） ===== */
.ykp .ykp-hero{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 0 22px!important;overflow:visible!important;}
.ykp .ykp-hero::before{display:none!important;}
.ykp .ykp-gate{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 0 22px!important;overflow:visible!important;}
.ykp .ykp-gate::before{display:none!important;}
.ykp .ykp-card{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px 0 0!important;}
.ykp .ykp-card--info{padding:24px 0!important;}
.ykp .ykp-agree{background:none!important;border:0!important;padding:6px 0!important;}

/* ===== 結果ページを他ページ並みに濃く・大きく ===== */
.ykp .ykp-fc-name{font-size:26px;color:#1f1f1f;}
.ykp .ykp-fc-kicker{font-size:13px;color:#7fbe25;}
.ykp .ykp-fc-info div{grid-template-columns:96px 1fr;font-size:16px;gap:10px;}
.ykp .ykp-fc-info dt{color:#5a594f;font-weight:600;font-size:16px;}
.ykp .ykp-fc-info dd{color:#1f1f1f;font-size:16px;}
.ykp .ykp-table thead th{color:#333333;font-size:15px;background:#f2f4ec;padding:11px 12px;}
.ykp .ykp-table tbody td{font-size:16px;color:#1f1f1f;padding:13px 12px;}
.ykp .ykp-menu{font-size:16px;font-weight:600;color:#1f1f1f;}
.ykp .ykp-num{font-size:16px;color:#1f1f1f;}
.ykp .ykp-menu-title{font-size:16px;}
.ykp .ykp-tax{font-size:15px;color:#4a4a45;}
.ykp .ykp-comment{font-size:15px;color:#4a4a45;}
.ykp .ykp-inline-note{font-size:16px;}
.ykp .ykp-info-lead{font-size:18px;color:#1f1f1f;}
.ykp .ykp-info-sub{font-size:15px;color:#4a4a45;}

/* ===== 郵便番号の切替バー（結果上部） ===== */
.ykp .ykp-zipbar{margin:0 0 16px;}
.ykp .ykp-zipbar-inner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#f2f4ec;border:1px solid #d8d4c8;border-radius:10px;}
.ykp .ykp-zipbar-label{font-size:14px;color:#4a4a45;font-weight:600;}
.ykp .ykp-zipchips{display:flex;gap:8px;flex-wrap:wrap;}
.ykp button.ykp-zipchip{-webkit-appearance:none!important;appearance:none!important;border:1.5px solid #b6b1a2!important;background:#fff!important;color:#4a4a45!important;border-radius:999px;font-size:14px;font-weight:600;padding:7px 16px;cursor:pointer;}
.ykp button.ykp-zipchip.is-on{border-color:#8ec361!important;background:#8ec361!important;color:#fff!important;}
.ykp button.ykp-relink{-webkit-appearance:none!important;appearance:none!important;margin-left:auto;border:0!important;background:none!important;color:#6fa348!important;font-size:13px;text-decoration:underline;cursor:pointer;padding:4px;}

/* ===== ブランドロゴ（見出し後） ===== */
.ykp .ykp-brand{height:24px;width:auto;display:block;}
.ykp .ykp-brand--pakupaku{height:46px;}
.ykp .ykp-brand--kitchen{height:26px;}
