/* KOKANDO v72 common shell: loaded after main.css. */
:root { --kk-header-compact-duration: 180ms; }

.l-wrapper, .l-wrapper-none { overflow-x: clip !important; overflow-y: visible !important; }



















@media (min-width: 920px) {}
@media (max-width: 919px) {}

#ecf_footer_section.l-footer {
  background: #1A1A1A !important;
  color: #B9B5AD !important;
  width: 100vw !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 64px calc(50% - 50vw) 0 !important;
  padding: 0 max(20px, calc((100vw - 1160px) / 2)) 36px !important;
  overflow: visible !important;
  grid-template-areas: "contact contact" "menu menu" "logo copy" "info info" !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
#ecf_footer_section .footer_head { color: #FFFFFF !important; }
#ecf_footer_section .footer_link { color: #8F8B83 !important; }
#ecf_footer_section .footer_link:hover { color: #FFFFFF !important; }
#ecf_footer_section .footer_body { color: #B9B5AD !important; }
#ecf_footer_section .l-footer__logo img { filter: brightness(0) invert(1); opacity: .92; }
#ecf_footer_section > .t-fcontact { width: 100%; max-width: 1160px; min-width: 0; margin: 0 auto 44px !important; padding: 38px 0 34px !important; }
#ecf_footer_section .l-footer__menu { width: 100%; min-width: 0; }
#ecf_footer_section .c-footer_menus { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#ecf_footer_section .c-footer_menu, #ecf_footer_section .c-footer_menu__list__item__inner { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  #ecf_footer_section.l-footer {
  background: #1A1A1A !important;
  color: #B9B5AD !important; display: block !important; margin-top: 40px !important; padding: 0 20px 30px !important; }
  #ecf_footer_section .footer_head { color: #FFFFFF !important; }
#ecf_footer_section .footer_link { color: #8F8B83 !important; }
#ecf_footer_section .footer_link:hover { color: #FFFFFF !important; }
#ecf_footer_section .footer_body { color: #B9B5AD !important; }
#ecf_footer_section .l-footer__logo img { filter: brightness(0) invert(1); opacity: .92; }
#ecf_footer_section > .t-fcontact { display: block; margin-bottom: 28px !important; padding: 28px 0 !important; }
  #ecf_footer_section .t-fcontact__col + .t-fcontact__col { margin-top: 24px; }
  #ecf_footer_section .c-footer_menus { display: block; }
  #ecf_footer_section .c-footer_menu { margin-bottom: 22px; }
}

