/* =============================================================================
 *  KT CLINIC — 形成外科・美容外科ページ
 *  2026-07-27 モック（KT形成外科美容外科_モック.html）に合わせて全面刷新
 *  セレクタは .kt-cos 配下にスコープしている
 * ========================================================================== */

/* 既存CSS（components.css）との衝突を打ち消す */
.kt-cos .hero{height:auto;}
.kt-cos .hero-title{margin-bottom:0;}
.kt-cos .btn{font-size:1rem;font-weight:400;justify-content:flex-start;}
.kt-cos .faq-q,
.kt-cos .faq-a{display:block;width:auto;height:auto;background:none;border-radius:0;
               flex-shrink:1;align-items:normal;justify-content:normal;font-family:inherit;}
.kt-cos .faq-q{display:inline;}

.kt-cos .hd-logo{display:flex;align-items:center;gap:0.8rem;}
.kt-cos .hd-badge{width:3rem;height:3rem;border:1px solid var(--gold);border-radius:50%;
            display:flex;align-items:center;justify-content:center;
            font-family:var(--serif);font-size:1.15rem;color:var(--gold-deep);letter-spacing:.02em;}
.kt-cos .hd-name{font-family:var(--serif);font-size:1.4rem;font-weight:600;letter-spacing:.06em;line-height:1.15;}
.kt-cos .hd-name small{display:block;font-family:var(--sans);font-size:.66rem;font-weight:400;
                 letter-spacing:.06em;color:var(--sub);margin-top:.25rem;}
.kt-cos .hd-nav{display:flex;gap:1.7rem;font-size:.9rem;margin-left:auto;}
.kt-cos .hd-nav a{padding:.4rem 0;transition:color .2s;}
.kt-cos .hd-nav a:hover{color:var(--gold-deep);}
.kt-cos .hd-actions{display:flex;gap:.75rem;margin-left:1.5rem;}
.kt-cos .hd-web, .kt-cos .hd-tel{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.15rem;
                  line-height:1.25;border-radius:999px;}
.kt-cos .hd-web{background:var(--gold);color:#fff;}
.kt-cos .hd-web:hover{background:var(--gold-deep);}
.kt-cos .hd-tel{border:1px solid var(--gold-line);}
.kt-cos .hd-web b, .kt-cos .hd-tel b{font-size:.92rem;font-weight:700;letter-spacing:.03em;}
.kt-cos .hd-web span, .kt-cos .hd-tel span{display:block;font-size:.65rem;font-weight:400;}
.kt-cos .hd-tel b{color:var(--gold-deep);}
.kt-cos .hero{position:relative;min-height:38rem;background:#fff;overflow:hidden;}
.kt-cos .hero::before{content:"";position:absolute;inset:0;z-index:0;
    background:var(--fv-pc) right 22% / cover no-repeat;}
.kt-cos .hero::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(to right,
      rgba(255,255,255,.95) 0%, rgba(255,255,255,.9) 20%,
      rgba(255,255,255,.72) 34%, rgba(255,255,255,.42) 48%,
      rgba(255,255,255,.14) 64%, rgba(255,255,255,0) 78%);}
.kt-cos .hero-inner{position:relative;z-index:2;max-width:93.75rem;margin:0 auto;
              min-height:38rem;padding:0 2.5rem 0 6rem;display:flex;align-items:center;}
.kt-cos .hero-text{width:50%;padding:4rem 0;}
.kt-cos .hero-depts{display:inline-flex;align-items:center;gap:.9rem;font-size:.8rem;font-weight:500;
              letter-spacing:.12em;color:var(--gold-deep);margin:0 0 1.4rem;white-space:nowrap;}
.kt-cos .hero-depts::before{content:"";width:30px;height:1px;background:var(--gold-line);opacity:1;}
.kt-cos .hero-title{font-family:var(--serif);font-size:clamp(2.1rem,3.1vw,2.9rem);font-weight:500;line-height:1.6;
              letter-spacing:.04em;margin:0;color:var(--ink);}
.kt-cos .hero-lead{font-size:.95rem;line-height:2.1;color:#5A5248;margin:1.9rem 0 2.4rem;}
.kt-cos .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;}
.kt-cos .btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.9rem;
       line-height:1.25;border-radius:999px;transition:all .25s;}
