:root{--ink:#231815;--line:#2a2523;--paper:#fff;--muted:#777;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.75}.ktds-container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.ktds-header{padding:24px 0 10px;background:#fff}.ktds-header-inner{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}.ktds-brand img{width:min(330px,42vw);height:auto}.ktds-nav ul{display:flex;gap:0;list-style:none;margin:0;padding:0}.ktds-nav li+li:before{content:"|";margin:0 20px}.ktds-nav a{color:inherit;text-decoration:none;font-weight:700}.ktds-main{min-height:65vh}.ktds-content{padding:48px 0}.ktds-page-title{text-align:center;font-size:clamp(28px,4vw,44px);margin:0 0 36px}.ktds-hero{padding:62px 0}.ktds-hero-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:0}.ktds-hero-cell{margin:0;overflow:hidden;animation:ktdsFade .8s ease}.ktds-hero-cell img{width:100%;height:100%;display:block;object-fit:cover}.ktds-hero-cell:nth-child(3n){grid-row:span 2}.ktds-hero-cell:nth-child(5n){grid-column:span 2}@keyframes ktdsFade{from{opacity:.2}to{opacity:1}}.ktds-section{width:min(calc(100% - 32px),var(--max));margin:50px auto}.ktds-operator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px 38px}.ktds-operator-photo{aspect-ratio:1.55;overflow:hidden;background:#f4f4f4}.ktds-operator-photo img{width:100%;height:100%;object-fit:cover}.ktds-operator-logo{height:80px;display:flex;justify-content:center;align-items:center;margin-top:12px}.ktds-operator-logo img{max-width:82%;max-height:70px;width:auto}.ktds-operator-copy{font-size:14px;line-height:1.8}.ktds-filter-tabs{display:flex;justify-content:center;gap:0;margin-bottom:12px}.ktds-filter-tabs button{font-size:18px;font-weight:700;border:0;border-bottom:2px solid transparent;background:none;padding:10px 28px;cursor:pointer}.ktds-filter-tabs button.is-active{border-color:var(--ink)}.ktds-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0 0 42px}.ktds-filters button{border:0;background:none;padding:2px 14px;cursor:pointer}.ktds-filters button+button{border-left:1px solid #aaa}.ktds-filters .is-active{font-weight:800}.ktds-item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 52px}.ktds-item-card a{color:inherit;text-decoration:none}.ktds-item-thumb{aspect-ratio:1.35;overflow:hidden;background:#f5f5f5}.ktds-item-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.ktds-item-card:hover img{transform:scale(1.025)}.ktds-item-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-top:12px}.ktds-item-meta h2{font-size:18px;line-height:1.35;margin:0}.ktds-item-meta small{color:#555}.ktds-item-meta strong{white-space:nowrap;font-size:15px}.ktds-product-detail{padding:42px 0 90px}.ktds-product-operator{text-align:center;margin-bottom:28px}.ktds-product-operator img{max-height:85px;width:auto}.ktds-product-gallery{display:grid;grid-template-columns:2.2fr 1fr;gap:18px}.ktds-product-main{aspect-ratio:1.45;background:#f7f7f7}.ktds-product-main img{width:100%;height:100%;object-fit:contain}.ktds-product-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ktds-product-thumbs button{border:0;padding:0;background:#eee;cursor:pointer;overflow:hidden}.ktds-product-thumbs img{width:100%;height:100%;object-fit:cover}.ktds-product-detail>h1{font-size:clamp(26px,3vw,40px);margin:28px 0 8px}.ktds-product-copy{max-width:900px}.ktds-product-specs{display:inline-block;background:#f2f2f2;padding:14px 18px;margin:10px 0}.ktds-product-price{font-size:28px;font-weight:800;margin:12px 0}.ktds-color-chips{border-top:1px solid #bbb;margin-top:40px;padding-top:24px}.ktds-color-chips button{border:1px solid #bbb;background:white;padding:10px 14px;margin:0 8px 8px 0;cursor:pointer}.ktds-color-chips span{display:inline-block;width:20px;height:20px;border-radius:50%;background:var(--chip);vertical-align:middle;margin-right:8px;border:1px solid #aaa}.ktds-special-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.ktds-special-grid a{color:inherit;text-decoration:none}.ktds-special-grid img{width:100%;aspect-ratio:1.5;object-fit:cover}.ktds-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ktds-form-grid label{display:block;font-weight:700}.ktds-form-grid .full{grid-column:1/-1}.ktds-form-grid input,.ktds-form-grid textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #aaa}.req,.opt{font-size:11px;margin-left:8px;padding:2px 6px}.req{background:#222;color:#fff}.opt{background:#eee}.ktds-privacy-frame iframe{width:100%;height:220px;border:1px solid #bbb;margin:18px 0}.wpcf7-submit{padding:14px 50px;border:1px solid #222;background:#222;color:#fff;cursor:pointer}.ktds-footer{border-top:1px solid #ddd;padding:32px 0;margin-top:60px;font-size:13px}.ktds-empty{padding:80px;text-align:center;background:#f5f5f5}
@media(max-width:800px){.ktds-header-inner{align-items:center}.ktds-nav{font-size:12px}.ktds-nav li+li:before{margin:0 8px}.ktds-hero{padding:28px 0}.ktds-hero-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.ktds-operator-grid,.ktds-item-grid,.ktds-special-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.ktds-product-gallery{grid-template-columns:1fr}.ktds-product-thumbs{grid-template-columns:repeat(4,1fr)}.ktds-form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ktds-header-inner{display:block}.ktds-brand{text-align:center}.ktds-brand img{width:min(300px,80vw)}.ktds-nav ul{justify-content:center;margin-top:16px}.ktds-operator-grid,.ktds-item-grid,.ktds-special-grid{grid-template-columns:1fr}.ktds-item-grid{gap:34px}.ktds-hero-grid{grid-auto-rows:120px}.ktds-item-meta h2{font-size:17px}}
.ktds-operator-card-link{display:block;color:inherit;text-decoration:none}.ktds-more-link{display:inline-block;margin-top:8px;border-bottom:1px solid currentColor;font-weight:700}.ktds-operator-card-link:hover .ktds-operator-photo img{transform:scale(1.025)}.ktds-operator-photo img{transition:transform .35s}
.ktds-operator-detail{padding:48px 0 100px}.ktds-operator-detail-header{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}.ktds-operator-detail-photo{aspect-ratio:1.45;overflow:hidden;background:#f5f5f5}.ktds-operator-detail-photo img{width:100%;height:100%;object-fit:cover}.ktds-operator-detail-logo img{max-width:320px;max-height:110px;width:auto;height:auto}.ktds-operator-detail-heading h1{font-size:clamp(30px,4vw,48px);margin:20px 0 16px}.ktds-operator-lead{font-size:16px}.ktds-operator-section{margin-top:64px}.ktds-operator-section>h2{font-size:26px;border-bottom:1px solid #bbb;padding-bottom:10px;margin-bottom:24px}.ktds-operator-info{margin:0;border-top:1px solid #ddd}.ktds-operator-info>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid #ddd}.ktds-operator-info dt,.ktds-operator-info dd{margin:0;padding:14px 16px}.ktds-operator-info dt{font-weight:700;background:#f7f7f7}.ktds-operator-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ktds-operator-gallery figure{margin:0;aspect-ratio:1.35;overflow:hidden;background:#f5f5f5}.ktds-operator-gallery img{width:100%;height:100%;object-fit:cover}.ktds-map-embed iframe{display:block;width:100%!important;max-width:none;height:450px;border:0}
.ktds-product-main{display:block;width:100%;border:0;padding:0;cursor:zoom-in}.ktds-product-thumbs button.is-active{outline:1px solid var(--ink);outline-offset:-1px}.ktds-image-modal[hidden]{display:none}.ktds-image-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:40px}.ktds-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86)}.ktds-image-modal img{position:relative;z-index:2;max-width:min(92vw,1500px);max-height:90vh;object-fit:contain}.ktds-modal-close{position:fixed;right:22px;top:18px;z-index:3;width:46px;height:46px;border:1px solid #fff;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:30px;line-height:1;cursor:pointer}.ktds-modal-open{overflow:hidden}
@media(max-width:800px){.ktds-operator-detail-header{grid-template-columns:1fr;gap:24px}.ktds-operator-gallery{grid-template-columns:repeat(2,1fr)}.ktds-operator-info>div{grid-template-columns:140px 1fr}.ktds-image-modal{padding:20px}}
@media(max-width:520px){.ktds-operator-gallery{grid-template-columns:1fr}.ktds-operator-info>div{grid-template-columns:1fr}.ktds-operator-info dt,.ktds-operator-info dd{padding:10px 12px}.ktds-map-embed iframe{height:340px}}
.ktds-color-chips button.is-active{font-weight:700;text-decoration:underline}.ktds-footer a{color:inherit}.ktds-privacy-content{max-width:900px;margin:0 auto;line-height:1.9}
/* v0.7 main visual */
.ktds-hero{padding:48px 0}.ktds-hero-layout{width:min(calc(100% - 32px),1180px);margin:0 auto;display:grid;gap:0;background:transparent;overflow:hidden}.ktds-hero-layout figure{margin:0;overflow:hidden;background:#eee}.ktds-hero-layout img{display:block;width:100%;height:100%;object-fit:cover}.ktds-hero-layout .ktds-hero-fixed{background:transparent}.ktds-hero-layout .ktds-hero-fixed img{object-fit:contain;background:transparent}.ktds-hero-layout-pc{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,minmax(150px,1fr));aspect-ratio:2/1}.ktds-hero-layout-pc .ktds-hero-fixed{grid-column:3/5;grid-row:1/4}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(1){grid-column:1;grid-row:1}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(2){grid-column:2;grid-row:1}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(3){grid-column:1;grid-row:2}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(4){grid-column:2;grid-row:2}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(5){grid-column:1;grid-row:3}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(6){grid-column:2;grid-row:3}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(7){grid-column:5;grid-row:1}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(8){grid-column:6;grid-row:1}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(9){grid-column:5;grid-row:2}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(10){grid-column:6;grid-row:2}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(11){grid-column:5;grid-row:3}.ktds-hero-layout-pc .ktds-hero-random-slot:nth-child(12){grid-column:6;grid-row:3}.ktds-hero-layout-sp{display:none}.ktds-hero-random-slot img{opacity:0;transition:opacity .6s ease}.ktds-hero-random-slot img.is-visible{opacity:1}
@media(max-width:800px){.ktds-hero-layout-pc{display:none}.ktds-hero-layout-sp{display:grid;width:min(calc(100% - 32px),620px);grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(100px,1fr));aspect-ratio:1/1}.ktds-hero-layout-sp .ktds-hero-fixed{grid-column:2/4;grid-row:1/3}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(1){grid-column:1;grid-row:1}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(2){grid-column:4;grid-row:1}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(3){grid-column:1;grid-row:2}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(4){grid-column:4;grid-row:2}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(5){grid-column:1;grid-row:3}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(6){grid-column:2;grid-row:3}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(7){grid-column:3;grid-row:3}.ktds-hero-layout-sp .ktds-hero-random-slot:nth-child(8){grid-column:4;grid-row:3}}

/* v0.9.1 mobile header */
.ktds-menu-toggle{display:none}
@media(max-width:800px){
  html,body{width:100%;margin:0;padding:0;overflow-x:hidden}
  .ktds-header{padding:0;background:#fff}
  .ktds-header .ktds-container{width:100%;max-width:none;margin:0;padding:0}
  .ktds-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:8px 12px;border-bottom:1px solid var(--line)}
  .ktds-brand{line-height:0;text-align:left;min-width:0}
  .ktds-brand a{display:block;width:fit-content;max-width:calc(100vw - 76px)}
  .ktds-brand .custom-logo-link{display:block}
  .ktds-brand img{display:block;width:220px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
  .ktds-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;padding:9px;border:0;background:transparent;appearance:none;cursor:pointer}
  .ktds-menu-toggle span{display:block;width:25px;height:2px;margin:3px 0;background:var(--ink);transition:transform .25s ease,opacity .25s ease}
  .ktds-menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .ktds-menu-toggle.is-open span:nth-child(2){opacity:0}
  .ktds-menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .ktds-nav{position:absolute;top:100%;left:0;z-index:1000;display:none;width:100%;background:#fff;border-bottom:1px solid var(--line);font-size:14px}
  .ktds-nav.is-open{display:block}
  .ktds-nav ul{display:block;width:100%;margin:0;padding:0;list-style:none}
  .ktds-nav li{margin:0;border-bottom:1px solid #e6e6e6}
  .ktds-nav li:last-child{border-bottom:0}
  .ktds-nav li+li:before{display:none;content:none}
  .ktds-nav a{display:block;padding:14px 18px;text-decoration:none}
  .ktds-main,.ktds-hero{width:100%;margin:0;padding-left:0;padding-right:0}
  .ktds-hero{padding-top:28px;padding-bottom:28px}
  .ktds-hero-layout,.ktds-hero-layout-sp{width:100%;max-width:none;margin-left:0;margin-right:0}
}
@media(max-width:520px){
  .ktds-header-inner{display:flex}
  .ktds-brand{text-align:left}
  .ktds-brand img{width:210px;max-width:calc(100vw - 76px)}
  .ktds-nav ul{margin-top:0}
}

/* v0.9.2 information */
.ktds-information-section{width:min(calc(100% - 32px),1180px);margin:52px auto}
.ktds-information-heading{margin:0 0 18px;text-align:center;font-size:clamp(22px,3vw,32px);letter-spacing:.08em}
.ktds-information-frame-wrap{display:block;width:100%;border:1px solid #d8d4d2;background:#fff;box-sizing:border-box;overflow:hidden}.ktds-information-frame{display:block;width:100%;height:100%;border:0;background:#fff;box-sizing:border-box}
.ktds-information-single{max-width:900px}
.ktds-information-single-header{text-align:center;margin-bottom:34px}
.ktds-information-single-header time{display:block;margin-bottom:8px;color:#777;font-size:13px}
.ktds-information-single-header .ktds-page-title{margin-bottom:0}
.ktds-information-single-image{margin:0 0 32px}
.ktds-information-single-image img{display:block;width:100%;height:auto}
.ktds-information-single-content{line-height:1.9}
.ktds-information-single-content img{max-width:100%;height:auto}
.ktds-information-back{margin-top:56px;text-align:center}
.ktds-information-back a{color:inherit;text-underline-offset:4px}
@media(max-width:800px){
  .ktds-information-section{width:100%;margin:36px 0;padding:0 14px}
  .ktds-information-heading{margin-bottom:12px}
}

/* v0.10.0 content and variation updates */
.ktds-product-heading{max-width:920px;margin:0 auto 28px;text-align:center}.ktds-product-heading h1{font-size:clamp(26px,3vw,40px);margin:0 0 10px}.ktds-product-heading .ktds-product-copy{max-width:none}.ktds-product-gallery{grid-template-areas:"main thumbs" "caption ." "variation variation";align-items:start}.ktds-product-main{grid-area:main}.ktds-product-image-caption{grid-area:caption}.ktds-product-thumbs{grid-area:thumbs}.ktds-color-chips{grid-area:variation}.ktds-color-chips span.has-image{overflow:hidden;background:#eee}.ktds-color-chips span.has-image img{display:block;width:100%;height:100%;object-fit:cover}.ktds-product-section{max-width:920px;margin:38px auto 0;padding-top:24px;border-top:1px solid #ddd}.ktds-product-section h2{font-size:22px;margin:0 0 12px}.ktds-product-price{max-width:920px;margin:32px auto 12px}.ktds-external-link{max-width:920px;margin:12px auto 24px}.ktds-external-button{display:inline-block;padding:13px 28px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700}.ktds-external-link p{margin:8px 0 0;color:#666;font-size:12px}.ktds-product-notes{max-width:920px;margin:16px auto}.ktds-operator-products{margin-top:64px}.ktds-operator-products .ktds-item-meta h3{font-size:18px;line-height:1.35;margin:0}.ktds-operator-card-link{height:100%}.ktds-operator-copy{margin-top:10px}.ktds-filter-tabs button{min-width:180px}
@media(max-width:800px){.ktds-product-gallery{grid-template-areas:"main" "caption" "thumbs" "variation"}.ktds-product-heading{text-align:left}.ktds-filter-tabs button{min-width:0;padding:10px 16px;font-size:15px}}

/* v0.10.1 default mobile/layout settings */
@media screen and (max-width: 767px) {
  body.home .ktds-container.ktds-content,
  body.front-page .ktds-container.ktds-content {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .ktds-hero,
  body.front-page .ktds-hero {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ktds-brand {
    margin: 10px 0 10px 12px;
  }
}

.ktds-mymap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
}

.ktds-mymap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}

/* 非選択側の絞り込み項目を確実に非表示 */
.ktds-filters[hidden] {
  display: none !important;
}


/* 商品一覧ロゴオーバーレイ */
.ktds-item-thumb{position:relative}
.ktds-item-category-logo,
.ktds-item-global-logo{
  position:absolute;
  z-index:2;
  pointer-events:none;
}
.ktds-item-category-logo{
  left:var(--ktds-cat-label-left,0px);
  top:var(--ktds-cat-label-top,0px);
  width:var(--ktds-cat-label-width,150px);
  height:var(--ktds-cat-label-height,40px);
  padding:0 10px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  white-space:nowrap;
  color:var(--ktds-cat-label-color,#fff);
  background:var(--ktds-cat-label-bg,#93466f);
  font-family:var(--ktds-cat-label-font,inherit);
  font-weight:var(--ktds-cat-label-weight,500);
  font-size:clamp(12px,1.15vw,18px);
  line-height:1;
  text-align:center;
}
.ktds-item-global-logo{
  right:var(--ktds-global-logo-right,8px);
  bottom:var(--ktds-global-logo-bottom,8px);
  width:var(--ktds-global-logo-width,20%);
  max-width:calc(100% - var(--ktds-global-logo-right,8px) - 8px);
  line-height:0;
}
.ktds-item-global-logo img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  transform:none!important;
}
.ktds-item-card:hover .ktds-item-global-logo img{transform:none!important}

/* v0.10.6 NEWS and footer alignment */
@media(min-width:801px){
  .ktds-information-frame-wrap{width:80%;margin-left:auto;margin-right:auto}
}
.ktds-footer p{text-align:center}

/* v0.10.12 special list: horizontal cards on desktop */
.ktds-special-list{
  display:flex;
  flex-direction:column;
  gap:28px;
  width:100%;
}
.ktds-special-card{
  margin:0;
  background:#f1f8fb;
}
.ktds-special-card-link{
  display:grid;
  grid-template-columns:minmax(280px,34%) minmax(0,1fr);
  align-items:center;
  gap:34px;
  min-height:220px;
  padding:24px 30px;
  color:inherit;
  text-decoration:none;
}
.ktds-special-thumb{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#e8e8e8;
}
.ktds-special-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.ktds-special-card:hover .ktds-special-thumb img{
  transform:scale(1.025);
}
.ktds-special-noimage{
  display:block;
  width:100%;
  height:100%;
}
.ktds-special-card-body{
  min-width:0;
}
.ktds-special-card-body h2{
  margin:0 0 12px;
  font-size:clamp(22px,2.25vw,32px);
  line-height:1.45;
}
.ktds-special-card-body p{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  font-size:15px;
  line-height:1.9;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
@media(max-width:800px){
  .ktds-special-list{gap:30px}
  .ktds-special-card{background:transparent}
  .ktds-special-card-link{
    display:block;
    min-height:0;
    padding:0;
  }
  .ktds-special-card-body{padding-top:14px}
  .ktds-special-card-body h2{
    margin-bottom:8px;
    font-size:22px;
  }
  .ktds-special-card-body p{
    font-size:14px;
    -webkit-line-clamp:4;
  }
}

/* v0.10.13 特集一覧：PCのみ、画像の右側に見出し・本文を配置 */
@media screen and (min-width: 801px){
  .ktds-special-list{
    display:block;
    width:80%;
    margin-left:auto;
    margin-right:auto;
  }
  .ktds-special-list .ktds-special-card{
    display:block;
    width:100%;
    margin:0 0 34px;
    background:transparent;
  }
  .ktds-special-list .ktds-special-card-link{
    display:grid;
    grid-template-columns:320px minmax(0, 1fr);
    align-items:start;
    column-gap:36px;
    width:100%;
    min-height:0;
    padding:0;
  }
  .ktds-special-list .ktds-special-thumb{
    width:320px;
    aspect-ratio:16 / 9;
  }
  .ktds-special-list .ktds-special-card-body{
    display:block;
    min-width:0;
    padding:0;
  }
  .ktds-special-list .ktds-special-card-body h2{
    margin:0 0 12px;
  }
  .ktds-special-list .ktds-special-card-body p{
    margin:0;
  }
}


/* v0.10.14 特集一覧：PC幅80％・中央配置、本文を左上揃え */
@media screen and (min-width: 801px){
  .ktds-special-list .ktds-special-card-body{
    align-self:start;
  }
}


/* v0.10.15 余白・ボタンホバー調整 */
.ktds-content{padding:10px 0;}
.ktds-external-button,
.wpcf7-submit{transition:background-color .2s ease,border-color .2s ease,color .2s ease;}
.ktds-external-button:hover,
.ktds-external-button:focus-visible,
.wpcf7-submit:hover,
.wpcf7-submit:focus-visible{background:#3b174f!important;border-color:#3b174f!important;color:#fff!important;}

/* v0.10.16 リンク装飾・グローバルメニュー・ヒーロー余白調整 */
.ktds-hero{padding:10px 0;}
.ktds-nav a,
.ktds-footer a{text-decoration:none!important;}
.ktds-nav a{transition:color .2s ease;}
.ktds-nav a:hover,
.ktds-nav a:focus-visible{color:#3b174f!important;}

/* v0.10.17 商品・事業者詳細幅、NEWS幅、商品画像、外部リンクホバー */
@media screen and (min-width: 801px){
  .ktds-product-detail,
  .ktds-operator-detail{
    width:min(calc(100% - 32px),920px);
    max-width:920px;
    margin-left:auto;
    margin-right:auto;
  }

  .ktds-information-frame{
    width:60%;
    margin-left:auto;
    margin-right:auto;
  }
}

.ktds-product-main{
  width:100%;
  aspect-ratio:3 / 2;
  padding:0;
  border:0;
  overflow:hidden;
  background:#f5f5f5;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ktds-product-main img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
}

.ktds-external-button{
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}

.ktds-external-button:hover,
.ktds-external-button:focus,
.ktds-external-button:focus-visible{
  background-color:#8b3a3a!important;
  border-color:#8b3a3a!important;
  color:#fff!important;
  text-decoration:none!important;
}

/* 商品一覧：絞り込みメニューの選択色と下線アニメーション */
.ktds-items-wrap .ktds-filter-tabs button,
.ktds-items-wrap .ktds-filters button{
  position:relative;
  color:var(--ink);
  transition:color .2s ease;
}

.ktds-items-wrap .ktds-filter-tabs button{
  border-bottom:0;
}

.ktds-items-wrap .ktds-filter-tabs button:hover,
.ktds-items-wrap .ktds-filter-tabs button:focus-visible,
.ktds-items-wrap .ktds-filters button:hover,
.ktds-items-wrap .ktds-filters button:focus-visible{
  color:#B3424A;
}

.ktds-items-wrap .ktds-filter-tabs button::after,
.ktds-items-wrap .ktds-filters button::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:2px;
  height:1px;
  background:#B3424A;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .32s ease;
  pointer-events:none;
}

.ktds-items-wrap .ktds-filter-tabs button::after{
  left:28px;
  right:28px;
  bottom:0;
}

.ktds-items-wrap .ktds-filter-tabs button.is-active::after,
.ktds-items-wrap .ktds-filters button.is-active::after,
.ktds-items-wrap .ktds-filter-tabs button:hover::after,
.ktds-items-wrap .ktds-filter-tabs button:focus-visible::after,
.ktds-items-wrap .ktds-filters button:hover::after,
.ktds-items-wrap .ktds-filters button:focus-visible::after{
  transform:scaleX(1);
}

@media(max-width:800px){
  .ktds-items-wrap .ktds-filter-tabs button::after{
    left:16px;
    right:16px;
  }
}

/* v0.10.26 商品カテゴリラベルのデバイス差抑制 */
.ktds-item-category-logo{
  min-height:var(--ktds-cat-label-height,40px);
  padding-inline:12px;
  font-size:0.8125rem;
  line-height:1;
  letter-spacing:.04em;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* v0.10.26 グローバルメニュー：中央から伸びる1px下線 */
.ktds-nav a{
  position:relative;
  display:inline-block;
  color:var(--ink);
  transition:color .2s ease;
}
.ktds-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:#B3424A;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .32s ease;
  pointer-events:none;
}
.ktds-nav a:hover,
.ktds-nav a:focus-visible{
  color:#B3424A!important;
}
.ktds-nav a:hover::after,
.ktds-nav a:focus-visible::after,
.ktds-nav .current-menu-item>a::after,
.ktds-nav .current_page_item>a::after,
.ktds-nav .current-menu-ancestor>a::after,
.ktds-nav .current_page_ancestor>a::after{
  transform:scaleX(1);
}

@media(max-width:800px){
  .ktds-item-category-logo{
    font-size:0.8125rem;
    padding-inline:12px;
  }
  .ktds-nav a{
    display:block;
  }
  .ktds-nav a::after{
    left:18px;
    right:18px;
    bottom:8px;
  }
}


/* v0.10.27 事業者一覧：ロゴの縦横比を常に維持 */
.ktds-operator-logo{
  width:100%;
  height:80px;
  min-width:0;
  overflow:hidden;
}
.ktds-operator-logo img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:min(82%, 320px)!important;
  max-height:70px!important;
  object-fit:contain;
  object-position:center;
  flex:0 1 auto;
}

@media(max-width:767px){
  .ktds-operator-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 18px;
  }
  .ktds-operator-logo{
    height:58px;
    margin-top:8px;
  }
  .ktds-operator-logo img{
    max-width:78%!important;
    max-height:50px!important;
  }
  .ktds-operator-copy{
    font-size:13px;
    line-height:1.7;
  }
}

@media(max-width:420px){
  .ktds-operator-grid{
    gap:26px 14px;
  }
  .ktds-operator-logo{
    height:52px;
  }
  .ktds-operator-logo img{
    max-width:74%!important;
    max-height:44px!important;
  }
}

/* v0.10.32 事業者フィルター：2行を崩さず中央揃え */
.ktds-items-wrap .ktds-filters[data-panel="operator"][hidden]{
  display:none!important;
}
.ktds-items-wrap .ktds-filters[data-panel="operator"]:not([hidden]){
  display:block;
  width:100%;
  max-width:100%;
  margin:0 0 42px;
}
.ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row{
  display:flex;
  width:100%;
  min-width:0;
  justify-content:center;
  align-items:center;
  flex-wrap:nowrap;
}
.ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row + .ktds-filter-row{
  margin-top:2px;
}
.ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row button{
  position:relative;
  flex:0 0 auto;
  border-left:0!important;
  padding:3px 14px;
  white-space:nowrap;
}
.ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row button + button::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:1em;
  background:#aaa;
  transform:translateY(-50%);
  pointer-events:none;
}

@media(max-width:900px){
  .ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row{
    flex-wrap:wrap;
  }
  .ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row button{
    padding:3px 13px;
  }
}

@media(max-width:520px){
  .ktds-items-wrap .ktds-filters[data-panel="operator"] .ktds-filter-row button{
    padding:3px 10px;
    font-size:13px;
  }
}

/* v0.10.33 NEWS枠：左・下を含む四辺を確実に1px表示 */
.ktds-information-frame-wrap{border:1px solid #d8d4d2!important;box-sizing:border-box!important}
.ktds-information-frame{width:100%!important;height:100%!important;border:0!important;margin:0!important}


/* v0.10.34 NEWS管理設定を確実に反映 */
.ktds-information-frame-wrap{
  margin-left:auto!important;
  margin-right:auto!important;
  border:1px solid #d8d4d2!important;
  outline:1px solid transparent;
  box-shadow:inset 0 0 0 1px rgba(216,212,210,.01);
  overflow:hidden!important;
}
.ktds-information-frame{display:block!important;width:100%!important;height:100%!important;border:0!important;}
@media(max-width:767px){
  .ktds-information-frame-wrap{max-width:100%!important;}
}

/* v0.10.36 NEWS枠：スマートフォンでは設定値に関係なく横幅100% */
@media (max-width: 767px){
  .ktds-information-frame-wrap{
    width:100%!important;
    max-width:100%!important;
  }
}

/* v1.00 商品一覧・事業者詳細下部の商品画像を1200×800と同じ3:2比率で表示 */
.ktds-item-thumb{
  width:100%;
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:#f5f5f5;
}
.ktds-item-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* v1.00.4 opening animation */
.ktds-opening{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;overflow:hidden;background:var(--ktds-opening-bg,#f7f3ec);color:var(--ktds-opening-color,#231815);visibility:visible;opacity:1;clip-path:inset(0);will-change:opacity,clip-path,filter;transition:opacity var(--ktds-reveal-time,1000ms) var(--ktds-reveal-ease,ease),filter var(--ktds-reveal-time,1000ms) var(--ktds-reveal-ease,ease),clip-path var(--ktds-reveal-time,1000ms) var(--ktds-reveal-ease,ease),visibility 0s linear var(--ktds-reveal-time,1000ms)}
.ktds-opening[hidden]{display:none!important}.ktds-opening-panel{position:absolute;inset:0;background:var(--ktds-opening-bg,#f7f3ec);will-change:transform,clip-path;transition:transform var(--ktds-reveal-time,1000ms) var(--ktds-reveal-ease,ease),clip-path var(--ktds-reveal-time,1000ms) var(--ktds-reveal-ease,ease)}.ktds-opening-panel-right{display:none}
.ktds-opening-content{position:relative;z-index:2;text-align:center;padding:32px;opacity:0;transform:translate3d(0,0,0);filter:none;will-change:opacity,transform,filter;transition:opacity var(--ktds-enter-time,1200ms) var(--ktds-enter-ease,ease) var(--ktds-enter-delay,150ms),transform var(--ktds-enter-time,1200ms) var(--ktds-enter-ease,ease) var(--ktds-enter-delay,150ms),filter var(--ktds-enter-time,1200ms) var(--ktds-enter-ease,ease) var(--ktds-enter-delay,150ms)}
.ktds-opening.enter-up .ktds-opening-content{transform:translateY(34px)}.ktds-opening.enter-down .ktds-opening-content{transform:translateY(-34px)}.ktds-opening.enter-bleed .ktds-opening-content{filter:blur(18px);transform:scale(1.025)}.ktds-opening.enter-bleed_up .ktds-opening-content{filter:blur(18px);transform:translateY(34px) scale(1.025)}.ktds-opening.enter-bleed_down .ktds-opening-content{filter:blur(18px);transform:translateY(-34px) scale(1.025)}.ktds-opening.enter-scale .ktds-opening-content{transform:scale(.92)}.ktds-opening.is-ready .ktds-opening-content{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.ktds-opening-lines{display:flex;flex-direction:column;align-items:center;gap:var(--ktds-line-gap,10px)}.ktds-opening-line{margin:0;line-height:1.45;letter-spacing:var(--ktds-opening-spacing,8px);white-space:nowrap}.ktds-opening-line-text{font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;font-weight:500}.ktds-opening-line.line-1{font-size:var(--ktds-line1-pc,46px)}.ktds-opening-line.line-2{font-size:var(--ktds-line2-pc,46px)}.ktds-opening-line.line-3{font-size:var(--ktds-line3-pc,32px)}.ktds-opening-line-image img{display:block;width:auto;height:auto;max-width:85vw}.ktds-opening-line-image.line-1 img{width:var(--ktds-line1-img-pc,420px)}.ktds-opening-line-image.line-2 img{width:var(--ktds-line2-img-pc,420px)}.ktds-opening-line-image.line-3 img{width:var(--ktds-line3-img-pc,360px)}.ktds-opening-logo{margin:24px auto 0;opacity:.9}.ktds-opening-logo img{display:block;width:var(--ktds-logo-pc,280px);max-width:70vw;height:auto;margin:auto}.ktds-opening-skip{position:absolute;right:24px;bottom:18px;z-index:4;border:0;border-bottom:1px solid currentColor;padding:2px 0;background:transparent;color:inherit;font:10px/1.4 sans-serif;letter-spacing:.16em;opacity:.55;cursor:pointer}
.ktds-opening.is-text-leaving .ktds-opening-content{transition-delay:0ms;transition-duration:var(--ktds-text-exit-time,650ms);transition-timing-function:var(--ktds-exit-ease,ease);opacity:0}.ktds-opening.exit-up.is-text-leaving .ktds-opening-content{transform:translateY(-30px)}.ktds-opening.exit-down.is-text-leaving .ktds-opening-content{transform:translateY(30px)}.ktds-opening.exit-fade_blur.is-text-leaving .ktds-opening-content{filter:blur(18px);transform:scale(1.025)}.ktds-opening.exit-scale.is-text-leaving .ktds-opening-content{transform:scale(.94)}
.ktds-opening.is-revealing{pointer-events:none}.ktds-opening.reveal-fade.is-revealing{opacity:0}.ktds-opening.reveal-fade_blur.is-revealing{opacity:0;filter:blur(22px)}.ktds-opening.reveal-curtain_up.is-revealing{clip-path:inset(0 0 100% 0)}.ktds-opening.reveal-circle{clip-path:circle(150% at 50% 50%)}.ktds-opening.reveal-circle.is-revealing{clip-path:circle(0 at 50% 50%)}.ktds-opening.reveal-accordion_h .ktds-opening-panel,.ktds-opening.reveal-accordion_v .ktds-opening-panel{inset:auto;display:block}.ktds-opening.reveal-accordion_h .ktds-opening-panel{top:0;bottom:0;width:50.1%}.ktds-opening.reveal-accordion_h .ktds-opening-panel-left{left:0}.ktds-opening.reveal-accordion_h .ktds-opening-panel-right{right:0}.ktds-opening.reveal-accordion_h.is-revealing{background:transparent}.ktds-opening.reveal-accordion_h.is-revealing .ktds-opening-panel-left{transform:translateX(-101%)}.ktds-opening.reveal-accordion_h.is-revealing .ktds-opening-panel-right{transform:translateX(101%)}.ktds-opening.reveal-accordion_v .ktds-opening-panel{left:0;right:0;height:50.1%}.ktds-opening.reveal-accordion_v .ktds-opening-panel-left{top:0}.ktds-opening.reveal-accordion_v .ktds-opening-panel-right{bottom:0}.ktds-opening.reveal-accordion_v.is-revealing{background:transparent}.ktds-opening.reveal-accordion_v.is-revealing .ktds-opening-panel-left{transform:translateY(-101%)}.ktds-opening.reveal-accordion_v.is-revealing .ktds-opening-panel-right{transform:translateY(101%)}
.ktds-opening.is-finished{visibility:hidden}body.ktds-opening-active{overflow:hidden}@media(max-width:800px){.ktds-opening-line.line-1{font-size:var(--ktds-line1-sp,30px)}.ktds-opening-line.line-2{font-size:var(--ktds-line2-sp,30px)}.ktds-opening-line.line-3{font-size:var(--ktds-line3-sp,24px)}.ktds-opening-line-image.line-1 img{width:var(--ktds-line1-img-sp,260px)}.ktds-opening-line-image.line-2 img{width:var(--ktds-line2-img-sp,260px)}.ktds-opening-line-image.line-3 img{width:var(--ktds-line3-img-sp,220px)}.ktds-opening-logo img{width:var(--ktds-logo-sp,200px)}.ktds-opening-content{padding:24px}.ktds-opening-skip{right:16px;bottom:14px}}@media(prefers-reduced-motion:reduce){.ktds-opening{display:none!important}}

/* Hide translation UI only while the opening animation is active. */
body.ktds-opening-active #gt_float_wrapper,
body.ktds-opening-active .gt_float_switcher,
body.ktds-opening-active .gtranslate_wrapper,
body.ktds-opening-active .gtranslate_float,
body.ktds-opening-active .goog-te-gadget,
body.ktds-opening-active .goog-te-banner-frame,
body.ktds-opening-active .skiptranslate,
body.ktds-opening-active [class*="gtranslate"][style*="position: fixed"],
body.ktds-opening-active [id*="gtranslate"][style*="position: fixed"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* オリジナル地図（MapLibre + OpenStreetMap） */
.ktds-original-map-section{width:var(--ktds-map-width,80%);max-width:1180px;margin:50px auto;background:var(--ktds-map-paper,#f4efe5)}
.ktds-original-map-section.is-single{width:100%;margin:0}
.ktds-original-map{width:100%;height:var(--ktds-map-height-pc,520px);background:var(--ktds-map-paper,#f4efe5);border:1px solid rgba(58,48,43,.22)}
.ktds-map-marker{--marker-color:#8f3651;position:relative;width:34px;height:43px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 3px 2px rgba(0,0,0,.2))}
.ktds-map-marker span{position:absolute;left:5px;top:2px;width:24px;height:24px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--marker-color);transform:rotate(-45deg);transition:transform .2s,background .2s}
.ktds-map-marker span:after{content:"";position:absolute;left:7px;top:7px;width:5px;height:5px;border-radius:50%;background:#fff}
.ktds-map-marker:hover span,.ktds-map-marker.is-active span{background:#b58a3b;transform:rotate(-45deg) scale(1.16)}
.ktds-original-map .maplibregl-popup-content{padding:0;background:var(--ktds-map-popup,#fffdf8);border:1px solid rgba(58,48,43,.25);border-radius:0;box-shadow:0 8px 28px rgba(35,24,21,.22)}
.ktds-original-map .maplibregl-popup-tip{border-top-color:var(--ktds-map-popup,#fffdf8)!important;border-bottom-color:var(--ktds-map-popup,#fffdf8)!important}
.ktds-original-map .maplibregl-popup-close-button{font-size:20px;padding:3px 8px;color:#3a302b}
.ktds-map-popup-content{min-width:230px;padding:18px}
.ktds-map-popup-logo{display:block;max-width:170px;max-height:58px;width:auto;height:auto;margin:0 auto 13px;object-fit:contain}
.ktds-map-popup-content h3{margin:0 28px 6px 0;font-size:17px;line-height:1.45;color:#3a302b}
.ktds-map-popup-address{margin:0 0 13px;font-size:12px;line-height:1.65;color:#62564f}
.ktds-map-popup-links{display:flex;flex-wrap:wrap;gap:8px}
.ktds-map-popup-links a{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid #8f3651;color:#8f3651;text-decoration:none;font-size:12px;line-height:1.3}
.ktds-map-popup-links a:hover{background:#8f3651;color:#fff}
.ktds-map-operator-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:1px;background:var(--ktds-map-popup,#fffdf8)}
.ktds-map-operator-button{display:flex;align-items:center;justify-content:center;min-height:70px;padding:12px;border:0;border-right:1px solid rgba(58,48,43,.18);border-bottom:1px solid rgba(58,48,43,.18);background:var(--ktds-map-popup,#fffdf8);color:#3a302b;cursor:pointer;font:inherit}
.ktds-map-operator-empty{display:block;min-height:70px;border-right:1px solid rgba(58,48,43,.18);border-bottom:1px solid rgba(58,48,43,.18);background:var(--ktds-map-popup,#fffdf8)}
.ktds-map-operator-button:nth-child(6n+1),.ktds-map-operator-empty:nth-child(6n+1){border-left:1px solid rgba(58,48,43,.18)}
.ktds-map-operator-empty.is-mobile{display:none}
.ktds-map-operator-button:hover{background:#f0e7d7}
.ktds-map-operator-button img{display:block;width:80%;height:80%;max-width:none;max-height:none;object-fit:contain}
.ktds-map-operator-button span{font-size:12px;line-height:1.45;text-align:left}
.ktds-original-map .maplibregl-ctrl-attrib{font-size:10px;background:rgba(255,253,248,.82)}
@media(max-width:767px){.ktds-original-map-section{width:100%}.ktds-original-map{height:var(--ktds-map-height-sp,390px)}.ktds-map-operator-list{grid-template-columns:repeat(4,minmax(0,1fr))}.ktds-map-operator-button:nth-child(6n+1),.ktds-map-operator-empty:nth-child(6n+1){border-left:0}.ktds-map-operator-button:nth-child(4n+1),.ktds-map-operator-empty:nth-child(4n+1){border-left:1px solid rgba(58,48,43,.18)}.ktds-map-operator-button{min-height:62px;padding:9px}.ktds-map-operator-empty{min-height:62px}.ktds-map-operator-empty.is-desktop{display:none}.ktds-map-operator-empty.is-mobile{display:block}.ktds-map-popup-content{min-width:205px;padding:15px}}


/* 商品一覧ページネーション */
.ktds-item-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin:48px 0 0;padding:0;text-align:center}
.ktds-item-pagination[hidden]{display:none!important}
.ktds-item-pagination-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;line-height:1;padding:8px 6px;cursor:pointer;position:relative}
.ktds-item-pagination-button::after{content:"";position:absolute;left:6px;right:6px;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.ktds-item-pagination-button:hover::after,.ktds-item-pagination-button:focus-visible::after,.ktds-item-pagination-button.is-active::after{transform:scaleX(1)}
.ktds-item-pagination-button.is-active{font-weight:700}
.ktds-item-pagination-separator{color:#777;line-height:1}
@media(max-width:800px){.ktds-item-pagination{margin-top:36px}.ktds-item-pagination-button{padding:10px 7px}}

/* Product image caption */
.ktds-product-main{overflow:hidden}
.ktds-product-image-caption{display:block;width:100%;margin:0;padding:0;background:none;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:var(--ktds-caption-font-size,18px);font-weight:500;line-height:1.55;text-align:left;white-space:normal}
@media (max-width:767px){.ktds-product-image-caption{line-height:1.5}}

/* v1.01.4 caption spacing and exact thumbnail height */
.ktds-product-gallery{column-gap:18px;row-gap:9px;}
.ktds-product-image-caption{margin:0;}
@media (min-width:801px){
  .ktds-product-gallery{
    grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);
    grid-template-rows:auto auto auto;
    align-items:stretch;
  }
  .ktds-product-main{
    aspect-ratio:3 / 2;
    min-width:0;
    min-height:0;
  }
  .ktds-product-thumbs{
    align-self:stretch;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    max-height:100%;
    overflow:hidden;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    grid-auto-flow:row;
    grid-auto-rows:minmax(0,1fr);
    align-content:start;
  }
  .ktds-product-thumbs button{
    display:block;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    overflow:hidden;
  }
  .ktds-product-thumbs img{
    display:block;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    object-fit:cover;
  }
}

/* v1.02 layout refinements and responsive filter separators */

/* 事業者一覧：左右の余白をなくす */
.ktds-section:has(.ktds-operator-grid) {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  max-width: none;
  width: 100%;
}

.ktds-operator-grid {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

/* 事業者ロゴ部分の天地余白をなくす */
.ktds-operator-logo {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 0;
}

.ktds-operator-logo img {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
}

/* 事業者紹介文部分の天地余白をなくす */
.ktds-operator-copy {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.ktds-operator-copy p {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* 商品一覧ページ：一覧エリアの左右余白をなくす */
.ktds-section.ktds-items-wrap {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

/* 商品詳細本文：両端揃え、最終行は左揃え */
.ktds-product-section > div,
.ktds-product-section > div p,
.ktds-product-section p {
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-character !important;
  line-break: strict !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* 段落の左右余白をなくす */
.ktds-product-section > div p {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media screen and (max-width: 767px) {
  /* 上段タブ */
  .ktds-filter-tabs button {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    padding: 0.45rem 0.7rem !important;
  }

  /* カテゴリ・事業者の各項目 */
  .ktds-filters button,
  .ktds-filter-row button {
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    padding: 0.35rem 0.65rem !important;
  }

  /* 実際に折り返した各行の先頭だけ区切り線を消す */
  .ktds-items-wrap .ktds-filters button.is-row-start {
    border-left: 0 !important;
  }

  .ktds-items-wrap .ktds-filter-row button.is-row-start::before {
    display: none !important;
    content: none !important;
  }
}

/* v1.02.1 page-title spacing and mobile caption order */

/* 商品一覧：ページタイトル下の余白を縮める */
body.page-id-26 .ktds-page-title {
  margin-bottom: 1rem !important;
}

/* 商品一覧：一覧セクション上部の余白を縮める */
body.page-id-26 .ktds-section.ktds-items-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* フィルター部分自体の上余白も調整 */
body.page-id-26 .ktds-filter-tabs {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 事業者一覧・商品一覧・特集：H1の上下余白を共通化 */
h1.ktds-page-title {
  margin-top: 1rem !important;
  margin-bottom: 0.5rem !important;
}

/* H1直後の一覧・コンテンツ部分の上余白を削除 */
h1.ktds-page-title + .ktds-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 間に別要素が挟まるページにも対応 */
article > h1.ktds-page-title ~ .ktds-section:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* スマホ：メイン画像 → サブ画像 → キャプション → バリエーション */
@media screen and (max-width: 767px) {
  .ktds-product-gallery {
    grid-template-areas:
      "main"
      "thumbs"
      "caption"
      "variation" !important;
  }

  .ktds-product-image-caption {
    width: 100% !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
  }
}

/* v1.02.7: keep thumbnail cells at the four-up size even with 1-3 images */
@media (max-width:800px){
  .ktds-product-thumbs{
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-columns:minmax(0,1fr);
    justify-content:start;
  }
  .ktds-product-thumbs button{
    width:100%;
    min-width:0;
    aspect-ratio:1 / 1;
  }
}


/* v1.02.9: selectable list-caption logos and line-break-only special headings */
.ktds-operator-photo,
.ktds-item-thumb {
  position: relative;
}

.ktds-list-caption-logo {
  pointer-events: none;
}

.ktds-special-card-body h2,
.ktds-special-single .ktds-page-title {
  white-space: normal;
}

.ktds-operator-photo .ktds-list-caption-logo img,
.ktds-operator-card-link:hover .ktds-operator-photo .ktds-list-caption-logo img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none !important;
}


/* v1.03.3: operator-detail logos and footer settings */
.ktds-operator-detail-photo { position: relative; }
.ktds-operator-detail-photo .ktds-list-caption-logo { z-index: 3; }
.ktds-operator-detail-photo .ktds-list-caption-logo img,
.ktds-operator-detail-photo:hover .ktds-list-caption-logo img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  transform: none !important;
}
.ktds-footer-inner { text-align: center; }
.ktds-footer-logo { margin: 0 auto 18px; width: min(var(--ktds-footer-logo-width, 220px), 100%); }
.ktds-footer-logo img { display: block; width: 100%; height: auto; margin: 0 auto; }
.ktds-footer-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 0; margin: 0 0 14px; }
.ktds-footer-links a { display: inline-block; padding: 0 14px; }
.ktds-footer-separator { display: inline-block; flex: 0 0 auto; color: currentColor; line-height: 1; }
.ktds-footer-copyright { margin: 0; }


/* v1.03.5: operator detail logo alignment */
.ktds-operator-detail-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-align: center;
}
.ktds-operator-detail-logo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}


/* v1.03.6 基本情報の事業者名表示・通常テキストリンクをグローバルメニュー仕様へ統一 */
.ktds-main p a:not(.ktds-external-button),
.ktds-main dd a,
.ktds-main li a,
.ktds-main td a,
.ktds-main .ktds-more-link,
.ktds-footer a {
  position:relative;
  display:inline-block;
  color:inherit;
  text-decoration:none!important;
  transition:color .2s ease;
}
.ktds-main p a:not(.ktds-external-button)::after,
.ktds-main dd a::after,
.ktds-main li a::after,
.ktds-main td a::after,
.ktds-main .ktds-more-link::after,
.ktds-footer a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-3px;
  height:1px;
  background:#B3424A;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .32s ease;
  pointer-events:none;
}
.ktds-main p a:not(.ktds-external-button):hover,
.ktds-main p a:not(.ktds-external-button):focus-visible,
.ktds-main dd a:hover,
.ktds-main dd a:focus-visible,
.ktds-main li a:hover,
.ktds-main li a:focus-visible,
.ktds-main td a:hover,
.ktds-main td a:focus-visible,
.ktds-main .ktds-more-link:hover,
.ktds-main .ktds-more-link:focus-visible,
.ktds-footer a:hover,
.ktds-footer a:focus-visible {
  color:#B3424A!important;
}
.ktds-main p a:not(.ktds-external-button):hover::after,
.ktds-main p a:not(.ktds-external-button):focus-visible::after,
.ktds-main dd a:hover::after,
.ktds-main dd a:focus-visible::after,
.ktds-main li a:hover::after,
.ktds-main li a:focus-visible::after,
.ktds-main td a:hover::after,
.ktds-main td a:focus-visible::after,
.ktds-main .ktds-more-link:hover::after,
.ktds-main .ktds-more-link:focus-visible::after,
.ktds-footer a:hover::after,
.ktds-footer a:focus-visible::after {
  transform:scaleX(1);
}


/* v1.03.7 GTranslateをヘッダー内へ通常配置（PC・スマホ対応） */
.ktds-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  min-width:0;
}
.ktds-header-actions .ktds-nav{order:1}
.ktds-header-translate{order:2;display:flex;align-items:center;flex:0 0 auto;line-height:1}
.ktds-header-actions .ktds-menu-toggle{order:3}
.ktds-header-translate,
.ktds-header-translate .gtranslate_wrapper,
.ktds-header-translate .gt_float_switcher{
  position:static!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  top:auto!important;
  margin:0!important;
  transform:none!important;
  z-index:auto!important;
}
.ktds-header-translate .gt_float_switcher{
  width:auto!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  font-family:inherit!important;
}
.ktds-header-translate .gt_float_switcher .gt-selected,
.ktds-header-translate .gt_float_switcher .gt-selected .gt-current-lang{
  background:transparent!important;
}
.ktds-header-translate .gt_float_switcher .gt-selected .gt-current-lang{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 4px!important;
  font-size:13px!important;
  line-height:1.2!important;
  color:var(--ink)!important;
}
.ktds-header-translate .gt_float_switcher img{
  width:18px!important;
  height:auto!important;
  margin:0!important;
}
.ktds-header-translate select{
  width:auto!important;
  max-width:130px!important;
  min-height:32px;
  margin:0!important;
  padding:4px 24px 4px 7px!important;
  border:1px solid #bbb;
  background-color:#fff;
  color:var(--ink);
  font:inherit;
  font-size:13px;
}
.ktds-header-translate .gt_options{
  position:absolute!important;
  top:100%!important;
  right:0!important;
  left:auto!important;
  z-index:1200!important;
  min-width:170px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.14)!important;
}

@media(max-width:800px){
  .ktds-header-actions{
    margin-left:auto;
    gap:4px;
  }
  .ktds-header-actions .ktds-nav{
    order:3;
    left:0;
    right:0;
  }
  .ktds-header-translate{order:1}
  .ktds-header-actions .ktds-menu-toggle{order:2}
  .ktds-header-translate .gt_float_switcher .gt-selected .gt-current-lang{
    padding:6px!important;
    font-size:12px!important;
  }
  .ktds-header-translate select{
    max-width:92px!important;
    font-size:12px;
  }
}

/* v1.03.8 GTranslate：小型フロート風UI／PCは「特集」の上に配置 */
@media (min-width:801px){
  .ktds-header-actions{
    display:grid;
    grid-template-columns:auto;
    grid-template-rows:auto auto;
    justify-items:end;
    align-items:end;
    row-gap:2px;
    column-gap:0;
  }
  .ktds-header-translate{
    grid-row:1;
    grid-column:1;
    order:initial;
    justify-self:end;
  }
  .ktds-header-actions .ktds-nav{
    grid-row:2;
    grid-column:1;
    order:initial;
  }
  .ktds-header-actions .ktds-menu-toggle{display:none}
}

.ktds-header-translate,
.ktds-header-translate *{
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;
  font-style:normal!important;
}

.ktds-header-translate .gt_float_switcher{
  position:relative!important;
  overflow:visible!important;
}

.ktds-header-translate .gt_float_switcher .gt-selected{
  border:0!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(0,0,0,.10)!important;
}

.ktds-header-translate .gt_float_switcher .gt-selected .gt-current-lang{
  min-height:30px!important;
  padding:5px 9px!important;
  gap:6px!important;
  border:0!important;
  background:#fff!important;
  color:#231815!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  cursor:pointer!important;
}

.ktds-header-translate .gt_float_switcher img{
  width:15px!important;
  max-width:15px!important;
  height:auto!important;
}

.ktds-header-translate .gt_options{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 4px)!important;
  right:0!important;
  left:auto!important;
  width:max-content!important;
  min-width:168px!important;
  max-width:min(240px,calc(100vw - 24px))!important;
  max-height:min(60vh,360px)!important;
  overflow-y:auto!important;
  padding:4px 0!important;
  border:1px solid #d8d8d8!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.14)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:99999!important;
}

.ktds-header-translate.is-open .gt_options,
.ktds-header-translate .gt_float_switcher:hover .gt_options,
.ktds-header-translate .gt_float_switcher:focus-within .gt_options{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.ktds-header-translate .gt_options a{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:28px!important;
  padding:5px 9px!important;
  color:#222!important;
  background:#fff!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.ktds-header-translate .gt_options a:hover,
.ktds-header-translate .gt_options a:focus-visible{
  background:#f3f3f3!important;
}
.ktds-header-translate .gt_options a::after{display:none!important;content:none!important}
.ktds-header-translate .gt_options img{width:15px!important;max-width:15px!important;height:auto!important;margin:0!important}

@media(max-width:800px){
  .ktds-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
  }
  .ktds-header-translate{order:1}
  .ktds-header-actions .ktds-menu-toggle{order:2}
  .ktds-header-actions .ktds-nav{order:3}
  .ktds-header-translate .gt_float_switcher .gt-selected .gt-current-lang{
    min-height:28px!important;
    padding:4px 7px!important;
    font-size:11px!important;
  }
  .ktds-header-translate .gt_options{
    right:0!important;
    min-width:174px!important;
  }
}

/* v1.03.9 特集詳細・GTranslate最終調整 */
/* 特集詳細：見出し */
.single-ktds_special h1,
.single-special h1,
.ktds-special-detail h1 {
  font-size: 2rem !important;
  line-height: 1.45 !important;
}

/* 特集詳細：本文全体を中央配置 */
.single-ktds_special article,
.single-special article,
.ktds-special-detail,
.ktds-special-detail article,
.ktds-special-content,
.ktds-special-body {
  width: 90% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* GTranslate：ヘッダー内の通常配置を強制 */
.ktds-header,
.ktds-header-inner,
.ktds-header-actions,
.ktds-header-translate {
  overflow: visible !important;
}
.ktds-header {
  position: relative;
  z-index: 1000;
}
.ktds-header-actions,
.ktds-header-translate,
.ktds-header-translate #gt_float_wrapper,
.ktds-header-translate .gtranslate_wrapper,
.ktds-header-translate .gt_float_switcher {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.ktds-header-translate #gt_float_wrapper {
  display: block !important;
  width: auto !important;
  height: auto !important;
  z-index: auto !important;
}

/* GTranslate：影を消して細いグレー罫線に */
.ktds-header-translate .gt_float_switcher {
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* 選択中の「JA」部分 */
.ktds-header-translate .gt_float_switcher .gt-selected,
.ktds-header-translate .gt_float_switcher .gt-selected .gt-current-lang {
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* 開いた言語一覧：選択ボタンの直下に重ねて表示 */
.ktds-header-translate .gt_float_switcher .gt_options {
  position: absolute !important;
  top: calc(100% + 2px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: max-content !important;
  min-width: 170px !important;
  height: auto !important;
  max-height: min(60vh, 360px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  z-index: 999999 !important;
}

/* 各言語の区切り線 */
.ktds-header-translate .gt_float_switcher .gt_options a {
  border-bottom: 1px solid #e5e5e5 !important;
}
.ktds-header-translate .gt_float_switcher .gt_options a:last-child {
  border-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .single-ktds_special h1,
  .single-special h1,
  .ktds-special-detail h1 {
    font-size: 1.5rem !important;
  }

  .single-ktds_special article,
  .single-special article,
  .ktds-special-detail,
  .ktds-special-detail article,
  .ktds-special-content,
  .ktds-special-body {
    width: 100% !important;
  }

  .ktds-header-translate .gt_float_switcher .gt_options {
    right: 0 !important;
    left: auto !important;
    max-width: calc(100vw - 24px) !important;
  }
}


/* v1.04.0 GTranslate軽量化・配置修正 */
body > #gt_float_wrapper {
  display:none!important;
}
.ktds-header-translate > #gt_float_wrapper {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  z-index:auto!important;
}
.ktds-header-translate .gt_float_switcher {
  position:relative!important;
}
.ktds-header-translate .gt_float_switcher .gt_options {
  top:calc(100% + 2px)!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
}
/* ログイン中の管理バーはWordPress標準。公開ユーザーには表示されません */
body.admin-bar .ktds-header {
  position:relative!important;
  top:auto!important;
}


/* v1.04.1 GTranslate表示復旧・軽量化 */
body > #gt_float_wrapper {
  display:block!important;
}
body.ktds-gt-mounted > #gt_float_wrapper {
  display:none!important;
}
.ktds-header-translate,
.ktds-header-translate #gt_float_wrapper,
.ktds-header-translate .gtranslate_wrapper,
.ktds-header-translate .gt_float_switcher,
.ktds-header-translate .gt-selected,
.ktds-header-translate .gt-current-lang {
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.ktds-header-translate #gt_float_wrapper {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
}
.ktds-header-translate .gt_float_switcher {
  display:block!important;
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  overflow:visible!important;
}
.ktds-header-translate .gt_options {
  position:absolute!important;
  top:calc(100% + 2px)!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  z-index:999999!important;
}

/* v1.04.2 GTranslate上部帯・スマホメニュー最終調整 */
/* Google翻訳が挿入する上部バナーとbodyの押し下げを無効化 */
html.translated-ltr,
html.translated-rtl,
html.translated-ltr body,
html.translated-rtl body,
body.admin-bar,
body.admin-bar.translated-ltr,
body.admin-bar.translated-rtl {
  top: 0 !important;
}

iframe.goog-te-banner-frame,
.goog-te-banner-frame,
body > .skiptranslate,
body > iframe.skiptranslate,
iframe[class*="VIpgJd-ZVi9od-ORHb"],
[class*="VIpgJd-ZVi9od-ORHb-OEVmcd"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

/* WordPress管理バーは本来の最上部位置を維持 */
html.wp-toolbar,
body.admin-bar {
  margin-top: 0 !important;
}

@media screen and (max-width: 800px) {
  /* ハンバーガーメニューを画面幅いっぱいに展開 */
  .ktds-header-actions {
    position: static !important;
  }

  .ktds-header-inner {
    position: relative !important;
  }

  .ktds-header-actions .ktds-nav,
  #ktds-global-nav {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    text-align: center !important;
    z-index: 99998 !important;
  }

  .ktds-header-actions .ktds-nav ul,
  #ktds-global-nav ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ktds-header-actions .ktds-nav li,
  #ktds-global-nav li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .ktds-header-actions .ktds-nav a,
  #ktds-global-nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 14px 20px !important;
    text-align: center !important;
  }
}


/* v1.04.3 GTranslate前面表示・上部余白・選択後クローズ */
/* Google翻訳バナー由来の押し下げを完全に解除 */
html,
html.translated-ltr,
html.translated-rtl,
body,
body.translated-ltr,
body.translated-rtl,
body.admin-bar.translated-ltr,
body.admin-bar.translated-rtl {
  top: 0 !important;
}

.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
iframe.skiptranslate,
iframe[class*="VIpgJd-ZVi9od-ORHb"],
.VIpgJd-ZVi9od-ORHb,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
body > .skiptranslate:not(#wpadminbar) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* 翻訳UIはナビゲーションより常に前面 */
.ktds-header,
.ktds-header-inner,
.ktds-header-actions {
  overflow: visible !important;
}
.ktds-header-translate {
  position: relative !important;
  z-index: 100010 !important;
}
.ktds-header-translate #gt_float_wrapper,
.ktds-header-translate .gt_float_switcher {
  position: relative !important;
  z-index: 100011 !important;
  overflow: visible !important;
}

/* 開閉はクリックだけ。hoverで勝手に開かない */
.ktds-header-translate .gt_float_switcher .gt_options {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 2px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 100012 !important;
}
.ktds-header-translate.is-open .gt_float_switcher .gt_options {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.ktds-header-translate.is-choice-made .gt_float_switcher .gt_options {
  display: none !important;
}

@media screen and (max-width: 800px) {
  .ktds-header-actions .ktds-nav,
  #ktds-global-nav {
    z-index: 99990 !important;
  }
  .ktds-header-translate {
    z-index: 100010 !important;
  }
  .ktds-header-translate .gt_float_switcher .gt_options {
    right: 0 !important;
    left: auto !important;
    max-width: calc(100vw - 20px) !important;
  }
}


/* v1.04.6 公式gt-linkを使う軽量言語メニュー */
.ktds-language-menu {
  position: relative !important;
  z-index: 100020 !important;
  flex: 0 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif !important;
}
.ktds-language-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 72px;
  min-height: 36px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 0;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}
.ktds-language-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d71920;
}
.ktds-language-chevron {
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}
.ktds-language-menu.is-open .ktds-language-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}
.ktds-language-options {
  position: absolute !important;
  top: calc(100% + 2px) !important;
  right: 0 !important;
  left: auto !important;
  width: max-content;
  min-width: 150px;
  margin: 0;
  padding: 0;
  border: 1px solid #cfcfcf;
  background: #fff;
  box-shadow: none;
  z-index: 100021 !important;
}
.ktds-language-options[hidden] { display: none !important; }
.ktds-language-options > div {
  margin: 0;
  padding: 0;
}
.ktds-language-options a {
  display: block;
  width: 100%;
  margin: 0;
  padding: 9px 12px;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  border-radius: 0;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: 12px;
  line-height: 1.3;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}
.ktds-language-options > div:last-child a { border-bottom: 0; }
.ktds-language-options a:hover,
.ktds-language-options a:focus-visible {
  background: #f5f5f5;
  color: #b3424a;
}

.ktds-language-options a img {
  width: 18px !important;
  height: auto !important;
  margin: 0 7px 0 0 !important;
  vertical-align: middle !important;
}
/* GTranslate本体は読込み専用。従来のFloat UIは表示しない */
#gt_float_wrapper,
.gt_float_switcher,
.gtranslate_wrapper:not(.ktds-language-menu) {
  position: fixed !important;
  left: -10000px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0.001 !important;
  pointer-events: none !important;
}
.ktds-language-menu,
.ktds-language-menu *,
.ktds-managed-nav,
.ktds-managed-nav * {
  translate: no;
}
/* Google翻訳の上部フレームと押し下げを無効化 */
html,
html.translated-ltr,
html.translated-rtl,
body,
body.translated-ltr,
body.translated-rtl {
  top: 0 !important;
}
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
iframe.skiptranslate,
iframe[class*="VIpgJd-ZVi9od-ORHb"],
.VIpgJd-ZVi9od-ORHb,
.VIpgJd-ZVi9od-ORHb-OEVmcd {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.admin-bar #wpadminbar { top: 0 !important; }
@media screen and (max-width: 800px) {
  .ktds-language-toggle {
    min-width: 66px;
    min-height: 34px;
    padding: 6px 9px;
  }
  .ktds-language-options {
    right: 0 !important;
    max-width: calc(100vw - 20px);
  }
  .ktds-header-actions .ktds-nav,
  #ktds-global-nav { z-index: 99990 !important; }
  .ktds-language-menu { z-index: 100020 !important; }
}

/* v1.04.7 Footer logo and separator refinements */
.ktds-footer-logo img { display: block; margin-inline: auto; }
.ktds-footer-separator::before, .ktds-footer-separator::after { content: none !important; }

/* v1.04.8 Footer spacing, product headings, and mobile nav underline reset */
.ktds-footer {
  margin-top: 0.5rem !important;
  padding-top: 2rem !important;
  padding-bottom: 1rem !important;
}

section.ktds-product-section h2 {
  margin-bottom: 0.35rem !important;
}

section.ktds-product-section h2 + div,
section.ktds-product-section h2 + div > p:first-child,
section.ktds-product-section h2 + p {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media screen and (max-width: 767px) {
  /* Mobile global navigation: remove hover/focus/current underline completely. */
  #ktds-global-nav a,
  #ktds-global-nav a:hover,
  #ktds-global-nav a:focus,
  #ktds-global-nav a:focus-visible,
  #ktds-global-nav a:active,
  #ktds-global-nav .current-menu-item > a,
  #ktds-global-nav .current_page_item > a,
  #ktds-global-nav .current-menu-ancestor > a,
  #ktds-global-nav .current_page_ancestor > a {
    border-bottom: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    background-image: none !important;
  }

  #ktds-global-nav a::before,
  #ktds-global-nav a::after,
  #ktds-global-nav a:hover::before,
  #ktds-global-nav a:hover::after,
  #ktds-global-nav a:focus::before,
  #ktds-global-nav a:focus::after,
  #ktds-global-nav a:focus-visible::before,
  #ktds-global-nav a:focus-visible::after,
  #ktds-global-nav a:active::before,
  #ktds-global-nav a:active::after,
  #ktds-global-nav .current-menu-item > a::before,
  #ktds-global-nav .current-menu-item > a::after,
  #ktds-global-nav .current_page_item > a::before,
  #ktds-global-nav .current_page_item > a::after,
  #ktds-global-nav .current-menu-ancestor > a::before,
  #ktds-global-nav .current-menu-ancestor > a::after,
  #ktds-global-nav .current_page_ancestor > a::before,
  #ktds-global-nav .current_page_ancestor > a::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    transform: none !important;
    opacity: 0 !important;
  }
}

/* v1.1 商品詳細見出し・本文調整 */
.ktds-color-chips > h2::before,
.ktds-product-section > h2::before {
  content: "◆";
  display: inline-block;
  margin-right: 0.35em;
  font-size: 0.78em;
  line-height: 1;
  vertical-align: 0.05em;
}

/* 商品詳細・サイズ／スペック本文：スマホ時のみ少し小さく */
@media screen and (max-width: 767px) {
  .ktds-product-section > div,
  .ktds-product-section > div p {
    font-size: 0.92em !important;
  }
}

/* =========================================================
   商品バリエーション
   PC・スマホ共通
========================================================= */

/* 通常時：白背景・グレー罫線 */
.ktds-product-gallery button[data-variant],
.ktds-product-gallery button[data-variant-index],
.ktds-product-variations button,
.ktds-variation-options button,
.ktds-variant-options button,
.ktds-variation-button,
.ktds-variant-button {
  color: #2b211f !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

/* ボタン内部の文字装飾だけ解除 */
.ktds-product-gallery button[data-variant] *,
.ktds-product-gallery button[data-variant-index] *,
.ktds-product-variations button *,
.ktds-variation-options button *,
.ktds-variant-options button *,
.ktds-variation-button *,
.ktds-variant-button * {
  color: inherit !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* 内部がリンク要素の場合 */
.ktds-product-gallery button a,
.ktds-product-variations button a,
.ktds-variation-options button a,
.ktds-variant-options button a,
.ktds-variation-button a,
.ktds-variant-button a {
  color: inherit !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* 通常リンク用の疑似下線を解除 */
.ktds-product-gallery button a::before,
.ktds-product-gallery button a::after,
.ktds-product-variations button a::before,
.ktds-product-variations button a::after,
.ktds-variation-options button a::before,
.ktds-variation-options button a::after,
.ktds-variant-options button a::before,
.ktds-variant-options button a::after,
.ktds-variation-button a::before,
.ktds-variation-button a::after,
.ktds-variant-button a::before,
.ktds-variant-button a::after {
  content: none !important;
  display: none !important;
}

/* ホバー・キーボードフォーカス時 */
.ktds-product-gallery button[data-variant]:hover,
.ktds-product-gallery button[data-variant-index]:hover,
.ktds-product-variations button:hover,
.ktds-variation-options button:hover,
.ktds-variant-options button:hover,
.ktds-variation-button:hover,
.ktds-variant-button:hover,
.ktds-product-gallery button[data-variant]:focus-visible,
.ktds-product-gallery button[data-variant-index]:focus-visible,
.ktds-product-variations button:focus-visible,
.ktds-variation-options button:focus-visible,
.ktds-variant-options button:focus-visible,
.ktds-variation-button:focus-visible,
.ktds-variant-button:focus-visible {
  color: #2b211f !important;
  background-color: rgba(179, 66, 74, 0.025) !important;
  border-color: #cfcfcf !important;
}

/* 選択中 */
.ktds-product-gallery button[data-variant].is-active,
.ktds-product-gallery button[data-variant-index].is-active,
.ktds-product-variations button.is-active,
.ktds-variation-options button.is-active,
.ktds-variant-options button.is-active,
.ktds-variation-button.is-active,
.ktds-variant-button.is-active,
.ktds-product-gallery button[data-variant][aria-pressed="true"],
.ktds-product-gallery button[data-variant-index][aria-pressed="true"],
.ktds-product-variations button[aria-pressed="true"],
.ktds-variation-options button[aria-pressed="true"],
.ktds-variant-options button[aria-pressed="true"],
.ktds-variation-button[aria-pressed="true"],
.ktds-variant-button[aria-pressed="true"] {
  color: #2b211f !important;
  background-color: rgba(179, 66, 74, 0.05) !important;
  border-color: #cfcfcf !important;
}
