
  :root{
    --swift-navy:#0b2f5b;
    --swift-gold:#ac9367;
    --swift-white:#ffffff;
    --swift-text:#333333;
    --swift-gray:#8f8f8f;
    --swift-mincho:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
    --swift-playfair:"Playfair Display",serif;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    font-family:var(--swift-mincho);
    color:var(--swift-text);
    background:var(--swift-white);
    line-height:1.9;
    -webkit-font-smoothing:antialiased;
  }

  img{display:block;max-width:100%;}
  a{text-decoration:none;color:inherit;}

  .swift-container{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:0 24px;
  }

  /* ============ HEADER ============ */
  .swift-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:1000;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(11,47,91,0.08);
  }
  .swift-header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 24px;
    max-width:1400px;
    margin:0 auto;
  }
  .swift-header__left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
  }
  .swift-logo img{height:38px;width:auto;}
  .swift-badge{
    display:inline-block;
    font-size:11px;
    letter-spacing:.05em;
    color:var(--swift-navy);
    border:1px solid var(--swift-gold);
    border-radius:999px;
    padding:3px 10px;
    white-space:nowrap;
  }

  .swift-nav{
    flex:1;
    min-width:0;
  }
  .swift-nav__list{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:6px 26px;
    justify-content:center;
    font-size:14px;
  }
  .swift-nav__list a{
    color:var(--swift-navy);
    letter-spacing:.04em;
    transition:color .2s ease;
    white-space:nowrap;
    padding-bottom:4px;
  }
  .swift-nav__list a:hover{color:var(--swift-gold);}
  .swift-nav__has-sub{position:relative;}
  .swift-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:540px;background:#f2f1ef;box-shadow:0 14px 34px rgba(11,47,91,.14);padding:26px 34px;display:none;grid-template-columns:repeat(3,auto);gap:16px 40px;z-index:1001;}
  .swift-nav__has-sub:hover .swift-mega{display:grid;}
  .swift-mega::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
  .swift-mega a{color:var(--swift-navy);font-size:15px;white-space:nowrap;padding:6px 2px;letter-spacing:.04em;}
  .swift-mega a:hover{color:var(--swift-gold);}
  @media(max-width:900px){.swift-mega{position:static;transform:none;min-width:0;grid-template-columns:1fr;box-shadow:none;background:transparent;padding:4px 0 10px 18px;gap:4px;}.swift-nav__has-sub:hover .swift-mega{display:grid;}}

  .swift-nav__list a.is-active{
    border-bottom:2px solid var(--swift-gold);
  }

  .swift-header__right{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
  }
  .swift-btn{
    display:inline-block;
    font-size:13px;
    letter-spacing:.04em;
    padding:10px 18px;
    border-radius:4px;
    transition:all .25s ease;
    white-space:nowrap;
  }
  .swift-btn--outline{
    border:1px solid var(--swift-navy);
    color:var(--swift-navy);
  }
  .swift-btn--outline:hover{background:var(--swift-navy);color:#fff;}
  .swift-btn--navy{
    background:var(--swift-navy);
    color:#fff;
    border:1px solid var(--swift-navy);
    border-radius:2px;
    padding:16px 38px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
    letter-spacing:.08em;
  }
  .swift-btn--navy:hover{background:#08233f;}
  .swift-btn--gold{
    background:var(--swift-gold);
    color:#fff;
    box-shadow:0 4px 14px rgba(172,147,103,.3);
  }
  .swift-btn--gold:hover{background:#9a8259;transform:translateY(-1px);}

  .swift-hamburger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:42px;height:42px;
    border:none;background:transparent;cursor:pointer;
  }
  .swift-hamburger span{
    display:block;height:2px;width:24px;
    background:var(--swift-navy);
    transition:.3s;
  }

  /* ============ PAGE HERO ============ */
  .swift-page-hero{
    position:relative;
    margin-top:67px;
    min-height:clamp(240px,30vw,360px);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:hidden;
    background:url("/assets/img/536a84_777adf753ccf4e91be38a3f26256054f_mv2.jpeg") center 30%/cover no-repeat;
  }
  .swift-page-hero::before{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(11,47,91,.42) 0%,rgba(11,47,91,.5) 100%);
  }
  .swift-page-hero__inner{
    position:relative;
    z-index:2;
    color:#fff;
  }
  .swift-page-hero__jp{
    font-size:clamp(26px,4.4vw,42px);
    font-weight:600;
    letter-spacing:.08em;
    text-shadow:0 2px 14px rgba(11,47,91,.4);
  }
  .swift-page-hero__en{
    font-family:var(--swift-playfair);
    font-weight:500;
    font-size:clamp(15px,2.2vw,22px);
    letter-spacing:.16em;
    color:var(--swift-gold);
    margin-top:8px;
  }

  /* ============ SECTION COMMON ============ */
  .swift-section{padding:96px 0;}

  .swift-head{
    text-align:center;
    margin-bottom:56px;
  }
  .swift-head__jp{
    font-size:15px;
    letter-spacing:.3em;
    color:var(--swift-gold);
    margin-bottom:14px;
    display:block;
  }
  .swift-head__en{
    font-family:var(--swift-playfair);
    font-weight:500;
    font-size:clamp(30px,5vw,48px);
    color:var(--swift-navy);
    letter-spacing:.02em;
    line-height:1.2;
  }
  .swift-head__en::after{
    content:"";
    display:block;
    width:56px;height:2px;
    background:var(--swift-gold);
    margin:22px auto 0;
  }

  /* ============ DRUG SUMMARY TABLE ============ */
  .swift-summary{background:#f7f5f1;}
  .swift-summary__list{
    max-width:880px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .swift-summary__item{
    display:flex;
    align-items:center;
    gap:24px;
    background:#fff;
    border-radius:6px;
    padding:22px 30px;
    box-shadow:0 8px 24px rgba(11,47,91,.06);
    border-left:4px solid var(--swift-gold);
  }
  .swift-summary__thumb{
    width:88px;
    height:88px;
    flex-shrink:0;
    border-radius:6px;
    overflow:hidden;
    background:#f1ede6;
  }
  .swift-summary__thumb img{width:100%;height:100%;object-fit:cover;}
  .swift-summary__main{flex:1;min-width:0;}
  .swift-summary__name{
    font-size:20px;
    color:var(--swift-navy);
    font-weight:600;
    letter-spacing:.03em;
    margin-bottom:6px;
  }
  .swift-summary__desc{
    font-size:14px;
    color:#555;
    line-height:1.7;
  }
  .swift-summary__price{
    flex-shrink:0;
    text-align:right;
    font-family:var(--swift-playfair);
    color:var(--swift-gold);
    white-space:nowrap;
  }
  .swift-summary__price strong{
    display:block;
    font-size:26px;
    font-weight:600;
    color:var(--swift-navy);
    letter-spacing:.02em;
  }
  .swift-summary__price span{
    font-size:13px;
    color:var(--swift-gray);
    letter-spacing:.05em;
  }

  /* ============ DRUG DETAIL CARDS ============ */
  .swift-details{background:#fff;}
  .swift-drug{
    max-width:960px;
    margin:0 auto 56px;
    background:#fdfcfa;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(11,47,91,.07);
  }
  .swift-drug:last-child{margin-bottom:0;}
  .swift-drug__header{
    background:var(--swift-gold);
    color:#fff;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px 18px;
    padding:20px 36px;
  }
  .swift-drug__name{
    font-size:clamp(20px,2.6vw,26px);
    font-weight:600;
    letter-spacing:.04em;
  }
  .swift-drug__name small{
    font-size:.62em;
    font-weight:500;
    letter-spacing:.02em;
    margin-left:4px;
  }
  .swift-drug__price{
    font-size:clamp(17px,2.4vw,22px);
    font-weight:600;
    letter-spacing:.04em;
    white-space:nowrap;
  }
  .swift-drug__price em{
    font-style:normal;
    font-size:.7em;
    margin-right:8px;
    opacity:.92;
  }
  .swift-drug__body{padding:34px 36px 40px;}
  .swift-drug__lead{
    font-size:15px;
    line-height:1.95;
    color:#444;
    margin-bottom:34px;
  }
  .swift-drug__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px 40px;
  }
  .swift-block--full{grid-column:1 / -1;}
  .swift-block__title{
    text-align:center;
    font-size:16px;
    font-weight:600;
    color:var(--swift-navy);
    letter-spacing:.06em;
    margin-bottom:18px;
    padding-bottom:12px;
    position:relative;
  }
  .swift-block__title::after{
    content:"";
    position:absolute;
    left:50%;bottom:0;
    transform:translateX(-50%);
    width:46px;height:2px;
    background:var(--swift-gold);
  }
  .swift-block__list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .swift-block__list li{
    position:relative;
    padding-left:20px;
    font-size:14.5px;
    line-height:1.85;
    color:#444;
  }
  .swift-block__list li::before{
    content:"";
    position:absolute;
    left:2px;top:.72em;
    width:7px;height:7px;
    border-radius:50%;
    background:var(--swift-gold);
  }

  /* ============ CTA BAND ============ */
  .swift-cta{
    background:var(--swift-navy);
    color:#fff;
    text-align:center;
    padding:96px 24px;
  }
  .swift-cta__title{
    font-size:clamp(22px,3.6vw,34px);
    line-height:1.7;
    letter-spacing:.05em;
    font-weight:500;
    margin-bottom:40px;
  }
  .swift-cta__btn{
    display:inline-block;
    background:var(--swift-gold);
    color:#fff;
    font-size:17px;
    letter-spacing:.06em;
    padding:18px 52px;
    border-radius:5px;
    box-shadow:0 10px 30px rgba(172,147,103,.4);
    transition:all .25s ease;
  }
  .swift-cta__btn:hover{background:#9a8259;transform:translateY(-3px);}

  /* ============ FOOTER ============ */
  .swift-footer{
    background:var(--swift-navy);
    color:#fff;
    padding:72px 24px 48px;
    text-align:center;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .swift-footer__logo img{
    height:46px;width:auto;
    margin:0 auto 30px;
  }
  .swift-footer__info{
    font-size:14px;
    line-height:2;
    color:rgba(255,255,255,.85);
    margin-bottom:34px;
  }
  .swift-footer__tel{font-family:var(--swift-playfair);letter-spacing:.04em;}
  .swift-footer__copy{
    font-family:var(--swift-playfair);
    font-size:12px;
    letter-spacing:.1em;
    color:rgba(255,255,255,.55);
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:28px;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width:1024px){
    .swift-nav__list{font-size:11.5px;gap:2px 10px;}
  }
  @media (max-width:900px){
    .swift-hamburger{display:flex;}
    .swift-nav{
      position:fixed;
      top:0;right:-100%;
      width:78%;max-width:340px;
      height:100vh;
      background:#fff;
      box-shadow:-8px 0 30px rgba(0,0,0,.15);
      padding:90px 28px 40px;
      overflow-y:auto;
      transition:right .35s ease;
      z-index:1100;
    }
    .swift-nav.is-open{right:0;}
    .swift-nav__list{
      flex-direction:column;
      align-items:flex-start;
      gap:0;
      font-size:15px;
    }
    .swift-nav__list li{width:100%;}
    .swift-nav__list a{
      display:block;
      padding:13px 0;
      border-bottom:1px solid rgba(11,47,91,.08);
      width:100%;
    }
    .swift-nav-overlay{
      position:fixed;inset:0;
      background:rgba(11,47,91,.4);
      opacity:0;visibility:hidden;
      transition:.3s;
      z-index:999;
    }
    .swift-nav-overlay.is-open{opacity:1;visibility:visible;}
    .swift-header__right .swift-btn{padding:9px 13px;font-size:12px;}
    .swift-badge{display:none;}
  }
  @media (max-width:768px){
    .swift-section{padding:64px 0;}
    .swift-summary__item{flex-wrap:wrap;gap:16px 20px;padding:20px;}
    .swift-summary__price{text-align:left;width:100%;}
    .swift-summary__price strong{display:inline-block;margin-right:6px;}
    .swift-drug__grid{grid-template-columns:1fr;gap:26px;}
    .swift-drug__header{padding:18px 24px;}
    .swift-drug__body{padding:28px 24px 32px;}
  }
  @media (max-width:520px){
    .swift-summary__thumb{width:64px;height:64px;}
    .swift-summary__name{font-size:18px;}
  }


  .swift-footer__nav{
    display:flex;flex-wrap:wrap;justify-content:center;gap:48px;
    text-align:left;margin-bottom:40px;padding-bottom:36px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .swift-footer__col{min-width:180px;}
  .swift-footer__h{
    font-size:13px;letter-spacing:.12em;color:#ac9367;
    margin:0 0 16px;font-weight:600;
  }
  .swift-footer__nav ul{list-style:none;margin:0;padding:0;}
  .swift-footer__nav li{margin:0 0 11px;}
  .swift-footer__nav a{
    color:rgba(255,255,255,.82);text-decoration:none;font-size:13.5px;
    letter-spacing:.02em;transition:color .2s;
  }
  .swift-footer__nav a:hover{color:#ac9367;}
  @media (max-width:640px){
    .swift-footer__nav{gap:28px 32px;}
    .swift-footer__col{min-width:140px;}
  }


/* ==========================================================================
   Landing-page components (/ed, /aga)
   Everything above this line is the site's own chrome, copied verbatim from
   the Japanese pages so the header, mega menu and footer render identically.
   Everything below is new and prefixed swift-lp- so it cannot collide with
   the site's .swift-section / .swift-head / .swift-btn.
   ========================================================================== */

.swift-lp-narrow{max-width:880px;margin:0 auto;}

/* ---- breadcrumb ---- */
.swift-lp-crumb{border-bottom:1px solid rgba(11,47,91,.1);background:#fff;}
.swift-lp-crumb ol{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;
  max-width:1180px;margin:0 auto;padding:12px 24px;
  font-size:12px;color:#6f7276;
}
.swift-lp-crumb li+li::before{content:"／";margin-right:8px;color:rgba(11,47,91,.25);}
.swift-lp-crumb a:hover{color:var(--swift-navy);text-decoration:underline;}

/* ---- hero ---- */
.swift-lp-hero{
  background:linear-gradient(160deg,#0b2f5b 0%,#123a68 55%,#1b4c85 100%);
  color:#fff;padding:70px 0 62px;
}
.swift-lp-hero__inner{max-width:1180px;margin:0 auto;padding:0 24px;}
.swift-lp-hero__eyebrow{
  font-size:12px;letter-spacing:.18em;color:#c9b48f;margin-bottom:16px;
}
.swift-lp-hero h1{
  font-size:clamp(24px,3.6vw,38px);line-height:1.45;font-weight:600;letter-spacing:.01em;
}
.swift-lp-hero__lead{
  margin-top:20px;max-width:760px;font-size:15.5px;line-height:1.95;
  color:rgba(255,255,255,.9);
}
.swift-lp-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.swift-lp-hero__meta span{
  font-size:12px;padding:6px 14px;border:1px solid rgba(255,255,255,.34);
  border-radius:999px;color:rgba(255,255,255,.92);
}

/* ---- answer block ---- */
.swift-lp-answer{background:#f7f6f3;border-bottom:1px solid rgba(11,47,91,.1);padding:34px 0;}
.swift-lp-answer__lead{font-size:16px;line-height:1.95;color:#2f3033;}
.swift-lp-answer__lead strong{color:var(--swift-navy);}
.swift-lp-answer__facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;margin-top:24px;
}
.swift-lp-answer__facts > div{
  background:#fff;padding:15px 17px;box-shadow:0 0 0 1px rgba(11,47,91,.1);
}
.swift-lp-answer__facts dt{
  font-size:11px;letter-spacing:.1em;color:#ac9367;margin-bottom:5px;
}
.swift-lp-answer__facts dd{font-size:15px;line-height:1.6;color:var(--swift-navy);font-weight:600;}

/* ---- section heading ---- */
.swift-lp-head{margin-bottom:32px;}
.swift-lp-head__eyebrow{
  display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:#ac9367;margin-bottom:10px;
}
.swift-lp-head h2{
  font-size:clamp(21px,2.6vw,29px);line-height:1.5;color:var(--swift-navy);font-weight:600;
}
.swift-lp-head p{margin-top:14px;color:#6f7276;font-size:15px;}

/* ---- prose ---- */
.swift-lp-prose > * + *{margin-top:16px;}
.swift-lp-prose h3{
  font-size:18px;font-weight:600;color:var(--swift-navy);margin-top:32px;line-height:1.6;
}
.swift-lp-prose p{font-size:15px;line-height:1.95;}
.swift-lp-prose a{color:var(--swift-navy);text-decoration:underline;text-underline-offset:3px;}
.swift-lp-prose strong{color:var(--swift-navy);}

/* ---- table ---- */
.swift-lp-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.swift-lp-table{min-width:520px;width:100%;border-collapse:collapse;font-size:14px;}
.swift-lp-table caption{
  text-align:left;font-size:18px;font-weight:600;color:var(--swift-navy);padding-bottom:12px;
}
.swift-lp-table th,.swift-lp-table td{
  padding:13px 16px;border-bottom:1px solid rgba(11,47,91,.1);text-align:left;vertical-align:top;
}
.swift-lp-table thead th{
  background:var(--swift-navy);color:#fff;font-weight:500;font-size:12.5px;
  letter-spacing:.04em;white-space:nowrap;
}
.swift-lp-table tbody tr:nth-child(even){background:rgba(11,47,91,.025);}
.swift-lp-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}

/* ---- steps ---- */
.swift-lp-steps{list-style:none;counter-reset:step;display:grid;gap:14px;padding:0;}
.swift-lp-steps li{
  position:relative;padding:18px 22px 18px 62px;background:#fff;
  border:1px solid rgba(11,47,91,.1);border-radius:3px;
}
.swift-lp-steps li::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:20px;top:19px;width:28px;height:28px;border-radius:50%;
  background:var(--swift-navy);color:#fff;font-size:13px;display:grid;place-items:center;
}
.swift-lp-steps b{display:block;color:var(--swift-navy);font-weight:600;margin-bottom:3px;}
.swift-lp-steps span{font-size:14px;color:#6f7276;line-height:1.85;}

/* ---- FAQ ---- */
.swift-lp-faq{border-top:1px solid rgba(11,47,91,.1);}
.swift-lp-faq details{border-bottom:1px solid rgba(11,47,91,.1);}
.swift-lp-faq summary{
  cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;
  font-weight:600;color:var(--swift-navy);line-height:1.7;
}
.swift-lp-faq summary::-webkit-details-marker{display:none;}
.swift-lp-faq summary::after{
  content:"";position:absolute;right:8px;top:27px;width:9px;height:9px;
  border-right:1.5px solid #ac9367;border-bottom:1.5px solid #ac9367;
  transform:rotate(45deg);transition:transform .22s;
}
.swift-lp-faq details[open] summary::after{transform:rotate(-135deg);}
.swift-lp-faq__a{padding:0 0 22px;color:#5c5f63;font-size:14.5px;line-height:1.95;}
.swift-lp-faq__a a{color:var(--swift-navy);text-decoration:underline;}

/* ---- notice ---- */
.swift-lp-note{
  background:#fbf9f4;border:1px solid rgba(172,147,103,.4);border-left:3px solid #ac9367;
  padding:22px 24px;font-size:13.5px;color:#5c5f63;line-height:1.9;
}
.swift-lp-note h3{font-size:14px;color:var(--swift-navy);margin-bottom:10px;letter-spacing:.04em;}
.swift-lp-note ul{padding-left:1.2em;margin:0;}
.swift-lp-note li+li{margin-top:8px;}
.swift-lp-note strong{color:var(--swift-navy);}

/* ---- clinic info + map ---- */
.swift-lp-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start;}
.swift-lp-info dl{display:grid;grid-template-columns:120px minmax(0,1fr);font-size:14.5px;margin:0;}
.swift-lp-info dt{
  padding:13px 0;border-top:1px solid rgba(11,47,91,.1);
  color:var(--swift-navy);font-weight:600;font-size:12.5px;letter-spacing:.06em;
}
.swift-lp-info dd{padding:13px 0;border-top:1px solid rgba(11,47,91,.1);margin:0;line-height:1.8;}
.swift-lp-info iframe{width:100%;height:340px;border:0;border-radius:3px;}

@media (max-width:1000px){ .swift-lp-info{grid-template-columns:1fr;} }
@media (max-width:820px){ .swift-lp-hero{padding:50px 0 44px;} }
@media (max-width:560px){
  .swift-lp-info dl{grid-template-columns:1fr;}
  .swift-lp-info dt{padding-bottom:0;}
  .swift-lp-info dd{padding-top:4px;border-top:0;}
}