.kt-cos .btn .ic{width:1.25rem;height:1.25rem;flex:none;}
.kt-cos .btn b{font-size:1rem;font-weight:600;letter-spacing:.04em;}
.kt-cos .btn small{display:block;font-size:.68rem;font-weight:400;letter-spacing:.02em;}
.kt-cos .btn .ar{font-size:1.1rem;line-height:1;margin-left:.2rem;transition:transform .25s;}
.kt-cos .btn:hover .ar{transform:translateX(3px);}
.kt-cos .btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 18px rgba(184,154,94,.28);}
.kt-cos .btn-gold:hover{background:var(--gold-deep);box-shadow:0 8px 22px rgba(184,154,94,.36);}
.kt-cos .btn-line{background:rgba(255,255,255,.88);border:1px solid var(--gold-line);color:var(--ink);}
.kt-cos .btn-line b{color:var(--gold-deep);}
.kt-cos .btn-line:hover{background:#fff;border-color:var(--gold);}
/* 背景画像はテンプレート側から --kt-cmp-img で渡す（assets/img/campaign-bg.jpg） */
.kt-cos .cmp{background:#F8F8F6 var(--kt-cmp-img) center/cover no-repeat;
           padding:7rem 2.5rem 7.5rem;}
.kt-cos .cmp-inner{max-width:76rem;margin:0 auto;}
.kt-cos .cmp-head{text-align:center;margin-bottom:3.25rem;}
.kt-cos .cmp-h2{font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:.06em;
          line-height:1.55;margin:0;}
.kt-cos .cmp-grid{overflow:hidden;}
.kt-cos .cmp-track{display:flex;gap:1.5rem;width:max-content;
             animation:cmpSlide 44s linear infinite;}
.kt-cos .cmp-grid:hover .cmp-track{animation-play-state:paused;}
.kt-cos .cmp-card{flex:0 0 18rem;}
@media (prefers-reduced-motion:reduce){
  .kt-cos .cmp-track{animation:none;}
}
.kt-cos .cmp-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;
            transition:box-shadow .25s, transform .25s;}
.kt-cos .cmp-card:hover{box-shadow:0 14px 34px rgba(62,56,47,.09);transform:translateY(-3px);}
.kt-cos .cmp-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--gold-soft);}
.kt-cos .cmp-img img{width:100%;height:100%;object-fit:cover;display:block;
               transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.kt-cos .cmp-card:hover .cmp-img img{transform:scale(1.05);}
.kt-cos .cmp-badge{position:absolute;top:0;left:0;background:var(--gold);color:#fff;
             font-size:.68rem;font-weight:700;letter-spacing:.12em;padding:.4rem .7rem;}
.kt-cos .cmp-body{padding:1.5rem 1.35rem 1.5rem;display:flex;flex-direction:column;flex:1;}
/* 2026-08-04 期限は画像の中から出して、ジャンルの行の右端に置く（案A）。
   画像に重ねると、バナーの文字や人物と施術ごとに衝突していた。
   **同じ指定が page-cosmetic.css / front-page.css の両方にある。**
   マークアップは inc/campaign-card.php の1本なので、直すときは両方直すこと。 */
.kt-cos .cmp-meta{display:flex;align-items:baseline;gap:.8rem;margin:0 0 .7rem;}
.kt-cos .cmp-genre{font-size:.7rem;letter-spacing:.1em;color:var(--gold-deep);margin:0;}
.kt-cos .cmp-period{margin-left:auto;font-size:.72rem;letter-spacing:.04em;color:var(--sub);
              white-space:nowrap;font-variant-numeric:tabular-nums;}
.kt-cos .cmp-title{font-family:var(--serif);font-size:1.1rem;font-weight:600;letter-spacing:.03em;
             line-height:1.65;margin:0 0 1.1rem;}
.kt-cos .cmp-prices{margin:0 0 1.35rem;padding-top:.9rem;border-top:1px solid var(--line);flex:1;}
.kt-cos .cmp-prow{display:flex;flex-wrap:wrap;align-items:baseline;
            justify-content:space-between;gap:.15rem .6rem;}
.kt-cos .cmp-prow + .cmp-prow{margin-top:.45rem;}
.kt-cos .cmp-plabel{font-size:.75rem;color:var(--sub);flex:1 1 auto;min-width:0;
              overflow-wrap:anywhere;line-height:1.7;}
/* キャンペーン価格だと分かるよう赤字にし、桁を揃える */
.kt-cos .cmp-price{font-family:var(--serif);font-size:1.18rem;font-weight:600;color:#C0392B;
                   font-variant-numeric:tabular-nums;
             flex:0 0 auto;margin-left:auto;
             letter-spacing:.02em;}
.kt-cos .cmp-tax{font-family:var(--sans);font-size:.66rem;font-weight:400;color:var(--sub);
           margin-left:.2rem;}
.kt-cos .cmp-btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.kt-cos .cmp-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem .4rem;
           font-size:.78rem;font-weight:600;letter-spacing:.04em;transition:all .2s;
           white-space:nowrap;}
