*, ::after, ::before { box-sizing: border-box; margin: 0px; padding: 0px; }html { scroll-behavior: smooth; }body { margin: 0px; padding: 0px; font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif; font-size: 16px; line-height: 1.8; color: rgb(7, 24, 39); -webkit-font-smoothing: antialiased; }img { max-width: 100%; height: auto; display: block; }a { color: inherit; text-decoration: none; }ol, ul { list-style: none; }button { font: inherit; cursor: pointer; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: 0px 0px; }:root { --color-white: #ffffff; --color-white-95: rgba(255, 255, 255, 0.95); --color-white-90: rgba(255, 255, 255, 0.9); --color-white-80: rgba(255, 255, 255, 0.8); --pd-navy: #071827; --pd-blue: #2457e6; --pd-sky: #eaf5ff; --pd-paper: #fbfdff; --pd-line: rgba(9, 35, 58, .10); --pd-shadow: 0 20px 60px rgba(8, 31, 52, .10); --theme-primary: #2563eb; --theme-primary-dark: #1d4ed8; --theme-primary-light: #dbeafe; --theme-accent: #0ea5e9; --theme-text: #1e3a5f; --theme-bg: #ffffff; --theme-card-bg: rgba(255, 255, 255, .85); --theme-radius: 20px; --theme-radius-sm: 12px; --theme-shadow: 0 10px 40px rgba(37, 99, 235, .12); --font-primary: 'Noto Sans JP',sans-serif; --font-display: 'Noto Sans JP',sans-serif; }body { background: radial-gradient(circle at 12% 8%, rgba(85, 160, 220, 0.16), transparent 30rem), radial-gradient(circle at 92% 20%, rgba(36, 87, 230, 0.1), transparent 28rem), linear-gradient(rgb(238, 247, 255) 0px, rgb(255, 255, 255) 34%, rgb(246, 251, 255) 100%); }body::before { content: ""; position: fixed; inset: 0px; pointer-events: none; z-index: -1; background-image: linear-gradient(rgba(7, 24, 39, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(7, 24, 39, 0.035) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.15)); }.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; border: 0px !important; }.text-orange { color: var(--pd-blue); font-weight: 700; }.container { width: 100%; max-width: 1200px; margin: 0px auto; padding: 0px 20px; }main { margin: 0px; padding: 0px; }main > section:not(.hero):not(.cinema-opening):not(.cinema-price):not(.first-hero):not(.first-intro):not(.night-hero):not(.flow-sticky) { position: relative; overflow: hidden; padding: clamp(60px, 10vw, 120px) 0px; }.cinema-opening, .cinema-price, .first-hero, .first-intro, .hero, .night-hero { margin-top: 0px !important; }main > section:not(.hero):not(.cinema-opening):not(.cinema-price):not(.first-hero):not(.first-intro):not(.night-hero)::before { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(7, 24, 39, 0.06); border-radius: 34px; pointer-events: none; opacity: 0.7; }.about, .flow, .price { background: radial-gradient(circle at 8% 12%, rgba(72, 151, 213, 0.11), transparent 24rem), linear-gradient(rgba(255, 255, 255, 0.7), rgba(244, 250, 255, 0.78)); }.contact, .features, .symptoms { background: radial-gradient(circle at 88% 6%, rgba(36, 87, 230, 0.1), transparent 25rem), linear-gradient(rgba(248, 252, 255, 0.86), rgba(255, 255, 255, 0.76)); }.section-divider { height: clamp(120px, 20vh, 200px); background-size: cover; background-position: center center; background-attachment: fixed; position: relative; opacity: 0.45; }.section-divider::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(255, 255, 255, 0.3) 0px, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.3) 100%); }.hero + .section-divider { background-image: url("https://iekuru-dr.com/wp/wp-content/uploads/2026/08/pitdoctor-about-clinic-1448.webp"); }.about + .section-divider { background-image: url("https://iekuru-dr.com/wp/wp-content/uploads/2026/08/pitdoctor-hero-drive-through-opt.webp"); }.features + .section-divider { background-image: url("https://iekuru-dr.com/wp/wp-content/uploads/2026/08/pitdoctor-flow-reservation-opt.webp"); }.flow + .section-divider { background-image: url("https://iekuru-dr.com/wp/wp-content/uploads/2026/08/pitdoctor-symptom-fever-cough-opt.webp"); }.symptoms + .section-divider { background-image: url("https://iekuru-dr.com/wp/wp-content/uploads/2026/08/pitdoctor-price-insurance-payment-opt.webp"); }.price + .section-divider { background-image: url("https://iekuru-dr.com/wp/wp-content/uploads/2026/08/pitdoctor-hero-medicine-opt.webp"); }.section-number { display: none; }.glass-card { background: var(--theme-card-bg); border-radius: var(--theme-radius); box-shadow: var(--theme-shadow); border: 1px solid rgba(255, 255, 255, 0.76); backdrop-filter: blur(16px); }.header { position: fixed; top: 0px; left: 0px; right: 0px; z-index: 1000; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(7, 24, 39, 0.06); box-shadow: rgba(7, 24, 39, 0.04) 0px 4px 30px; }.header-inner { display: flex; align-items: center; width: 100%; max-width: none; justify-content: flex-end; gap: clamp(28px, 5vw, 72px); padding: 12px clamp(20px, 3vw, 44px); }.header .logo { margin-right: auto; display: inline-flex; align-items: center; gap: 10px; min-width: max-content; background: 0px 0px; -webkit-text-fill-color: initial; text-decoration: none; white-space: nowrap; }.header .logo-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; overflow: hidden; color: rgb(255, 255, 255); background: linear-gradient(135deg,var(--pd-blue),#0ea5e9); box-shadow: rgba(37, 99, 235, 0.12) 0px 8px 20px; font-family: var(--font-display, 'Montserrat', sans-serif); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; }.header .logo-icon img { width: 100%; height: 100%; display: block; object-fit: cover; }.header .logo-text { display: grid; gap: 2px; line-height: 1.1; }.header .logo-main { color: var(--pd-blue); font-family: var(--font-display, 'Montserrat', sans-serif); font-size: 1.08rem; font-weight: 800; letter-spacing: 0.08em; -webkit-text-fill-color: currentcolor; white-space: nowrap; }.header .logo-sub { color: rgba(7, 24, 39, 0.68); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; white-space: nowrap; -webkit-text-fill-color: currentcolor; }.header .nav { flex: 1 1 auto; display: flex; justify-content: flex-end; margin-left: auto; }.header .nav-list { display: flex; align-items: center; list-style: none; margin: 0px 0px 0px auto; padding: 0px; width: auto; justify-content: flex-end; gap: clamp(2px, 0.5vw, 8px); }.header .nav-list a { color: var(--pd-navy); font-weight: 500; font-size: 0.9rem; padding: 12px 14px; border-radius: 0px; transition: 0.25s; white-space: nowrap; }.header .nav-list a:hover { background: var(--theme-primary-light); color: var(--theme-primary); transform: translateY(-2px); }.header .nav-list a.nav-contact { border: 1px solid rgb(23, 58, 89); font-weight: 700; padding: 10px 22px; border-radius: 10px; box-shadow: rgba(23, 58, 89, 0.25) 0px 4px 14px; background: rgb(23, 58, 89) !important; color: rgb(255, 255, 255) !important; }.header .nav-list a.nav-contact:active, .header .nav-list a.nav-contact:focus-visible, .header .nav-list a.nav-contact:hover { border-color: rgb(30, 74, 111); box-shadow: rgba(23, 58, 89, 0.3) 0px 6px 20px; transform: translateY(-1px); background: rgb(30, 74, 111) !important; color: rgb(255, 255, 255) !important; }.mobile-menu { display: none; position: fixed; inset: 0px; z-index: 9999; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(20px); padding: 100px 20px 40px; overflow-y: auto; }.mobile-menu.is-active { display: block; }.mobile-menu-inner { max-width: 400px; margin: 0px auto; }.mobile-nav ul { list-style: none; margin: 0px; padding: 0px; }.mobile-nav li { border-bottom: 1px solid rgba(7, 24, 39, 0.08); }.mobile-nav a { display: flex; align-items: center; gap: 12px; padding: 18px 0px; color: var(--pd-navy); font-size: 1rem; font-weight: 500; text-decoration: none; transition: color 0.2s; }.mobile-nav a:hover { color: var(--pd-blue); }.mobile-nav a span { color: var(--pd-blue); font-size: 0.75rem; font-weight: 700; }.hero { display: flex; position: relative; min-height: 100svh; margin-top: 0px; color: var(--color-white); background: rgb(7, 24, 39); align-items: center; padding: 100px 60px clamp(90px, 12vh, 150px); gap: clamp(30px, 4.5vw, 72px); justify-content: space-between; isolation: isolate; }.hero::before { content: ""; position: absolute; inset: 0px; border: 0px; border-radius: 0px; opacity: 1; z-index: 1; background: linear-gradient(90deg, rgba(7, 24, 39, 0.48) 0px, rgba(7, 24, 39, 0.24) 42%, rgba(7, 24, 39, 0.02) 100%), linear-gradient(rgba(7, 24, 39, 0.02), rgba(7, 24, 39, 0.18)); }.hero .medical-bg { display: none; }.floating-cell, .medical-bg, .medical-cross, .pulse-line { display: none !important; animation: auto ease 0s 1 normal none running none !important; }.medical-bg { opacity: 0.38; }.pulse-line { opacity: 0.3; }.floating-cell, .medical-cross { opacity: 0.45; }.hero-content { position: relative; z-index: 3; max-width: min(760px, 64vw); flex: 0 1 720px; }.hero .hero-badge-text, .hero .hero-notice, .hero .hero-subtitle-line { color: rgba(255, 255, 255, 0.86); -webkit-text-fill-color: currentcolor; }.hero .hero-title { margin-bottom: clamp(16px, 2vw, 22px); }.hero-title-plain { display: block; color: var(--color-white); font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 900; line-height: 1.2; letter-spacing: 0.02em; text-shadow: rgba(0, 0, 0, 0.32) 0px 16px 44px; }.hero-catch { max-width: 720px; margin: 0px 0px clamp(18px, 2.2vw, 26px); color: var(--color-white); font-size: clamp(1.25rem, 2.2vw, 2rem); font-weight: 800; line-height: 1.55; letter-spacing: 0px; text-shadow: rgba(0, 0, 0, 0.3) 0px 10px 32px; }.hero-subtitle-line { line-height: 1.9; }.hero .hero-subtitle { margin-bottom: clamp(24px, 3vw, 34px); }.hero-notice { margin-top: 20px; max-width: 620px; color: rgba(7, 24, 39, 0.72); font-size: 0.92rem; line-height: 1.8; }.hero-content, .hero-scroll, .hero-stats { position: relative; z-index: 2; }.hero-scroll { display: none; }.hero-hours { width: min(820px, 100%); margin: 0px 0px clamp(20px, 2.6vw, 30px); padding: 0px; border: 0px; border-radius: 0px; background: 0px 0px; backdrop-filter: none; box-shadow: none; }.hero-hours-table-wrap { overflow-x: auto; border: 0px; border-radius: 0px; background: 0px 0px; scrollbar-width: none; }.hero-hours-table-wrap::-webkit-scrollbar { display: none; }.hero-hours-table { display: grid; grid-template-columns: minmax(140px, 1.4fr) repeat(7, minmax(48px, 0.58fr)); min-width: 640px; overflow: visible; }.hero-hours-cell { display: grid; place-items: center; min-height: 48px; padding: 9px 10px; border-right: 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.72); color: var(--color-white); background: 0px 0px; text-align: center; }.hero-hours-cell:nth-child(8n) { border-right: 0px; }.hero-hours-cell:nth-last-child(-n+8) { border-bottom: 0px; }.hero-hours-cell.is-head { background: 0px 0px; color: var(--color-white); font-size: 0.86rem; font-weight: 900; letter-spacing: 0.06em; }.hero-hours-cell.is-label { justify-content: start; padding-inline: 0px 14px; color: var(--color-white); font-size: 1rem; font-weight: 800; letter-spacing: 0.06em; white-space: nowrap; }.hero-hours-mark { display: inline-grid; place-items: center; width: 22px; height: 22px; color: rgb(255, 255, 255); font-size: 1.28rem; font-weight: 900; line-height: 1; }.hero-hours-mark.is-open::before { content: ""; width: 14px; height: 14px; border-radius: 999px; border: 2px solid rgb(255, 255, 255); background: 0px 0px; box-shadow: none; }.hero-hours-mark.is-closed { color: rgb(255, 255, 255); font-size: 1.22rem; font-weight: 700; transform: none; }.hero-visual { position: relative; z-index: 2; flex: 0 1 560px; max-width: min(42vw, 560px); aspect-ratio: 4 / 3; border-radius: 32px; overflow: hidden; background: rgb(255, 255, 255); border: 1px solid rgba(255, 255, 255, 0.82); box-shadow: var(--pd-shadow); }.about-image img, .about-image picture, .hero-visual img, .hero-visual picture { display: block; width: 100%; height: 100%; }.about-image img, .hero-visual img { object-fit: cover; }.about-image::after, .hero-visual::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(rgba(255, 255, 255, 0.04), rgba(7, 24, 39, 0.18)); }.hero-visual.hero-slideshow { position: absolute; inset: 0px; width: 100%; max-width: none; height: 100%; aspect-ratio: auto; border: 0px; border-radius: 0px; box-shadow: none; z-index: 0; background: rgb(255, 255, 255); }.hero-visual.hero-slideshow::after { content: none; }.hero-slide { position: absolute; inset: 0px; opacity: 0; animation: 36s ease-in-out 0s infinite normal both running heroSlideShow; }.hero-slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.035); animation: 36s ease-in-out 0s infinite normal none running heroImageDrift; filter: brightness(1.08) saturate(1.04); }@keyframes heroSlideShow { 
  0% { opacity: 0; }
  12%, 29% { opacity: 1; }
  100%, 42% { opacity: 0; }
}@keyframes heroImageDrift { 
  0% { transform: scale(1.035) translate3d(0px, 0px, 0px); }
  50% { transform: scale(1.1) translate3d(-1.8%, -0.8%, 0px); }
  100% { transform: scale(1.035) translate3d(0px, 0px, 0px); }
}.hero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }.hero-cta .btn-primary, .hero-cta .btn-secondary { justify-content: center; min-height: 56px; display: inline-flex !important; opacity: 1 !important; transform: none !important; }.hero .btn-primary { color: rgb(255, 255, 255); }.hero .btn-primary .btn-text { color: rgb(255, 255, 255); }.hero .btn-secondary { padding: 0px 28px; border-radius: 14px; color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.72); background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(10px); font-size: 1rem; font-weight: 700; }.hero .btn-secondary .btn-text { display: inline-flex; align-items: center; line-height: 1; }.hero .btn-secondary .btn-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; line-height: 0; }.hero .btn-secondary:hover { color: var(--pd-navy); background: rgba(255, 255, 255, 0.92); border-color: rgba(255, 255, 255, 0.92); }.about-image { aspect-ratio: 4 / 3; box-shadow: var(--pd-shadow); border: 1px solid rgba(255, 255, 255, 0.74); background: rgb(255, 255, 255); }.about-copy-card { padding: clamp(26px, 4vw, 42px); align-self: center; }.about-copy-card .about-desc, .about-copy-card .about-lead, .about-copy-card .about-points { opacity: 1 !important; transform: none !important; }.about-copy-card .about-lead { margin: 0px 0px 24px; font-size: clamp(1.1rem, 2vw, 1.3rem); font-weight: 600; line-height: 1.8; color: rgb(26, 26, 26); }.about-copy-card .about-desc { max-width: 620px; margin-bottom: 24px; line-height: 2; }.about-points { display: grid; gap: 10px; list-style: none; margin: 0px; padding: 0px; }.about-points li { position: relative; padding: 12px 14px 12px 38px; border-radius: 14px; background: rgba(234, 245, 255, 0.76); color: var(--pd-navy); font-weight: 700; line-height: 1.6; }.about-points li::before { content: ""; position: absolute; left: 16px; top: 1.15em; width: 9px; height: 9px; border-radius: 50%; background: var(--pd-blue); box-shadow: rgba(36, 87, 230, 0.12) 0px 0px 0px 5px; }.features { overflow: hidden; }.features-editorial { position: relative; display: grid; gap: clamp(56px, 8vw, 104px); margin-top: clamp(40px, 6vw, 72px); }.features-editorial::before { content: ""; position: absolute; inset: 0px 0px auto; height: 100%; pointer-events: none; background-image: linear-gradient(90deg, rgba(7, 24, 39, 0.06) 1px, transparent 1px); background-size: 25% 100%; opacity: 0.55; }.feature-story { position: relative; min-height: clamp(420px, 44vw, 520px); display: grid; grid-template-columns: minmax(320px, 0.46fr) minmax(440px, 0.54fr); align-items: center; isolation: isolate; }.feature-story::before { content: ""; position: absolute; inset: clamp(26px, 4vw, 52px) min(30vw, 430px) clamp(26px, 4vw, 52px) calc(50% - 50vw); width: auto; background: linear-gradient(90deg, rgba(236, 240, 244, 0.92), rgba(245, 248, 251, 0.82)); z-index: 0; }.feature-story:nth-child(2n)::before { left: min(30vw, 430px); right: calc(50% - 50vw); background: linear-gradient(270deg, rgba(236, 240, 244, 0.92), rgba(245, 248, 251, 0.82)); }.feature-story-word { position: absolute; left: clamp(24px, 5vw, 92px); top: 50%; z-index: 1; transform: translateY(-50%); color: rgba(255, 255, 255, 0.78); font-family: var(--font-display, 'Noto Sans JP', sans-serif); font-size: clamp(4.4rem, 10vw, 9rem); font-weight: 800; line-height: 1; letter-spacing: 0.04em; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity 0.78s cubic-bezier(0.2, 0.8, 0.2, 1); }.feature-story:nth-child(2n) .feature-story-word { left: auto; right: clamp(24px, 5vw, 92px); }.feature-story-copy { position: relative; z-index: 2; grid-area: 1 / 1; padding: clamp(38px, 5vw, 72px) clamp(20px, 4vw, 60px); opacity: 0; transform: translateY(28px); transition: opacity 0.72s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.72s cubic-bezier(0.2, 0.8, 0.2, 1); }.feature-story:nth-child(2n) .feature-story-copy { grid-column: 2; padding-left: clamp(34px, 5vw, 76px); }.feature-story-heading { display: flex; align-items: baseline; gap: clamp(16px, 2vw, 26px); margin-bottom: clamp(24px, 3vw, 34px); }.feature-story-number { flex: 0 0 auto; color: rgba(7, 24, 39, 0.88); font-family: var(--font-display, 'Noto Sans JP', sans-serif); font-size: clamp(2.8rem, 4.8vw, 4.1rem); font-weight: 700; line-height: 0.9; letter-spacing: 0px; }.feature-story-title { margin: 0px; color: var(--pd-navy); font-size: clamp(1.2rem, 1.9vw, 1.85rem); font-weight: 700; line-height: 1.55; letter-spacing: 0.08em; }.feature-story-desc { max-width: 510px; margin: 0px; color: rgba(7, 24, 39, 0.76); font-size: clamp(0.92rem, 1.08vw, 1rem); font-weight: 500; line-height: 2.25; letter-spacing: 0.08em; }.feature-story-media { position: relative; z-index: 3; grid-area: 1 / 2; width: min(100%, 700px); aspect-ratio: 16 / 9; justify-self: end; opacity: 0; transform: translateX(120px); transition: opacity 0.74s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.92s cubic-bezier(0.2, 0.8, 0.2, 1); will-change: transform, opacity; }.feature-story:nth-child(2n) .feature-story-media { grid-column: 1; justify-self: start; transform: translateX(-120px); }.feature-story.is-visible .feature-story-copy, .feature-story.is-visible .feature-story-media, .feature-story.is-visible .feature-story-word { opacity: 1; }.feature-story.is-visible .feature-story-copy, .feature-story.is-visible .feature-story-media { transform: translate(0px, 0px); }.feature-story-media::before { content: ""; position: absolute; right: -22px; bottom: -22px; width: 82%; height: 82%; background: rgba(218, 224, 231, 0.95); z-index: -1; }.feature-story:nth-child(2n) .feature-story-media::before { right: auto; left: -22px; }.feature-story-media::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255, 255, 255, 0.9); border-radius: 2px; box-shadow: rgba(7, 24, 39, 0.04) 0px 0px 0px 1px; pointer-events: none; z-index: 2; }.feature-story-media img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 4px; box-shadow: rgba(7, 24, 39, 0.13) 0px 28px 64px; }.contact-card, .feature-card-inner, .flow-content, .price-example-card, .price-table, .symptoms-note { border-color: rgba(7, 24, 39, 0.08); }.feature-media img, .flow-media img, .price-visual img, .symptom-image img { display: block; width: 100%; height: 100%; object-fit: cover; }.feature-media::after, .flow-media::after, .price-visual::after, .symptom-image::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(rgba(7, 24, 39, 0) 45%, rgba(7, 24, 39, 0.22)); }.symptoms-intro { text-align: center; margin-bottom: clamp(36px, 5vw, 56px); }.symptoms-intro p { font-size: clamp(1rem, 1.5vw, 1.2rem); color: var(--pd-navy); font-weight: 500; }.symptoms-note { margin-top: clamp(40px, 6vw, 60px); padding: clamp(24px, 4vw, 36px); background: rgba(255, 255, 255, 0.9); border-radius: 20px; border: 1px solid rgba(7, 24, 39, 0.08); box-shadow: rgba(37, 99, 235, 0.08) 0px 10px 40px; text-align: center; }.symptoms-note p { margin: 0px 0px 12px; font-size: 1rem; color: var(--pd-navy); }.symptoms-note p strong { font-weight: 700; color: var(--pd-blue); }.symptoms-note ul { display: inline-block; margin: 0px auto 16px; padding-left: 0px; list-style: none; text-align: left; }.symptoms-note li { position: relative; padding-left: 20px; margin-bottom: 8px; font-size: 0.95rem; color: var(--pd-navy); }.symptoms-note li::before { content: "•"; position: absolute; left: 0px; color: var(--pd-blue); font-weight: 700; }.symptoms-note .note-small { font-size: 0.85rem; color: rgba(7, 24, 39, 0.65); margin-top: 8px; }.visual-symptoms-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: clamp(18px, 2vw, 24px); }.visual-symptom-card { display: flex; flex-direction: column; padding: 0px; min-height: 290px; text-align: left; border-radius: 22px; overflow: hidden; background: var(--color-white); }.visual-symptom-card .symptom-icon, .visual-symptom-card::before { display: none; }.symptom-image { position: relative; height: 148px; overflow: hidden; }.symptom-body { padding: 18px 20px 22px; }.visual-symptom-card span { display: block; margin-bottom: 8px; color: var(--pd-navy); font-size: 1.05rem; font-weight: 800; }.visual-symptom-card p { margin: 0px; color: var(--color-text-secondary); font-size: 0.88rem; line-height: 1.7; }.price-intro-text { text-align: center; font-size: 1.1rem; color: var(--color-text-secondary); margin-bottom: 48px; }.price-intro-text .text-accent { color: inherit; -webkit-text-fill-color: currentcolor; font-weight: inherit; }.price-categories { max-width: 1120px; margin: 0px auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 3vw, 36px); align-items: stretch; }.price-category-card { border-radius: 24px; overflow: hidden; background: rgba(255, 255, 255, 0.92); border: 1px solid rgba(7, 24, 39, 0.08); }.price-category-title { text-align: center; font-size: 1.5rem; font-weight: 600; color: var(--pd-navy); padding: 24px 24px 16px; margin: 0px; letter-spacing: 0.3em; }.price-category-image { width: calc(100% - 48px); margin: 0px auto; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 12px; }.price-category-image img { width: 100%; height: 100%; object-fit: cover; }.price-category-content { padding: 24px; }.price-burden-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }.price-burden-table td, .price-burden-table th { padding: 14px 16px; text-align: center; border-bottom: 1px solid rgba(7, 24, 39, 0.08); }.price-burden-table th { font-size: 0.9rem; font-weight: 500; color: var(--color-text-secondary); }.price-burden-table td { font-size: 1rem; color: var(--pd-navy); }.price-burden-table td:last-child { font-weight: 500; }.price-notes { font-size: 0.85rem; color: var(--color-text-secondary); line-height: 1.8; }.price-notes p { margin: 0px 0px 4px; }.child-subsidy { text-align: center; padding: 20px 0px 24px; }.subsidy-title { font-size: 1.25rem; font-weight: 600; color: var(--pd-navy); margin: 0px 0px 16px; }.subsidy-highlight { font-size: 1.1rem; font-weight: 600; color: rgb(26, 26, 26); margin: 0px; }.subsidy-highlight .text-blue { color: var(--theme-primary); font-weight: 700; }.child-notes { background: rgba(236, 240, 244, 0.6); padding: 16px 20px; border-radius: 12px; }.notice-section { max-width: 1120px; margin: 60px auto 0px; }.notice-header { margin-bottom: 18px; padding: 0px 0px 0px 18px; border-left: 4px solid var(--pd-blue); }.notice-header h3 { color: var(--pd-navy); font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 800; line-height: 1.55; margin: 0px; letter-spacing: 0.02em; }.notice-content { border-radius: 22px; padding: clamp(24px, 4vw, 38px); background: rgba(255, 255, 255, 0.82); border: 1px solid rgba(7, 24, 39, 0.08); box-shadow: rgba(8, 31, 52, 0.08) 0px 18px 52px; }.notice-list { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 0px; }.notice-list li { display: grid; grid-template-columns: 28px minmax(0px, 1fr); gap: 16px; align-items: flex-start; padding: 15px 0px; border-bottom: 1px solid rgba(7, 24, 39, 0.07); }.notice-list li:first-child { padding-top: 0px; }.notice-list li:last-child { padding-bottom: 0px; border-bottom: 0px; }.notice-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; background: rgba(36, 87, 230, 0.1); color: var(--pd-blue); font-weight: 900; font-size: 0.95rem; line-height: 1; }.notice-list p { margin: 0px; font-size: 0.96rem; line-height: 1.9; color: var(--color-text-secondary); }.notice-list strong { color: inherit; font-weight: inherit; }.notice-list .text-orange { color: inherit; font-weight: inherit; }@keyframes fadeIn { 
  0% { opacity: 0; transform: translateY(-8px); }
  100% { opacity: 1; transform: translateY(0px); }
}.section-title { display: flex; flex-direction: column-reverse; align-items: center; text-align: center; margin-bottom: clamp(40px, 6vw, 70px); }.section-title-en { display: block; margin-top: 8px; font-size: clamp(0.8rem, 1.2vw, 0.95rem); font-weight: 600; letter-spacing: 0.15em; line-height: 1.2; color: rgb(26, 26, 26); }.section-title-jp { display: block; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; letter-spacing: 0.08em; color: rgb(26, 26, 26); }.about-content { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; max-width: 1200px; margin: 0px auto; }.about-visual { position: relative; }.about-image { position: relative; border-radius: 24px; overflow: hidden; box-shadow: var(--pd-shadow); }.about-image img { width: 100%; height: 100%; object-fit: cover; }.about-image-overlay { position: absolute; inset: 0px; background: linear-gradient(transparent 60%, rgba(7, 24, 39, 0.3)); pointer-events: none; }@keyframes marquee { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(-50%); }
}.contact { position: relative; overflow: hidden; }.contact .section-title-en { color: rgb(26, 26, 26); }.contact .section-title-jp { color: rgb(26, 26, 26); }.contact-card, .contact-methods { display: grid; grid-template-columns: 1fr auto 1fr; gap: 40px; align-items: center; }.contact-method { text-align: center; }.contact-method h3 { font-size: 1rem; font-weight: 600; margin-bottom: 20px; color: var(--pd-navy); }.contact-phone { display: inline-flex; align-items: center; gap: 12px; padding: 20px 32px; background: rgba(37, 99, 235, 0.08); border: 1px solid rgba(37, 99, 235, 0.2); border-radius: 14px; color: var(--pd-navy); font-size: 1.5rem; font-weight: 700; text-decoration: none; transition: 0.2s; }.contact-phone:hover { background: rgba(37, 99, 235, 0.12); border-color: rgba(37, 99, 235, 0.3); }.contact-phone-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--pd-blue); border-radius: 50%; }.contact-phone-icon svg { width: 20px; height: 20px; fill: none; stroke: var(--color-white); stroke-width: 2; }.contact-phone-number { letter-spacing: 0.05em; }.contact-hours { margin-top: 16px; font-size: 0.9rem; color: rgba(7, 24, 39, 0.65); text-align: center; }.contact-bg-text { position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); font-size: clamp(6rem, 20vw, 16rem); font-weight: 900; letter-spacing: 0.1em; color: rgba(37, 99, 235, 0.04); white-space: nowrap; pointer-events: none; user-select: none; }@media (max-width: 768px){.about-content { grid-template-columns: 1fr; }.contact-card, .contact-methods { grid-template-columns: 1fr; gap: 30px; }}.btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 32px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 14px; background: linear-gradient(135deg,var(--theme-primary),var(--theme-primary-dark)); color: var(--color-white); font-size: 1rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s, background 0.2s; box-shadow: rgba(37, 99, 235, 0.25) 0px 8px 24px; }.btn-primary:hover { transform: translateY(-2px); box-shadow: rgba(37, 99, 235, 0.35) 0px 12px 32px; background: linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary)); }.btn-primary.large { padding: 18px 40px; font-size: 1.1rem; border-radius: 16px; }.btn-primary .btn-text { display: inline-flex; align-items: center; line-height: 1; }.btn-primary .btn-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; line-height: 0; }.btn-primary .btn-icon svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.fixed-cta { position: fixed; inset: 50% 0px auto auto; z-index: 9999; display: grid; gap: 6px; width: 80px; transform: translateY(-50%); writing-mode: horizontal-tb; text-orientation: mixed; pointer-events: none; }.fixed-cta .fixed-cta-card { pointer-events: auto; position: relative; right: -12px; display: flex; align-items: center; justify-content: center; width: 80px; min-height: 78px; overflow: hidden; border-radius: 16px 0px 0px 16px; color: rgb(255, 255, 255); border: 1px solid rgba(255, 255, 255, 0.86); box-shadow: rgba(23, 58, 89, 0.24) 0px 14px 34px; text-decoration: none; transform: translateX(0px); transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.2s, box-shadow 0.2s, filter 0.2s; }.fixed-cta .fixed-cta-reserve { background: linear-gradient(145deg, rgb(60, 135, 177) 0px, rgb(46, 127, 168) 100%) !important; }.fixed-cta .fixed-cta-line { background: linear-gradient(145deg, rgb(54, 207, 90) 0px, rgb(33, 183, 71) 100%) !important; }.fixed-cta .fixed-cta-inquiry { background: linear-gradient(145deg, rgb(60, 135, 177) 0px, rgb(46, 127, 168) 100%) !important; }.fixed-cta .fixed-cta-card:active, .fixed-cta .fixed-cta-card:focus-visible, .fixed-cta .fixed-cta-card:hover { filter: brightness(1.06); box-shadow: rgba(23, 58, 89, 0.3) 0px 16px 38px; outline: 0px; transform: translateX(-14px) !important; }.fixed-cta-tab { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; min-height: 58px; padding: 9px 8px; writing-mode: horizontal-tb; text-orientation: initial; text-align: center; font-size: 0.78rem; font-weight: 900; line-height: 1.15; letter-spacing: 0px; }.fixed-cta-inquiry .fixed-cta-tab { font-size: 0.76rem; }.fixed-cta-tab svg { width: 22px; height: 22px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transform: none; }.btn-primary, .btn-secondary, .contact-card, .faq-item, .feature-card-inner, .fixed-cta a, .flow-content, .header .nav-list a, .price-example-card, .visual-symptom-card { transition-property: transform, box-shadow, border-color, background-color, color, opacity; transition-duration: 0.28s; transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1); }.faq-item:hover, .feature-card-inner:hover, .flow-item:hover .flow-content, .price-example-card:hover, .visual-symptom-card:hover { transform: translateY(-4px) !important; box-shadow: rgba(7, 24, 39, 0.12) 0px 22px 52px; }.contact-card:hover { transform: none !important; box-shadow: none !important; }.contact-phone { flex-direction: column; gap: 12px; }.contact-phone-icon { width: auto; height: auto; background: 0px 0px; box-shadow: none; }.contact-phone-icon svg { width: 32px; height: 32px; stroke: var(--theme-primary); }.btn-primary:hover, .btn-secondary:hover, .fixed-cta a:hover, .header .nav-list a:hover { transform: translateY(-2px) !important; }@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce){body { cursor: auto !important; }a, button { cursor: pointer !important; }}@media (max-width: 1280px){.header-inner { padding-inline: 40px 20px; }.header .logo-main { font-size: 1.35rem; }.header .nav-list { gap: 4px; }.header .nav-list a { padding: 12px 10px; font-size: 0.82rem; }.header .nav-contact { padding-inline: 16px; }}@media (max-width: 992px){.hero { min-height: 92svh; padding: 128px 28px 84px; }.hero-content { max-width: 100%; }.price-categories, .price-layout, .visual-flow .flow-content { grid-template-columns: 1fr; }.features-grid.visual-card-grid, .visual-symptoms-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.feature-story { min-height: 0px; grid-template-columns: 1fr; gap: 18px; padding-bottom: 28px; }.feature-story::before, .feature-story:nth-child(2n)::before { inset: 18px calc(50% - 50vw) auto; width: auto; height: calc(100% - 74px); }.feature-story-word, .feature-story:nth-child(2n) .feature-story-word { top: 76px; left: 18px; right: auto; transform: none; font-size: clamp(4rem, 16vw, 7rem); }.feature-story-copy, .feature-story:nth-child(2n) .feature-story-copy { grid-area: 1 / 1; padding: 48px 28px 20px; }.feature-story-media, .feature-story:nth-child(2n) .feature-story-media { grid-area: 2 / 1; width: calc(100% - 44px); justify-self: end; }.header-inner { justify-content: space-between; gap: 14px; padding-inline: 18px; }.header .nav { display: none !important; }.header .logo { min-width: 0px; gap: 8px; overflow: hidden; }.header .logo-icon { width: 34px; height: 34px; border-radius: 10px; }.header .logo-text { min-width: 0px; }.header .logo-main { font-size: clamp(0.95rem, 4.5vw, 1.12rem) !important; letter-spacing: 0.04em; }.header .logo-sub { max-width: 18em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.58rem; }}@media (max-width: 900px){main > section::before { inset: 14px; border-radius: 22px; }.hero { flex-direction: column; }.hero-content { width: 100%; flex-basis: auto; }.hero-visual { order: 2; flex-basis: auto; margin-top: 4px; }}@media (max-width: 768px){.section-divider { background-attachment: scroll; height: clamp(80px, 15vh, 120px); }.about-copy-card { padding: 22px; }.hero { padding: 112px 20px 132px; }.hero-visual { border-radius: 24px; }.hero-scroll { display: none; }.visual-symptoms-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 10px !important; }.visual-symptom-card { min-height: 0px; border-radius: 14px; }.visual-symptom-card .symptom-image { height: auto; min-height: 0px; aspect-ratio: 4 / 3; }.visual-symptom-card .symptom-body { padding: 10px 8px 12px; text-align: center; }.visual-symptom-card span { margin-bottom: 0px; font-size: 0.86rem; line-height: 1.35; }.visual-symptom-card p { display: none; }.fixed-cta { inset: auto 16px 0px; width: auto; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px; transform: none; }.fixed-cta .fixed-cta-card { right: auto; bottom: -26px; width: auto; min-height: 68px; border-radius: 16px 16px 0px 0px; transform: translateY(0px); }.fixed-cta .fixed-cta-card:active, .fixed-cta .fixed-cta-card:focus-visible, .fixed-cta .fixed-cta-card:hover { transform: translateY(-12px) !important; }.fixed-cta-tab { writing-mode: horizontal-tb; min-height: 42px; padding: 10px 8px 24px; gap: 6px; font-size: 0.84rem; letter-spacing: 0px; }.fixed-cta-inquiry .fixed-cta-tab { font-size: 0.78rem; letter-spacing: 0px; }.fixed-cta-tab svg { width: 18px; height: 18px; }}@media (max-width: 640px){.hero { padding: 116px 20px 78px; }.hero::before { background: linear-gradient(rgba(7, 24, 39, 0.48), rgba(7, 24, 39, 0.18) 55%, rgba(7, 24, 39, 0.42)), linear-gradient(90deg, rgba(7, 24, 39, 0.32), rgba(7, 24, 39, 0.04)); }.features-grid.visual-card-grid, .visual-symptoms-grid { grid-template-columns: 1fr; }.feature-media, .flow-media, .symptom-image { min-height: 210px; }.hero-hours { padding: 12px; }.hero-hours-table { min-width: 600px; grid-template-columns: minmax(104px, 1.15fr) repeat(7, minmax(48px, 0.6fr)); }.hero-hours-cell { min-height: 38px; padding: 8px 6px; }.hero-hours-cell.is-head { font-size: 0.72rem; }.hero-hours-cell.is-label { font-size: 0.78rem; padding-inline: 10px; }.notice-content { padding: 24px 20px; }.notice-list li { gap: 12px; }.features-editorial { gap: 52px; }.features-editorial::before { background-size: 50% 100%; }.feature-story-copy, .feature-story:nth-child(2n) .feature-story-copy { padding: 42px 20px 16px; }.feature-story-heading { gap: 14px; margin-bottom: 18px; }.feature-story-title { font-size: 1.15rem; letter-spacing: 0.04em; }.feature-story-desc { line-height: 2; letter-spacing: 0.04em; }.feature-story-media, .feature-story:nth-child(2n) .feature-story-media { width: calc(100% - 28px); aspect-ratio: 4 / 3; }.feature-story-media::before, .feature-story:nth-child(2n) .feature-story-media::before { right: -12px; left: auto; bottom: -12px; }.header { padding: 18px 0px; }.header.scrolled { padding: 12px 0px; }.hero { padding-top: 108px; }.hero-catch { font-size: clamp(1.05rem, 6vw, 1.42rem); }.hero-hours { width: 100%; padding: 0px; }.hero-hours-table-wrap { overflow: visible; }.hero-hours-table { width: 100%; grid-template-columns: minmax(82px, 1.24fr) repeat(7, minmax(28px, 0.46fr)); min-width: 0px !important; }.hero-hours-cell { min-height: 34px; padding: 6px 3px; font-size: 0.72rem; }.hero-hours-cell.is-head { font-size: 0.66rem; letter-spacing: 0px; }.hero-hours-cell.is-label { justify-content: start; padding-inline: 0px 5px; font-size: 0.74rem; letter-spacing: 0px; }.hero-hours-mark { width: 18px; height: 18px; font-size: 1rem; }.hero-hours-mark.is-open::before { width: 10px; height: 10px; }.hero .hero-subtitle { margin-bottom: 22px; }.fixed-cta { left: 20px; right: 20px; bottom: 16px; width: auto; }.fixed-cta a { justify-content: center; width: 100%; }}@media (max-width: 480px){.hero-title-plain, .hero-title-text { font-size: clamp(2rem, 11vw, 3rem); }.hero-subtitle-line { font-size: 0.96rem; letter-spacing: 0.04em; }}@media (max-width: 420px){.header .logo-sub { max-width: 13.5em; }.hero-hours-table { grid-template-columns: minmax(76px, 1.2fr) repeat(7, minmax(27px, 0.45fr)); }.hero-hours-cell.is-head { font-size: 0.6rem; }.hero-hours-cell.is-label { font-size: 0.68rem; }.visual-symptoms-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }}.footer-cta { position: relative; min-height: 500px; display: flex; align-items: center; justify-content: center; padding: clamp(80px, 12vw, 140px) 20px; overflow: hidden; isolation: isolate; }.footer-cta-bg { position: absolute; inset: 0px; z-index: -1; }.footer-cta-bg::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(7, 24, 39, 0.75) 0px, rgba(7, 24, 39, 0.85) 100%); }.footer-cta-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }.footer-cta-content { text-align: center; color: var(--color-white); max-width: 700px; }.footer-cta-title { font-size: clamp(1.75rem, 5vw, 2.75rem); font-weight: 900; line-height: 1.4; margin: 0px 0px 24px; letter-spacing: 0.02em; }.footer-cta-title span { display: inline; }.footer-cta-desc { font-size: clamp(0.875rem, 2vw, 1rem); line-height: 1.8; opacity: 0.9; margin-bottom: 36px; }.footer-cta-desc span { display: inline; }.footer-cta-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }.footer-cta-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 180px; padding: 16px 32px; font-size: 0.9375rem; font-weight: 700; text-decoration: none; border-radius: 4px; transition: 0.3s; }.footer-cta-btn-primary { background: var(--color-white); color: var(--pd-navy); border: 2px solid var(--color-white); }.footer-cta-btn-primary:hover { background: 0px 0px; color: var(--color-white); }.footer-cta-btn-secondary { background: 0px 0px; color: var(--color-white); border: 2px solid rgba(255, 255, 255, 0.5); }.footer-cta-btn-secondary:hover { border-color: var(--color-white); background: rgba(255, 255, 255, 0.1); }@media (max-width: 768px){.footer-cta { min-height: 400px; padding: 60px 20px; }.footer-cta-title { font-size: 1.5rem; }.footer-cta-actions { flex-direction: column; align-items: center; }.footer-cta-btn { width: 100%; max-width: 280px; }}.footer { background: var(--pd-navy); color: var(--color-white); padding: clamp(60px, 8vw, 100px) 20px clamp(30px, 4vw, 50px); }.footer .container { max-width: 1200px; margin: 0px auto; }.footer-social { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; margin: 0px 0px clamp(36px, 5vw, 56px); padding: 0px 0px clamp(28px, 4vw, 42px); border-bottom: 1px solid rgba(255, 255, 255, 0.08); text-align: center; }.footer-social-title { margin: 0px; color: rgba(255, 255, 255, 0.68); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.18em; line-height: 1; }.footer-social-links { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }.footer-social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 12px; background: rgba(255, 255, 255, 0.08); transition: transform 0.2s, background 0.2s, border-color 0.2s; }.footer-social-link:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.32); background: rgba(255, 255, 255, 0.14); }.footer-social-link img { display: block; width: 22px; height: 22px; object-fit: contain; }.footer-social-link-x img { filter: brightness(0) invert(1); }.footer-social-link-instagram img, .footer-social-link-tiktok img { width: 24px; height: 24px; }.footer-top { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 60px; }.footer-brand { max-width: 480px; }.footer-logo { display: inline-flex; flex-direction: column; gap: 4px; margin-bottom: 16px; text-decoration: none; color: var(--color-white); }.footer-logo .logo-main { font-size: 1.5rem; font-weight: 800; letter-spacing: 0.08em; color: var(--color-white); }.footer-logo .logo-sub { font-size: 0.75rem; font-weight: 500; opacity: 0.7; }.footer-tagline { font-size: 0.95rem; opacity: 0.85; margin-bottom: 24px; line-height: 1.8; }.footer-hours { background: rgba(255, 255, 255, 0.08); border-radius: 16px; padding: 20px; }.footer-hours-table-wrap { overflow-x: auto; }.footer-hours-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; text-align: center; }.footer-hours-table td, .footer-hours-table th { padding: 8px 6px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }.footer-hours-table th { font-weight: 600; opacity: 0.9; }.footer-hours-table th:first-child { text-align: left; min-width: 100px; }.footer-hours-open { display: inline-block; width: 10px; height: 10px; background: 0px 0px; border: 2px solid var(--color-white); border-radius: 50%; }.footer-hours-closed { opacity: 0.4; }.footer-hours-note { font-size: 0.75rem; opacity: 0.7; margin-top: 12px; line-height: 1.6; }.note-keep { white-space: nowrap; }.footer-links { display: flex; gap: 60px; }.footer-nav-label { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 20px; opacity: 0.6; }.footer-nav ul { list-style: none; margin: 0px; padding: 0px; }.footer-nav li { margin-bottom: 12px; }.footer-nav a { color: var(--color-white); text-decoration: none; font-size: 0.9rem; opacity: 0.85; transition: opacity 0.2s; }.footer-nav a:hover { opacity: 1; }.footer-bottom { padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.1); text-align: center; }.footer-address { font-size: 0.85rem; opacity: 0.7; margin-bottom: 12px; }.footer-copyright { font-size: 0.75rem; opacity: 0.5; }.footer-scroll-top { position: fixed; right: 20px; bottom: 100px; width: 50px; height: 50px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: var(--pd-blue); color: var(--color-white); border-radius: 50%; cursor: pointer; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s, transform 0.3s; z-index: 999; }.footer-scroll-top.is-visible { opacity: 1; visibility: visible; }.footer-scroll-top:hover { transform: translateY(-4px); }.footer-scroll-top span { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.05em; }.footer-scroll-top svg { width: 16px; height: 16px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }@media (max-width: 992px){.footer-top { grid-template-columns: 1fr; gap: 40px; }.footer-links { gap: 40px; }}@media (max-width: 768px){.footer { padding-bottom: 120px; }.footer-social { flex-direction: column; gap: 12px; margin-bottom: 32px; padding-bottom: 28px; }.footer-social-links { gap: 10px; }.footer-social-link { width: 42px; height: 42px; border-radius: 10px; }.footer-top { margin-bottom: 30px; }.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); align-items: start; gap: 24px 28px; }.footer-nav { min-width: 0px; height: auto; }.footer-bottom { padding-top: 24px; }.footer-scroll-top { bottom: 140px; }}@keyframes loaderBrandIn { 
  100% { opacity: 1; transform: translateY(0px); }
}@keyframes loaderBarIn { 
  100% { opacity: 1; }
}@keyframes loaderFill { 
  100% { width: 100%; }
}@keyframes loaderTaglineIn { 
  100% { opacity: 1; }
}.section-header { text-align: center; margin-bottom: 48px; }.section-title { font-size: 1.375rem; font-weight: 700; color: var(--pd-navy); margin: 0px; letter-spacing: 0.05em; }@media (max-width: 768px){.section-title { font-size: 1.25rem; }}.home-news { padding: 80px 0px; }.home-news-list { display: flex; flex-direction: column; margin-bottom: 40px; }.home-news-item { display: flex; align-items: center; gap: 24px; padding: 20px 0px; border-bottom: 1px solid rgba(7, 24, 39, 0.08); text-decoration: none; color: inherit; }.home-news-item:first-child { border-top: 1px solid rgba(7, 24, 39, 0.08); }.home-news-date { font-size: 0.875rem; color: rgb(107, 114, 128); flex-shrink: 0; min-width: 90px; }.home-news-title { font-size: 1rem; font-weight: 500; color: var(--pd-navy,#071827); transition: color 0.25s; }.home-news-item:hover .home-news-title { color: rgb(30, 64, 175); }.home-section-more { text-align: center; }.btn-secondary { display: inline-flex; align-items: center; gap: 8px; padding: 12px 32px; background: 0px 0px; border: 1px solid var(--pd-navy,#071827); color: var(--pd-navy,#071827); font-size: 0.875rem; font-weight: 600; text-decoration: none; transition: 0.3s; }.btn-secondary:hover { background: var(--pd-navy,#071827); color: var(--color-white); }.btn-secondary svg { width: 16px; height: 16px; stroke: currentcolor; stroke-width: 2; fill: none; }.home-blog { padding: 80px 0px; background: rgb(248, 249, 250); }.home-blog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom: 40px; }.home-blog-item { text-decoration: none; color: inherit; }.home-blog-image { aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: 12px; }.home-blog-image img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.3s; }.home-blog-item:hover .home-blog-image img { opacity: 0.8; }.home-blog-content { padding: 0px; }.home-blog-date { display: block; font-size: 0.8125rem; color: rgb(107, 114, 128); margin-bottom: 8px; }.home-blog-title { font-size: 0.9375rem; font-weight: 500; color: var(--pd-navy,#071827); line-height: 1.7; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }.home-blog-item:hover .home-blog-title { text-decoration: underline; }.contact-app-note { font-size: 0.875rem; font-weight: 600; color: rgb(30, 64, 175); margin: 0px 0px 16px; }@media (max-width: 1024px){.home-blog-grid { grid-template-columns: repeat(2, 1fr); }}@media (max-width: 768px){.home-news { padding: 60px 0px; }.home-news-item { flex-direction: column; align-items: flex-start; gap: 8px; }.home-news-date { min-width: auto; }.home-blog { padding: 60px 0px; }.home-blog-grid { grid-template-columns: 1fr; gap: 32px; }.home-blog-image { aspect-ratio: 16 / 9; }}@keyframes faqFadeIn { 
  0% { opacity: 0; transform: translateY(-8px); }
  100% { opacity: 1; transform: translateY(0px); }
}.btn-primary { display: inline-flex; align-items: center; gap: 10px; padding: 18px 36px; background: linear-gradient(135deg,var(--theme-primary),var(--theme-primary-dark)); color: var(--color-white); font-size: 1.0625rem; font-weight: 700; text-decoration: none; border-radius: 50px; transition: 0.3s; box-shadow: rgba(37, 99, 235, 0.25) 0px 8px 24px; }.btn-primary:hover { transform: translateY(-3px); box-shadow: rgba(37, 99, 235, 0.35) 0px 14px 36px; }.section-title { text-align: center; margin-bottom: 60px; }.section-title-en { display: inline-block; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.2em; color: var(--theme-primary); margin-bottom: 12px; }.flow-step-content { display: flex; flex-direction: column; }.flow-step-image { border-radius: 16px; overflow: hidden; background: rgb(245, 247, 251); box-shadow: rgba(15, 23, 42, 0.08) 0px 16px 34px, rgba(37, 99, 235, 0.06) 0px 0px 0px 1px inset; display: grid; place-items: center; }.flow-step-image img { width: 100%; display: block; aspect-ratio: 16 / 10; object-fit: contain; padding: clamp(16px, 2vw, 28px); }.flow-step-image img[src$=".jpeg"], .flow-step-image img[src$=".jpg"], .flow-step-image img[src$=".png"], .flow-step-image img[src$=".webp"] { height: 100%; object-fit: cover; padding: 0px; }@media (max-width: 768px){.section-title { margin-bottom: 32px; }.flow-step-image { order: 0; border-radius: 10px; }.btn-primary { padding: 14px 28px; font-size: 0.9375rem; }}.features { text-align: center; }.symptoms { text-align: center; }.section-title { text-align: center; margin-bottom: 60px; }.section-title-en { display: inline-block; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.2em; color: var(--theme-primary); margin-bottom: 12px; }.flow-step-content { display: flex; flex-direction: column; }.flow-step-image { border-radius: 16px; overflow: hidden; background: rgb(245, 247, 251); box-shadow: rgba(15, 23, 42, 0.08) 0px 16px 34px, rgba(37, 99, 235, 0.06) 0px 0px 0px 1px inset; display: grid; place-items: center; }.flow-step-image img { width: 100%; display: block; aspect-ratio: 16 / 10; object-fit: contain; padding: clamp(16px, 2vw, 28px); }.flow-step-image img[src$=".jpeg"], .flow-step-image img[src$=".jpg"], .flow-step-image img[src$=".png"], .flow-step-image img[src$=".webp"] { height: 100%; object-fit: cover; padding: 0px; }@media (max-width: 768px){.section-title { margin-bottom: 32px; }.flow-step-image { order: 0; border-radius: 10px; }.btn-primary { padding: 14px 28px; font-size: 0.9375rem; }}:root { --color-white: #ffffff; --color-white-95: rgba(255, 255, 255, 0.95); --color-white-90: rgba(255, 255, 255, 0.9); --color-white-80: rgba(255, 255, 255, 0.8); --pd-navy: #071827; --pd-blue: #2457e6; --pd-shadow: 0 20px 60px rgba(8, 31, 52, .10); }:root { --cool-navy: #173a59; --cool-blue: #315f8c; --cool-sky: #78a9c1; --cool-ice: #dce9ef; --cool-frost: #edf3f5; --cool-paper: #f3f6f6; --cool-white: #ffffff; --cool-ink: #303d45; --cool-muted: #6b7a82; --cool-line: #b8cdd6; --cool-rule: 2px; }body.home .feature-story-desc, body.home .feature-story-heading, body.home .feature-story-title { text-align: left; }body.home .feature-story-desc { max-width: 100%; }body.home .feature-story[data-feature="02"] .feature-story-title, body.home .feature-story[data-feature="03"] .feature-story-title { white-space: nowrap; }@media (max-width: 640px){body.home .feature-story-heading { gap: 10px; }body.home .feature-story[data-feature="02"] .feature-story-title, body.home .feature-story[data-feature="03"] .feature-story-title { font-size: clamp(0.98rem, 4.45vw, 1.15rem); letter-spacing: 0.02em; }}@media (max-width: 380px){body.home .feature-story-copy, body.home .feature-story:nth-child(2n) .feature-story-copy { padding-inline: 16px; }body.home .feature-story-heading { gap: 8px; }body.home .feature-story-number { font-size: 2.55rem; }body.home .feature-story[data-feature="02"] .feature-story-title, body.home .feature-story[data-feature="03"] .feature-story-title { font-size: 0.94rem; }}body.home .hero-cta .btn-primary { overflow: hidden; border: 1px solid transparent; }body.home .hero-cta .btn-primary:focus-visible, body.home .hero-cta .btn-primary:hover { border-color: rgb(255, 255, 255); background: rgb(255, 255, 255) !important; color: var(--theme-primary) !important; }body.home .hero-cta .btn-primary:focus-visible .btn-icon, body.home .hero-cta .btn-primary:focus-visible .btn-text, body.home .hero-cta .btn-primary:hover .btn-icon, body.home .hero-cta .btn-primary:hover .btn-text { color: var(--theme-primary) !important; }body.home .hero-cta .btn-primary .btn-icon { width: 20px; height: 20px; overflow: hidden; }body.home .hero-cta .btn-primary .btn-icon svg { transform-origin: center center; }body.home .hero-cta .btn-primary:focus-visible .btn-icon svg, body.home .hero-cta .btn-primary:hover .btn-icon svg { animation: 0.58s cubic-bezier(0.45, 0, 0.2, 1) 0s 1 normal both running heroCtaArrowReenter; }@keyframes heroCtaArrowReenter { 
  0% { opacity: 1; transform: translateX(0px); }
  42% { opacity: 0; transform: translateX(22px); }
  43% { opacity: 0; transform: translateX(-22px); }
  100% { opacity: 1; transform: translateX(0px); }
}.header .nav-list a:not(.nav-contact) { position: relative; overflow: visible; transition: color 0.28s, transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1); background: 0px 0px !important; }.header .nav-list a:not(.nav-contact)::after, .header .nav-list a:not(.nav-contact)::before { content: ""; position: absolute; left: 50%; pointer-events: none; }.header .nav-list a:not(.nav-contact)::before { bottom: 6px; width: 5px; height: 5px; border-radius: 999px; background: var(--theme-primary); opacity: 0; transform: translate(-50%, 6px) scale(0.45); transition: opacity 0.24s, transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1); }.header .nav-list a:not(.nav-contact)::after { right: 14px; left: 14px; bottom: 1px; height: 1px; background: linear-gradient(90deg,rgba(37,99,235,0),var(--theme-primary),rgba(37,99,235,0)); opacity: 0; transform: scaleX(0); transform-origin: center center; transition: opacity 0.22s, transform 0.38s cubic-bezier(0.2, 0.8, 0.2, 1); }.header .nav-list a:not(.nav-contact):focus-visible, .header .nav-list a:not(.nav-contact):hover, .header .nav-list li.current-menu-item > a:not(.nav-contact), .header .nav-list li.current_page_item > a:not(.nav-contact) { color: var(--theme-primary); background: 0px 0px !important; transform: translateY(-1px) !important; }.header .nav-list a:not(.nav-contact):focus-visible::before, .header .nav-list a:not(.nav-contact):hover::before, .header .nav-list li.current-menu-item > a:not(.nav-contact)::before, .header .nav-list li.current_page_item > a:not(.nav-contact)::before { opacity: 1; transform: translate(-50%, 0px) scale(1); }.header .nav-list a:not(.nav-contact):focus-visible::after, .header .nav-list a:not(.nav-contact):hover::after, .header .nav-list li.current-menu-item > a:not(.nav-contact)::after, .header .nav-list li.current_page_item > a:not(.nav-contact)::after { opacity: 1; transform: scaleX(1); }.header .nav-list a:not(.nav-contact) { display: inline-flex; align-items: center; justify-content: center; }.header .nav-list a:not(.nav-contact) .header-nav-label { position: relative; display: inline-block; overflow: hidden; line-height: 1.45; vertical-align: top; }.header .nav-list a:not(.nav-contact) .header-nav-label-current { display: block; transition: opacity 0.24s, transform 0.38s cubic-bezier(0.2, 0.8, 0.2, 1); }.header .nav-list a:not(.nav-contact) .header-nav-label::after { content: attr(data-label); position: absolute; top: 0px; left: 0px; width: 100%; color: currentcolor; opacity: 0; transform: translateY(105%); transition: opacity 0.24s, transform 0.38s cubic-bezier(0.2, 0.8, 0.2, 1); }.header .nav-list a:not(.nav-contact):focus-visible .header-nav-label-current, .header .nav-list a:not(.nav-contact):hover .header-nav-label-current, .header .nav-list li.current-menu-item > a:not(.nav-contact) .header-nav-label-current, .header .nav-list li.current_page_item > a:not(.nav-contact) .header-nav-label-current { opacity: 0; transform: translateY(-105%); }.header .nav-list a:not(.nav-contact):focus-visible .header-nav-label::after, .header .nav-list a:not(.nav-contact):hover .header-nav-label::after, .header .nav-list li.current-menu-item > a:not(.nav-contact) .header-nav-label::after, .header .nav-list li.current_page_item > a:not(.nav-contact) .header-nav-label::after { opacity: 1; transform: translateY(0px); }@media (max-width: 768px){.header { padding: 0px !important; }.header-inner { min-height: 52px; gap: 8px; padding: 7px 12px !important; }.header .logo { gap: 7px; }.header .logo-icon { width: 30px !important; height: 30px !important; border-radius: 8px !important; }.header .logo-main { font-size: clamp(0.82rem, 3.8vw, 0.98rem) !important; letter-spacing: 0.035em !important; }.header .logo-sub { max-width: 14.5em !important; font-size: 0.52rem !important; letter-spacing: 0.04em !important; }.fixed-cta { left: 12px !important; right: 12px !important; bottom: 8px !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 4px !important; }.fixed-cta .fixed-cta-card { min-height: 50px !important; bottom: -15px !important; border-radius: 12px 12px 0px 0px !important; }.fixed-cta .fixed-cta-card:active, .fixed-cta .fixed-cta-card:focus-visible, .fixed-cta .fixed-cta-card:hover { transform: translateY(-7px) !important; }.fixed-cta-tab { min-height: 34px !important; padding: 6px 5px 15px !important; gap: 4px !important; font-size: 0.68rem !important; letter-spacing: 0px !important; }.fixed-cta-inquiry .fixed-cta-tab { font-size: 0.68rem !important; letter-spacing: 0px !important; }.fixed-cta-tab svg { width: 15px !important; height: 15px !important; }.hero { min-height: 100svh; justify-content: center; padding: 78px 16px 86px !important; }.hero-content { max-width: 100%; }.hero .hero-title { margin-bottom: 12px !important; }.hero-title-plain { text-shadow: rgba(0, 0, 0, 0.3) 0px 10px 28px; font-size: clamp(1.72rem, 8.6vw, 2.32rem) !important; line-height: 1.24 !important; letter-spacing: 0.01em !important; }.hero-catch { max-width: 24em; margin-bottom: 13px !important; font-size: clamp(0.9rem, 4.1vw, 1.04rem) !important; line-height: 1.62 !important; font-weight: 700 !important; }.hero-hours { margin-bottom: 13px !important; }.hero-hours-table { grid-template-columns: minmax(72px, 1.18fr) repeat(7, minmax(25px, 0.43fr)) !important; }.hero-hours-cell { min-height: 29px !important; padding: 4px 2px !important; font-size: 0.66rem !important; }.hero-hours-cell.is-head { font-size: 0.58rem !important; }.hero-hours-cell.is-label { padding-inline: 0px 4px !important; font-size: 0.66rem !important; }.hero-hours-mark { width: 16px !important; height: 16px !important; }.hero-hours-mark.is-open::before { width: 9px !important; height: 9px !important; border-width: 1.5px !important; }.hero .hero-subtitle, .hero-departments { display: none !important; }.hero-cta { gap: 10px; }.hero-cta .btn-primary, .hero-cta .btn-secondary { min-height: 42px; padding: 0px 16px; font-size: 0.88rem; border-radius: 10px; }.hero-notice { max-width: 24em; margin-top: 10px !important; font-size: 0.7rem !important; line-height: 1.55 !important; }}@media (max-width: 420px){.header .logo-sub { max-width: 11.5em !important; }.hero { padding-inline: 14px !important; }.hero-title-plain { font-size: clamp(1.55rem, 8.2vw, 2.05rem) !important; }.hero-catch { font-size: 0.88rem !important; }.hero-hours-cell { font-size: 0.61rem !important; }.hero-hours-cell.is-head { font-size: 0.52rem !important; }.hero-hours-cell.is-label { font-size: 0.61rem !important; }}body.home .hero { min-height: 88svh !important; padding-top: clamp(88px, 10vh, 120px) !important; padding-bottom: clamp(56px, 8vh, 96px) !important; }@media (max-width: 767px){body.home .hero { min-height: 92svh !important; padding-top: 72px !important; padding-bottom: 64px !important; }}@media (max-width: 420px){body.home .hero { min-height: 90svh !important; padding-top: 70px !important; padding-bottom: 58px !important; }}body.home .about-reservation-cta { display: flex; justify-content: flex-start; margin-top: clamp(22px, 3vw, 30px); }body.home .about-reservation-button { min-width: 220px; box-shadow: rgba(37, 99, 235, 0.24) 0px 12px 30px; }@media (max-width: 767px){body.home .about-reservation-cta { justify-content: center; margin-top: 24px; }body.home .about-reservation-button { width: min(100%, 300px); }}