/* Route: support (design00/assets/routes/support.css, ported verbatim). Used by: shop/contacts only. */
/* Route: support */
body{background:#fff}
main.ct{max-width:1200px;margin:0 auto;padding:20px 20px 80px}
.gd .ab-lead{margin:-16px 0 32px}
.ct-lead{max-width:680px;margin:0 0 18px;font-size:13.5px;line-height:2.1}
.ct-tel{max-width:680px;margin:0 0 30px;background:var(--wash);border:1px solid var(--line);border-radius:14px;font-size:12.5px;line-height:2;padding:14px 18px}
.ctf{max-width:680px;margin:0}
.ctf .row{margin:0 0 20px}
.ctf label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:0 0 8px}
.ctf .req{white-space:nowrap;flex:none;font-size:12px;font-weight:700;color:var(--red);background:transparent;border:0;border-radius:0;padding:0;letter-spacing:0}
.ctf .opt{white-space:nowrap;flex:none;font-size:9.5px;font-weight:700;color:var(--mute);background:var(--line);border-radius:3px;padding:1px 7px;letter-spacing:.1em}
.ctf input[type=text],.ctf input[type=email],.ctf input[type=tel],.ctf select,.ctf textarea{width:100%;font-family:inherit;font-size:14px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;outline:none}
.ctf input:focus,.ctf select:focus,.ctf textarea:focus{border-color:var(--red)}
.ctf textarea{min-height:170px;resize:vertical}
.ctf .agree{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;margin:26px 0 20px}
.ctf .agree a{color:var(--red);text-decoration:underline}
.ctf button{display:block;width:max-content;margin:0 auto;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.14em;color:#fff;background:var(--red);border:none;border-radius:100px;padding:15px 60px;cursor:pointer}
.ctf button:hover{background:var(--red-d)}
.ctf .dmy{text-align:center;font-size:10.5px;color:#B4AFA6;margin:10px 0 0}
.terms{max-width:760px;margin:0 auto}
.terms h2{font-size:16px;font-weight:700;letter-spacing:.06em;margin:34px 0 12px;padding-left:14px;border-left:4px solid var(--red);line-height:1.5}
.terms p,.terms li{font-size:13px;line-height:2.1}
.terms p{margin:0 0 12px}
.terms ol,.terms ul{margin:0 0 12px;padding-left:22px}
.terms .upd{font-size:11.5px;color:var(--mute);text-align:right;margin:30px 0 0}

/* KKCONTACT-20260820-W1: align contact flow with checkout/account form language. */
main.ct,
#contact-confirm-view,
#contact-complete-view{
  --contact-red:var(--t-shu,var(--red,#e60012));
  --contact-red-hover:var(--t-shu-soft,var(--red-d,#c50010));
  --contact-ink:var(--t-ink,var(--ink,#26231f));
  --contact-muted:var(--t-ink-soft,var(--mute,#6f6c66));
  --contact-line:var(--t-hairline,var(--line,#e3e0da));
  --contact-wash:#f8f7f4;
}
main.ct{box-sizing:border-box!important;max-width:1200px!important;margin:0 auto!important;padding:34px 20px 72px!important}
main.ct .crumbs{margin:0 0 26px!important}
main.ct .bl-h{margin:0 0 22px!important}
main.ct .bl-h h1{padding-left:14px!important;border-left:4px solid var(--contact-red)!important;font-family:var(--font-serif,'Noto Serif JP',serif)!important;font-size:26px!important;font-weight:600!important;line-height:1.45!important;color:var(--contact-ink)!important}
main.ct .bl-h span{color:var(--contact-muted)!important}
main.ct .ct-lead{max-width:860px!important;margin:0 0 14px!important;color:var(--contact-ink)!important;font-size:13px!important;line-height:1.9!important}
main.ct .ct-tel{max-width:860px!important;margin:0 0 24px!important;padding:13px 16px!important;border:1px solid var(--contact-line)!important;border-radius:3px!important;background:var(--contact-wash)!important;color:var(--contact-muted)!important}
main.ct .ct-tel a{color:var(--contact-red)!important;font-weight:700!important}
main.ct .ctf{box-sizing:border-box!important;max-width:920px!important;margin:0!important;padding:24px 26px!important;border:1px solid var(--contact-line)!important;background:#fff!important}
main.ct .ctf .row{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;align-items:start!important;gap:18px!important;margin:0!important;padding:14px 0!important;border-bottom:1px solid var(--contact-line)!important}
main.ct .ctf .row:first-child{padding-top:0!important}
main.ct .ctf .row label{align-self:center!important;margin:0!important;gap:8px!important;font-size:12.5px!important;color:var(--contact-ink)!important}
main.ct .ctf .ctf-fields{display:flex!important;gap:8px!important;min-width:0!important}
main.ct .ctf .ctf-fields>input{box-sizing:border-box!important;flex:1 1 0!important;min-width:0!important;margin:0!important}
main.ct .ctf .row>input+input{margin-top:8px!important}
main.ct .ctf .req{color:var(--contact-red)!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
main.ct .ctf input[type=text],
main.ct .ctf input[type=email],
main.ct .ctf input[type=tel],
main.ct .ctf select,
main.ct .ctf textarea{box-sizing:border-box!important;width:100%!important;min-height:44px!important;margin:0!important;padding:9px 12px!important;border:1px solid #cfcac2!important;border-radius:3px!important;background:#fff!important;color:var(--contact-ink)!important;box-shadow:none!important}
main.ct .ctf input:focus,
main.ct .ctf select:focus,
main.ct .ctf textarea:focus{outline:2px solid var(--contact-red)!important;outline-offset:-1px!important;border-color:var(--contact-red)!important}
main.ct .ctf textarea{min-height:180px!important;resize:vertical!important}
main.ct .ctf .agree{margin:20px 0 18px!important;padding:14px 16px!important;border:1px solid var(--contact-line)!important;border-radius:3px!important;background:var(--contact-wash)!important}
main.ct .ctf .agree a{color:var(--contact-red)!important}
main.ct .ctf button{display:flex!important;align-items:center!important;justify-content:center!important;min-width:280px!important;min-height:50px!important;margin:0 auto!important;padding:10px 30px!important;border:1px solid var(--contact-red)!important;border-radius:3px!important;background:var(--contact-red)!important;color:#fff!important;font-size:13.5px!important;font-weight:700!important;letter-spacing:.08em!important}
main.ct .ctf button:hover{background:var(--contact-red-hover)!important;border-color:var(--contact-red-hover)!important}
main.ct .control-alert.alert-danger{max-width:920px!important;margin:0 0 18px!important;padding:12px 16px!important;border:1px solid var(--contact-red)!important;border-left:4px solid var(--contact-red)!important;background:#fdecea!important}

#contact-confirm-view>.l-container__row,
#contact-complete-view>.l-container__row{box-sizing:border-box!important;width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:20px!important;padding-right:20px!important}
#contact-confirm-view .p-page_header,
#contact-complete-view .p-page_header{width:100%!important;margin:0!important;padding:0!important}
#contact-confirm-view .p-page_header__inner,
#contact-complete-view .p-page_header__inner{max-width:none!important;padding:0!important}
#contact-confirm-view .p-page_header__inner__title,
#contact-complete-view .p-page_header__inner__title{margin:0!important;padding:0 0 0 14px!important;border-left:4px solid var(--contact-red)!important;font-family:var(--font-serif,'Noto Serif JP',serif)!important;font-size:26px!important;font-weight:600!important;line-height:1.45!important;color:var(--contact-ink)!important;text-align:left!important}
#contact-confirm-view .p-account_form{box-sizing:border-box!important;width:100%!important;max-width:920px!important;margin:0!important;padding:0!important}
#contact-confirm-view .p-account_form__inner{box-sizing:border-box!important;width:100%!important;padding:24px 26px!important;border:1px solid var(--contact-line)!important;background:#fff!important}
#contact-confirm-view .c-form_table--confirm{width:100%!important;border-collapse:separate!important;border-spacing:0!important}
#contact-confirm-view .c-form_table--confirm tr{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;border-bottom:1px solid var(--contact-line)!important}
#contact-confirm-view .c-form_table--confirm tr:last-child{border-bottom:0!important}
#contact-confirm-view .c-form_table--confirm th,
#contact-confirm-view .c-form_table--confirm td{padding:13px 0!important;border:0!important;background:#fff!important;font-size:12.5px!important;line-height:1.8!important;text-align:left!important;vertical-align:top!important}
#contact-confirm-view .c-form_table--confirm th{padding-right:18px!important;color:var(--contact-muted)!important;font-weight:700!important}
#contact-confirm-view .p-account_form__inner__bottom{margin-top:22px!important;padding-top:20px!important;border-top:1px solid var(--contact-line)!important;display:grid!important;gap:10px!important;justify-items:start!important}
#contact-confirm-view .p-account_form__inner__bottom__btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:360px!important;min-height:50px!important;border:1px solid var(--contact-red)!important;border-radius:3px!important;background:var(--contact-red)!important;color:#fff!important}
#contact-confirm-view .p-account_form__inner__bottom__link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:360px!important;min-height:44px!important;margin:0!important;border:1px solid var(--contact-line)!important;border-radius:3px!important;background:#fff!important;color:var(--contact-ink)!important;text-decoration:none!important}

#contact-complete-view .p-page_header{max-width:920px!important;margin:0!important}
#contact-complete-view .p-page_header__inner{box-sizing:border-box!important;padding:44px 46px!important;border:1px solid var(--contact-line)!important;border-top:4px solid var(--contact-red)!important;background:#fff!important;text-align:left!important}
#contact-complete-view .p-page_header__inner__title{margin-bottom:18px!important}
#contact-complete-view .p-page_header__inner__lead{margin:0!important;color:var(--contact-muted)!important;font-size:13px!important;line-height:1.9!important;text-align:left!important}
#contact-complete-view .p-page_header__inner__lead a{color:var(--contact-red)!important}
#contact-complete-view .p-page_header__inner__btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:220px!important;min-height:48px!important;margin-top:24px!important;padding:10px 24px!important;border:1px solid var(--contact-red)!important;border-radius:3px!important;background:var(--contact-red)!important;color:#fff!important;text-decoration:none!important}
#contact-complete-view .p-page_header__inner__btn:hover{background:var(--contact-red-hover)!important;border-color:var(--contact-red-hover)!important}

@media(max-width:719px){
  main.ct{padding:24px 16px 58px!important}
  main.ct .bl-h h1,#contact-confirm-view .p-page_header__inner__title,#contact-complete-view .p-page_header__inner__title{font-size:22px!important}
  main.ct .ctf{padding:18px 16px!important}
  main.ct .ctf .row{display:block!important;padding:13px 0!important}
  main.ct .ctf .row label{margin:0 0 7px!important}
  main.ct .ctf .ctf-fields{flex-direction:column!important;width:100%!important}
  main.ct .ctf button{width:100%!important;min-width:0!important}
  #contact-confirm-view>.l-container__row,#contact-complete-view>.l-container__row{padding-left:16px!important;padding-right:16px!important}
  #contact-confirm-view .p-account_form__inner{padding:18px 16px!important}
  #contact-confirm-view .c-form_table--confirm tr{display:block!important;padding:12px 0!important}
  #contact-confirm-view .c-form_table--confirm th,#contact-confirm-view .c-form_table--confirm td{display:block!important;width:100%!important;padding:0!important}
  #contact-confirm-view .c-form_table--confirm th{margin-bottom:4px!important}
  #contact-confirm-view .p-account_form__inner__bottom__btn,#contact-confirm-view .p-account_form__inner__bottom__link{max-width:none!important}
  #contact-complete-view .p-page_header__inner{padding:32px 20px!important}
}

/* KKCONTACT-20260820-W2: contact form uses spacing only; no row divider lines. */
main.ct .ctf .row{border-bottom:0!important}
main.ct .ctf .row+.row{margin-top:4px!important}
#contact-confirm-view .c-form_table--confirm tr{border-bottom:0!important}

/* KKCONTACT-20260824-COMPACT-FIELDS: finite-choice field and shared checkbox contract. */
main.ct .ctf .ctf-select{position:relative;display:block;width:100%;max-width:360px}
main.ct .ctf .ctf-select::after{content:'';position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.6px solid var(--contact-muted);border-bottom:1.6px solid var(--contact-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
main.ct .ctf .ctf-select>select{width:100%!important;max-width:360px!important;padding-right:38px!important;appearance:none!important;-webkit-appearance:none!important;background:#fff!important;cursor:pointer!important}
@media(min-width:720px){
  main.ct .ctf input[type=tel]{max-width:360px!important}
  main.ct .ctf input[type=email]{max-width:480px!important}
}
main.ct .ctf .agree.c-form_table__checkbox{display:flex!important;align-items:center!important;gap:10px!important;cursor:pointer!important}
main.ct .ctf .agree.c-form_table__checkbox>input[type=checkbox]{position:absolute!important;opacity:0!important;pointer-events:none!important}
main.ct .ctf .agree .c-form_table__checkbox__frame{flex:0 0 20px!important;width:20px!important;height:20px!important;margin:0!important}
main.ct .ctf .agree .c-form_table__checkbox__text{font-size:12.5px!important;font-weight:500!important;line-height:1.6!important}
