    :root{--accent:#ff6b6b;--accent2:#f598df;--bg:#fafafa;--card:#fff;--text:#222}
    *{box-sizing:border-box}
    html,body{height:100%}
    body{font-family: "Noto Sans JP", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif; margin:0; color:var(--text); background:var(--bg); -webkit-font-smoothing:antialiased}
    a{color:inherit}
    .wrap{max-width:1080px;margin:0 auto;padding:20px}
    header{display:flex;gap:16px;align-items:center}
    .logo{width:64px;height:64px;object-fit:contain}
    h1{font-size:20px;margin:0}

    /* CTA (sticky but compact) */
    .sticky-cta{position:sticky;bottom:12px;display:flex;gap:10px;justify-content:center;padding:8px;background:linear-gradient(180deg,transparent,rgba(255,255,255,0.9));z-index:40}
    .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:9px;text-decoration:none;font-weight:700}
    .btn-phone{background:var(--accent);color:#fff}
    .btn-resv{background:var(--accent2);color:#fff}
    .btn-app{background:#6bd09b;color:#fff}

    /* layout */
    .grid{display:grid;grid-template-columns:1fr 320px;gap:28px;margin-top:18px}
    @media(max-width:880px){.grid{grid-template-columns:1fr}}

    /* card */
    .card{background:var(--card);padding:16px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.06)}

    /* info list */
    .info-list p{margin:6px 0}

    /* nav */
    nav ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:12px 0;list-style:none}
    nav a{display:inline-block;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #f0f0f0}

    /* main content */
    main h2{font-size:18px;margin-top:6px}
    .lead{font-size:16px;line-height:1.8;color:#333;text-align:left}
    .maps{width:100%;height:320px;border-radius:8px;overflow:hidden}
    img.responsive{max-width:100%;height:auto;border-radius:6px}

    footer{margin-top:28px;text-align:center;color:#666;font-size:14px}

    /* accessibility helpers */
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

#sakuraion {
    position: relative;
    width: 180px;
    animation: sway 3s ease-in-out infinite;
}

@keyframes sway {
    0% { transform: translateY(0) rotate(0deg); }
    25% { transform: translateY(-4px) rotate(-2deg); }
    50% { transform: translateY(0) rotate(0deg); }
    75% { transform: translateY(4px) rotate(2deg); }
    100% { transform: translateY(0) rotate(0deg); }
}

.sakuraion-container {
    text-align: center;
    margin: 35px 0;
}

.sakuraion-msg {
    font-size: 18px;
    margin-top: 10px;
    font-weight: bold;
}

.app-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 22px;
    background: #ff6699;
    color: #fff;
    border-radius: 12px;
    font-size: 18px;
    text-decoration: none;
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
}
.info-images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    text-align: center;
    margin-top: 16px;
}

.info-images img,
.info-images iframe {
    max-width: 100%;
    height: auto;
}

.apliimage {
    border-radius: 8px;
}

.calendar, .parking {
    border-radius: 6px;
    max-width: 95%;
}
.flow-container {
  text-align: center;
}

.flow-step img {
  max-width: 240px;
  height: auto;
  margin: 10px 0;
}

.flow-arrow {
  font-size: 32px;
  color: #666;
  margin: 5px 0;
  font-weight: bold;
}