/* 雅 — 2026 finishing layer. Content and accepted motion remain in their source modules. */
#miyabi-site-v12 {
  --paper:#faf8f3; --ink:#352e31; --muted:#70646a; --wine:#713d50;
  --pink:#e9cfc8; --sage:#bac5b9; --fuji:#c9bdd2; --line:#dcd3ca;
  --surface:#f0eae2; --gold:#9b784d; --white:#fffdf9; --deep:#4a303e;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.9; letter-spacing:.025em;
}
#miyabi-site-v12 .m-shell {max-width:1120px;width:calc(100% - 96px);}
#miyabi-site-v12 .m-narrow {max-width:860px;}
#miyabi-site-v12 .m-section {padding:104px 0;}
#miyabi-site-v12 :is(h1,h2,h3) {font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;}
#miyabi-site-v12 h2 {font-size:38px;letter-spacing:.1em;line-height:1.55;text-wrap:balance;}
#miyabi-site-v12 h3 {font-size:26px;line-height:1.6;letter-spacing:.07em;}
#miyabi-site-v12 .m-eyebrow {display:flex;align-items:center;justify-content:center;gap:14px;color:var(--wine);font-size:11px;font-weight:500;letter-spacing:.2em;margin-bottom:18px;}
#miyabi-site-v12 .m-eyebrow::before {content:"";width:24px;height:1px;background:var(--gold);}
#miyabi-site-v12 .m-lead {margin-top:24px;color:var(--muted);font-size:15px;line-height:2.1;}
#miyabi-site-v12 .m-note {font-size:12px;line-height:1.9;color:var(--muted);}
#miyabi-site-v12 [data-review] {font-size:12px;color:#77515c;}
#miyabi-site-v12 .m-proposal {color:#6d4856;background:#efe2e5;padding:3px 8px;border-radius:2px;font-size:11px;letter-spacing:.025em;}
#miyabi-site-v12 .m-button {min-height:52px;border-color:#ac8894;border-radius:2px;padding:12px 24px;font-size:14px;letter-spacing:.04em;transition:background .2s,color .2s,border-color .2s;}
#miyabi-site-v12 .m-button--filled {background:var(--wine);border-color:var(--wine);color:var(--white);}
#miyabi-site-v12 .m-actions {gap:12px;margin-top:28px;}
#miyabi-site-v12 .m-review-bar {flex-wrap:nowrap;justify-content:space-between;gap:12px;padding:7px max(24px,calc((100% - 1120px) / 2));background:#eee8e0;color:#665b58;border-bottom:1px solid #e4dbd2;font-size:11px;letter-spacing:.02em;text-align:left;}
#miyabi-site-v12 .m-review-toggle {flex:none;min-height:36px;border:0;border-bottom:1px solid #b6a89b;border-radius:0;background:transparent;padding:4px 0;font-size:11px;}
#miyabi-site-v12 .m-header {min-height:104px;gap:20px;padding-block:12px;}
#miyabi-site-v12 .m-brand {display:flex;align-items:center;gap:20px;text-decoration:none;text-align:left;}
#miyabi-site-v12 .m-brand img {width:76px;height:66px;mix-blend-mode:multiply;}
#miyabi-site-v12 .m-brand-copy {border-left:1px solid var(--line);padding-left:20px;display:grid;gap:4px;}
#miyabi-site-v12 .m-brand-copy small {font-size:11px;line-height:1.6;letter-spacing:.04em;color:var(--muted);}
#miyabi-site-v12 .m-brand-copy strong {font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:16px;line-height:1.5;font-weight:500;letter-spacing:.08em;}
#miyabi-site-v12 .m-nav {gap:4px 20px;}
#miyabi-site-v12 .m-nav a {font-size:12px;position:relative;}
#miyabi-site-v12 .m-nav a:last-child {padding-inline:20px;border:1px solid var(--wine);color:var(--wine);}
#miyabi-site-v12 .m-mobile-nav > summary {min-width:60px;padding:8px 0;border:0;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.05em;}
#miyabi-site-v12 .m-mobile-nav nav {background:var(--white);box-shadow:0 16px 30px #3e293015;border-color:var(--line);padding:16px 24px;}
#miyabi-site-v12 .m-mobile-nav nav a {font-size:14px;border-bottom:1px solid #eee7df;}
#miyabi-site-v12 .m-hero-skip {width:100%;padding:20px;background:var(--paper);font-size:12px;letter-spacing:.13em;text-decoration:none;border-bottom:1px solid var(--line);}
#miyabi-site-v12 #miyabi-flower-transition {--paper:#faf8f3;--ink:#49333f;--soft:#715f66;--line:#ddd3cd;}
#miyabi-site-v12 #miyabi-flower-transition .lettering-front {background:radial-gradient(ellipse at 48% 45%,#fffefa 0%,#faf8f3 66%,#f0eae1 100%);}
#miyabi-site-v12 #miyabi-flower-transition .lettering-controls {background:#f3eee7;border-top:1px solid #dfd4c8;padding:12px 20px 14px;}
#miyabi-site-v12 #miyabi-flower-transition .control-caption {font-size:11px;color:#6c5a61;margin-bottom:7px;}
#miyabi-site-v12 #miyabi-flower-transition button {border-radius:2px;border-color:#b7a2a9;background:var(--white);color:var(--wine);}
#miyabi-site-v12 #miyabi-flower-transition [data-play] {color:var(--white);background:var(--wine);border-color:var(--wine);}
#miyabi-site-v12 #miyabi-flower-transition input {accent-color:var(--wine);}
#miyabi-site-v12 .m-intro {padding-top:96px;}
#miyabi-site-v12 .m-intro::before {top:20px;width:38%;height:640px;opacity:.095;}
#miyabi-site-v12 .m-intro-title {font-size:52px;letter-spacing:.13em;line-height:1.7;}
#miyabi-site-v12 .m-purpose-nav {margin:40px auto 76px;gap:24px;max-width:570px;}
#miyabi-site-v12 .m-purpose-nav a {justify-content:space-between;padding:12px 8px;border-bottom-width:1px;font-size:13px;}
#miyabi-site-v12 .m-purpose-nav a span {color:var(--wine);}
#miyabi-site-v12 .m-age-track {gap:32px;margin:32px -16px 0;padding:0 16px 32px;scroll-padding-inline:16px;scrollbar-color:#bba29e transparent;}
#miyabi-site-v12 .m-age-card {flex:0 0 calc((100% - 64px) / 3);text-align:left;}
#miyabi-site-v12 .m-photo-slot {background:#f0e9e0;border:1px solid #e0d3c4;}
#miyabi-site-v12 .m-photo-slot::before {opacity:.21;filter:saturate(.8);}
#miyabi-site-v12 .m-photo-slot::after {content:"";position:absolute;inset:10px;border:1px solid #fffdf9b3;pointer-events:none;}
#miyabi-site-v12 .m-photo-number {top:20px;left:20px;font-size:11px;line-height:1.6;letter-spacing:.06em;padding:5px 9px;background:var(--white);color:#685959;}
#miyabi-site-v12 .m-photo-text {font-size:12px;line-height:1.8;letter-spacing:.1em;color:#69525b;background:#faf8f3d9;padding:6px 12px;}
#miyabi-site-v12 .m-age-numeral {font:400 116px/1.15 Georgia,serif;text-align:center;color:#735059;}
#miyabi-site-v12 .m-age--5 .m-age-numeral {color:#566659;}
#miyabi-site-v12 .m-age--7 .m-age-numeral {color:#6c5877;}
#miyabi-site-v12 .m-age-card h3 {margin-top:26px;font-size:26px;}
#miyabi-site-v12 .m-age-copy {color:var(--muted);font-size:15px;line-height:1.9;margin-top:12px;}
#miyabi-site-v12 .m-age-price {padding-top:20px;border-top:1px solid var(--line);margin-top:24px;font-size:12px;}
#miyabi-site-v12 .m-age-price strong {font-size:31px;color:var(--wine);line-height:1.7;letter-spacing:.015em;}
#miyabi-site-v12 .m-age-price strong small {font-size:12px;margin-left:5px;}
#miyabi-site-v12 .m-age-card .m-note {margin-top:8px;}
#miyabi-site-v12 .m-age-card .m-actions .m-button {width:100%;padding-inline:8px;}
#miyabi-site-v12 .m-age-tools {gap:8px;margin-top:30px;}
#miyabi-site-v12 .m-age-tools button {border:0;border-bottom:1px solid var(--line);border-radius:2px;background:#f0eae4;font-size:13px;min-width:46px;}
#miyabi-site-v12 .m-age-tools button[aria-pressed="true"] {background:var(--wine);color:var(--white);border-color:var(--wine);}
#miyabi-site-v12 .m-age-tools [data-age-status] {color:var(--muted);font-size:11px;margin-top:4px;letter-spacing:.06em;}
#miyabi-site-v12 .m-disclosure {border-color:var(--line);margin-top:24px;}
#miyabi-site-v12 .m-disclosure > summary {min-height:60px;padding:17px 0;font-size:14px;line-height:1.8;}
#miyabi-site-v12 .m-disclosure > summary::after {font-size:20px;font-weight:400;color:var(--wine);}
#miyabi-site-v12 .m-disclosure[open] > summary {color:var(--wine);}
#miyabi-site-v12 .m-disclosure-body {padding:4px 0 26px;}
#miyabi-site-v12 .m-disclosure-body p {font-size:15px;line-height:1.95;}
#miyabi-site-v12 .m-disclosure-body .m-note {font-size:12px;}
#miyabi-site-v12 .m-price-list > div {border-color:var(--line);padding:12px 0;}
#miyabi-site-v12 .m-services {background:#efe9e3;}
#miyabi-site-v12 .m-service-grid {margin-top:54px;gap:64px;}
#miyabi-site-v12 .m-service {border-top:1px solid #b9a49c;padding-top:28px;}
#miyabi-site-v12 .m-service-number {font-size:40px;color:#86684f;letter-spacing:-.03em;}
#miyabi-site-v12 .m-service h3 {margin-top:20px;}
#miyabi-site-v12 .m-service > p {font-size:15px;line-height:2;color:#655b5c;}
#miyabi-site-v12 .m-service > .m-note {font-size:12px;}
#miyabi-site-v12 .m-photo-package {max-width:none;margin-top:56px;padding:32px 36px;background:#faf8f3;border:0;border-left:2px solid #b59b78;}
#miyabi-site-v12 .m-photo-package .m-service-number {font-size:32px;}
#miyabi-site-v12 .m-photo-package .m-disclosure {max-width:760px;}
#miyabi-site-v12 .m-steps li {padding:12px 0;}
#miyabi-site-v12 .m-steps li::before {color:var(--wine);}
#miyabi-site-v12 .m-collection {background:#faf8f3;}
#miyabi-site-v12 .m-collection > .m-shell > .m-disclosure {margin-top:38px;}
#miyabi-site-v12 .m-filter {justify-content:flex-start;gap:6px;margin-bottom:24px;}
#miyabi-site-v12 .m-filter button {font-size:13px;border-radius:2px;border-color:var(--line);}
#miyabi-site-v12 .m-catalog {gap:26px;margin-top:24px;}
#miyabi-site-v12 .m-catalog h3 {font-size:23px;margin-top:20px;}
#miyabi-site-v12 .m-catalog .m-button {margin-top:16px;font-size:12px;min-height:48px;padding:10px 12px;width:100%;}
#miyabi-site-v12 #gallery {border-top:1px solid var(--line);background:#f5f1eb;}
#miyabi-site-v12 .m-gallery-grid {gap:28px;}
#miyabi-site-v12 .m-gallery-preview {margin-top:40px;}
#miyabi-site-v12 .m-gallery-grid .m-photo-slot {border:7px solid #b69772;box-shadow:inset 0 0 0 1px #f5d9b2,inset 0 2px 12px #79512e24,2px 5px 10px #624d3912;background:#f6eee2;}
#miyabi-site-v12 .m-gallery-grid .m-photo-slot::before {opacity:.07;}
#miyabi-site-v12 .m-gallery-grid .m-photo-slot::after {inset:6px;border-color:#c9af913f;}
#miyabi-site-v12 .m-gallery-grid .m-photo-number {background:transparent;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:20px;letter-spacing:.06em;color:#79634c;}
#miyabi-site-v12 .m-event {background:#eeeaef;}
#miyabi-site-v12 .m-event-grid {margin-top:42px;gap:48px;grid-template-columns:1fr 1.15fr;}
#miyabi-site-v12 .m-event-grid .m-photo-slot {aspect-ratio:4/5;}
#miyabi-site-v12 .m-event-copy h3 {font-size:30px;line-height:1.7;}
#miyabi-site-v12 .m-event-copy > p {font-size:15px;}
#miyabi-site-v12 .m-event-copy > .m-note {font-size:12px;}
#miyabi-site-v12 .m-event-copy .m-actions {justify-content:flex-start;}
#miyabi-site-v12 .m-faq {background:var(--white);}
#miyabi-site-v12 .m-faq-list {margin-top:42px;counter-reset:question;}
#miyabi-site-v12 .m-faq .m-disclosure {margin-top:0;}
#miyabi-site-v12 .m-faq summary {counter-increment:question;gap:16px;min-height:74px;text-wrap:balance;}
#miyabi-site-v12 .m-faq summary::before {content:"Q";font:400 20px/1.5 Georgia,serif;color:#876443;}
#miyabi-site-v12 .m-faq summary::after {margin-left:auto;}
#miyabi-site-v12 .m-faq .m-disclosure-body {padding-left:32px;}
#miyabi-site-v12 .m-contact {background:var(--deep);color:#fff9f0;--line:#806471;--muted:#e4d4d7;}
#miyabi-site-v12 .m-contact .m-eyebrow {color:#e6c6b2;}
#miyabi-site-v12 .m-contact .m-eyebrow::before {background:#caac84;}
#miyabi-site-v12 .m-contact .m-lead {color:#eddfdf;}
#miyabi-site-v12 .m-contact [data-review] {color:#e2c8ca;}
#miyabi-site-v12 .m-contact .m-button {color:#fff9f0;border-color:#b99da8;}
#miyabi-site-v12 .m-contact .m-button--filled {color:var(--deep);background:#faf4e9;border-color:#faf4e9;}
#miyabi-site-v12 .m-contact .m-disclosure {margin-top:38px;border-color:#8a6d79;}
#miyabi-site-v12 .m-contact .m-disclosure summary,#miyabi-site-v12 .m-contact .m-disclosure summary::after {color:#fff9f0;}
#miyabi-site-v12 .m-contact :focus-visible {outline-color:#f0d7b2;}
#miyabi-site-v12 .m-form input,#miyabi-site-v12 .m-form select,#miyabi-site-v12 .m-form textarea {background:#fffdf9;border-color:#cbbbaf;color:#352e31;border-radius:2px;}
#miyabi-site-v12 .m-form label {font-size:13px;line-height:1.8;}
#miyabi-site-v12 .m-form-grid {gap:24px;}
#miyabi-site-v12 .m-footer {background:var(--paper);padding:54px 24px 38px;}
#miyabi-site-v12 .m-footer img {mix-blend-mode:multiply;width:100px;}
#miyabi-site-v12 .m-footer p {font-size:11px;color:var(--muted);letter-spacing:.05em;}
#miyabi-site-v12 .m-footer-links {gap:28px;}
#miyabi-site-v12 .m-footer-links a {font-size:12px;}
#miyabi-site-v12 .m-bottom-bar {background:#fffdf9;border-color:#d5c4b7;box-shadow:0 -4px 20px #45313b0a;}
#miyabi-site-v12 .m-bottom-index,#miyabi-site-v12 .m-bottom-consult {border-radius:2px;font-size:13px;letter-spacing:.03em;}
#miyabi-site-v12 .m-bottom-index {border-color:#d5c4b7;background:#f5efe7;}
#miyabi-site-v12 .m-bottom-consult {background:var(--wine);border-color:var(--wine);color:var(--white);}
#miyabi-site-v12 .m-bottom-track {scrollbar-width:thin;scrollbar-color:#d5c4b7 transparent;}
#miyabi-site-v12 .m-bottom-track a {font-size:12px;border-radius:2px;padding-inline:13px;}
#miyabi-site-v12 .m-bottom-track a[aria-current="location"] {background:#f1e6ea;color:var(--wine);}
#miyabi-site-v12 .m-toc-dialog {background:var(--white);border-radius:3px;border-color:#d1bda9;padding:24px;}
#miyabi-site-v12 .m-toc-header {padding-bottom:12px;border-bottom:1px solid var(--line);}
#miyabi-site-v12 .m-toc-header h2 {font-size:25px;}
#miyabi-site-v12 .m-toc-links a {padding:14px 8px;}
#miyabi-site-v12 .m-toc-close {border-radius:2px;background:var(--paper);}
@media (hover:hover) {
  #miyabi-site-v12 .m-button:hover {background:#efe3e7;border-color:var(--wine);}
  #miyabi-site-v12 .m-button--filled:hover {background:#583040;border-color:#583040;}
  #miyabi-site-v12 .m-contact .m-button:hover {background:#654453;}
  #miyabi-site-v12 .m-contact .m-button--filled:hover {background:#e9dacf;color:var(--deep);}
  #miyabi-site-v12 .m-nav a:hover,#miyabi-site-v12 .m-footer-links a:hover {color:var(--wine);}
  #miyabi-site-v12 .m-disclosure summary:hover {color:var(--wine);}
  #miyabi-site-v12 .m-contact .m-disclosure summary:hover {color:#e9ccb8;}
}
@media (max-width:1100px) {
  #miyabi-site-v12 .m-brand-copy {display:none;}
  #miyabi-site-v12 .m-shell {width:calc(100% - 64px);}
}
@media (max-width:850px) {
  #miyabi-site-v12 .m-brand-copy {display:grid;}
  #miyabi-site-v12 .m-age-card {flex-basis:80%;max-width:360px;}
  #miyabi-site-v12 .m-age-track {gap:24px;}
  #miyabi-site-v12 .m-service-grid {gap:40px;}
}
@media (max-width:600px) {
  #miyabi-site-v12 .m-shell {width:calc(100% - 44px);}
  #miyabi-site-v12 .m-section {padding:72px 0;}
  #miyabi-site-v12 h2 {font-size:27px;letter-spacing:.07em;}
  #miyabi-site-v12 h3 {font-size:24px;}
  #miyabi-site-v12 .m-eyebrow {font-size:11px;gap:10px;margin-bottom:16px;}
  #miyabi-site-v12 .m-lead {font-size:15px;line-height:2.05;margin-top:18px;}
  #miyabi-site-v12 .m-review-bar {padding:7px 16px;gap:12px;font-size:11px;line-height:1.7;}
  #miyabi-site-v12 .m-review-toggle {font-size:11px;min-height:38px;}
  #miyabi-site-v12 .m-header {min-height:82px;gap:12px;}
  #miyabi-site-v12 .m-brand {gap:12px;}
  #miyabi-site-v12 .m-brand img {width:62px;height:54px;}
  #miyabi-site-v12 .m-brand-copy {padding-left:12px;gap:3px;}
  #miyabi-site-v12 .m-brand-copy small {font-size:11px;}
  #miyabi-site-v12 .m-brand-copy strong {font-size:14px;}
  #miyabi-site-v12 .m-intro {padding-top:68px;}
  #miyabi-site-v12 .m-intro-title {font-size:34px;letter-spacing:.075em;line-height:1.75;}
  #miyabi-site-v12 .m-purpose-nav {margin:30px auto 62px;gap:14px;}
  #miyabi-site-v12 .m-purpose-nav a {font-size:12px;padding:10px 4px;}
  #miyabi-site-v12 .m-age-track {margin:24px -22px 0;padding-inline:22px;scroll-padding-inline:22px;gap:22px;}
  #miyabi-site-v12 .m-age-card {flex-basis:84%;max-width:330px;}
  #miyabi-site-v12 .m-age-card h3 {font-size:25px;}
  #miyabi-site-v12 .m-age-numeral {font-size:102px;}
  #miyabi-site-v12 .m-service-grid {margin-top:36px;gap:40px;}
  #miyabi-site-v12 .m-service {padding-top:24px;}
  #miyabi-site-v12 .m-service-number {font-size:35px;}
  #miyabi-site-v12 .m-photo-package {padding:26px 22px;margin-top:40px;}
  #miyabi-site-v12 .m-photo-package h3 {font-size:23px;}
  #miyabi-site-v12 .m-photo-package .m-proposal {white-space:nowrap;}
  #miyabi-site-v12 .m-gallery-grid {gap:16px;}
  #miyabi-site-v12 .m-gallery-grid .m-photo-slot {border-width:5px;}
  #miyabi-site-v12 .m-gallery-grid .m-photo-number {font-size:17px;}
  #miyabi-site-v12 .m-event-grid {grid-template-columns:1fr;gap:28px;margin-top:32px;}
  #miyabi-site-v12 .m-event-grid .m-photo-slot {width:100%;max-width:none;aspect-ratio:5/4;}
  #miyabi-site-v12 .m-event-copy {text-align:left;}
  #miyabi-site-v12 .m-event-copy h3 {font-size:27px;}
  #miyabi-site-v12 .m-event-copy .m-actions .m-button {font-size:12px;width:100%;padding-inline:12px;}
  #miyabi-site-v12 .m-faq-list {margin-top:30px;}
  #miyabi-site-v12 .m-faq summary {font-size:14px;gap:12px;min-height:76px;}
  #miyabi-site-v12 .m-faq .m-disclosure-body {padding-left:27px;}
  #miyabi-site-v12 .m-contact .m-actions > .m-button {width:100%;}
  #miyabi-site-v12 .m-footer {padding-top:40px;}
}
@media (max-width:350px) {
  #miyabi-site-v12 .m-shell {width:calc(100% - 36px);}
  #miyabi-site-v12 .m-brand-copy {border:0;padding-left:0;}
  #miyabi-site-v12 .m-brand-copy small {max-width:110px;}
  #miyabi-site-v12 .m-brand-copy strong {font-size:13px;}
  #miyabi-site-v12 .m-intro-title {font-size:30px;}
  #miyabi-site-v12 .m-age-track {margin-inline:-18px;padding-inline:18px;scroll-padding-inline:18px;}
}
@media (prefers-reduced-motion:reduce) {
  #miyabi-site-v12 .m-button {transition:none;}
}