/* Shared form/table baseline; checkout.css and mypage.css may refine by domain. */
.c-form_table { width: 100% !important; max-width: 820px; border-collapse: collapse; }
.c-form_table th, .c-form_table td { border-color: var(--t-hairline-f) !important; }
.c-form_table input[type="text"], .c-form_table input[type="email"], .c-form_table input[type="password"],
.c-form_table input[type="tel"], .c-form_table input[type="number"], .c-form_table select, .c-form_table textarea {
  border-radius: 0 !important;
  border-color: var(--t-hairline-f) !important;
}
.c-form_table input:focus, .c-form_table select:focus, .c-form_table textarea:focus {
  outline: 2px solid transparent !important;
  border-color: var(--t-shu) !important;
  box-shadow: 0 0 0 3px rgba(196, 34, 42, .10) !important;
}
.c-form_table__checkbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 24px;
  cursor: pointer;
}
.c-form_table__checkbox > input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.c-form_table__checkbox__frame {
  box-sizing: border-box;
  position: relative;
  top: auto;
  left: auto;
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid var(--t-input-border, var(--t-hairline, #c6c6c2));
  border-radius: 2px;
  background: #fff;
  transform: none;
  opacity: 1;
}
.c-form_table__checkbox__frame::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  opacity: 0;
}
.c-form_table__checkbox > input[type="checkbox"]:checked + .c-form_table__checkbox__frame {
  border-color: var(--t-shu, #e60012);
  background: var(--t-shu, #e60012);
}
.c-form_table__checkbox > input[type="checkbox"]:checked + .c-form_table__checkbox__frame::after { opacity: 1; }
.c-form_table__checkbox > input[type="checkbox"]:focus-visible + .c-form_table__checkbox__frame {
  outline: 2px solid var(--t-shu, #e60012);
  outline-offset: 2px;
}
.c-form_table__checkbox > input[type="checkbox"]:disabled + .c-form_table__checkbox__frame {
  border-color: var(--t-hairline, #d8d6d0);
  background: var(--t-bg-deep, #f1f0ed);
}
.c-form_table__checkbox > input[type="checkbox"]:disabled ~ .c-form_table__checkbox__text {
  color: var(--t-ink-soft, #88857f);
  opacity: .7;
}
.c-form_table__checkbox:has(> input[type="checkbox"]:disabled) { cursor: not-allowed; }





@media (min-width: 920px) {}
@media (max-width: 919px) {}
@media (max-width: 430px) {}
@media (min-width: 431px) and (max-width: 919px) {









}

/* SP(430px以下): d00型（左ロゴ+右メニューのみ。d00は430px以下で.cw-icons全体を非表示） */
@media (max-width: 430px) {






}

/* NG-6(430px以下): d00は.cw-nav(横スクロールグロナビ)も.cw-search/.cw-kwband同様に非表示、
   ハンバーガーのみを残す(design05 65行 @media(max-width:900px)相当)。グロナビ項目は
   header.liquidのc-gmenuドロワー内に別途複製済み(EC-Force既定DOM削除は禁止のためnavは
   display:noneで隠すのみ、CSSレイアウト制御)。header高さ72pxはこのブロックでは変更しない。 */
@media (max-width: 430px) {

}

/* kk-gronavi-d05: グロナビのdesign05整列(dddb255移植、W-LIQ Phase1でtheme-previewへ一元化)。
   NG-6/NG-9の前提となる依存関係(430px以下を上書きする特異度基準・ドロワー寸法基準)なので同時移植。
   (1) PCロゴをdesign05実測304x58へ(common.css81行のmax-width:210px!important対策) */
@media (min-width: 920px) {

}




/* 2026-08-19 sticky-header aware in-page anchors */
:root{--kk-anchor-offset:150px}
html{scroll-padding-top:var(--kk-anchor-offset)}
[id]{scroll-margin-top:var(--kk-anchor-offset)}
@media (min-width:431px) and (max-width:919px){:root{--kk-anchor-offset:84px}}
@media (max-width:430px){:root{--kk-anchor-offset:80px}}

/* KK-FORMS shared form baseline moved from main.css. */
/* 表組フォーム */
.c-form_table{width:100% !important;max-width:820px;margin:24px auto 0 !important;border-collapse:collapse !important;border:1px solid var(--t-hairline) !important;background:#fff}
.c-form_table th,.c-form_table td{border-bottom:1px solid var(--t-hairline) !important;vertical-align:top;text-align:left}
.c-form_table th{width:33% !important;background:var(--t-bg-deep) !important;border-right:1px solid var(--t-hairline) !important;font-family:var(--font-sans) !important;font-size:13px !important;font-weight:500 !important;letter-spacing:.03em;color:var(--t-ink) !important;padding:18px 18px !important;line-height:1.7}
.c-form_table td{padding:14px 18px !important;background:#fff}
.c-form_table tr:last-child th,.c-form_table tr:last-child td{border-bottom:none !important}
.c-form_table .required,.c-form_table th em,.c-form_table th .u-color--alert{color:var(--t-shu) !important;font-style:normal;margin-left:3px}
@media (max-width:767px){
  .c-form_table,.c-form_table tbody,.c-form_table tr,.c-form_table th,.c-form_table td{display:block !important;width:100% !important}
  .c-form_table th{border-right:none !important;border-bottom:none !important;padding:14px 14px 8px !important}
  .c-form_table td{padding:0 14px 16px !important;border-bottom:1px solid var(--t-hairline) !important}
}

/* 入力部品 */
.c-form_table input[type="text"],.c-form_table input[type="email"],.c-form_table input[type="password"],
.c-form_table input[type="tel"],.c-form_table input[type="number"],.c-form_table select,.c-form_table textarea,
.c-form_input,.c-form_table__select select{width:100%;background:#fff !important;border:1px solid var(--t-hairline) !important;border-radius:0 !important;font-family:var(--font-sans) !important;font-size:14px !important;color:var(--t-ink) !important;padding:12px 14px !important;min-height:46px;box-shadow:none !important;transition:border-color .15s,box-shadow .15s}
.c-form_table input::placeholder,.c-form_table textarea::placeholder{color:#B4B0A8;letter-spacing:.04em}
.c-form_table input:focus,.c-form_table select:focus,.c-form_table textarea:focus{outline:none !important;border-color:var(--t-shu) !important;box-shadow:0 0 0 3px rgba(196,34,42,.10) !important}
.c-form_table__name,.c-form_table__kana,.c-form_table__tel,.c-form_table__postcode{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap}
.c-form_table__name > *,.c-form_table__tel > *{flex:1 1 0;min-width:0}
.c-form_table__postcode{gap:8px}
.c-form_table__postcode.is-single{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
}
.c-form_table__postcode.is-single>input:not([type='checkbox']):not([type='radio']):not([type='hidden']){
  box-sizing:border-box!important;
  width:220px!important;
  max-width:min(220px,calc(100% - 32px))!important;
  min-width:0!important;
  flex:0 0 220px!important;
}

.c-form_input_note{
  flex:0 0 100%!important;
  width:100%;
  margin:6px 0 0!important;
  color:#777;
  font-size:12px;
  line-height:1.5;
}
.c-form_table__select{position:relative;display:block}
.c-form_table__select select{appearance:none;-webkit-appearance:none;padding-right:38px !important}
.c-form_table__select::after{content:'';position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.6px solid var(--t-ink-soft);border-bottom:1.6px solid var(--t-ink-soft);transform:translateY(-70%) rotate(45deg);pointer-events:none}
/* Checkbox visuals and states are owned by the shared contract above. */
.c-form_table__fill-code{margin-top:10px;padding:12px 14px;background:var(--t-bg-deep);border:1px solid var(--t-hairline);border-radius:0}
.c-form_table__fill-code__text{font-size:12px;color:var(--t-ink-soft);margin:0}
/* EC FORCE-compatible customer text validation (client-side defense only). */
.kokando-character-invalid {
  border-color: #b42318;
  box-shadow: inset 0 0 0 1px #b42318;
}

.kokando-character-error {
  margin: 6px 0 0;
  color: #b42318;
  font-size: 14px;
  line-height: 1.5;
}


/* KK-UI-QUALITY-20260830: shared empty-state component. */
.kk-empty-state{box-sizing:border-box;width:100%;max-width:720px;margin:24px auto 0;padding:34px 28px;border:1px solid var(--t-hairline,var(--line,#e3e0da));background:var(--t-card,#fff);text-align:center}
.kk-empty-state__title{margin:0 0 8px;color:var(--t-ink,var(--ink,#26231f));font-size:16px;font-weight:700;line-height:1.6}
.kk-empty-state__text{margin:0;color:var(--t-ink-soft,var(--mute,#6f6c66));font-size:13px;line-height:1.8}
.kk-empty-state__action{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:46px;margin-top:20px;padding:10px 24px;border:1px solid var(--t-shu,var(--red,#e60012));background:var(--t-shu,var(--red,#e60012));color:#fff!important;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none!important}
@media(max-width:719px){.kk-empty-state{margin-top:18px;padding:28px 18px}.kk-empty-state__action{width:100%;min-width:0}}