.kt-cos .cmp-ar{font-size:.9rem;line-height:1;transition:transform .2s;}
.kt-cos .cmp-btn:hover .cmp-ar{transform:translateX(2px);}
.kt-cos .cmp-btn--sec{border:1px solid var(--gold-line);color:var(--gold-deep);}
.kt-cos .cmp-btn--sec:hover{background:var(--gold-soft);}
.kt-cos .cmp-btn--pri{background:var(--gold);color:#fff;}
.kt-cos .cmp-btn--pri:hover{background:var(--gold-deep);}
.kt-cos .cmp-more{text-align:center;margin-top:3rem;}
.kt-cos .cmp-more a{display:inline-flex;align-items:center;gap:1rem;font-size:1rem;font-weight:600;
              letter-spacing:.06em;color:var(--gold-deep);padding:1.15rem 3.2rem;
              background:#fff;border:1.4px solid var(--gold);border-radius:50px;
              box-shadow:0 4px 14px rgba(62,56,47,.07);transition:all .25s;}
.kt-cos .cmp-more a:hover{background:var(--gold);border-color:var(--gold);color:#fff;
                    box-shadow:0 9px 24px rgba(184,154,94,.30);transform:translateY(-2px);}
.kt-cos .cmp-more a span{transition:transform .2s;}
.kt-cos .cmp-more a:hover span{transform:translateX(3px);}
.kt-cos .doc{background:#fff;padding:7rem 2.5rem 7.5rem;}
.kt-cos .doc-inner{max-width:76rem;margin:0 auto;}
.kt-cos .doc-head{text-align:center;margin-bottom:3.25rem;}
.kt-cos .doc-h2{font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:.06em;
          line-height:1.55;margin:0 0 1.4rem;}
.kt-cos .doc-sub{font-size:.93rem;line-height:2.05;color:var(--sub);margin:0;}
/* 医師の人数に合わせて列数を決める（--doc-cols はテンプレート側で指定。既定は4） */
.kt-cos .doc-grid{display:grid;grid-template-columns:repeat(var(--doc-cols,4),minmax(0,19rem));justify-content:center;gap:1.5rem;}
.kt-cos .doc-card{text-align:center;transition:transform .25s;}
.kt-cos .doc-card:hover{transform:translateY(-3px);}
.kt-cos .doc-photo{aspect-ratio:3/4;overflow:hidden;margin-bottom:1.25rem;
             background:linear-gradient(135deg,#FCFAF5 0%,#EFEAE0 100%);
             display:flex;align-items:center;justify-content:center;}
.kt-cos .doc-photo img{width:100%;height:100%;object-fit:cover;display:block;
                 transition:transform .6s cubic-bezier(.2,.6,.2,1);}
.kt-cos .doc-card:hover .doc-photo img{transform:scale(1.04);}
.kt-cos .doc-photo svg{width:38%;height:auto;color:#D8D0C2;}
.kt-cos .doc-specs{display:flex;gap:.3rem;justify-content:center;margin-top:.85rem;flex-wrap:wrap;}
.kt-cos .doc-spec{font-size:.66rem;letter-spacing:.1em;padding:.22rem .6rem;}
.kt-cos .doc-spec--gyn{background:var(--gyn-bg); color:var(--gyn);}
.kt-cos .doc-spec--derm{background:var(--derm-bg);color:var(--derm);}
.kt-cos .doc-spec--cos{background:var(--cos-bg); color:var(--cos);}
.kt-cos .doc-name{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.05em;
            margin:0 0 .35rem;}
.kt-cos .doc-furi{font-size:.7rem;letter-spacing:.1em;color:var(--sub);margin:0 0 .5rem;}
.kt-cos .doc-pos{font-size:.75rem;letter-spacing:.1em;color:var(--sub);margin:0;}
.kt-cos .doc-card{display:flex;flex-direction:column;}
.kt-cos .doc-more{text-align:center;margin-top:3rem;}
.kt-cos .doc-more a{display:inline-flex;align-items:center;gap:.8rem;font-size:.9rem;font-weight:500;
              letter-spacing:.05em;color:var(--gold-deep);padding:.9rem 2rem;
              border:1px solid var(--gold-line);transition:all .25s;}
.kt-cos .doc-more a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-cos .cal{background:#fff;padding:7rem 2.5rem 7.5rem;}
.kt-cos .cal-inner{max-width:64rem;margin:0 auto;}
.kt-cos .cal-head{text-align:center;margin-bottom:2.5rem;}
.kt-cos .cal-h2{font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:.06em;
          line-height:1.55;margin:0 0 1.4rem;}
.kt-cos .cal-sub{font-size:.93rem;line-height:2.05;color:var(--sub);margin:0;}
.kt-cos .cal .gyn, .kt-cos .cal .skin{--ac:var(--gold-deep);}
.kt-cos .cal-months{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;}
.kt-cos .cal-mo[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-cos .cal-mo{cursor:pointer;font-size:.88rem;letter-spacing:.08em;color:var(--sub);
          padding:.55rem 1.5rem;border:1px solid var(--line);background:#FCFAF5;
          border-radius:999px;transition:all .2s;}
.kt-cos .cal-mo:hover{border-color:var(--gold-line);color:var(--gold-deep);}
.kt-cos #cm-1:checked ~ .cal-months .cal-mo.m1, .kt-cos #cm-2:checked ~ .cal-months .cal-mo.m2{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-cos .cal-panel{display:none;}
.kt-cos .cal-panel.is-active{display:block;}
.kt-cos .cal-scroll{overflow-x:auto;scrollbar-width:none;}
.kt-cos .cal-scroll::-webkit-scrollbar{display:none;}
/* 担当科の印が最大3つ付くため、44remではセルが狭く名前と印が折り返す。
   49remに広げてある（2026-07-30） */
.kt-cos .cal-tbl{min-width:49rem;background:#fff;border:1px solid var(--line);}
.kt-cos .cal-ym{text-align:center;font-family:var(--serif);font-size:1.1rem;letter-spacing:.08em;
          padding:1rem;border-bottom:1px solid var(--line);color:var(--ac);}
.kt-cos .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.kt-cos .cal-dh{text-align:center;font-size:.75rem;letter-spacing:.1em;color:var(--sub);
          padding:.7rem 0;background:#fff;border-bottom:1px solid var(--line);}
.kt-cos .cal-dh.sun{color:#C0736F;}
.kt-cos .cal-c{min-height:5.6rem;padding:.5rem .45rem;border-right:1px solid var(--line);
         border-bottom:1px solid var(--line);}
.kt-cos .cal-c:nth-child(7n/**/+7){border-right:none;}
.kt-cos .cal-c.empty{background:#FAFAF9;}
.kt-cos .cal-c.closed{background:#FAFAF9;}
.kt-cos .cal-d{font-size:.8rem;color:var(--sub);margin-bottom:.35rem;}
.kt-cos .cal-c.sun .cal-d, .kt-cos .cal-c.holi .cal-d{color:#C0736F;}
.kt-cos .cal-dr{margin-bottom:.3rem;}
.kt-cos .cal-dr-h{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;}
.kt-cos .cal-dr-n{font-size:.72rem;line-height:1.5;color:var(--ink);}
.kt-cos .cal-dr-t{display:block;font-size:.66rem;line-height:1.5;color:var(--sub);}
/* 担当科の印（2026-07-30 追加）。色は kt_get_specialties() が持つ */
.kt-cos .cal-dr-tags{display:inline-flex;gap:.15rem;flex:none;}
.kt-cos .cal-tag{display:inline-flex;align-items:center;justify-content:center;flex:none;
             width:1.05rem;height:1.05rem;border-radius:3px;font-style:normal;
             font-size:.62rem;font-weight:600;line-height:1;color:#fff;letter-spacing:0;}
.kt-cos .cal-leg{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;margin:0 0 1.1rem;}
.kt-cos .cal-leg-i{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;letter-spacing:.03em;}
.kt-cos .cal-leg .cal-tag{width:1.15rem;height:1.15rem;font-size:.66rem;}
.kt-cos .cal-closed{display:block;text-align:center;font-size:.72rem;color:#9A948A;
              padding-top:.6rem;}
.kt-cos .cal-none{font-size:.72rem;color:#D2CCC1;}
.kt-cos .cal-hint{display:none;}
.kt-cos #cx-gyn:checked ~ #cm-1:checked ~ .cal-panel.gyn.m1, .kt-cos #cx-gyn:checked ~ #cm-2:checked ~ .cal-panel.gyn.m2, .kt-cos #cx-skin:checked ~ #cm-1:checked ~ .cal-panel.skin.m1, .kt-cos #cx-skin:checked ~ #cm-2:checked ~ .cal-panel.skin.m2{display:block;}
.kt-cos .faq{background:#fff;padding:7rem 2.5rem 7.5rem;}
.kt-cos .faq-inner{max-width:56rem;margin:0 auto;}
.kt-cos .faq-head{text-align:center;margin-bottom:2.75rem;}
.kt-cos .faq-h2{font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:.06em;
          line-height:1.55;margin:0 0 1.4rem;}
.kt-cos .faq-sub{font-size:.93rem;line-height:2.05;color:var(--sub);margin:0;}
.kt-cos .faq-item{border-bottom:1px solid var(--line);}
.kt-cos #fc-visit:checked ~ .faq-list .faq-item, .kt-cos #fc-pay:checked ~ .faq-list .faq-item, .kt-cos #fc-gyn:checked ~ .faq-list .faq-item, .kt-cos #fc-skin:checked ~ .faq-list .faq-item{display:none;}
.kt-cos #fc-visit:checked ~ .faq-list .faq-item.visit, .kt-cos #fc-pay:checked ~ .faq-list .faq-item.pay, .kt-cos #fc-gyn:checked ~ .faq-list .faq-item.gyn, .kt-cos #fc-skin:checked ~ .faq-list .faq-item.skin{display:block;}
.kt-cos .faq-list .faq-item{border-top:none;}
.kt-cos .faq-list{border-top:1px solid var(--line);}
.kt-cos .faq-sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;
           padding:1.5rem 0;font-size:.95rem;letter-spacing:.03em;transition:color .2s;}
.kt-cos .faq-sum::-webkit-details-marker{display:none;}
.kt-cos .faq-sum:hover{color:var(--gold-deep);}
.kt-cos .faq-q{flex:none;color:var(--gold);font-size:.9rem;}
.kt-cos .faq-t{flex:1;line-height:1.75;}
.kt-cos .faq-tg{flex:none;color:var(--gold);font-size:1.25rem;font-weight:300;line-height:1;
          transition:transform .3s;}
.kt-cos .faq-item[open] .faq-tg{transform:rotate(45deg);}
.kt-cos .faq-a{padding:0 0 1.5rem 2.4rem;font-size:.85rem;line-height:2;color:var(--sub);}
.kt-cos .faq-more{text-align:center;margin-top:2.75rem;}
.kt-cos .faq-more a{display:inline-flex;align-items:center;gap:.8rem;font-size:.9rem;font-weight:500;
              letter-spacing:.05em;color:var(--gold-deep);padding:.9rem 2rem;
              border:1px solid var(--gold-line);transition:all .25s;}
.kt-cos .faq-more a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
@media (max-width:720px){
  .kt-cos .cmp-grid{overflow-x:auto;scroll-snap-type:x mandatory;
              margin:0 -1.25rem;padding:0 1.25rem .75rem;scroll-padding-left:1.25rem;
              scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .kt-cos .cmp-grid::-webkit-scrollbar{display:none;}
  .kt-cos .cmp-track{animation:none;gap:.9rem;width:auto;}
  .kt-cos .cmp-card{flex:0 0 74%;scroll-snap-align:start;}
  .kt-cos .cmp-card.is-dup{display:none;}
  .kt-cos .cmp-more{margin-top:2rem;}
}
.kt-cos .flw{background:var(--cream2);padding:7rem 2.5rem 7.5rem;}
.kt-cos .flw-inner{max-width:60rem;margin:0 auto;}
.kt-cos .flw-head{text-align:center;margin-bottom:3.25rem;}
.kt-cos .flw-h2{font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:.06em;line-height:1.55;margin:0 0 1.1rem;}
.kt-cos .flw-sub{font-size:.92rem;line-height:2.05;color:var(--sub);margin:0;}
.kt-cos .flw-list{position:relative;}
.kt-cos .flw-item{display:grid;grid-template-columns:3.5rem 1fr;gap:1.5rem;align-items:start;padding:0 0 2.25rem;position:relative;}
.kt-cos .flw-item:last-child{padding-bottom:0;}
.kt-cos .flw-item::before{content:"";position:absolute;left:1.7rem;top:3.5rem;bottom:0;width:1px;background:var(--gold-line);}
.kt-cos .flw-item:last-child::before{display:none;}
.kt-cos .flw-num{width:3.5rem;height:3.5rem;border:1.4px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--gold-deep);position:relative;z-index:1;}
.kt-cos .flw-t{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.04em;margin:.55rem 0 .5rem;}
.kt-cos .flw-d{font-size:.86rem;line-height:2;color:var(--sub);margin:0;}
.kt-cos .dep .gyn, .kt-cos .dep .derm, .kt-cos .dep .cos, .kt-cos .mnu .gyn, .kt-cos .mnu .derm, .kt-cos .mnu .cos{--ac:var(--gold-deep); --ac-bg:var(--gold-soft);}
.kt-cos .mnu{background:#fff;padding:7rem 2.5rem 7.5rem;}
.kt-cos .mnu-inner{max-width:76rem;margin:0 auto;}
.kt-cos .mnu-head{text-align:center;margin-bottom:2.75rem;}
.kt-cos .mnu-h2{font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:.06em;
          line-height:1.55;margin:0 0 1.4rem;}
.kt-cos .mnu-sub{font-size:.93rem;line-height:2.05;color:var(--sub);margin:0 auto;max-width:52rem;}
.kt-cos .mnu-cat + .mnu-cat{margin-top:3.25rem;}
.kt-cos .mnu-cat-title{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.05em;
                 color:var(--ac);margin:0 0 1.35rem;}
.kt-cos .mnu-items{column-count:3;column-gap:2.5rem;}
.kt-cos .mnu-item{display:flex;align-items:center;gap:.75rem;padding:.9rem .25rem;break-inside:avoid;
            border-bottom:1px solid #E3E1DC;font-size:.9rem;transition:color .2s;}
.kt-cos .mnu-item:hover{color:var(--ac);}
.kt-cos .mnu-item-name{flex:1;}
.kt-cos .mnu-badge--new{background:var(--gold);color:#fff;font-weight:700;flex:none;
                  font-size:.66rem;letter-spacing:.06em;padding:.2rem .5rem;}
.kt-cos .mnu-arrow{flex:none;color:#C9C2B6;font-size:.95rem;transition:transform .2s;}
.kt-cos .mnu-item:hover .mnu-arrow{transform:translateX(3px);}
.kt-cos .mnu-more{text-align:center;margin-top:3rem;}
.kt-cos .mnu-more a{display:inline-flex;align-items:center;gap:.8rem;font-size:.9rem;font-weight:500;
              letter-spacing:.05em;color:var(--gold-deep);padding:.9rem 2rem;
              border:1px solid var(--gold-line);transition:all .25s;}
.kt-cos .mnu-more a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-cos .mnu-panel{display:block;}
.kt-cos .mnu-group + .mnu-group{margin-top:4rem;padding-top:3.5rem;border-top:1px solid #E3E1DC;}
.kt-cos .mnu-grouphead{margin-bottom:2.25rem;}
.kt-cos .mnu-groupname{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--serif);
                 font-size:1.35rem;font-weight:600;letter-spacing:.06em;color:var(--gold-deep);
                 margin:0 0 .5rem;}
.kt-cos .mnu-groupname::before{content:"";width:26px;height:1px;background:var(--gold);}
.kt-cos .mnu-groupnote{font-size:.82rem;line-height:1.9;color:var(--sub);margin:0;padding-left:2.15rem;}
.kt-cos .faq-cats{display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-bottom:2.25rem;}
.kt-cos .faq-cat{cursor:pointer;font-size:.85rem;letter-spacing:.06em;color:var(--sub);
           padding:.6rem 1.4rem;border:1px solid #E3E1DC;border-radius:999px;
           background:#fff;transition:all .2s;white-space:nowrap;}
.kt-cos .faq-cat:hover{border-color:var(--gold-line);color:var(--gold-deep);}
.kt-cos .faq-cat[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:#fff;}
.kt-cos .faq-item.is-hidden{display:none;}
@media (max-width:1080px){
  .kt-cos .faq-cats{margin:0 -1.25rem 1.75rem;padding:0 1.25rem;gap:.45rem;flex-wrap:nowrap;
              justify-content:flex-start;overflow-x:auto;scrollbar-width:none;}
  .kt-cos .faq-cats::-webkit-scrollbar{display:none;}
  .kt-cos .faq-cat{padding:.5rem 1.1rem;font-size:.8rem;}
  .kt-cos .mnu{padding:4.5rem 1.25rem 5rem;}
  .kt-cos .mnu-h2{font-size:1.6rem;}
  .kt-cos .mnu-sub{text-align:left;}
  .kt-cos .mnu-items{column-count:1;}
  .kt-cos .mnu-more a{width:100%;justify-content:center;}
  .kt-cos .mnu-group + .mnu-group{margin-top:2.75rem;padding-top:2.5rem;}
  .kt-cos .mnu-grouphead{margin-bottom:1.5rem;}
  .kt-cos .mnu-groupname{font-size:1.15rem;}
  .kt-cos .mnu-groupnote{font-size:.78rem;padding-left:0;}
  .kt-cos .hd-nav{order:5;width:100%;margin:.5rem -1.25rem 0;padding:0 1.25rem;gap:1.35rem;
            font-size:.84rem;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
            scrollbar-width:none;}
  .kt-cos .hd-nav::-webkit-scrollbar{display:none;}
  .kt-cos .hd-nav a{white-space:nowrap;}
  .kt-cos .hd-actions{margin-left:auto;}
  .kt-cos .hero{min-height:40rem;}
  .kt-cos .hero::before{background:var(--fv-sp) center 8% / auto 125% no-repeat;}
  .kt-cos .hero::after{background:linear-gradient(to bottom,
      rgba(255,255,255,.5) 0%,  rgba(255,255,255,.85) 13%,
      rgba(255,255,255,.9) 32%, rgba(255,255,255,.86) 62%,
      rgba(255,255,255,.5) 79%, rgba(255,255,255,.16) 93%,
      rgba(255,255,255,.05) 100%);}
  .kt-cos .hero-inner{min-height:0;padding:0 1.25rem;}
  .kt-cos .hero-text{width:100%;padding:5.5rem 0 3rem;}
  .kt-cos .hero-depts{font-size:.72rem;letter-spacing:.1em;margin-bottom:1.1rem;}
  .kt-cos .hero-depts::before{width:22px;}
  .kt-cos .hero-title{font-size:clamp(1.1rem,5.5vw,1.5rem);letter-spacing:.01em;line-height:1.75;}
  .kt-cos .hero-lead{font-size:.84rem;line-height:1.95;margin:1.4rem 0 2rem;}
  .kt-cos .hero-lead br{display:none;}
  .kt-cos .faq{padding:4.5rem 1.25rem 5rem;}
  .kt-cos .faq-h2{font-size:1.6rem;}
  .kt-cos .faq-sub{text-align:left;}
  .kt-cos .faq-sum{padding:1.25rem 0;gap:.75rem;}
  .kt-cos .faq-a{padding-left:2.1rem;}
  .kt-cos .faq-more a{width:100%;justify-content:center;}
  .kt-cos .cal{padding:4.5rem 1.25rem 5rem;}
  .kt-cos .cal-h2{font-size:1.6rem;}
  .kt-cos .cal-sub{text-align:left;}
  .kt-cos .cal-scroll{margin:0 -1.25rem;padding:0 1.25rem;}
  .kt-cos .cal-hint{display:block;text-align:center;font-size:.72rem;color:#A39B8E;margin:-.4rem 0 .7rem;}
  .kt-cos .cal-ym{text-align:left;padding-left:1rem;}
  .kt-cos .doc{padding:4.5rem 1.25rem 5rem;}
  .kt-cos .doc-h2{font-size:1.6rem;}
  .kt-cos .doc-grid{grid-template-columns:1fr 1fr;gap:1rem;}
  .kt-cos .doc-more a{width:100%;justify-content:center;}
  .kt-cos .cmp{padding:4.5rem 1.25rem 5rem;}
  .kt-cos .cmp-h2{font-size:1.6rem;}
  .kt-cos .cmp-grid{grid-template-columns:1fr 1fr;gap:1rem;}
  .kt-cos .cmp-more a{width:100%;justify-content:center;}
  .kt-cos .flw{padding:4.5rem 1.25rem 5rem;}
  .kt-cos .flw-h2{font-size:1.6rem;}
  .kt-cos .flw-sub{font-size:.86rem;}
  .kt-cos .flw-item{grid-template-columns:2.75rem 1fr;gap:1.1rem;padding-bottom:1.85rem;}
  .kt-cos .flw-item::before{left:1.35rem;top:2.75rem;}
  .kt-cos .flw-num{width:2.75rem;height:2.75rem;font-size:1rem;}
  .kt-cos .flw-t{font-size:1.02rem;margin-top:.35rem;}
  .kt-cos .flw-d{font-size:.8rem;line-height:1.95;}
}
@media (max-width:559px){
  .kt-cos .hero-ctas{flex-direction:column;}
  .kt-cos .hero-ctas .btn{width:100%;justify-content:center;}
}
