:root{
  --ivory:#fbf7f3;--white:#fff;--rose-beige:#edd8d2;--rose-pale:#f8eae6;
  --pink-gold:#d17d6d;--champagne:#cba66b;--rose:#c93458;--rose-dark:#a92747;
  --brown:#4b2d25;--brown-2:#65473f;--muted:#806b64;--line:#ead7d0;
  --line-strong:#d9998e;--shadow:0 12px 32px rgba(83,48,36,.075);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
  --content:1180px;--header:100px;--radius:8px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--brown);background:#fff;font-family:var(--sans);font-size:calc(16px + 2pt);line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}img{display:block;max-width:100%;height:auto}picture{display:contents}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus,.skip-link:focus{clip:auto!important;width:auto;height:auto;left:12px;top:12px;background:#fff;padding:12px 18px;z-index:10000;box-shadow:var(--shadow)}:focus-visible{outline:3px solid rgba(201,52,88,.4);outline-offset:3px}.ypr-icon{display:inline-flex;width:1.25em;height:1.25em;line-height:1;flex:none}.ypr-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-line .ypr-icon svg,.btn-line .ypr-icon svg,.footer-line .ypr-icon svg,.mobile-fixed-cta a:first-child .ypr-icon svg{fill:currentColor;stroke:none}
.site-header{position:sticky;top:0;z-index:1600;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(226,204,196,.75);height:var(--header);transition:box-shadow .25s,background .25s}.site-header.is-scrolled{background:rgba(255,255,255,.99);box-shadow:0 8px 22px rgba(84,52,42,.07)}.header-inner{max-width:1400px;height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;gap:22px}.brand-wrap{display:flex;align-items:center;gap:20px;min-width:365px}.brand{display:block;width:185px;flex:0 0 185px}.brand img,.custom-logo{width:100%;height:auto}.custom-logo-link{display:block}.header-tagline{font-family:var(--serif);font-size:calc(11px + 2pt);line-height:1.6;letter-spacing:.06em;margin:0;max-width:190px;color:#6f5149;}.desktop-nav{margin-left:auto}.primary-menu,.primary-menu ul{list-style:none;padding:0;margin:0}.primary-menu{display:flex;align-items:center;gap:24px}.primary-menu>li{position:relative}.primary-menu>li>a{display:block;padding:37px 0 34px;font-size:calc(12px + 2pt);font-weight:700;letter-spacing:.02em;white-space:nowrap;}.primary-menu>li>a::after{content:"";position:absolute;left:50%;right:50%;bottom:23px;height:1px;background:var(--rose);transition:.25s}.primary-menu>li:hover>a::after,.primary-menu>li.current-menu-item>a::after,.primary-menu>li.current-menu-ancestor>a::after{left:0;right:0}.primary-menu .sub-menu{position:absolute;top:76px;left:50%;min-width:230px;transform:translate(-50%,8px);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transition:.2s}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.primary-menu .sub-menu a{display:block;padding:10px 12px;font-size:calc(12px + 2pt);border-bottom:1px solid #f2e7e2;}.header-actions{display:flex;align-items:center;gap:8px}.header-search{width:40px;height:40px;display:grid;place-items:center;color:#6a443d}.header-cta{height:53px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;padding:0 15px;font-size:calc(11px + 2pt);line-height:1.45;font-weight:700;white-space:nowrap;}.header-line{background:linear-gradient(135deg,#cb3359,#b82449);color:#fff;box-shadow:0 6px 15px rgba(183,36,73,.18)}.header-hpb{border:1px solid #d94d6b;color:#ba284b;background:#fff}.header-cta .ypr-icon{width:19px;height:19px}.nav-toggle{display:none;border:0;background:transparent;width:45px;height:45px;padding:10px;color:var(--brown)}
.hero{max-width:1500px;margin:auto;min-height:620px;display:grid;grid-template-columns:43% 57%;background:linear-gradient(108deg,#fffaf6 0%,#fff 54%,#fbf8f6 100%);overflow:hidden}.hero-copy{position:relative;z-index:2;padding:77px 25px 45px max(36px,calc((100vw - 1330px)/2));display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-family:var(--serif);font-size:clamp(calc(46px + 2pt),calc(4.25vw + 2pt),calc(68px + 2pt));line-height:1.42;letter-spacing:.11em;font-weight:500;margin:0;color:#44291f;}.hero-lead{max-width:480px;font-family:var(--serif);font-size:calc(14px + 2pt);line-height:2.05;letter-spacing:.04em;margin:0 0 27px;}.hero-features{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;list-style:none;padding:0;margin:0 0 28px;max-width:535px}.hero-features li{min-height:80px;background:rgba(255,255,255,.9);border:1px solid rgba(234,215,208,.65);border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font-size:calc(11px + 2pt);font-weight:700;line-height:1.45;box-shadow:0 5px 16px rgba(89,56,45,.04);}.hero-features .ypr-icon{color:var(--pink-gold);font-size:25px}.hero-visual{min-width:0;overflow:hidden;background:#faf5f1}.hero-visual picture,.hero-visual img{width:100%;height:100%}.hero-image{object-fit:cover;object-position:center center}.booking-buttons{display:grid;grid-template-columns:1fr;gap:10px;max-width:530px}.btn{min-height:58px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 22px;font-weight:700;font-size:calc(15px + 2pt);letter-spacing:.02em;transition:transform .2s,box-shadow .2s,background .2s;}.btn:hover{transform:translateY(-2px)}.btn .arrow{margin-left:auto;width:16px;height:16px}.btn-line{color:#fff;background:linear-gradient(90deg,#cb3158,#bd2d51);box-shadow:0 9px 22px rgba(185,43,79,.18)}.btn-hpb{color:#bf3151;background:#fff;border:1.5px solid #d84362}.btn .ypr-icon{width:23px;height:23px}.section{padding:62px 24px}.section-inner{max-width:1050px;margin:auto}.section-inner.wide{max-width:1180px}.section-title{position:relative;font-family:var(--serif);font-size:clamp(calc(27px + 2pt),calc(2.5vw + 2pt),calc(37px + 2pt));letter-spacing:.08em;line-height:1.5;text-align:center;font-weight:500;margin:0 0 42px;}.section-title::after{content:"";display:block;width:70px;height:1px;background:linear-gradient(90deg,transparent,var(--champagne),transparent);margin:13px auto 0}.section-title.small{font-size:clamp(calc(23px + 2pt),calc(2vw + 2pt),calc(30px + 2pt));}.eyebrow{font-family:Georgia,serif;font-size:calc(10px + 2pt);letter-spacing:.22em;color:#b79075;margin:0 0 6px;}.concerns-section{position:relative;padding-top:48px;background:#fff;border-radius:50% 50% 0 0/25px 25px 0 0;margin-top:-21px;z-index:3}.concern-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #f0e4df;border-radius:7px;background:#fff;box-shadow:0 8px 24px rgba(86,53,42,.035);overflow:hidden}.concern-card{padding:16px 22px;border-right:1px solid #f0e4df}.concern-card:last-child{border-right:0}.concern-card p{display:flex;align-items:flex-start;gap:9px;font-size:calc(12px + 2pt);font-weight:600;line-height:1.65;margin:0;padding:10px 0;}.concern-card .ypr-icon{color:#d34461;margin-top:2px;width:17px;height:17px;stroke-width:2.5}.concern-message{margin-top:18px;min-height:62px;border:1px solid #efcdc5;background:linear-gradient(90deg,#fff9f7,#fff,#fff8f5);display:grid;grid-template-columns:1.2fr 1.2fr auto;align-items:center;gap:24px;padding:11px 24px;font-size:calc(11px + 2pt);position:relative;}.concern-message::before,.concern-message::after{content:"";position:absolute;width:23px;height:23px;border-color:#e9b4a8}.concern-message::before{left:-1px;top:-1px;border-left:1px solid;border-top:1px solid}.concern-message::after{right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}.concern-message strong{font-family:var(--serif);font-size:calc(13px + 2pt);text-align:center;}.concern-message em{font-style:normal;color:#c13d55}.concern-message a,.text-link,.card-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dc7080;border-radius:999px;color:#c43c57;background:#fff;padding:7px 16px;font-size:calc(10px + 2pt);font-weight:700;white-space:nowrap;}.concern-message a .ypr-icon,.text-link .ypr-icon,.card-link .ypr-icon{width:13px;height:13px}.method-section{background:#fff;padding-top:12px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.method-card{border:1px solid #eadbd6;background:#fff;border-radius:7px;padding:13px 14px 16px;box-shadow:0 5px 15px rgba(80,53,43,.035)}.method-head{display:flex;align-items:center;gap:13px;min-height:56px}.method-head>span{font-family:Georgia,serif;font-size:calc(29px + 2pt);color:#8b5d50;border-right:1px solid #d9b2a7;padding-right:12px;}.method-head h3{font-family:var(--serif);font-size:calc(15px + 2pt);line-height:1.65;margin:0;font-weight:600;}.method-card picture,.method-card picture img{width:100%}.method-card img{width:100%;aspect-ratio:2.5/1;object-fit:cover;border-radius:4px;margin:6px 0 11px}.method-card>p{font-size:calc(11px + 2pt);line-height:1.8;min-height:59px;margin:0 8px 12px;}.method-card .card-link{width:100%;border-radius:4px}.reasons-section{background:linear-gradient(90deg,#fff8f5 0 42%,#fff 42%);padding-top:22px}.reasons-layout{display:grid;grid-template-columns:44% 56%;align-items:stretch}.owner-intro{position:relative;min-height:410px;padding:28px 28px 18px 8px;overflow:hidden}.owner-role{font-family:var(--serif);font-size:calc(13px + 2pt);margin:0 0 6px;}.owner-intro h2{font-family:var(--serif);font-weight:500;font-size:clamp(calc(24px + 2pt),calc(2.2vw + 2pt),calc(34px + 2pt));line-height:1.7;letter-spacing:.06em;margin:0;position:relative;z-index:2;}.owner-intro h2 em{font-style:normal;color:#b63a52}.owner-image{position:absolute;right:8px;bottom:0;width:230px;height:350px;overflow:hidden}.owner-image picture,.owner-image img{width:100%;height:100%}.owner-image img{object-fit:cover;object-position:center top}.owner-copy{position:absolute;left:8px;bottom:53px;width:230px;font-size:calc(10px + 2pt);line-height:1.85;z-index:3;margin:0;}.owner-link{position:absolute;left:8px;bottom:8px;border-radius:4px}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);align-content:center}.reason-card{min-height:196px;border:1px solid #eadbd6;margin:-1px 0 0 -1px;padding:23px 15px 15px;text-align:center;background:rgba(255,255,255,.94);display:flex;flex-direction:column;align-items:center}.reason-card>.ypr-icon{color:var(--pink-gold);width:37px;height:37px;margin-bottom:8px}.reason-card h3{font-family:var(--serif);font-size:calc(14px + 2pt);line-height:1.7;font-weight:600;margin:0 0 8px;}.reason-card p{font-size:calc(9.5px + 2pt);line-height:1.75;margin:0;flex:1;}.reason-card>a{display:inline-flex;align-items:center;gap:5px;border:1px solid #de7485;border-radius:3px;color:#c03d57;padding:5px 13px;font-size:calc(9px + 2pt);font-weight:700;margin-top:9px;}.reason-card>a .ypr-icon{width:11px;height:11px}.reason-card:nth-child(4){grid-column:1/2}.reason-card:nth-child(5){grid-column:2/4}.salon-section{padding-top:38px;padding-bottom:40px;background:#fff}.section-heading-row{position:relative}.section-heading-row .section-title{margin-bottom:28px}.text-link{position:absolute;right:0;top:6px;padding:7px 15px}.salon-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.salon-gallery>div{overflow:hidden;border-radius:5px}.salon-gallery picture,.salon-gallery img{width:100%;height:100%}.salon-gallery img{aspect-ratio:1.77/1;object-fit:cover;transition:transform .5s}.salon-gallery>div:hover img{transform:scale(1.025)}.salon-copy{text-align:center;font-family:var(--serif);font-size:calc(12px + 2pt);margin:16px 0 0;}.menu-section{background:#fff;padding-top:16px;padding-bottom:34px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.menu-card{position:relative;border:1px solid #eadbd6;border-radius:6px;padding:20px 20px 16px;background:#fff;box-shadow:0 5px 15px rgba(84,56,45,.025)}.popular-label{position:absolute;left:-1px;top:-24px;background:#caa355;color:#fff;font-size:calc(10px + 2pt);padding:5px 14px;border-radius:3px 3px 0 0;}.menu-card h3{font-family:var(--serif);font-size:calc(16px + 2pt);text-align:center;margin:0 0 10px;}.menu-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.menu-tags span{font-size:calc(9px + 2pt);background:#f7e8e1;padding:3px 8px;border-radius:2px;}.menu-card>p{font-size:calc(10px + 2pt);line-height:1.8;margin:11px 4px;}.menu-price{display:flex;align-items:center;justify-content:center;gap:13px;margin:12px 0 2px}.menu-price>small{width:58px;height:58px;border:1px solid #db6477;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#c53b55;font-size:calc(8.5px + 2pt);line-height:1.25;}.menu-price>small b{font-size:calc(11px + 2pt);}.menu-price>span{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.menu-price del{font-size:calc(8px + 2pt);color:#a78d84;}.menu-price strong{font-family:Georgia,serif;font-size:calc(27px + 2pt);font-weight:500;color:#4d2f28;}.menu-price span small{font-size:calc(8px + 2pt);}.menu-time{text-align:center!important;margin:1px 0 10px!important}.menu-card .card-link{width:100%;border-radius:3px}.menu-note{text-align:right;font-size:calc(8.5px + 2pt);color:#8c7770;}.voices-section{background:#fff;padding-top:20px;padding-bottom:42px}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.voice-card{border:1px solid #eadbd6;border-radius:6px;padding:15px;display:grid;grid-template-columns:67px 1fr;gap:13px;background:#fff}.voice-card>img{width:65px;height:65px}.voice-card h3{font-family:var(--serif);font-size:calc(13px + 2pt);margin:0 0 2px;}.voice-meta{font-size:calc(9px + 2pt)!important;color:#8a7168;margin:0!important;}.voice-card p{font-size:calc(9.5px + 2pt);line-height:1.7;margin:4px 0;}.voice-card a{color:#c43d57;font-size:calc(9px + 2pt);font-weight:700;display:inline-flex;align-items:center;gap:5px;}.voice-card a .ypr-icon{width:11px;height:11px}.disclaimer{text-align:right;font-size:calc(8px + 2pt);color:#8f7c75;margin:10px 0 0;}.latest-section{background:var(--ivory)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:var(--shadow)}.post-card-image{display:block;overflow:hidden}.post-card-image img{width:100%;aspect-ratio:1.55/1;object-fit:cover;transition:transform .4s}.post-card:hover .post-card-image img{transform:scale(1.025)}.post-card-body{padding:19px}.post-card-meta{display:flex;justify-content:space-between;gap:10px;font-size:calc(10px + 2pt);color:#8f746b;}.post-card-body h2,.post-card-body h3{font-family:var(--serif);font-size:calc(17px + 2pt);line-height:1.6;margin:9px 0;}.post-card-body p{font-size:calc(12px + 2pt);line-height:1.75;margin:0;}.final-cta{min-height:150px;background:linear-gradient(90deg,#f7ded8,#fff9f7 70%);display:grid;grid-template-columns:140px minmax(0,1fr) 210px;align-items:center;gap:24px;padding:18px max(24px,calc((100vw - 1120px)/2));overflow:hidden}.final-badge{width:110px;height:110px;border-radius:50%;background:#fff;border:1px solid #d8a972;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bb754c}.final-badge span{font-size:calc(11px + 2pt);}.final-badge strong{font-family:Georgia,serif;font-size:calc(34px + 2pt);font-weight:400;line-height:1.15;}.final-badge small{font-size:calc(14px + 2pt);}.final-copy h2{font-family:var(--serif);font-size:clamp(calc(22px + 2pt),calc(2.2vw + 2pt),calc(31px + 2pt));letter-spacing:.08em;font-weight:500;margin:0 0 14px;}.final-copy .booking-buttons{grid-template-columns:1.2fr 1fr;max-width:690px}.final-copy .btn{min-height:50px;font-size:calc(13px + 2pt);}.final-photo{height:150px;align-self:end}.final-photo picture,.final-photo img{width:100%;height:100%}.final-photo img{object-fit:cover;object-position:center top}.site-footer{background:#fff;padding:24px 24px 18px;border-top:1px solid #f0ded7}.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:210px 1.2fr 1.05fr 210px;gap:30px;align-items:start}.footer-brand img{width:185px}.footer-info{font-size:calc(9.5px + 2pt);line-height:1.75;}.footer-info strong{font-size:calc(10px + 2pt);}.footer-info p{margin:1px 0}.footer-menu,.footer-menu ul{list-style:none;padding:0;margin:0}.footer-menu{columns:2;column-gap:24px}.footer-menu li{break-inside:avoid}.footer-menu a{display:block;font-size:calc(10px + 2pt);font-weight:700;padding:3px 0;}.footer-actions{display:grid;gap:7px}.footer-actions>a{min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:4px;font-size:calc(10px + 2pt);font-weight:700;}.footer-line{background:#35b84b;color:#fff}.footer-hpb{border:1px solid #d94f69;color:#bc3150}.footer-actions .ypr-icon{width:16px;height:16px}.social-links{display:flex;gap:10px;justify-content:center}.social-links a{font-size:calc(9px + 2pt);text-decoration:underline;}.footer-legal{max-width:1180px;margin:16px auto 0;padding-top:12px;border-top:1px solid #eee1dc;display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:calc(8px + 2pt);color:#8c756d;}.footer-legal p{margin-left:auto}.mobile-fixed-cta{display:none}.mobile-drawer{position:fixed;right:0;top:0;bottom:0;width:min(88vw,390px);background:#fff;z-index:2100;padding:18px;transform:translateX(105%);transition:.28s;overflow-y:auto}.drawer-backdrop{position:fixed;inset:0;background:rgba(45,29,24,.42);z-index:2050;opacity:0;visibility:hidden;transition:.25s}.drawer-open .mobile-drawer{transform:translateX(0)}.drawer-open .drawer-backdrop{opacity:1;visibility:visible}.drawer-open{overflow:hidden}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.drawer-head>img{width:165px}.drawer-close{border:0;background:none;width:42px;height:42px;padding:9px}.drawer-booking{margin:18px 0}.drawer-booking .btn{min-height:48px;font-size:calc(12px + 2pt);}.mobile-menu,.mobile-menu ul{list-style:none;padding:0;margin:0}.mobile-menu>li{border-bottom:1px solid var(--line)}.mobile-menu a{display:block;padding:13px 5px;font-family:var(--serif);font-weight:600}.mobile-menu .sub-menu{padding-left:15px;padding-bottom:9px}.mobile-menu .sub-menu a{font-family:var(--sans);font-size:calc(12px + 2pt);padding:7px;}.drawer-search{display:flex;margin-top:20px;border:1px solid var(--line);border-radius:5px}.drawer-search label{flex:1}.drawer-search input{width:100%;border:0;padding:11px;background:transparent}.drawer-search button{border:0;background:transparent;padding:10px 13px}.page-hero,.article-hero{background:linear-gradient(135deg,#fff,#f8e9e4);padding:75px 24px 58px;text-align:center}.page-hero h1,.article-hero h1{font-family:var(--serif);font-size:clamp(calc(33px + 2pt),calc(4vw + 2pt),calc(52px + 2pt));font-weight:500;line-height:1.45;letter-spacing:.06em;margin:0 0 14px;}.page-hero>p:last-child,.archive-description{max-width:720px;margin:0 auto;color:var(--brown-2)}.content-wrap{max-width:850px;margin:auto;padding:45px 24px 95px}.content-wrap.wide{max-width:1180px}.breadcrumbs{font-size:calc(10px + 2pt);color:#8c7972;margin-bottom:26px;}.breadcrumbs ol{list-style:none;display:flex;gap:7px;flex-wrap:wrap;padding:0;margin:0}.breadcrumbs li+li::before{content:"/";margin-right:7px;color:#c8b4ac}.rose-content{font-size:calc(16px + 2pt);}.inner-page .rose-content{background:#fff;border:1px solid #f0e1dc;border-radius:8px;padding:clamp(27px,5vw,62px);box-shadow:var(--shadow)}.rose-content h2{font-family:var(--serif);font-size:clamp(calc(25px + 2pt),calc(3vw + 2pt),calc(35px + 2pt));font-weight:500;border-bottom:1px solid #dfc5bb;padding-bottom:13px;margin:2.2em 0 1em;}.rose-content h3{font-family:var(--serif);font-size:clamp(calc(20px + 2pt),calc(2.3vw + 2pt),calc(27px + 2pt));font-weight:500;border-left:3px solid var(--pink-gold);padding-left:13px;margin:2em 0 .8em;}.rose-content p{margin:1.25em 0}.rose-content a{text-decoration:underline;text-decoration-color:#d9aeb3;text-underline-offset:4px}.rose-content blockquote{background:#fdf7f3;border-left:3px solid var(--champagne);margin:2em 0;padding:18px 24px}.rose-content table{width:100%;border-collapse:collapse;display:block;overflow:auto}.rose-content th,.rose-content td{border:1px solid var(--line);padding:12px}.rose-content th{background:#f7ece7}.article-hero-inner{max-width:980px;margin:auto}.article-category{display:inline-block;border:1px solid #d77d87;color:#bd3853;border-radius:999px;padding:4px 14px;font-size:calc(11px + 2pt);margin-bottom:12px;}.article-meta{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:calc(11px + 2pt);color:#826c64;}.article-layout{display:grid;grid-template-columns:minmax(0,790px) 300px;gap:38px;align-items:start}.article-main{min-width:0}.article-featured img{width:100%;border-radius:8px}.article-answer{background:#fff8f4;border:1px solid #e6bdb2;border-radius:8px;padding:22px 25px;margin:26px 0}.article-answer strong{font-family:var(--serif);font-size:calc(20px + 2pt);}.article-answer p{margin:7px 0 0}.article-main .rose-content{box-shadow:none;padding:0;background:transparent;border:0}.article-sources,.article-author{background:#fff;border:1px solid var(--line);padding:22px;margin-top:38px;border-radius:7px}.article-sources h2,.article-author h2{font-family:var(--serif);font-size:calc(22px + 2pt);margin:0 0 12px;}.article-sources li{margin:6px 0;font-size:calc(13px + 2pt);}.article-sources a{text-decoration:underline}.article-author p{margin:4px 0;font-size:calc(13px + 2pt);}.article-cta{background:linear-gradient(135deg,#f5ded8,#fff);padding:34px;border-radius:9px;margin-top:34px;text-align:center}.article-cta h2{font-family:var(--serif);font-weight:500;margin-top:0}.article-cta .booking-buttons{margin:20px auto 0}.related-posts{margin-top:55px}.related-posts>h2{font-family:var(--serif);text-align:center}.article-sidebar{position:sticky;top:120px}.sidebar-booking{background:#fff;border:1px solid #e5c8c0;padding:22px;border-radius:8px;text-align:center}.sidebar-booking h2{font-family:var(--serif);color:#b84658;font-size:calc(28px + 2pt);margin:0;}.sidebar-booking p{font-size:calc(12px + 2pt);}.sidebar-buttons .btn{font-size:calc(11px + 2pt);min-height:46px;}.widget{background:#fff;padding:20px;border:1px solid var(--line);margin-top:17px;border-radius:7px}.widget-title{font-family:var(--serif);font-size:calc(20px + 2pt);}.widget ul{padding-left:18px}.category-hubs{margin-bottom:45px}.category-hubs>h2{font-family:var(--serif);text-align:center;font-weight:500}.category-hub-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.category-hub-grid a{border:1px solid var(--line);background:#fff;border-radius:6px;padding:15px;display:flex;flex-direction:column;min-height:120px}.category-hub-grid strong{font-family:var(--serif);font-size:calc(14px + 2pt);}.category-hub-grid span{font-size:calc(9px + 2pt);line-height:1.6;margin-top:6px;}.category-hub-grid small{margin-top:auto;color:#b13c55}.archive-grid{margin-top:22px}.navigation.pagination{margin-top:45px}.nav-links{display:flex;justify-content:center;gap:7px}.page-numbers{min-width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;background:#fff}.page-numbers.current{background:var(--rose);color:#fff}.large-search{display:flex;max-width:700px;margin:0 auto 38px}.large-search input{flex:1;border:1px solid var(--line);padding:14px}.large-search button{border:0;background:var(--rose);color:#fff;padding:0 26px}.not-found{text-align:center}.not-found-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.not-found-links a{border:1px solid var(--pink-gold);padding:11px 19px;border-radius:999px;background:#fff}.comments-area{margin-top:50px}
@media(max-width:1250px){.header-tagline{display:none}.brand-wrap{min-width:190px}.primary-menu{gap:17px}.primary-menu>li>a{font-size:calc(11px + 2pt);}.header-inner{gap:15px}.hero-copy{padding-left:40px}.desktop-nav{margin-left:auto}.reason-card{padding-left:10px;padding-right:10px}}
@media(max-width:1080px){.desktop-nav{display:none}.nav-toggle{display:block;margin-left:auto}.header-actions{margin-left:auto}.brand-wrap{min-width:0}.hero{grid-template-columns:46% 54%}.hero-copy{padding:55px 25px 40px}.reasons-layout{grid-template-columns:46% 54%}.footer-inner{grid-template-columns:190px 1fr 1fr}.footer-actions{grid-column:3}.footer-nav{grid-column:2}.mobile-drawer,.drawer-backdrop{display:block}.category-hub-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){:root{--header:74px}.header-inner{padding:0 16px}.brand{width:154px;flex-basis:154px}.header-actions .header-hpb,.header-actions .header-search{display:none}.header-cta{height:45px;padding:0 10px}.hero{display:flex;flex-direction:column-reverse;min-height:auto}.hero-visual{height:470px}.hero-visual img{object-position:center center}.hero-copy{padding:43px 28px 50px;background:linear-gradient(#fff,#fff9f5)}.hero-copy h1{font-size:clamp(calc(40px + 2pt),calc(8.5vw + 2pt),calc(60px + 2pt));}.hero-lead{font-size:calc(14px + 2pt);}.concern-grid{grid-template-columns:repeat(2,1fr)}.concern-card:nth-child(2){border-right:0}.concern-card:nth-child(-n/**/+2){border-bottom:1px solid #f0e4df}.concern-message{grid-template-columns:1fr;text-align:center;gap:10px;padding:18px}.method-grid{grid-template-columns:1fr}.method-card{display:grid;grid-template-columns:210px 1fr;gap:14px;align-items:center}.method-head{grid-column:1/3}.method-card picture{grid-row:2/5}.method-card img{margin:0}.method-card>p{min-height:0}.reasons-layout{grid-template-columns:1fr}.owner-intro{max-width:620px;width:100%;margin:auto;min-height:450px}.reason-grid{grid-template-columns:repeat(2,1fr)}.reason-card:nth-child(4),.reason-card:nth-child(5){grid-column:auto}.salon-gallery{grid-template-columns:repeat(2,1fr)}.menu-grid,.voice-grid,.post-grid{grid-template-columns:1fr}.menu-card{max-width:680px;width:100%;margin:auto}.final-cta{grid-template-columns:120px 1fr}.final-photo{display:none}.footer-inner{grid-template-columns:190px 1fr}.footer-actions{grid-column:2}.footer-nav{grid-column:2}.footer-info{grid-column:2}.footer-brand{grid-row:1/3}.article-layout{grid-template-columns:1fr}.article-sidebar{position:static}.section-heading-row{padding-bottom:38px}.text-link{right:auto;top:auto;bottom:0;left:50%;transform:translateX(-50%)}.category-hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{padding-bottom:64px}.site-header{height:64px}.header-inner{padding:0 12px}.brand{width:135px;flex-basis:135px}.header-actions{display:none}.nav-toggle{width:42px;height:42px}.hero-visual{height:355px}.hero-copy{padding:33px 20px 39px}.hero-copy h1{font-size:calc(38px + 2pt);letter-spacing:.07em;line-height:1.5;}.hero-lead{font-size:calc(13px + 2pt);line-height:1.9;}.hero-features{gap:5px;margin-bottom:22px}.hero-features li{font-size:calc(9px + 2pt);min-height:70px;}.hero-features .ypr-icon{font-size:21px}.btn{min-height:52px;font-size:calc(13px + 2pt);padding:9px 18px;}.section{padding:56px 16px}.section-title{margin-bottom:31px}.concerns-section{padding-top:38px}.concern-grid{grid-template-columns:1fr}.concern-card{border-right:0;border-bottom:1px solid #f0e4df;padding:8px 16px}.concern-card:last-child{border-bottom:0}.concern-card p{font-size:calc(11px + 2pt);padding:8px 0;}.method-card{display:block}.method-head{display:flex}.method-card img{margin:8px 0 12px}.reasons-section{background:linear-gradient(#fff8f5 0 470px,#fff 470px)}.owner-intro{min-height:455px;padding:15px 0}.owner-intro h2{font-size:calc(25px + 2pt);}.owner-image{right:-8px;width:205px;height:330px}.owner-copy{width:195px;bottom:52px;font-size:calc(9px + 2pt);}.owner-link{left:0}.reason-grid{grid-template-columns:1fr}.reason-card{min-height:auto}.salon-gallery{gap:5px}.salon-copy{font-size:calc(11px + 2pt);}.menu-card{padding:18px 15px}.menu-price strong{font-size:calc(25px + 2pt);}.voice-card{grid-template-columns:58px 1fr;padding:13px}.voice-card>img{width:55px;height:55px}.final-cta{grid-template-columns:88px 1fr;padding:22px 15px;gap:13px}.final-badge{width:82px;height:82px}.final-badge strong{font-size:calc(25px + 2pt);}.final-copy h2{font-size:calc(19px + 2pt);}.final-copy .booking-buttons{display:flex;flex-direction:column}.final-copy .btn{min-height:43px;font-size:calc(11px + 2pt);}.footer-inner{grid-template-columns:1fr}.footer-brand,.footer-info,.footer-nav,.footer-actions{grid-column:auto;grid-row:auto}.footer-menu{columns:2}.footer-legal{flex-direction:column;align-items:flex-start}.footer-legal p{margin-left:0}.mobile-fixed-cta{position:fixed;left:0;right:0;bottom:0;height:64px;display:grid;grid-template-columns:1.45fr 1fr;z-index:1800;padding-bottom:env(safe-area-inset-bottom);background:#fff;box-shadow:0 -4px 22px rgba(73,45,36,.15)}.mobile-fixed-cta a{display:flex;align-items:center;justify-content:center;gap:6px;font-size:calc(11px + 2pt);font-weight:700;}.mobile-fixed-cta a:first-child{background:#3dbd4f;color:#fff}.mobile-fixed-cta a:last-child{color:#b42d4d;border-top:1px solid #d86478}.mobile-fixed-cta .ypr-icon{width:17px;height:17px}.page-hero,.article-hero{padding:52px 18px 43px}.content-wrap{padding:35px 15px 75px}.inner-page .rose-content{padding:27px 18px}.article-cta{padding:26px 16px}.article-meta{flex-direction:column;gap:2px}.post-card-body{padding:16px}.section-heading-row{margin-bottom:33px}.section-heading-row .section-title{font-size:calc(27px + 2pt);}.text-link{font-size:calc(9px + 2pt);padding:7px 12px;}.large-search{flex-direction:column}.large-search button{min-height:45px}.not-found-links{flex-direction:column}.not-found-links a{width:100%}.category-hub-grid{grid-template-columns:1fr}.article-answer{padding:18px}.article-sources,.article-author{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ========================================================================== 
   YOSAPARK Rose v3 – approved elegant homepage design
   ========================================================================== */
:root{
  --ivory:#fbf8f4;
  --white:#ffffff;
  --rose-beige:#ead6cf;
  --rose-pale:#f8ece8;
  --pink-gold:#cf8170;
  --champagne:#c7a66a;
  --rose:#c83c58;
  --rose-dark:#a82f48;
  --brown:#43291f;
  --brown-2:#664b42;
  --muted:#806c65;
  --line:#eadcd7;
  --line-strong:#dca69a;
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Times New Roman",serif;
  --sans:var(--serif);
  --content:1180px;
  --header:78px;
  --radius:7px;
}
html{font-size:calc(16px + 2pt);}
body,button,input,textarea,select{font-family:var(--serif)}
body{color:var(--brown);font-weight:500;letter-spacing:.025em;line-height:1.95}
strong,b{font-weight:700}
.site-header{height:var(--header);background:rgba(255,255,255,.98)}
.header-inner{max-width:1450px;padding:0 24px;gap:20px}
.brand-wrap{min-width:auto;flex:0 0 auto}
.brand{width:174px;flex-basis:174px}
.primary-menu{gap:30px}
.primary-menu>li>a{padding:28px 0 25px;font-size:calc(12px + 2pt);font-weight:700;letter-spacing:.045em;}
.primary-menu>li>a::after{bottom:17px}
.primary-menu .sub-menu{top:60px}
.header-actions{gap:10px}
.header-cta{height:48px;border-radius:5px;padding:0 14px;font-size:calc(11px + 2pt);letter-spacing:.03em;}
.header-search{width:34px;height:40px}
.hero{max-width:1536px;min-height:580px;grid-template-columns:43% 57%;background:linear-gradient(105deg,#fffaf6,#fff 54%,#faf7f4)}
.hero-copy{padding:55px 30px 42px max(54px,calc((100vw - 1370px)/2))}
.hero-copy h1{font-size:clamp(calc(50px + 2pt),calc(4.15vw + 2pt),calc(67px + 2pt));line-height:1.38;letter-spacing:.105em;}



.hero-lead{font-size:calc(14px + 2pt);line-height:2.1;letter-spacing:.055em;margin-bottom:21px;max-width:485px;}
.hero-features{max-width:510px;gap:9px;margin-bottom:20px}
.hero-features li{min-height:73px;border-color:#eee2de;background:rgba(255,255,255,.92);font-size:calc(10px + 2pt);border-radius:6px;box-shadow:0 6px 18px rgba(75,42,31,.035);}
.hero-features .ypr-icon{font-size:24px;color:#d17862}
.hero-booking{max-width:530px;gap:11px}
.hero-booking .btn{min-height:54px;font-size:calc(14px + 2pt);}
.hero-visual{position:relative}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,243,.13),transparent 35%);pointer-events:none}
.hero-image{object-position:50% 52%}
.rose-home .section{padding:55px 24px}
.rose-home .section-inner.wide{max-width:1210px}
.rose-home .section-title{font-size:clamp(calc(27px + 2pt),calc(2.2vw + 2pt),calc(35px + 2pt));letter-spacing:.075em;margin-bottom:35px;}
.rose-home .section-title.small{font-size:clamp(calc(22px + 2pt),calc(1.8vw + 2pt),calc(28px + 2pt));}
.rose-home .section-title::after{width:64px;margin-top:10px}
.concerns-section{margin-top:-18px;border-radius:48% 48% 0 0/22px 22px 0 0;padding-top:47px!important}
.concern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border:0;background:transparent;box-shadow:none;overflow:visible}
.concern-item{position:relative;display:grid;grid-template-columns:76px 1fr;align-items:center;gap:14px;min-height:112px;padding:13px 38px 13px 14px;background:#fff;border:1px solid #eee1dc;border-radius:6px;box-shadow:0 5px 18px rgba(75,45,34,.025)}
.concern-photo{width:76px;height:76px;border-radius:50%;overflow:hidden;background:#f7f2ef}
.concern-photo picture,.concern-photo img{width:100%;height:100%}
.concern-photo img{object-fit:cover;border-radius:50%}
.concern-text h3{font-size:calc(14px + 2pt);line-height:1.65;margin:0 0 5px;font-weight:700;letter-spacing:.025em;}
.concern-text p{font-size:calc(10px + 2pt);line-height:1.75;margin:0;color:#6d574f;}
.concern-check{position:absolute;right:14px;top:12px;color:#d77961}
.concern-check .ypr-icon{width:20px;height:20px}
.concern-message{margin-top:12px;min-height:60px;grid-template-columns:1.35fr 1.1fr auto;background:linear-gradient(90deg,#fff5f2,#fff,#fff7f4);padding:10px 22px;border-color:#efd7d0}
.concern-message strong{font-size:calc(14px + 2pt);}
.concern-message span{font-size:calc(10px + 2pt);line-height:1.65;}
.concern-message a{padding:7px 18px}
.method-section{padding-top:10px!important}
.ornament-title::before,.ornament-title::after{content:"";display:inline-block;width:19%;height:1px;vertical-align:middle;margin:0 18px;background:linear-gradient(90deg,transparent,#d7a391)}
.ornament-title::after{background:linear-gradient(90deg,#d7a391,transparent)}
.method-grid{gap:14px}
.method-card{padding:13px 14px 16px;border-color:#eaded9;box-shadow:0 7px 20px rgba(74,42,31,.035)}
.method-head{min-height:58px}
.method-head>span{font-size:calc(27px + 2pt);color:#b64956;border-right-color:#e0bcb1;}
.method-head h3{font-size:calc(14px + 2pt);line-height:1.55;}
.method-card img{aspect-ratio:2.55/1;border-radius:4px}
.method-card>p{font-size:calc(10.5px + 2pt);line-height:1.9;min-height:63px;text-align:center;margin:0 12px 12px;}
.card-link,.text-link,.concern-message a{font-family:var(--serif);letter-spacing:.045em}
.reasons-section{padding-top:8px!important;padding-bottom:28px!important;background:linear-gradient(90deg,#fff8f5 0 43%,#fff 43%)}
.reasons-layout{grid-template-columns:47% 53%;gap:0}
.owner-intro{min-height:430px;padding:24px 0 0;display:grid;grid-template-columns:52% 48%;overflow:hidden}
.owner-copy-wrap{position:relative;z-index:2;padding:12px 12px 18px 4px}
.owner-role{font-size:calc(14px + 2pt);letter-spacing:.07em;}
.owner-intro h2{font-size:clamp(calc(24px + 2pt),calc(2.1vw + 2pt),calc(32px + 2pt));line-height:1.7;margin:8px 0 15px;}
.owner-intro h2 em{color:#b83950}
.owner-copy{position:static;width:auto;font-size:calc(11px + 2pt);line-height:2;margin:0 0 19px;}
.owner-link{position:static;display:inline-flex}
.owner-image{position:relative;right:auto;bottom:auto;width:100%;height:100%;min-height:410px;align-self:end}
.owner-image picture,.owner-image img{width:100%;height:100%}
.owner-image img{object-fit:contain;object-position:center bottom}
.reason-grid{grid-template-columns:repeat(3,1fr);align-content:stretch;border-top:1px solid #eaded9;border-left:1px solid #eaded9}
.reason-card{min-height:203px;border:0;border-right:1px solid #eaded9;border-bottom:1px solid #eaded9;padding:22px 13px 15px}
.reason-card:nth-child(4),.reason-card:nth-child(5){grid-column:auto}
.reason-card:nth-child(4){grid-column:1/2}
.reason-card:nth-child(5){grid-column:2/4}
.reason-card>.ypr-icon{color:#d3765f;width:32px;height:32px}
.reason-card h3{font-size:calc(14px + 2pt);line-height:1.65;margin:8px 0;}
.reason-card p{font-size:calc(9.5px + 2pt);line-height:1.75;min-height:48px;}
.reason-card a{font-size:calc(9px + 2pt);padding:6px 10px;}
.voices-section{padding-top:38px!important;background:#fff}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.voice-card{display:grid;grid-template-columns:80px 1fr;gap:15px;align-items:start;padding:22px 18px;border:1px solid #eaded9;border-radius:7px;background:#fff;box-shadow:0 7px 21px rgba(70,40,31,.035)}
.voice-avatar{width:74px;height:74px;border-radius:50%;overflow:hidden;background:#f8efeb}
.voice-avatar img{width:100%;height:100%;object-fit:cover}
.voice-meta{font-size:calc(10px + 2pt);margin:0 0 4px;color:#745e56;}
.voice-content h3{font-size:calc(16px + 2pt);line-height:1.65;color:#c13e56;margin:0 0 7px;font-weight:600;}
.voice-content>p:not(.voice-meta){font-size:calc(10px + 2pt);line-height:1.85;margin:0 0 12px;}
.voice-card .card-link{width:100%;padding:7px 10px}
.disclaimer{font-size:calc(9px + 2pt);text-align:center;color:#806b64;margin:16px 0 0;}
.faq-section{background:#fffaf7;padding-top:42px!important}
.faq-list{border:1px solid #eaded9;border-radius:7px;background:#fff;overflow:hidden}
.faq-item{border-bottom:1px solid #eaded9}
.faq-item:last-child{border-bottom:0}
.faq-item summary{position:relative;display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:10px;min-height:57px;padding:12px 17px;cursor:pointer;list-style:none;font-size:calc(12px + 2pt);font-weight:700;}
.faq-item summary::-webkit-details-marker{display:none}
.faq-letter{font-family:Georgia,serif;font-size:calc(19px + 2pt);color:#c83c58;}
.faq-toggle{width:10px;height:10px;border-right:1px solid #c83c58;border-bottom:1px solid #c83c58;transform:rotate(45deg);transition:transform .2s}
.faq-item[open] .faq-toggle{transform:rotate(225deg)}
.faq-answer{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:0 17px 17px 17px;color:#6c574f}
.faq-answer-text{font-size:calc(10.5px + 2pt);line-height:1.9;margin:0;}
.faq-answer-text p{margin:0}
.section-action{display:flex;justify-content:center;margin-top:22px}
.section-action.align-right{justify-content:flex-end}
.large-link{min-width:260px;padding:9px 22px}
.latest-section{background:#fff;padding-top:44px!important;padding-bottom:60px!important}
.home-post-grid{grid-template-columns:repeat(3,1fr);gap:17px}
.home-post-grid .post-card{border:1px solid #eaded9;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 7px 22px rgba(70,40,31,.03)}
.home-post-grid .post-card-image{display:block;aspect-ratio:1.65/1;overflow:hidden;background:#f7f1ee}
.home-post-grid .post-card-image picture,.home-post-grid .post-card-image img{width:100%;height:100%}
.home-post-grid .post-card-image img{object-fit:cover;transition:transform .35s}
.home-post-grid .post-card:hover .post-card-image img{transform:scale(1.025)}
.home-post-grid .post-card-body{padding:17px 18px 19px}
.home-post-grid .post-card-meta{font-size:calc(9px + 2pt);color:#8b6e63;margin-bottom:8px;}
.home-post-grid .post-card-meta span{display:inline-block;background:#f7ece8;padding:3px 8px}
.home-post-grid h2,.home-post-grid h3{font-size:calc(16px + 2pt);line-height:1.65;margin:0 0 10px;font-weight:600;}
.home-post-grid .post-card-body>p{font-size:calc(10px + 2pt);line-height:1.9;margin:0 0 13px;color:#6e5951;}
.post-read{display:inline-flex;align-items:center;gap:6px;color:#c54059;font-size:calc(10px + 2pt);font-weight:700;}
.post-read .ypr-icon{width:13px;height:13px}
.final-cta{min-height:190px;grid-template-columns:150px minmax(0,1fr);padding:26px max(28px,calc((100vw - 1050px)/2));background:linear-gradient(90deg,#f7e8e2,#fff8f5 62%,#f5e7e1)}
.final-badge{width:112px;height:112px;background:rgba(255,255,255,.82)}
.final-copy h2{font-size:clamp(calc(25px + 2pt),calc(2vw + 2pt),calc(34px + 2pt));letter-spacing:.08em;margin-bottom:14px;}
.final-copy .booking-buttons{grid-template-columns:1fr 1fr;max-width:700px}
.final-copy .btn{min-height:52px;font-size:calc(13px + 2pt);}
.final-photo{align-self:stretch;overflow:hidden}
.final-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.site-footer{font-family:var(--serif)}
.footer-inner{max-width:1260px}
.footer-info,.footer-nav,.footer-actions{font-size:calc(10px + 2pt);}
.footer-menu a{font-size:calc(10px + 2pt);}
.footer-line,.footer-hpb{font-size:calc(10px + 2pt);}
.rose-content,.article-content,.inner-page{font-family:var(--serif)}

@media(max-width:1180px){
  .header-inner{gap:14px;padding:0 16px}.brand{width:150px;flex-basis:150px}.primary-menu{gap:18px}.primary-menu>li>a{font-size:calc(11px + 2pt);}.header-cta{padding:0 10px}.hero{grid-template-columns:45% 55%}.hero-copy{padding-left:34px}.hero-copy h1{font-size:calc(50px + 2pt);}.concern-item{grid-template-columns:64px 1fr;padding-right:30px}.concern-photo{width:64px;height:64px}.concern-text h3{font-size:calc(12px + 2pt);}.ornament-title::before,.ornament-title::after{width:13%}.reason-card p{min-height:62px}
}
@media(max-width:980px){
  :root{--header:70px}.desktop-nav{display:none}.header-actions .header-search,.header-actions .header-hpb{display:none}.header-cta{height:45px}.nav-toggle{display:block;margin-left:4px}.brand{width:155px;flex-basis:155px}.header-inner{justify-content:space-between}.hero{display:grid;grid-template-columns:1fr;min-height:auto}.hero-visual{height:520px;grid-row:1}.hero-copy{grid-row:2;padding:45px 30px 52px;background:linear-gradient(#fff,#fffaf6)}.hero-copy h1{font-size:clamp(calc(42px + 2pt),calc(7vw + 2pt),calc(58px + 2pt));}.hero-lead{max-width:600px}.hero-features,.hero-booking{max-width:640px}.concern-grid{grid-template-columns:repeat(2,1fr)}.concern-message{grid-template-columns:1fr;text-align:center;gap:8px}.method-grid{grid-template-columns:1fr}.method-card{display:grid;grid-template-columns:250px 1fr;column-gap:20px}.method-head{grid-column:1/3}.method-card picture{grid-row:2/5}.method-card img{margin:0}.method-card>p{text-align:left;min-height:auto}.reasons-section{background:linear-gradient(#fff8f5 0 530px,#fff 530px)}.reasons-layout{grid-template-columns:1fr}.owner-intro{max-width:760px;margin:auto;min-height:475px}.reason-grid{grid-template-columns:repeat(3,1fr)}.voice-grid,.home-post-grid{grid-template-columns:1fr}.voice-card{max-width:760px;width:100%;margin:auto;grid-template-columns:92px 1fr}.final-cta{grid-template-columns:120px 1fr}.final-photo{display:none}.final-copy .booking-buttons{max-width:100%}
}
@media(max-width:640px){
  body{font-size:calc(15px + 2pt);letter-spacing:.02em;}.site-header{height:64px}.header-inner{padding:0 12px}.brand{width:139px;flex-basis:139px}.header-actions{display:none}.hero-visual{height:350px}.hero-image{object-position:52% center}.hero-copy{padding:31px 20px 42px}.hero-copy h1{font-size:calc(37px + 2pt);line-height:1.46;}.hero-lead{font-size:calc(12.5px + 2pt);line-height:2;}.hero-features{gap:5px;margin-bottom:20px}.hero-features li{min-height:67px;font-size:calc(8.7px + 2pt);}.hero-booking .btn{min-height:51px;font-size:calc(12px + 2pt);}.rose-home .section{padding:49px 15px}.rose-home .section-title{font-size:calc(26px + 2pt);margin-bottom:28px;}.concerns-section{padding-top:37px!important}.concern-grid{grid-template-columns:1fr;gap:8px}.concern-item{grid-template-columns:64px 1fr;min-height:98px;padding:11px 35px 11px 11px}.concern-text h3{font-size:calc(12.5px + 2pt);}.concern-text p{font-size:calc(9px + 2pt);}.concern-message{padding:15px 13px}.concern-message strong{font-size:calc(12px + 2pt);}.ornament-title::before,.ornament-title::after{display:none}.method-card{display:block}.method-head{display:flex}.method-card img{margin:5px 0 10px}.method-card>p{text-align:center;font-size:calc(10px + 2pt);}.reasons-section{background:linear-gradient(#fff8f5 0 510px,#fff 510px)}.owner-intro{grid-template-columns:56% 44%;min-height:425px;padding-top:8px}.owner-copy-wrap{padding-left:0}.owner-role{font-size:calc(11px + 2pt);}.owner-intro h2{font-size:calc(22px + 2pt);line-height:1.7;}.owner-copy{font-size:calc(9px + 2pt);line-height:1.9;}.owner-image{min-height:395px}.reason-grid{grid-template-columns:repeat(2,1fr)}.reason-card{min-height:185px;padding:18px 10px 13px}.reason-card:nth-child(4),.reason-card:nth-child(5){grid-column:auto}.reason-card:nth-child(5){grid-column:1/3}.reason-card h3{font-size:calc(12px + 2pt);}.reason-card p{font-size:calc(8.5px + 2pt);min-height:48px;}.voice-card{grid-template-columns:62px 1fr;padding:15px 13px}.voice-avatar{width:60px;height:60px}.voice-content h3{font-size:calc(14px + 2pt);}.voice-content>p:not(.voice-meta){font-size:calc(9.5px + 2pt);}.faq-item summary{grid-template-columns:27px 1fr 18px;font-size:calc(11px + 2pt);padding:11px 12px;}.faq-answer{grid-template-columns:27px 1fr;padding:0 12px 14px}.faq-answer-text{font-size:calc(9.5px + 2pt);}.large-link{min-width:220px}.home-post-grid .post-card-body{padding:15px}.home-post-grid h2,.home-post-grid h3{font-size:calc(15px + 2pt);}.final-cta{grid-template-columns:88px 1fr;padding:20px 14px;gap:12px}.final-badge{width:82px;height:82px}.final-copy h2{font-size:calc(19px + 2pt);}.final-copy .booking-buttons{grid-template-columns:1fr}.final-copy .btn{min-height:43px;font-size:calc(10px + 2pt);}.site-footer{padding-bottom:68px}
}

/* =========================================================
   First visit page — supplied approved design
   ========================================================= */
.first-page{--first-rose:#b76e79;--first-beige:#d8b7ad;--first-gold:#c9a86a;--first-ivory:#f7f2ea;--first-brown:#3c2d29;--first-muted:#6f625e;--first-line:#e8d8d1;font-family:var(--serif);color:var(--first-brown);background:#fff;overflow:hidden}
.first-page h1,.first-page h2,.first-page h3,.first-page p,.first-page li,.first-page a,.first-page dt,.first-page dd,.first-page summary{font-family:var(--serif)}
.first-hero{position:relative;min-height:470px;display:flex;align-items:flex-end;isolation:isolate;background:#5b372d;overflow:hidden}
.first-hero-media,.first-hero-media picture,.first-hero-media img{position:absolute;inset:0;width:100%;height:100%}
.first-hero-media img{object-fit:cover;object-position:center 41%}
.first-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(55,30,22,.73) 0%,rgba(55,30,22,.48) 34%,rgba(55,30,22,.08) 62%,rgba(255,255,255,0) 100%);z-index:1}
.first-hero-content{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:0 0 68px;color:#fff}
.first-en{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(calc(42px + 2pt),calc(5.2vw + 2pt),calc(72px + 2pt));letter-spacing:.055em;line-height:1;margin:0 0 11px;font-weight:400;text-shadow:0 2px 12px rgba(0,0,0,.16);}
.first-hero h1{font-size:calc(15px + 2pt);letter-spacing:.16em;font-weight:500;margin:0 0 18px;color:#fff;}
.first-hero-copy{font-size:clamp(calc(18px + 2pt),calc(2vw + 2pt),calc(25px + 2pt));line-height:1.9;letter-spacing:.06em;margin:0;font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.18);}
.first-breadcrumb-wrap{max-width:1180px;margin:0 auto;padding:18px 24px 0}.first-breadcrumb-wrap .breadcrumbs{margin:0;font-size:calc(11px + 2pt);}
.first-section{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:108px 0}
.first-section-heading{text-align:center;margin:0 0 52px}
.first-section-heading>p,.first-label{font-family:Georgia,"Times New Roman",serif!important;color:#9f6e68;font-size:calc(15px + 2pt);letter-spacing:.18em;margin:0 0 6px;}
.first-section-heading h2{font-size:calc(14px + 2pt);letter-spacing:.14em;font-weight:500;margin:0;color:var(--first-brown);}
.first-guide{padding-top:64px}
.first-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;max-width:940px;margin:0 auto}
.first-guide-card{border:1px solid var(--first-line);background:#fff;min-width:0;transition:transform .25s ease,box-shadow .25s ease}
.first-guide-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(79,48,39,.08)}
.first-guide-card picture,.first-guide-card img{display:block;width:100%;aspect-ratio:16/9;height:auto}
.first-guide-card img{object-fit:cover}
.first-guide-card>div{padding:23px 25px 24px}
.first-guide-card h3{text-align:center;font-size:calc(17px + 2pt);letter-spacing:.08em;margin:0 0 17px;font-weight:500;}
.first-guide-card ul{margin:0 0 18px;padding:0;list-style:none;color:var(--first-muted);font-size:calc(12px + 2pt);line-height:2;}
.first-guide-card li::before{content:"・";color:var(--first-rose)}
.first-guide-card a{display:flex;align-items:center;justify-content:center;gap:7px;color:#b55466;font-size:calc(12px + 2pt);letter-spacing:.06em;}
.first-guide-card a .ypr-icon{width:13px;height:13px}
.first-welcome{display:grid;grid-template-columns:1fr 1.15fr;gap:82px;align-items:center;padding-top:38px;padding-bottom:82px;max-width:1000px}
.first-welcome-title .first-label{text-align:center;font-size:calc(12px + 2pt);margin-bottom:24px;}
.first-welcome-title h2{font-size:clamp(calc(25px + 2pt),calc(2.4vw + 2pt),calc(34px + 2pt));line-height:1.9;letter-spacing:.08em;font-weight:500;margin:0;}
.first-welcome-text{font-size:calc(14px + 2pt);line-height:2.15;color:var(--first-muted);}
.first-welcome-text p{margin:0 0 15px}.first-welcome-text strong{display:block;color:#c55366;font-size:calc(16px + 2pt);letter-spacing:.05em;margin-top:20px;font-weight:600;}
.first-menu{padding-top:48px}
.first-menu-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:stretch}
.first-menu-card{border:1px solid var(--first-line);background:#fff;min-width:0;display:flex;flex-direction:column}
.first-menu-card picture,.first-menu-card img{display:block;width:100%;aspect-ratio:16/9;height:auto}.first-menu-card img{object-fit:cover}
.first-menu-card-body{padding:18px 16px 17px;display:flex;flex:1;flex-direction:column}
.first-menu-card h3{font-size:calc(14px + 2pt);line-height:1.65;min-height:47px;margin:0 0 10px;font-weight:600;}
.first-menu-for{font-size:calc(10.5px + 2pt);line-height:1.75;color:var(--first-muted);margin:0 0 12px;min-height:72px;}.first-menu-for span{display:block;color:#9b655d;font-size:calc(9px + 2pt);letter-spacing:.08em;margin-bottom:2px;}
.first-menu-card dl{margin:auto 0 0;font-size:calc(10px + 2pt);}.first-menu-card dl div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f1e7e3;padding:6px 0}.first-menu-card dt{color:var(--first-muted)}.first-menu-card dd{margin:0;font-weight:600}
.first-center{text-align:center;margin:28px 0 0}
.first-outline-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:280px;min-height:42px;padding:8px 24px;border:1px solid #d27b89;color:#b04c60;background:#fff;font-size:calc(12px + 2pt);letter-spacing:.07em;transition:.2s;}
.first-outline-button:hover{background:#fff7f6;transform:translateY(-2px)}.first-outline-button .ypr-icon{width:14px;height:14px}
.first-flow{padding-top:36px;padding-bottom:92px}
.first-flow-list{display:grid;grid-template-columns:repeat(5,1fr);gap:32px 18px;list-style:none;margin:0;padding:0;}
.first-flow-list li{position:relative;text-align:left;padding:0 7px;min-width:0}
.first-flow-number{font-family:Georgia,"Times New Roman",serif;font-size:calc(23px + 2pt);color:#b97066;margin-bottom:4px;}.first-flow-media{margin-bottom:12px;border:1px solid #ead9d3;background:#faf6f3;overflow:hidden;box-shadow:0 10px 24px rgba(95,57,48,.06)}.first-flow-media picture,.first-flow-media img{display:block;width:100%;aspect-ratio:16/9;height:auto}.first-flow-media img{object-fit:cover}.first-flow-list h3{font-size:calc(13px + 2pt);margin:0 0 7px;font-weight:600;letter-spacing:.04em;}.first-flow-list p{font-size:calc(9.5px + 2pt);line-height:1.75;color:var(--first-muted);margin:0;}
.first-before{position:relative;background:linear-gradient(120deg,#e7c9c1,#f0ddd7 55%,#e8cec7);padding:58px 24px 70px;margin:0;isolation:isolate}
.first-wave{position:absolute;left:-3%;width:106%;height:45px;background:#fff;z-index:1}.first-wave-top{top:-1px;clip-path:ellipse(55% 48% at 50% 0%)}.first-wave-bottom{bottom:-1px;clip-path:ellipse(55% 48% at 50% 100%)}
.first-before-inner{position:relative;z-index:2;max-width:1110px;margin:0 auto}.first-before .first-section-heading{margin-bottom:30px}.first-before .first-section-heading>p{font-size:calc(22px + 2pt);color:#9c6b66;}.first-before .first-section-heading h2{font-size:calc(13px + 2pt);}
.first-before-panel{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(187,132,120,.25);box-shadow:0 18px 50px rgba(95,57,48,.08)}
.first-before-item{position:relative;min-height:245px;padding:22px 22px 20px;border-right:1px solid #eee4e0;border-bottom:1px solid #eee4e0}.first-before-item:nth-child(4n){border-right:0}.first-before-item:nth-child(n/**/+5){border-bottom:0}
.first-before-item h3{font-size:calc(14px + 2pt);font-weight:500;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #efe4df;}.first-before-item h3 span{display:inline-block;color:#a45b5d;font-family:Georgia,"Times New Roman",serif;margin-right:9px}.first-before-icon{position:absolute;right:17px;bottom:15px;color:#b77b6e;opacity:.75}.first-before-icon .ypr-icon{width:46px;height:46px}
.first-before-item ul{margin:0;padding:0 0 0 15px;font-size:calc(10.5px + 2pt);line-height:1.85;color:var(--first-muted);}
.first-owner-message{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(48px,7vw,110px);padding-top:95px;padding-bottom:70px;max-width:1040px}
.first-owner-title p{font-size:clamp(calc(24px + 2pt),calc(2.6vw + 2pt),calc(34px + 2pt));line-height:1.9;letter-spacing:.08em;margin:0;}.first-owner-copy{font-size:calc(13px + 2pt);line-height:2.05;color:var(--first-muted);}.first-owner-copy p{margin:0 0 18px}.first-owner-copy .first-outline-button{margin-top:14px;min-width:210px}
.first-faq{padding-top:56px;max-width:920px}
.first-faq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.first-faq-item{width:100%;border:0}.first-faq-item summary{display:flex;align-items:center;gap:10px;min-height:38px;cursor:pointer;list-style:none;font-size:calc(11px + 2pt);font-weight:600;}.first-faq-item summary::-webkit-details-marker{display:none}.first-faq-item summary>span,.first-faq-answer>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#5d433c;color:#fff;font-family:Georgia,"Times New Roman",serif;flex:0 0 25px}
.first-faq-answer{display:flex;align-items:flex-start;gap:10px;margin-left:35px;background:#f3e8e3;padding:9px 13px;font-size:calc(10px + 2pt);line-height:1.75;color:var(--first-muted);}.first-faq-answer>span{background:#c37c72;margin-left:-48px}.first-faq-answer p{margin:0}
.first-text-link{display:inline-flex;align-items:center;gap:7px;color:#aa5362;font-size:calc(12px + 2pt);}.first-text-link .ypr-icon{width:14px;height:14px}
.first-editor-content{padding-top:20px;padding-bottom:50px}.first-editor-content .rose-content{max-width:800px;margin:auto}
.first-final-cta{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;background:linear-gradient(90deg,#f3dfd9,#fff8f5);min-height:290px;margin-top:35px}.first-final-copy{padding:48px max(36px,calc((100vw - 1110px)/2)) 45px}.first-final-copy h2{font-size:clamp(calc(27px + 2pt),calc(3vw + 2pt),calc(40px + 2pt));line-height:1.7;letter-spacing:.08em;font-weight:500;margin:0 0 13px;}.first-final-copy>p{font-size:calc(13px + 2pt);line-height:2;color:var(--first-muted);max-width:620px;margin:0 0 19px;}.first-booking{display:flex;flex-wrap:wrap;gap:14px;max-width:820px}.first-booking .btn{flex:1 1 320px;min-width:0;min-height:58px;display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;column-gap:12px;padding:0 22px;font-size:calc(11.2px + 2pt);line-height:1;border-radius:999px;white-space:nowrap;word-break:keep-all}.first-booking .btn .ypr-icon{width:22px;height:22px}.first-booking .btn .arrow{width:16px;height:16px;margin-left:0;justify-self:end}.first-booking .btn span{display:block;min-width:0;text-align:center;white-space:nowrap;word-break:keep-all;line-height:1.2}.first-sub-links{display:flex;gap:25px;margin-top:14px}.first-sub-links a{font-size:calc(11px + 2pt);text-decoration:underline;text-underline-offset:4px;}.first-final-image,.first-final-image picture,.first-final-image img{display:block;width:100%;aspect-ratio:16/9;height:auto}.first-final-image img{object-fit:cover;object-position:center}
@media(max-width:1050px){.first-menu-grid{grid-template-columns:repeat(3,1fr)}.first-flow-list{grid-template-columns:repeat(3,1fr)}.first-before-panel{grid-template-columns:repeat(2,1fr)}.first-before-item:nth-child(2n){border-right:0}.first-before-item:nth-child(n/**/+5){border-bottom:1px solid #eee4e0}.first-before-item:nth-child(n/**/+7){border-bottom:0}.first-owner-message{grid-template-columns:1fr 1fr}.first-owner-title{text-align:left}.first-final-cta{grid-template-columns:1fr}.first-final-image{display:none}}
@media(max-width:800px){.first-hero{min-height:420px}.first-hero-media img{object-position:58% center}.first-hero-overlay{background:linear-gradient(90deg,rgba(55,30,22,.72),rgba(55,30,22,.25))}.first-guide-grid{grid-template-columns:1fr;max-width:520px}.first-guide-card picture,.first-guide-card img{aspect-ratio:16/9;height:auto}.first-welcome{grid-template-columns:1fr;gap:28px;max-width:720px}.first-welcome-title{text-align:center}.first-menu-grid{grid-template-columns:repeat(2,1fr)}.first-flow-list{grid-template-columns:repeat(2,1fr)}.first-owner-message{grid-template-columns:1fr;max-width:680px}.first-owner-title{text-align:center}.first-final-copy{padding:48px 28px}}
@media(max-width:560px){.first-section{width:min(100% - 32px,1180px);padding:72px 0}.first-hero{min-height:390px}.first-hero-media img{object-position:62% center}.first-hero-content{width:calc(100% - 36px);padding-bottom:39px}.first-en{font-size:calc(39px + 2pt);}.first-hero h1{font-size:calc(12px + 2pt);}.first-hero-copy{font-size:calc(16px + 2pt);}.first-breadcrumb-wrap{padding-left:16px;padding-right:16px}.first-section-heading{margin-bottom:32px}.first-guide{padding-top:42px}.first-guide-grid{gap:22px}.first-guide-card picture,.first-guide-card img{aspect-ratio:16/9;height:auto}.first-guide-card>div{padding:20px}.first-welcome{padding-top:35px;padding-bottom:55px}.first-welcome-title h2{font-size:calc(25px + 2pt);}.first-welcome-text{font-size:calc(13px + 2pt);}.first-menu{padding-top:25px}.first-menu-grid{grid-template-columns:1fr;gap:18px}.first-menu-card{display:grid;grid-template-columns:42% 58%}.first-menu-card picture,.first-menu-card img{aspect-ratio:16/9;height:auto}.first-menu-card h3{min-height:auto}.first-menu-for{min-height:auto}.first-outline-button{min-width:0;width:100%}.first-flow{padding-top:25px}.first-flow-list{grid-template-columns:1fr;gap:17px}.first-flow-list li{display:grid;grid-template-columns:52px 96px 1fr;column-gap:12px;align-items:center;padding:0}.first-flow-number{grid-column:1;grid-row:1/3;text-align:center}.first-flow-media{grid-column:2;grid-row:1/3;margin:0}.first-flow-media picture,.first-flow-media img{aspect-ratio:16/9;height:auto}.first-flow-list h3{grid-column:3;margin:0 0 4px}.first-flow-list p{grid-column:3}.first-before{padding:50px 16px 60px}.first-before .first-section-heading>p{font-size:calc(18px + 2pt);}.first-before-panel{grid-template-columns:1fr}.first-before-item,.first-before-item:nth-child(n){border-right:0;border-bottom:1px solid #eee4e0;min-height:auto;padding:20px 22px 25px}.first-before-item:last-child{border-bottom:0}.first-before-icon{right:18px;bottom:18px;opacity:.35}.first-owner-message{gap:22px;padding-top:72px}.first-owner-title p{font-size:calc(25px + 2pt);text-align:center;}.first-owner-copy{font-size:calc(12px + 2pt);}.first-faq{padding-top:42px}.first-faq-answer{margin-left:28px}.first-final-copy{padding:42px 18px}.first-final-copy h2{font-size:calc(25px + 2pt);}.first-booking{display:grid;grid-template-columns:1fr;gap:10px}.first-booking .btn{flex:none;grid-template-columns:19px minmax(0,1fr) 14px;min-height:52px;font-size:calc(9.6px + 2pt);padding:0 16px;column-gap:8px}.first-booking .btn .ypr-icon{width:19px;height:19px}.first-booking .btn .arrow{width:14px;height:14px}.first-sub-links{flex-direction:column;gap:6px}.first-page+.site-footer{padding-bottom:70px}}
body.is-first-page .site-header,body.is-first-page .site-header a,body.is-first-page .site-footer,body.is-first-page .site-footer a,body.is-first-page .mobile-drawer{font-family:var(--serif)}
body.is-first-page .site-header{height:82px}body.is-first-page .primary-menu>li>a{padding-top:29px;padding-bottom:27px;font-weight:600}body.is-first-page .primary-menu>li>a::after{bottom:18px}
@media(max-width:980px){body.is-first-page .site-header{height:70px}}
@media(max-width:640px){body.is-first-page .site-header{height:64px}}

/* =========================================================
   v4.0.19 — Home imagery 16:9 / full-bleed hero / owner photo
   ========================================================= */
.rose-home .hero{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  min-height:clamp(640px,56.25vw,900px);
  margin:0;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#f8ede7;
}
.rose-home .hero-visual{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.rose-home .hero-visual picture,
.rose-home .hero-visual img{
  display:block;
  width:100%;
  height:100%;
}
.rose-home .hero-image{
  object-fit:cover;
  object-position:center center;
}
.rose-home .hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(255,251,247,.96) 0%,rgba(255,249,245,.82) 30%,rgba(255,249,245,.30) 56%,rgba(255,255,255,.04) 78%);
  pointer-events:none;
}
.rose-home .hero-copy{
  position:relative;
  z-index:3;
  width:min(650px,46vw);
  margin-left:max(24px,calc((100vw - 1330px)/2));
  padding:54px 42px;
  border:1px solid rgba(222,184,171,.38);
  border-radius:10px;
  background:rgba(255,252,249,.74);
  box-shadow:0 24px 70px rgba(86,49,36,.10);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

/* All photographic assets displayed on the top page use a 16:9 frame. */
.rose-home .concern-photo,
.rose-home .method-card picture,
.rose-home .owner-image,
.rose-home .voice-avatar,
.rose-home .home-post-grid .post-card-image,
.rose-home .final-photo{
  overflow:hidden;
  border-radius:5px;
}
.rose-home .concern-photo picture,
.rose-home .concern-photo img,
.rose-home .method-card picture,
.rose-home .method-card picture img,
.rose-home .owner-image picture,
.rose-home .owner-image img,
.rose-home .voice-avatar img,
.rose-home .home-post-grid .post-card-image picture,
.rose-home .home-post-grid .post-card-image img,
.rose-home .final-photo picture,
.rose-home .final-photo img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
}

.rose-home .concern-item{
  grid-template-columns:132px minmax(0,1fr);
  min-height:104px;
}
.rose-home .concern-photo{
  width:132px;
  height:auto;
  aspect-ratio:16/9;
  border-radius:4px;
}
.rose-home .concern-photo img{border-radius:0}

.rose-home .method-card img{
  aspect-ratio:16/9;
  margin:6px 0 11px;
}

.rose-home .owner-intro{
  min-height:0;
  padding:24px 24px 28px 4px;
  display:block;
  overflow:visible;
}
.rose-home .owner-copy-wrap{padding-right:0}
.rose-home .owner-image{
  position:relative;
  inset:auto;
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:16/9;
  margin-top:20px;
  align-self:auto;
}
.rose-home .owner-image img{
  object-fit:cover;
  object-position:center center;
}

.rose-home .voice-card{grid-template-columns:132px minmax(0,1fr)}
.rose-home .voice-avatar{
  width:132px;
  height:auto;
  aspect-ratio:16/9;
  border-radius:4px;
}
.rose-home .home-post-grid .post-card-image{aspect-ratio:16/9}
.rose-home .final-photo picture,
.rose-home .final-photo img{height:auto}

@media(max-width:980px){
  .rose-home .hero{
    min-height:760px;
    display:flex;
    align-items:flex-end;
  }
  .rose-home .hero-copy{
    width:min(680px,calc(100% - 48px));
    margin:0 auto 42px;
    padding:42px 34px;
    background:rgba(255,252,249,.84);
  }
  .rose-home .hero-visual{height:100%;grid-row:auto}
  .rose-home .hero-visual::after{background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,250,247,.20) 40%,rgba(255,250,247,.90) 82%,rgba(255,250,247,.97) 100%)}
  .rose-home .owner-intro{max-width:760px;min-height:0}
  .rose-home .voice-card{grid-template-columns:180px minmax(0,1fr)}
  .rose-home .voice-avatar{width:180px}
}

@media(max-width:640px){
  .rose-home .hero{
    min-height:760px;
    align-items:flex-end;
  }
  .rose-home .hero-copy{
    width:calc(100% - 28px);
    margin:0 auto 22px;
    padding:29px 20px 31px;
    border-radius:8px;
  }
  .rose-home .hero-image{object-position:58% center}
  .rose-home .concern-item{grid-template-columns:104px minmax(0,1fr);padding-left:10px}
  .rose-home .concern-photo{width:104px}
  .rose-home .owner-intro{display:block;min-height:0;padding:8px 0 24px}
  .rose-home .owner-image{min-height:0;margin-top:16px}
  .rose-home .voice-card{grid-template-columns:112px minmax(0,1fr)}
  .rose-home .voice-avatar{width:112px}
}

/* 4.0.20: Keep OWNER reason text and CTA grouped without excessive vertical gaps. */
.rose-home .reasons-layout{
  align-items:start;
}
.rose-home .reason-grid{
  align-content:start;
  grid-auto-rows:max-content;
  align-self:start;
}
.rose-home .reason-card{
  min-height:0;
  height:auto;
  justify-content:flex-start;
}
.rose-home .reason-card p{
  flex:0 0 auto;
  min-height:0;
  margin-bottom:0;
}
.rose-home .reason-card a{
  margin-top:14px;
}

@media(max-width:980px){
  .rose-home .reasons-layout{
    align-items:stretch;
  }
  .rose-home .reason-grid{
    align-self:stretch;
  }
}

/* 4.0.21: Align OWNER reason-card CTA positions and button heights. */
.rose-home .reason-grid{
  align-items:stretch;
}
.rose-home .reason-card{
  display:grid;
  grid-template-rows:auto auto minmax(68px,auto) 52px;
  justify-items:center;
  align-content:start;
  height:100%;
}
.rose-home .reason-card>.ypr-icon{
  align-self:start;
}
.rose-home .reason-card h3{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rose-home .reason-card p{
  min-height:68px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.rose-home .reason-card a{
  width:auto;
  min-width:180px;
  min-height:52px;
  height:52px;
  margin-top:0;
  padding:8px 18px;
  align-self:end;
  justify-content:center;
  white-space:nowrap;
}

@media(max-width:980px){
  .rose-home .reason-card{
    grid-template-rows:auto auto minmax(68px,auto) 52px;
  }
}

@media(max-width:640px){
  .rose-home .reason-card{
    grid-template-rows:auto auto auto 48px;
  }
  .rose-home .reason-card h3,
  .rose-home .reason-card p{
    min-height:0;
  }
  .rose-home .reason-card a{
    min-width:0;
    width:100%;
    min-height:48px;
    height:48px;
    margin-top:12px;
  }
}

/* =========================================================
   v4.0.24 — Center all home section titles / keep CTA text on one line
   ========================================================= */
.rose-home .hero-copy h1,
.rose-home .section-title,
.rose-home .owner-intro h2,
.rose-home .final-copy h2{
  width:100%;
  text-align:center;
}

.rose-home .owner-copy-wrap{
  text-align:center;
}
.rose-home .owner-copy-wrap .eyebrow,
.rose-home .owner-copy-wrap .owner-role{
  text-align:center;
}
.rose-home .owner-link{
  margin-left:auto;
  margin-right:auto;
}

/* CTA labels must remain on one line. */
.rose-home .btn,
.rose-home .btn span,
.rose-home .card-link,
.rose-home .text-link,
.rose-home .post-read,
.rose-home .reason-card>a,
.rose-home .concern-message>a{
  flex-wrap:nowrap;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
.rose-home .btn span{
  min-width:0;
}
.rose-home .final-copy .booking-buttons{
  width:100%;
  max-width:820px;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);
}
.rose-home .final-copy .btn{
  padding-left:16px;
  padding-right:16px;
  font-size:clamp(12px,.9vw,14px);
}
.rose-home .reason-card>a{
  width:min(100%,240px);
  min-width:0;
  padding-left:10px;
  padding-right:10px;
  font-size:clamp(11px,.78vw,13px);
  box-sizing:border-box;
}

@media(max-width:980px){
  .rose-home .final-copy .booking-buttons{
    max-width:760px;
  }
}

@media(max-width:640px){
  .rose-home .hero-copy h1,
  .rose-home .owner-intro h2,
  .rose-home .final-copy h2{
    text-align:center;
  }
  .rose-home .final-copy .booking-buttons{
    grid-template-columns:1fr;
  }
  .rose-home .final-copy .btn{
    width:100%;
    padding-left:12px;
    padding-right:12px;
    font-size:12px;
  }
  .rose-home .reason-card>a{
    width:100%;
    font-size:12px;
  }
}

/* =========================================================
   YOSAPARK Roseとは / About page 4.1.0
   One visual frame = one semantic section.
   ========================================================= */
.is-about-page .site-main{overflow:hidden;background:#fff}.about-page{--about-text:#3c2d29;--about-muted:#6f625e;--about-rose:#b76e79;--about-pink:#d8b7ad;--about-gold:#c9a86a;--about-ivory:#f7f2ea;--about-line:#e8d8d1;color:var(--about-text);font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif}.about-page img{display:block;width:100%;height:auto}.about-page picture{display:block}.about-page .site-container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.about-section{position:relative;padding:clamp(92px,9vw,144px) 0;border-top:1px solid rgba(232,216,209,.7)}.about-section:nth-of-type(even){background:#fff}.about-eyebrow{margin:0 0 12px;color:var(--about-gold);font-family:"Cormorant Garamond",Georgia,serif;font-size:13px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase}.about-section-heading{text-align:center;max-width:820px;margin:0 auto clamp(44px,5vw,72px)}.about-section-heading h2{margin:0;color:var(--about-text);font-size:clamp(29px,3.5vw,44px);line-height:1.65;letter-spacing:.09em;font-weight:500}.about-section-heading>p:last-child:not(.about-eyebrow){max-width:720px;margin:18px auto 0;color:var(--about-muted);font-size:16px;line-height:2}.about-heading-left{text-align:left;margin:0 0 30px}.about-heading-left h2{text-align:left}.about-heading-left>p:last-child:not(.about-eyebrow){margin-left:0}.about-outline-button,.about-solid-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border:1px solid var(--about-rose);font-size:15px;letter-spacing:.08em;line-height:1;white-space:nowrap;text-decoration:none;transition:.25s ease}.about-outline-button{color:var(--about-rose);background:#fff}.about-solid-button{color:#fff;background:var(--about-rose)}.about-outline-button:hover,.about-outline-button:focus-visible{color:#fff;background:var(--about-rose)}.about-solid-button:hover,.about-solid-button:focus-visible{background:#9f5d68}.about-outline-button .ypr-icon,.about-solid-button .ypr-icon{width:17px;height:17px}.about-center-link{text-align:center;margin-top:46px}.about-two-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

.about-hero{background:linear-gradient(90deg,#fbf7f3 0%,#fff 52%,#f8f3ee 100%);border-bottom:1px solid var(--about-line)}.about-hero-inner{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch;min-height:620px}.about-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 60px 72px 0}.about-hero-copy h1{margin:0 0 24px;font-size:clamp(38px,4.6vw,62px);line-height:1.35;letter-spacing:.07em;font-weight:500}.about-hero-lead{margin:0 0 20px;font-size:clamp(29px,3.8vw,48px);line-height:1.7;letter-spacing:.12em}.about-hero-text{max-width:560px;margin:0;color:var(--about-muted);font-size:16px;line-height:2}.about-hero-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:34px 0 0;padding:0;list-style:none}.about-hero-features li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:82px;padding:12px 8px;border:1px solid var(--about-line);background:rgba(255,255,255,.8);text-align:center;font-size:12px;line-height:1.5}.about-hero-features .ypr-icon{width:26px;height:26px;color:var(--about-rose)}.about-hero-media{align-self:center;overflow:hidden}.about-hero-media picture,.about-hero-media img{width:100%;aspect-ratio:16/9}.about-hero-media img{object-fit:cover;object-position:center}.about-breadcrumb{padding:18px 0}.about-breadcrumb .breadcrumbs{margin:0}

.about-intro{background:#fff}.about-intro-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(56px,7vw,100px);align-items:center}.about-intro-copy>p{margin:0 0 18px;color:var(--about-muted);font-size:16px;line-height:2.1}.about-intro-copy .about-emphasis{margin:32px 0 0;padding:24px 28px;border-left:2px solid var(--about-gold);background:var(--about-ivory);color:var(--about-text);font-size:20px;line-height:1.9;letter-spacing:.06em}.about-intro-media{overflow:hidden}.about-intro-media picture,.about-intro-media img{width:100%;aspect-ratio:16/9}.about-intro-media img{object-fit:cover}

.about-philosophy{background:var(--about-ivory)}.about-philosophy-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;margin:0 auto}.about-philosophy-list article{position:relative;padding:12px 48px 20px;text-align:center}.about-philosophy-list article+article{border-left:1px solid var(--about-line)}.about-philosophy-list span{display:block;margin-bottom:14px;color:var(--about-gold);font-family:"Cormorant Garamond",Georgia,serif;font-size:26px}.about-philosophy-list h3{margin:0 0 14px;font-size:21px;letter-spacing:.08em;font-weight:500}.about-philosophy-list p{margin:0;color:var(--about-muted);font-size:14px;line-height:1.9}

.about-method{background:#fff}.about-method-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.about-method-list li{min-width:0;text-align:center}.about-step-label{margin:0 0 10px;color:var(--about-gold);font-family:"Cormorant Garamond",Georgia,serif;font-size:13px;letter-spacing:.12em}.about-method-image{overflow:hidden;margin-bottom:20px}.about-method-image picture,.about-method-image img{width:100%;aspect-ratio:16/9}.about-method-image img{object-fit:cover}.about-method-list h3{margin:0 0 10px;font-size:17px;line-height:1.6;letter-spacing:.04em;font-weight:500}.about-method-list li>p:last-child{margin:0;color:var(--about-muted);font-size:13px;line-height:1.85}

.about-beyond{background:linear-gradient(90deg,#fbf5f2,#fff)}.about-beyond-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(50px,7vw,100px);align-items:center}.about-beyond-copy>p{margin:0 0 18px;color:var(--about-muted);font-size:16px;line-height:2.05}.about-beyond-copy .about-beyond-message{margin-top:28px;color:var(--about-text);font-size:21px;line-height:1.9;letter-spacing:.07em}.about-beyond-media{overflow:hidden}.about-beyond-media picture,.about-beyond-media img{width:100%;aspect-ratio:16/9}.about-beyond-media img{object-fit:cover}

.about-for-you{background:#fff}.about-for-you-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(50px,7vw,100px);align-items:center}.about-for-you-media{overflow:hidden}.about-for-you-media picture,.about-for-you-media img{width:100%;aspect-ratio:16/9}.about-for-you-media img{object-fit:cover}.about-check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0;padding:0;list-style:none}.about-check-list li{display:flex;align-items:flex-start;gap:9px;color:var(--about-muted);font-size:14px;line-height:1.7}.about-check-list .ypr-icon{flex:0 0 17px;width:17px;height:17px;margin-top:3px;color:var(--about-rose)}.about-for-you-closing{margin:26px 0 0;color:var(--about-text);font-size:18px;line-height:1.9;letter-spacing:.05em}

.about-promise{background:var(--about-ivory)}.about-promise-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.about-promise-list article{display:flex;flex-direction:column;align-items:center;min-height:290px;padding:34px 22px 28px;border:1px solid var(--about-line);background:#fff;text-align:center}.about-promise-icon{display:grid;place-items:center;width:62px;height:62px;margin-bottom:22px;border:1px solid var(--about-pink);border-radius:50%;color:var(--about-rose)}.about-promise-icon .ypr-icon{width:30px;height:30px}.about-promise-list h3{margin:0 0 14px;font-size:17px;line-height:1.7;letter-spacing:.04em;font-weight:500}.about-promise-list p{margin:0;color:var(--about-muted);font-size:13px;line-height:1.85}

.about-owner{background:#fff}.about-owner-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(56px,7vw,100px);align-items:center}.about-owner-copy>p{margin:0 0 18px;color:var(--about-muted);font-size:16px;line-height:2.05}.about-owner-copy>.about-outline-button{margin-top:18px}.about-owner-media{overflow:hidden}.about-owner-media picture,.about-owner-media img{width:100%;aspect-ratio:16/9}.about-owner-media img{object-fit:cover;object-position:center}

.about-space{background:linear-gradient(180deg,#fff,#fbf7f4)}.about-space-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.about-space-gallery>div{overflow:hidden}.about-space-main{grid-row:1/3}.about-space-gallery picture,.about-space-gallery img{width:100%;height:100%}.about-space-gallery img{object-fit:cover}.about-space-main picture,.about-space-main img{aspect-ratio:16/9}.about-space-gallery>div:not(.about-space-main) picture,.about-space-gallery>div:not(.about-space-main) img{aspect-ratio:16/9}

.about-first-visit{background:#fff}.about-first-visit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(56px,7vw,100px);align-items:center}.about-simple-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0;padding:0;list-style:none}.about-simple-list li{position:relative;padding-left:18px;color:var(--about-muted);font-size:14px;line-height:1.75}.about-simple-list li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--about-rose)}.about-first-visit-media{overflow:hidden}.about-first-visit-media picture,.about-first-visit-media img{width:100%;aspect-ratio:16/9}.about-first-visit-media img{object-fit:cover}

.about-related{background:var(--about-ivory)}.about-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.about-related-grid article{display:flex;flex-direction:column;border:1px solid var(--about-line);background:#fff}.about-related-image{overflow:hidden}.about-related-image picture,.about-related-image img{width:100%;aspect-ratio:16/9}.about-related-image img{object-fit:cover}.about-related-body{display:flex;flex:1;flex-direction:column;padding:24px 22px}.about-related-body h3{margin:0 0 12px;text-align:center;font-size:18px;letter-spacing:.05em;font-weight:500}.about-related-body p{margin:0 0 22px;color:var(--about-muted);font-size:13px;line-height:1.85}.about-related-body a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;margin-top:auto;border-top:1px solid var(--about-line);color:var(--about-rose);font-size:13px;text-decoration:none;white-space:nowrap}.about-related-body .ypr-icon{width:15px;height:15px}

.about-faq{background:#fff}.about-faq-list{max-width:900px;margin:0 auto}.about-faq-list details{border-top:1px solid var(--about-line)}.about-faq-list details:last-child{border-bottom:1px solid var(--about-line)}.about-faq-list summary{display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:14px;min-height:76px;padding:16px 20px;cursor:pointer;list-style:none;font-size:16px;line-height:1.75}.about-faq-list summary::-webkit-details-marker{display:none}.about-faq-q{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--about-rose);color:#fff;font-family:Georgia,serif}.about-faq-plus{color:var(--about-rose);font-size:24px;text-align:center}.about-faq-list details[open] .about-faq-plus{transform:rotate(45deg)}.about-faq-answer{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:0 20px 24px;color:var(--about-muted);font-size:15px;line-height:2}.about-faq-answer>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--about-pink);color:var(--about-rose);font-family:Georgia,serif}.about-faq-answer p{margin:0}

.about-final-cta{padding:70px 0;background:linear-gradient(90deg,#eed2cf 0%,#f8e8e3 55%,#e5b5bb 100%)}.about-final-cta-inner{display:grid;grid-template-columns:170px minmax(0,1fr);gap:44px;align-items:center}.about-discount-badge{display:grid;place-items:center;width:150px;height:150px;border:1px solid var(--about-gold);border-radius:50%;background:rgba(255,255,255,.68);text-align:center}.about-discount-badge small{display:block;margin-top:26px;color:#a66d49;font-size:14px;letter-spacing:.08em}.about-discount-badge strong{display:block;margin-top:-22px;color:#a66d49;font-family:Georgia,serif;font-size:44px;font-weight:400}.about-discount-badge em{font-size:17px;font-style:normal}.about-final-cta-copy h2{margin:0;text-align:center;font-size:clamp(28px,3.4vw,43px);line-height:1.65;letter-spacing:.08em;font-weight:500}.about-final-cta-copy>p{margin:12px 0 24px;text-align:center;color:var(--about-muted);font-size:15px;line-height:1.8}.about-booking{display:grid;grid-template-columns:1fr 1.15fr;gap:14px;max-width:760px;margin:0 auto}.about-booking .btn{min-width:0;min-height:58px;padding:0 20px;font-size:14px;white-space:nowrap}.about-booking .btn span{white-space:nowrap}.about-final-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin-top:18px}.about-final-links a{color:var(--about-text);font-size:13px;text-underline-offset:4px}

@media (max-width:1100px){.about-page .site-container{width:min(100% - 48px,1080px)}.about-hero-inner{grid-template-columns:1fr 1fr;min-height:560px}.about-hero-copy{padding-right:36px}.about-hero-features{grid-template-columns:1fr 1fr}.about-method-list{grid-template-columns:repeat(3,1fr);row-gap:36px}.about-promise-list{grid-template-columns:repeat(3,1fr)}.about-related-grid{grid-template-columns:1fr 1fr}.about-space-gallery{grid-template-columns:1.5fr 1fr;grid-template-rows:auto}.about-space-main{grid-row:auto;grid-column:1/3}.about-space-gallery>div:nth-child(4){grid-column:1/3}.about-final-cta-inner{grid-template-columns:140px 1fr}.about-discount-badge{width:130px;height:130px}}

@media (max-width:780px){.about-page .site-container{width:calc(100% - 36px)}.about-section{padding:78px 0}.about-section-heading{margin-bottom:42px}.about-section-heading h2{font-size:clamp(25px,7vw,34px);line-height:1.65}.about-heading-left,.about-heading-left h2{text-align:center}.about-heading-left>p:last-child:not(.about-eyebrow){margin-inline:auto}.about-hero-inner{display:block;min-height:0;width:100%}.about-hero-copy{padding:58px 18px 40px;text-align:center}.about-hero-copy h1{font-size:38px}.about-hero-lead{font-size:30px}.about-hero-text{margin-inline:auto;font-size:15px}.about-hero-features{max-width:440px;margin-inline:auto}.about-hero-media picture,.about-hero-media img{aspect-ratio:16/9}.about-breadcrumb{width:calc(100% - 36px)}.about-intro-grid,.about-beyond-grid,.about-for-you-grid,.about-owner-grid,.about-first-visit-grid{grid-template-columns:1fr;gap:38px}.about-for-you-media{order:2}.about-for-you-copy{order:1}.about-intro-copy>p,.about-beyond-copy>p,.about-owner-copy>p{font-size:15px}.about-philosophy-list{grid-template-columns:1fr}.about-philosophy-list article{padding:28px 24px}.about-philosophy-list article+article{border-left:0;border-top:1px solid var(--about-line)}.about-method-list{grid-template-columns:1fr 1fr;gap:32px 14px}.about-check-list{grid-template-columns:1fr}.about-promise-list{grid-template-columns:1fr 1fr}.about-space-gallery{display:grid;grid-template-columns:1fr 1fr}.about-space-main,.about-space-gallery>div:nth-child(4){grid-column:1/3}.about-simple-list{grid-template-columns:1fr}.about-two-buttons{display:grid;grid-template-columns:1fr}.about-two-buttons a{width:100%}.about-related-grid{grid-template-columns:1fr 1fr}.about-final-cta-inner{grid-template-columns:1fr;gap:28px}.about-discount-badge{width:124px;height:124px;margin:auto}.about-final-cta-copy h2{font-size:29px}.about-booking{grid-template-columns:1fr;max-width:520px}.about-booking .btn{font-size:13px}.about-final-links{flex-direction:column;align-items:center}}

@media (max-width:520px){.about-page .site-container{width:calc(100% - 32px)}.about-section{padding:70px 0}.about-eyebrow{font-size:11px}.about-hero-copy{padding-top:50px}.about-hero-copy h1{font-size:33px}.about-hero-lead{font-size:27px}.about-hero-features{grid-template-columns:1fr 1fr;gap:8px}.about-hero-features li{font-size:11px}.about-method-list{grid-template-columns:1fr}.about-promise-list{grid-template-columns:1fr}.about-promise-list article{min-height:0}.about-space-gallery{grid-template-columns:1fr}.about-space-main,.about-space-gallery>div:nth-child(4){grid-column:auto}.about-related-grid{grid-template-columns:1fr}.about-outline-button,.about-solid-button{width:100%;padding-inline:14px;font-size:13px}.about-faq-list summary{grid-template-columns:36px 1fr 22px;padding-inline:8px;font-size:14px}.about-faq-answer{grid-template-columns:36px 1fr;padding-inline:8px;font-size:14px}.about-final-cta{padding:60px 0}.about-final-cta-copy h2{font-size:26px}.about-booking .btn{font-size:12px;padding-inline:12px}.about-final-links a{font-size:12px}}

/* YOSAPARK Roseとは：日本語の行末・段落落ちを抑える組版調整 4.1.1 */
.about-page :where(h1,h2,h3,p,li,summary,.about-outline-button,.about-solid-button,.about-related-body a,.about-booking .btn span){
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
}
.about-page :where(p,li,summary){
  text-wrap:pretty;
  orphans:2;
  widows:2;
}
.about-page :where(h1,h2,h3,.about-hero-lead,.about-beyond-message){
  text-wrap:balance;
}
@supports (word-break:auto-phrase){
  .about-page :where(h1,h2,h3,p,li,summary){word-break:auto-phrase}
}

.about-page .site-container{width:min(1240px,calc(100% - 72px))}
.about-section-heading{max-width:900px}
.about-section-heading h2{font-size:clamp(28px,3.2vw,41px);letter-spacing:.065em}
.about-section-heading>p:last-child:not(.about-eyebrow){max-width:780px;font-size:15.5px;line-height:2}
.about-heading-left{max-width:100%}

.about-hero-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.about-hero-copy{padding-right:44px}
.about-hero-copy h1{font-size:clamp(36px,4.15vw,58px);letter-spacing:.055em}
.about-hero-lead{font-size:clamp(27px,3.35vw,44px);letter-spacing:.09em}
.about-hero-text{max-width:620px;font-size:15.5px;line-height:2}
.about-hero-features{gap:10px}
.about-hero-features li{padding-inline:10px;font-size:11.5px}

.about-intro-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(52px,5.6vw,78px)}
.about-intro-copy>p{font-size:15.5px;line-height:2.05}
.about-intro-copy .about-emphasis{font-size:19px;letter-spacing:.045em}

.about-philosophy-list{max-width:1080px}
.about-philosophy-list article{padding-inline:38px}
.about-philosophy-list h3{font-size:20px;letter-spacing:.06em}
.about-philosophy-list p{font-size:13.5px;line-height:1.9}

.about-method-list{gap:12px}
.about-method-list h3{font-size:16px;letter-spacing:.025em}
.about-method-list li>p:last-child{font-size:12.75px;line-height:1.85}

.about-beyond-grid,.about-for-you-grid,.about-owner-grid,.about-first-visit-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(48px,5.8vw,80px)}
.about-beyond-copy>p,.about-owner-copy>p{font-size:15.5px;line-height:2}
.about-beyond-copy .about-beyond-message{font-size:20px;letter-spacing:.045em}
.about-check-list{gap:11px 18px}
.about-check-list li{font-size:13.5px;line-height:1.75}
.about-for-you-closing{font-size:17.5px;letter-spacing:.035em}

.about-promise-list{gap:14px}
.about-promise-list article{padding:30px 18px 26px}
.about-promise-list h3{font-size:16px;line-height:1.65;letter-spacing:.025em}
.about-promise-list p{font-size:12.75px;line-height:1.85}

.about-simple-list{gap:11px 20px}
.about-simple-list li{font-size:13.5px;line-height:1.75}

.about-related-grid{gap:14px}
.about-related-body{padding:22px 18px}
.about-related-body h3{font-size:17px;letter-spacing:.035em}
.about-related-body p{font-size:12.75px;line-height:1.85}
.about-related-body a{font-size:12.5px}

.about-faq-list{max-width:960px}
.about-faq-list summary{font-size:15.5px}
.about-faq-answer{font-size:14.5px}
.about-final-cta-copy>p{font-size:14.5px}

@media (max-width:1220px){
  .about-page .site-container{width:min(100% - 48px,1120px)}
  .about-method-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px}
  .about-promise-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .about-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}

@media (max-width:780px){
  .about-page .site-container{width:calc(100% - 36px)}
  .about-section-heading h2{font-size:clamp(25px,6.7vw,33px);letter-spacing:.045em}
  .about-section-heading>p:last-child:not(.about-eyebrow){font-size:15px}
  .about-hero-copy h1{font-size:36px}
  .about-hero-lead{font-size:29px;letter-spacing:.065em}
  .about-hero-text{font-size:15px}
  .about-intro-copy>p,.about-beyond-copy>p,.about-owner-copy>p{font-size:15px}
  .about-philosophy-list p,.about-method-list li>p:last-child,.about-promise-list p,.about-related-body p{font-size:13.5px}
  .about-check-list li,.about-simple-list li{font-size:14px}
  .about-method-list{grid-template-columns:1fr 1fr;gap:32px 18px}
  .about-promise-list{grid-template-columns:1fr 1fr}
}

@media (max-width:520px){
  .about-page .site-container{width:calc(100% - 32px)}
  .about-section-heading h2{font-size:clamp(24px,7.2vw,31px);line-height:1.62}
  .about-hero-copy h1{font-size:32px}
  .about-hero-lead{font-size:26px}
  .about-hero-features li{font-size:11px}
  .about-method-list,.about-promise-list,.about-related-grid{grid-template-columns:1fr}
  .about-outline-button,.about-solid-button{font-size:12.5px}
  .about-faq-list summary,.about-faq-answer{font-size:14px}
}

/* =========================================================
   4.1.2 — トップページ・初めての方へ：日本語組版とカラム幅の最適化
   1文字だけが最終行へ残る段落落ちを抑え、画面幅ごとの可読性を改善。
   ========================================================= */
.rose-home :where(h1,h2,h3,p,li,summary,dt,dd,strong,.voice-meta,.disclaimer),
.first-page :where(h1,h2,h3,p,li,summary,dt,dd,strong){
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
  text-spacing-trim:trim-start;
}
.rose-home :where(p,li,summary,dt,dd,.voice-meta,.disclaimer),
.first-page :where(p,li,summary,dt,dd){
  text-wrap:pretty;
  orphans:2;
  widows:2;
}
.rose-home :where(h1,h2,h3,.section-title,.hero-lead),
.first-page :where(h1,h2,h3,.first-hero-copy,.first-owner-title p){
  text-wrap:balance;
}
@supports (word-break:auto-phrase){
  .rose-home :where(h1,h2,h3,p,li,summary,dt,dd,strong),
  .first-page :where(h1,h2,h3,p,li,summary,dt,dd,strong){
    word-break:auto-phrase;
  }
}

/* ---------- トップページ ---------- */
.rose-home .section-inner.wide{max-width:1260px}
.rose-home .hero-copy{
  width:min(700px,50vw);
  padding-inline:clamp(30px,3vw,48px);
}
.rose-home .hero-copy h1{
  font-size:clamp(46px,4vw,66px);
  letter-spacing:.085em;
}
.rose-home .hero-lead{
  max-width:590px;
  font-size:clamp(15px,1.15vw,17px);
  line-height:2;
  letter-spacing:.025em;
}
.rose-home .hero-features,
.rose-home .hero-booking{max-width:590px}
.rose-home .section-title{
  max-width:900px;
  margin-inline:auto;
  font-size:clamp(29px,2.45vw,38px);
  letter-spacing:.06em;
}
.rose-home .concern-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rose-home .concern-item{
  grid-template-columns:118px minmax(0,1fr);
  gap:16px;
  padding:14px 36px 14px 14px;
}
.rose-home .concern-photo{width:118px}
.rose-home .concern-text h3{
  font-size:15.5px;
  line-height:1.72;
  letter-spacing:.015em;
}
.rose-home .concern-text p{
  font-size:13.5px;
  line-height:1.8;
}
.rose-home .concern-message{
  grid-template-columns:minmax(0,1.2fr) minmax(0,1.35fr) auto;
  gap:20px;
}
.rose-home .method-grid{gap:16px}
.rose-home .method-card{padding:16px 17px 18px}
.rose-home .method-head h3{font-size:16px;letter-spacing:.025em}
.rose-home .method-card>p{
  min-height:0;
  margin-inline:4px;
  font-size:14px;
  line-height:1.9;
}
.rose-home .reasons-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.rose-home .owner-copy{font-size:13.5px;line-height:1.95}
.rose-home .reason-card{padding-inline:18px}
.rose-home .reason-card h3{
  width:100%;
  font-size:16.5px;
  line-height:1.7;
  letter-spacing:.02em;
}
.rose-home .reason-card p{
  width:100%;
  font-size:13px;
  line-height:1.85;
}
.rose-home .voice-grid,
.rose-home .home-post-grid{gap:14px}
.rose-home .voice-content h3,
.rose-home .home-post-grid h2,
.rose-home .home-post-grid h3{
  font-size:16px;
  line-height:1.7;
  letter-spacing:.02em;
}
.rose-home .voice-content>p:not(.voice-meta),
.rose-home .home-post-grid .post-card-body>p{
  font-size:13.5px;
  line-height:1.85;
}
.rose-home .faq-list{max-width:1000px;margin-inline:auto}
.rose-home .faq-item summary{font-size:15px;line-height:1.75}
.rose-home .faq-answer-text{font-size:14px;line-height:1.9}
.rose-home .final-copy{min-width:0}
.rose-home .final-copy h2{font-size:clamp(26px,2.6vw,39px);letter-spacing:.055em}

/* ---------- 初めての方へ ---------- */
.first-section{width:min(1240px,calc(100% - 72px))}
.first-breadcrumb-wrap{max-width:1240px}
.first-section-heading{max-width:900px;margin-inline:auto;margin-bottom:52px}
.first-section-heading h2{
  font-size:clamp(17px,1.55vw,22px);
  line-height:1.75;
  letter-spacing:.095em;
}
.first-welcome{
  max-width:1120px;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);
  gap:clamp(52px,6vw,76px);
}
.first-welcome-title h2{
  font-size:clamp(27px,2.25vw,34px);
  letter-spacing:.06em;
}
.first-welcome-text{
  font-size:15.5px;
  line-height:2.08;
}
.first-welcome-text strong{font-size:17px;letter-spacing:.035em}
.first-menu-grid{gap:18px}
.first-menu-card-body{padding:19px 18px 18px}
.first-menu-card h3{
  min-height:0;
  font-size:14.5px;
  line-height:1.72;
  letter-spacing:.015em;
}
.first-menu-for{
  min-height:0;
  font-size:12.5px;
  line-height:1.82;
}
.first-menu-card dl{font-size:12px}
.first-flow-list{gap:34px 20px}
.first-flow-list li{padding-inline:5px}
.first-flow-list h3{
  font-size:14.5px;
  line-height:1.65;
  letter-spacing:.02em;
}
.first-flow-list p{
  font-size:12.5px;
  line-height:1.82;
}
.first-before-inner{max-width:1180px}
.first-before-item{padding-inline:24px}
.first-before-item h3{font-size:15px;line-height:1.7}
.first-before-item ul{font-size:12.5px;line-height:1.9}
.first-owner-message{
  max-width:1120px;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(52px,6vw,84px);
}
.first-owner-title p{
  font-size:clamp(27px,2.45vw,35px);
  letter-spacing:.06em;
}
.first-owner-copy{font-size:15px;line-height:2}
.first-faq{max-width:980px}
.first-faq-item summary{font-size:14.5px;line-height:1.75}
.first-faq-answer{font-size:13.5px;line-height:1.85}
.first-final-copy>p{
  max-width:700px;
  font-size:15px;
  line-height:1.95;
}
.first-final-copy h2{
  font-size:clamp(29px,2.75vw,40px);
  letter-spacing:.055em;
}

/* 5列では文幅が不足する領域を早めに3列化する。 */
@media(max-width:1180px){
  .rose-home .section-inner.wide{max-width:1120px}
  .rose-home .concern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rose-home .reasons-layout{grid-template-columns:1fr}
  .rose-home .owner-intro{max-width:760px;margin-inline:auto}
  .rose-home .reason-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  .first-section{width:min(1120px,calc(100% - 48px))}
  .first-menu-grid,.first-flow-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .first-before-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .first-before-item:nth-child(2n){border-right:0}
  .first-before-item:nth-child(n){border-bottom:1px solid #eee4e0}
  .first-before-item:nth-last-child(-n+2){border-bottom:0}
}

@media(max-width:980px){
  .rose-home .hero-copy{
    width:min(720px,calc(100% - 48px));
  }
  .rose-home .method-grid{grid-template-columns:1fr}
  .rose-home .method-card{
    display:grid;
    grid-template-columns:minmax(230px,.78fr) minmax(0,1.22fr);
    column-gap:24px;
  }
  .rose-home .method-card .method-head{grid-column:1/3}
  .rose-home .method-card picture{grid-row:2/5}
  .rose-home .method-card>p{text-align:left}
  .rose-home .voice-grid,.rose-home .home-post-grid{grid-template-columns:1fr}

  .first-welcome{grid-template-columns:1fr;max-width:760px;gap:30px}
  .first-welcome-title{text-align:center}
  .first-owner-message{grid-template-columns:1fr;max-width:760px;gap:28px}
  .first-owner-title{text-align:center}
}

@media(max-width:780px){
  .rose-home .section-inner.wide{max-width:720px}
  .rose-home .concern-grid{grid-template-columns:1fr}
  .rose-home .reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rose-home .reason-card:nth-child(5){grid-column:1/3}

  .first-section{width:calc(100% - 36px)}
  .first-menu-grid,.first-flow-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .first-section-heading h2{font-size:clamp(17px,3.4vw,21px)}
}

@media(max-width:560px){
  .rose-home .hero-copy{width:calc(100% - 28px);padding-inline:18px}
  .rose-home .hero-copy h1{font-size:38px;letter-spacing:.055em}
  .rose-home .hero-lead{font-size:14.5px;line-height:1.9}
  .rose-home .concern-item{
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    padding:12px 28px 12px 10px;
  }
  .rose-home .concern-photo{width:88px}
  .rose-home .concern-text h3{font-size:14.5px}
  .rose-home .concern-text p{font-size:12.5px}
  .rose-home .method-card{display:block}
  .rose-home .reason-grid{grid-template-columns:1fr}
  .rose-home .reason-card:nth-child(5){grid-column:auto}
  .rose-home .voice-card{grid-template-columns:96px minmax(0,1fr)}
  .rose-home .voice-avatar{width:96px}
  .rose-home .voice-content h3{font-size:15px}
  .rose-home .voice-content>p:not(.voice-meta){font-size:12.75px}

  .first-section{width:calc(100% - 32px)}
  .first-welcome-title h2{font-size:25px;letter-spacing:.045em}
  .first-welcome-text{font-size:14.5px;line-height:2}
  .first-menu-grid,.first-flow-list{grid-template-columns:1fr}
  .first-menu-card{display:block}
  .first-menu-card-body{padding:20px 18px}
  .first-menu-card h3{font-size:15px}
  .first-menu-for{font-size:13px}
  .first-flow-list li{
    grid-template-columns:38px 104px minmax(0,1fr);
    column-gap:10px;
  }
  .first-flow-list h3{font-size:14px}
  .first-flow-list p{font-size:12.5px;line-height:1.78}
  .first-owner-title p{font-size:25px;letter-spacing:.045em}
  .first-owner-copy{font-size:14px}
  .first-final-copy h2{font-size:25px;letter-spacing:.045em}
  .first-final-copy>p{font-size:14px}
}

/* ========================================================================== 
   LULUONN PAGE 4.3.1
   ========================================================================== */
.luluonn-v43{--lu43-text:#3c2d29;--lu43-muted:#6f625e;--lu43-rose:#b76e79;--lu43-rose-deep:#a84f64;--lu43-pink:#d78e9a;--lu43-gold:#c9a86a;--lu43-ivory:#f7f2ea;--lu43-blush:#faf2f0;--lu43-pale:#fff9f6;--lu43-line:#ead8d2;color:var(--lu43-text);background:#fff;font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;overflow:hidden}
.luluonn-v43 .site-container{width:min(1180px,calc(100% - 72px));margin-inline:auto}.luluonn-v43 :where(h1,h2,h3,p,li,a,span,th,td){word-break:auto-phrase;line-break:strict}.luluonn-v43 :where(h1,h2,h3){text-wrap:balance}.luluonn-v43 :where(p,li,td){text-wrap:pretty}
.lu43-section{position:relative;padding:118px 0;border-top:1px solid rgba(234,216,210,.78)}.lu43-heading{max-width:900px;margin:0 auto 54px;text-align:center}.lu43-heading-left{max-width:none;margin:0 0 30px;text-align:left}.lu43-eyebrow{margin:0 0 12px;color:#b88572;font-family:"Cormorant Garamond",Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.lu43-heading h2,.lu43-split-copy h2,.lu43-overlay-copy h2{margin:0;color:var(--lu43-text);font-size:clamp(29px,3vw,40px);font-weight:500;line-height:1.62;letter-spacing:.075em}.lu43-heading>p:last-child:not(.lu43-eyebrow){max-width:760px;margin:18px auto 0;color:var(--lu43-muted);font-size:15.5px;line-height:2}.lu43-heading-left>p:last-child:not(.lu43-eyebrow){margin-inline:0}.lu43-media{overflow:hidden;border-radius:4px;background:#f3ebe7}.lu43-media picture,.lu43-media img{display:block;width:100%;aspect-ratio:16/9}.lu43-media img{object-fit:cover;object-position:center}.lu43-note,.lu43-disclaimer{margin:24px 0 0;color:#8a7871;font-size:12px;line-height:1.9;text-align:center}

.lu43-hero{position:relative;background:linear-gradient(90deg,#fffaf5 0%,#fff 46%,#f9f3ed 100%);border-top:1px solid var(--lu43-line)}.lu43-hero-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:620px}.lu43-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:76px 56px 70px 0}.lu43-hero-copy h1{margin:0;font-size:clamp(46px,5vw,66px);font-weight:500;line-height:1.3;letter-spacing:.12em}.lu43-hero-lead{margin:23px 0 12px;font-size:clamp(22px,2.1vw,30px);line-height:1.8;letter-spacing:.08em}.lu43-hero-text{max-width:620px;margin:0 0 24px;color:var(--lu43-muted);font-size:15.5px;line-height:2.05}.lu43-hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px;padding:0;list-style:none}.lu43-hero-tags li{padding:8px 14px;border:1px solid #e8c5bd;border-radius:999px;background:rgba(255,255,255,.8);color:#765a52;font-size:12px;line-height:1.2;white-space:nowrap}.lu43-hero-media{min-width:0;overflow:hidden}.lu43-hero-media picture,.lu43-hero-media img{display:block;width:100%;height:100%}.lu43-hero-media img{object-fit:cover;object-position:center}.lu43-actions{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:12px;max-width:720px}.lu43-btn{display:grid;grid-template-columns:22px minmax(0,1fr) 17px;align-items:center;gap:10px;min-height:56px;padding:0 22px;border-radius:4px;font-size:13.5px;letter-spacing:.035em;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.lu43-btn:hover{transform:translateY(-1px)}.lu43-btn span{text-align:center;white-space:nowrap}.lu43-btn .ypr-icon{width:21px;height:21px}.lu43-btn .arrow{width:16px;height:16px;justify-self:end}.lu43-btn-rose{border:1px solid var(--lu43-rose-deep);background:linear-gradient(90deg,#bd6576,#ac5065);color:#fff;box-shadow:0 13px 28px rgba(168,79,100,.13)}.lu43-btn-line{border:1px solid #56b968;background:#fff;color:#4a9d59}.lu43-btn-hpb{border:1px solid #c9677d;background:#fff;color:#b94b66}.lu43-btn-outline{border:1px solid #cf7889;background:#fff;color:#b45168}.lu43-breadcrumb{padding:18px 0;color:#8d7a73;font-size:12px}

.lu43-definition{background:#fff}.lu43-definition-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:54px;align-items:center;max-width:1080px;margin:0 auto}.lu43-answer-box{padding:42px 48px;background:linear-gradient(135deg,#fff8f4,#f8e5de);border:1px solid #efd8d1}.lu43-answer-box h3{margin:0 0 23px;color:#a75b68;font-size:22px;font-weight:500;line-height:1.7;letter-spacing:.07em}.lu43-answer-box p{margin:0 0 18px;color:var(--lu43-muted);font-size:15px;line-height:2}.lu43-answer-box p:last-child{margin-bottom:0}

.lu43-experience{background:var(--lu43-pale)}.lu43-step-grid{display:grid;gap:26px}.lu43-step-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.lu43-step-card{position:relative;text-align:center}.lu43-step-no{position:absolute;z-index:2;left:10px;top:-16px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#db998f,#bf6f76);color:#fff;font-family:Georgia,serif;font-size:13px;box-shadow:0 8px 18px rgba(174,91,107,.14)}.lu43-step-image{overflow:hidden;border-radius:4px;background:#eee4df}.lu43-step-image picture,.lu43-step-image img{display:block;width:100%;aspect-ratio:16/9}.lu43-step-image img{object-fit:cover}.lu43-step-card h3{margin:18px 0 7px;font-size:15px;font-weight:600;line-height:1.7;letter-spacing:.04em}.lu43-step-card p{margin:0;color:var(--lu43-muted);font-size:12px;line-height:1.8}

.lu43-values{background:#fff}.lu43-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #efdcd6;background:linear-gradient(180deg,#fffaf7,#fff)}.lu43-value-grid article{position:relative;padding:44px 54px;text-align:center}.lu43-value-grid article+article:before{content:"";position:absolute;left:0;top:32px;bottom:32px;width:1px;background:#e8d7d1}.lu43-value-grid span{display:block;margin-bottom:10px;color:#c4777f;font-family:Georgia,serif;font-size:30px}.lu43-value-grid h3{margin:0 0 14px;font-size:21px;font-weight:500;letter-spacing:.08em}.lu43-value-grid p{margin:0;color:var(--lu43-muted);font-size:14px;line-height:1.95}

.lu43-difference{background:var(--lu43-blush)}.lu43-table-wrap{max-width:980px;margin:0 auto;overflow:hidden;border:1px solid #e8d1ca;background:#fff}.lu43-compare-table{width:100%;border-collapse:collapse;font-size:14px}.lu43-compare-table th,.lu43-compare-table td{padding:18px 20px;border:1px solid #ead9d3;line-height:1.75;text-align:center}.lu43-compare-table thead th{background:#f8e8e2;color:#8f4f5d;font-weight:600}.lu43-compare-table tbody th{width:18%;background:#fff9f6;font-weight:600}.lu43-compare-table tbody td:nth-child(2){background:#fffdfb}

.lu43-herbs,.lu43-hydrogen,.lu43-lymph,.lu43-relax{background:#fff}.lu43-footbath,.lu43-recommended{background:var(--lu43-blush)}.lu43-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:74px;align-items:center}.lu43-split-reverse .lu43-split-copy{order:1}.lu43-split-reverse .lu43-media{order:2}.lu43-split-copy>p{margin:0 0 18px;color:var(--lu43-muted);font-size:15px;line-height:2.05}.lu43-text-link{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;margin-top:12px;padding:0 24px;border:1px solid #cf7889;color:#b45168;font-size:13px;text-decoration:none;white-space:nowrap}.lu43-text-link .ypr-icon{width:15px;height:15px}

.lu43-mist{background:linear-gradient(90deg,#fff8f4,#fff)}.lu43-overlay-card{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);padding:0!important;background:#fff;box-shadow:0 20px 55px rgba(87,57,48,.06)}.lu43-overlay-copy{display:flex;flex-direction:column;justify-content:center;padding:60px 58px}.lu43-overlay-copy p:not(.lu43-eyebrow){margin:0 0 17px;color:var(--lu43-muted);font-size:15px;line-height:2}.lu43-overlay-copy h2{margin-bottom:25px}.lu43-overlay-media picture,.lu43-overlay-media img{display:block;width:100%;height:100%}.lu43-overlay-media img{object-fit:cover;object-position:center}

.lu43-center-action{display:flex;justify-content:center;margin-top:46px}.lu43-center-action .lu43-btn{min-width:310px}

.lu43-check-list{display:grid;gap:12px;margin:0 0 24px;padding:0;list-style:none}.lu43-check-two{grid-template-columns:1fr 1fr}.lu43-check-list li{position:relative;padding-left:26px;color:var(--lu43-text);font-size:14px;line-height:1.75}.lu43-check-list li:before{content:"✓";position:absolute;left:0;top:0;color:#cf667a;font-weight:700}

.lu43-beginners{background:#fff}.lu43-mini-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1000px;margin:0 auto}.lu43-mini-faq-grid article{padding:27px 30px;border:1px solid #ead9d3;background:#fffaf7}.lu43-mini-faq-grid h3{margin:0 0 11px;color:#9d5261;font-size:16px;font-weight:600;line-height:1.65}.lu43-mini-faq-grid p{margin:0;color:var(--lu43-muted);font-size:13.5px;line-height:1.9}

.lu43-before{background:linear-gradient(180deg,#fffaf7,#f8ece8)}.lu43-before-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;border:1px solid #ead4cd;background:rgba(255,255,255,.8);list-style:none}.lu43-before-list li{display:flex;align-items:center;gap:12px;min-height:76px;padding:16px 22px;border-right:1px solid #ead4cd;border-bottom:1px solid #ead4cd;font-size:13px;line-height:1.6}.lu43-before-list li:nth-child(3n){border-right:0}.lu43-before-list li:nth-last-child(-n+3){border-bottom:0}.lu43-before-list .ypr-icon{flex:0 0 auto;width:27px;height:27px;color:#cc7888}

.lu43-why{background:#fff}.lu43-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lu43-why-grid article{display:flex;flex-direction:column;align-items:center;min-height:240px;padding:34px 27px;border:1px solid #ead9d3;background:linear-gradient(180deg,#fff,#fff9f6);text-align:center}.lu43-why-grid article>.ypr-icon{width:44px;height:44px;margin-bottom:20px;color:#cb7787}.lu43-why-grid h3{margin:0 0 13px;font-size:17px;font-weight:600;line-height:1.7}.lu43-why-grid p{margin:0;color:var(--lu43-muted);font-size:13.5px;line-height:1.9}

.lu43-menu{background:var(--lu43-blush)}.lu43-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.lu43-menu-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);border:1px solid #ead9d3;background:#fff;box-shadow:0 14px 32px rgba(93,62,51,.04)}.lu43-menu-image picture,.lu43-menu-image img{display:block;width:100%;height:100%}.lu43-menu-image img{object-fit:cover;aspect-ratio:16/9}.lu43-menu-body{display:flex;flex-direction:column;padding:28px 26px}.lu43-menu-body h3{margin:0 0 12px;font-size:17px;font-weight:600;line-height:1.65}.lu43-menu-body>p:not(.lu43-price){margin:0 0 13px;color:var(--lu43-muted);font-size:13px;line-height:1.85}.lu43-price{display:flex;align-items:baseline;gap:5px;margin:4px 0 15px}.lu43-price span{font-size:12px}.lu43-price strong{font-family:Georgia,serif;font-size:29px;font-weight:400}.lu43-price small{font-size:11px}.lu43-menu-body a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:auto;border:1px solid #d0798a;color:#b45168;font-size:12px;text-decoration:none;white-space:nowrap}.lu43-menu-body a .ypr-icon{width:14px;height:14px}

.lu43-voices{background:#fff}.lu43-voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lu43-voice-grid article{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:28px;border:1px solid #ead9d3;background:#fffaf7}.lu43-voice-grid img{width:72px;height:72px;border-radius:50%}.lu43-voice-grid span{color:#b4717d;font-size:11px}.lu43-voice-grid h3{margin:6px 0 10px;font-size:16px;font-weight:600;line-height:1.65}.lu43-voice-grid p{margin:0;color:var(--lu43-muted);font-size:13px;line-height:1.9}

.lu43-faq{background:var(--lu43-pale)}.lu43-faq-list{max-width:920px;margin:0 auto;border-top:1px solid #e4d1cb}.lu43-faq-list details{border-bottom:1px solid #e4d1cb;background:#fff}.lu43-faq-list summary{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:70px;padding:14px 22px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;line-height:1.75}.lu43-faq-list summary::-webkit-details-marker{display:none}.lu43-q{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d78e9a;color:#fff;font-family:Georgia,serif}.lu43-plus{position:relative;width:20px;height:20px}.lu43-plus:before,.lu43-plus:after{content:"";position:absolute;left:50%;top:50%;background:#c67686;transform:translate(-50%,-50%)}.lu43-plus:before{width:15px;height:1px}.lu43-plus:after{width:1px;height:15px;transition:transform .2s ease}.lu43-faq-list details[open] .lu43-plus:after{transform:translate(-50%,-50%) rotate(90deg)}.lu43-answer{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:0 22px 24px;color:var(--lu43-muted)}.lu43-answer>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d78e9a;border-radius:50%;color:#b45c70;font-family:Georgia,serif}.lu43-answer p{margin:0;font-size:14px;line-height:1.95}

.lu43-related{background:#fff}.lu43-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lu43-related-grid a{display:block;border:1px solid #ead9d3;background:#fff;color:var(--lu43-text);text-align:center;text-decoration:none}.lu43-related-grid a>span{display:block;overflow:hidden}.lu43-related-grid picture,.lu43-related-grid img{display:block;width:100%;aspect-ratio:16/9}.lu43-related-grid img{object-fit:cover;transition:transform .3s ease}.lu43-related-grid a:hover img{transform:scale(1.025)}.lu43-related-grid strong{display:block;padding:18px 12px;font-size:14px;font-weight:600;line-height:1.6}

.lu43-final-cta{padding:58px 0;background:linear-gradient(90deg,#fff8f4,#f3d9d4 50%,#fff7f3);border-top:1px solid #e7cec7}.lu43-final-inner{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(360px,.82fr);gap:38px;align-items:center}.lu43-off-badge{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;width:124px;height:124px;border:1px solid #d1986c;border-radius:50%;background:rgba(255,255,255,.75);color:#b5794d;text-align:center}.lu43-off-badge span{width:100%;font-size:12px}.lu43-off-badge strong{font-family:Georgia,serif;font-size:36px;font-weight:400}.lu43-off-badge small{align-self:flex-end;margin:0 0 8px 3px;font-size:13px}.lu43-final-copy h2{margin:0;font-size:clamp(24px,2.4vw,33px);font-weight:500;line-height:1.65;letter-spacing:.065em}.lu43-final-copy p{margin:10px 0 0;color:var(--lu43-muted);font-size:13px;line-height:1.8}.lu43-final-actions{display:grid;gap:10px}

@media (max-width:1120px){.luluonn-v43 .site-container{width:min(100% - 48px,1060px)}.lu43-hero-inner{grid-template-columns:1fr 1fr}.lu43-hero-copy{padding-right:36px}.lu43-step-grid-four{grid-template-columns:repeat(2,1fr)}.lu43-menu-card{grid-template-columns:1fr}.lu43-menu-image img{height:auto}.lu43-final-inner{grid-template-columns:120px 1fr}.lu43-final-actions{grid-column:2}}
@media (max-width:860px){.luluonn-v43 .site-container{width:calc(100% - 40px)}.lu43-section{padding:92px 0}.lu43-hero-inner{display:block;min-height:0;width:100%}.lu43-hero-copy{padding:64px 20px 42px;text-align:center}.lu43-hero-copy h1{font-size:45px}.lu43-hero-text{margin-inline:auto}.lu43-hero-tags{justify-content:center}.lu43-actions{max-width:680px;margin-inline:auto}.lu43-hero-media picture,.lu43-hero-media img{height:auto;aspect-ratio:16/9}.lu43-definition-grid,.lu43-split,.lu43-overlay-card{grid-template-columns:1fr;gap:42px}.lu43-split-reverse .lu43-split-copy,.lu43-split-reverse .lu43-media{order:initial}.lu43-heading-left{text-align:center}.lu43-overlay-copy{padding:48px 40px}.lu43-overlay-media picture,.lu43-overlay-media img{height:auto;aspect-ratio:16/9}.lu43-value-grid{grid-template-columns:1fr}.lu43-value-grid article+article:before{left:30px;right:30px;top:0;bottom:auto;width:auto;height:1px}.lu43-step-grid-four{grid-template-columns:repeat(2,1fr)}.lu43-before-list{grid-template-columns:repeat(2,1fr)}.lu43-before-list li{border-right:1px solid #ead4cd!important;border-bottom:1px solid #ead4cd!important}.lu43-before-list li:nth-child(2n){border-right:0!important}.lu43-before-list li:nth-last-child(-n+1){border-bottom:0!important}.lu43-why-grid,.lu43-voice-grid,.lu43-related-grid{grid-template-columns:repeat(2,1fr)}.lu43-menu-grid{grid-template-columns:1fr}.lu43-final-inner{grid-template-columns:110px 1fr;gap:26px}}
@media (max-width:620px){.luluonn-v43 .site-container{width:calc(100% - 32px)}.lu43-section{padding:76px 0}.lu43-heading{margin-bottom:40px}.lu43-heading h2,.lu43-split-copy h2,.lu43-overlay-copy h2{font-size:clamp(25px,7vw,31px);letter-spacing:.045em}.lu43-heading>p:last-child:not(.lu43-eyebrow){font-size:14.5px}.lu43-eyebrow{font-size:10.5px}.lu43-hero-copy{padding:52px 16px 36px}.lu43-hero-copy h1{font-size:36px}.lu43-hero-lead{font-size:22px}.lu43-hero-text{font-size:14.5px}.lu43-hero-tags{gap:7px}.lu43-hero-tags li{font-size:10.5px;padding:7px 10px}.lu43-actions{grid-template-columns:1fr}.lu43-btn{min-height:52px;padding:0 14px;font-size:12px}.lu43-definition-grid{gap:28px}.lu43-answer-box{padding:30px 24px}.lu43-answer-box h3{font-size:19px}.lu43-step-grid-four,.lu43-mini-faq-grid,.lu43-why-grid,.lu43-voice-grid,.lu43-related-grid{grid-template-columns:1fr}.lu43-step-card p{font-size:13px}.lu43-value-grid article{padding:38px 28px}.lu43-table-wrap{overflow:visible;border:0;background:transparent}.lu43-compare-table,.lu43-compare-table thead,.lu43-compare-table tbody,.lu43-compare-table tr,.lu43-compare-table th,.lu43-compare-table td{display:block;width:100%}.lu43-compare-table thead{display:none}.lu43-compare-table tr{margin-bottom:16px;border:1px solid #e8d1ca;background:#fff}.lu43-compare-table tbody th{background:#f8e8e2}.lu43-compare-table td:before{display:block;margin-bottom:6px;color:#a65c6b;font-size:11px;font-weight:600}.lu43-compare-table td:nth-child(2):before{content:"ルルオン"}.lu43-compare-table td:nth-child(3):before{content:"一般的なよもぎ蒸し"}.lu43-compare-table th,.lu43-compare-table td{border:0;border-bottom:1px solid #ead9d3;text-align:left}.lu43-compare-table tr>*:last-child{border-bottom:0}.lu43-overlay-copy{padding:34px 24px}.lu43-check-two{grid-template-columns:1fr}.lu43-before-list{grid-template-columns:1fr}.lu43-before-list li{border-right:0!important;border-bottom:1px solid #ead4cd!important}.lu43-before-list li:last-child{border-bottom:0!important}.lu43-why-grid article{min-height:0}.lu43-menu-card{grid-template-columns:1fr}.lu43-menu-body{padding:24px 20px}.lu43-voice-grid article{grid-template-columns:62px 1fr;padding:22px}.lu43-voice-grid img{width:62px;height:62px}.lu43-faq-list summary{grid-template-columns:34px minmax(0,1fr) 20px;padding:13px 14px;font-size:14px}.lu43-answer{grid-template-columns:34px 1fr;padding:0 14px 20px}.lu43-final-inner{grid-template-columns:1fr;text-align:center}.lu43-off-badge{margin-inline:auto}.lu43-final-actions{grid-column:auto}.lu43-final-copy h2{font-size:25px}}

/* ========================================================================== 
   OWNER PAGE 4.4.0
   ========================================================================== */
.owner-page-v44{
  --ow-text:#3c2d29;
  --ow-muted:#6f625e;
  --ow-rose:#b76e79;
  --ow-rose-deep:#a54e63;
  --ow-gold:#c9a86a;
  --ow-ivory:#f7f2ea;
  --ow-blush:#faf2f0;
  --ow-pale:#fffaf7;
  --ow-line:#ead8d2;
  color:var(--ow-text);
  background:#fff;
  font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  overflow:hidden;
}
.owner-page-v44 .site-container{width:min(1180px,calc(100% - 72px));margin-inline:auto}
.owner-page-v44 :where(h1,h2,h3,p,li,dt,dd,a,span,strong,small){word-break:auto-phrase;line-break:strict}
.owner-page-v44 :where(h1,h2,h3){text-wrap:balance}
.owner-page-v44 :where(p,li,dd){text-wrap:pretty}
.ow44-section{position:relative;padding:122px 0;border-top:1px solid rgba(234,216,210,.8)}
.ow44-narrow{max-width:840px}
.ow44-heading{max-width:920px;margin:0 auto 52px;text-align:center}
.ow44-heading-left{max-width:none;margin:0 0 30px;text-align:left}
.ow44-eyebrow{margin:0 0 11px;color:#b88572;font-family:"Cormorant Garamond",Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.ow44-heading h2,.ow44-copy h2,.ow44-message-copy h2{margin:0;color:var(--ow-text);font-size:clamp(29px,3vw,40px);font-weight:500;line-height:1.62;letter-spacing:.075em}
.ow44-heading>p:last-child:not(.ow44-eyebrow){max-width:760px;margin:18px auto 0;color:var(--ow-muted);font-size:15.5px;line-height:2}
.ow44-prose{font-size:16px;line-height:2.12;letter-spacing:.025em}
.ow44-prose p{margin:0 0 23px}
.ow44-signature{margin:40px 0 0;text-align:right;font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:18px;letter-spacing:.075em}
.ow44-note{margin:22px 0 0;color:#89766e;font-size:12px;line-height:1.85}
.ow44-media{overflow:hidden;border-radius:4px;background:#f2e9e5}
.ow44-media picture,.ow44-media img{display:block;width:100%;aspect-ratio:16/9}
.ow44-media img{object-fit:cover;object-position:center}
.ow44-portrait-media img{object-position:center 34%}
.ow44-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(54px,6vw,84px);align-items:center}
.ow44-split-reverse .ow44-media{order:2}
.ow44-split-reverse .ow44-copy{order:1}
.ow44-copy{min-width:0;color:var(--ow-muted);font-size:15.5px;line-height:2.06}
.ow44-copy>p{margin:0 0 20px}
.ow44-highlight{margin-top:32px!important;padding:24px 28px;border-left:2px solid #c98783;background:linear-gradient(90deg,#f7ded8,#fff7f3);color:#8f5056;font-size:18px;line-height:1.9;letter-spacing:.045em}
.ow44-breadcrumb{padding-top:20px;padding-bottom:20px;color:#8a7770;font-size:12px}

.ow44-hero{position:relative;border-top:1px solid var(--ow-line);background:linear-gradient(90deg,#fffaf5 0%,#fff 48%,#f9f2ed 100%)}
.ow44-hero-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:620px}
.ow44-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:70px 54px 64px 0}
.ow44-hero-copy h1{margin:0;font-size:clamp(45px,5vw,65px);font-weight:500;line-height:1.25;letter-spacing:.12em}
.ow44-hero-lead{margin:26px 0 8px;font-size:clamp(26px,2.7vw,38px);line-height:1.55;letter-spacing:.085em}
.ow44-hero-text{margin:0 0 22px;color:var(--ow-muted);font-size:15.5px;line-height:2.05;letter-spacing:.03em}
.ow44-owner-name{display:grid;gap:3px;margin:0 0 22px}
.ow44-owner-name span{color:#8a6e64;font-size:12px}
.ow44-owner-name strong{font-size:20px;font-weight:600;letter-spacing:.09em}
.ow44-owner-name small{color:#ad776d;font-family:"Cormorant Garamond",Georgia,serif;font-size:11px;letter-spacing:.16em}
.ow44-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px;padding:0;list-style:none}
.ow44-hero-tags li{padding:8px 13px;border:1px solid #e7c4bc;border-radius:3px;background:rgba(255,255,255,.8);color:#785d55;font-size:11.5px;line-height:1.25;white-space:nowrap}
.ow44-hero-links{display:flex;flex-wrap:wrap;gap:24px}
.ow44-hero-links a{display:inline-flex;align-items:center;gap:9px;color:#a65467;font-size:12px;text-decoration:none;white-space:nowrap}
.ow44-hero-links .ypr-icon{width:16px;height:16px}
.ow44-hero-media{min-width:0;overflow:hidden}
.ow44-hero-media picture,.ow44-hero-media img{display:block;width:100%;height:100%}
.ow44-hero-media img{object-fit:cover;object-position:center}

.ow44-greeting{background:#fff}
.ow44-mission{background:linear-gradient(90deg,#fffaf7,#fff)}
.ow44-years{background:#fff}
.ow44-turning{background:var(--ow-blush)}
.ow44-empathy{background:#fff}
.ow44-encounter{background:linear-gradient(90deg,#fff,#fffaf7)}

.ow44-hospitality{background:var(--ow-ivory)}
.ow44-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfcfc8;border-bottom:1px solid #dfcfc8}
.ow44-value-grid article{position:relative;padding:44px 38px 42px;text-align:center}
.ow44-value-grid article+article:before{content:"";position:absolute;left:0;top:32px;bottom:32px;width:1px;background:#dfcfc8}
.ow44-value-grid span{display:block;margin-bottom:16px;color:#b76e79;font-family:Georgia,serif;font-size:34px;font-weight:400}
.ow44-value-grid h3{margin:0 0 14px;font-size:18px;font-weight:600;line-height:1.7;letter-spacing:.04em}
.ow44-value-grid p{margin:0;color:var(--ow-muted);font-size:13.5px;line-height:1.95}

.ow44-promises{background:#fff}
.ow44-promise-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}
.ow44-promise-grid article{grid-column:span 2;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;min-height:246px;padding:32px 26px;border:1px solid #e6d3cc;background:linear-gradient(180deg,#fff,#fff9f6);text-align:center}
.ow44-promise-grid article:nth-child(4){grid-column:2/span 2;margin:0}
.ow44-promise-grid article:nth-child(5){grid-column:4/span 2;margin:0}
.ow44-promise-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:17px;color:#c67584}
.ow44-promise-icon .ypr-icon{width:42px;height:42px}
.ow44-promise-grid h3{margin:0 0 13px;font-size:16.5px;font-weight:600;line-height:1.75}
.ow44-promise-grid p{margin:0;color:var(--ow-muted);font-size:13px;line-height:1.9}
.ow44-center-action{display:flex;justify-content:center;margin-top:38px}

.ow44-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border:1px solid transparent;border-radius:2px;font-size:13px;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;transition:transform .2s ease,background .2s ease,color .2s ease}
.ow44-btn:hover{transform:translateY(-1px)}
.ow44-btn .ypr-icon{flex:0 0 auto;width:17px;height:17px}
.ow44-btn-primary{background:var(--ow-rose);color:#fff}
.ow44-btn-outline{border-color:#cf7183;background:#fff;color:#b45068}
.ow44-btn-line{background:linear-gradient(90deg,#31b84a,#2cac43);color:#fff}

.ow44-profile{background:var(--ow-pale)}
.ow44-profile-list{margin:0;border-top:1px solid #dfcfc8}
.ow44-profile-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid #dfcfc8}
.ow44-profile-list dt{color:#9a6b62;font-size:12px;font-weight:600}
.ow44-profile-list dd{margin:0;color:var(--ow-text);font-size:14px;line-height:1.8}
.ow44-subtitle{margin:28px 0 12px;font-size:16px;font-weight:600}
.ow44-check-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.ow44-check-list li{position:relative;padding-left:22px;color:var(--ow-muted);font-size:13.5px;line-height:1.8}
.ow44-check-list li:before{content:"";position:absolute;left:0;top:.72em;width:9px;height:5px;border-left:1.5px solid #c7677b;border-bottom:1.5px solid #c7677b;transform:rotate(-45deg)}

.ow44-message{background:linear-gradient(90deg,#fbefeb,#fff8f5)}
.ow44-message-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:clamp(48px,6vw,82px);align-items:center}
.ow44-message-copy{color:var(--ow-muted);font-size:15.5px;line-height:2.05}
.ow44-message-copy>p{margin:0 0 18px}
.ow44-message-media{overflow:hidden;border-radius:4px}
.ow44-message-media picture,.ow44-message-media img{display:block;width:100%;aspect-ratio:16/9}
.ow44-message-media img{object-fit:cover;object-position:center 30%}

.ow44-space{background:#fff}
.ow44-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;align-items:start}
.ow44-gallery figure{min-width:0;margin:0}
.ow44-gallery figure.is-large{grid-column:span 2;grid-row:span 2}
.ow44-gallery picture{display:block;overflow:hidden;width:100%;aspect-ratio:16/9;background:#f4ece8}
.ow44-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.ow44-gallery figcaption{padding:10px 4px 0;color:#75635d;font-size:11.5px;line-height:1.7;text-align:center}
.ow44-space .ow44-center-action{position:relative;z-index:2;margin-top:48px}

.ow44-related{background:var(--ow-pale)}
.ow44-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ow44-related-grid a{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) 22px;align-items:center;gap:17px;min-height:104px;padding:10px 16px 10px 10px;border:1px solid #e4d2cb;background:#fff;color:var(--ow-text);text-decoration:none}
.ow44-related-grid a>span{display:block;overflow:hidden}
.ow44-related-grid picture,.ow44-related-grid img{display:block;width:100%;aspect-ratio:16/9}
.ow44-related-grid img{object-fit:cover;transition:transform .3s ease}
.ow44-related-grid a:hover img{transform:scale(1.03)}
.ow44-related-grid strong{font-size:13.5px;font-weight:600;line-height:1.7}
.ow44-related-grid>.ypr-icon,.ow44-related-grid a>.ypr-icon{width:18px;height:18px;color:#b85c70}

.ow44-faq{background:#fff}
.ow44-faq-list{max-width:920px;margin:0 auto;border-top:1px solid #e3d0c9}
.ow44-faq-list details{border-bottom:1px solid #e3d0c9;background:#fff}
.ow44-faq-list summary{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:70px;padding:14px 22px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;line-height:1.75}
.ow44-faq-list summary::-webkit-details-marker{display:none}
.ow44-q{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d78e9a;color:#fff;font-family:Georgia,serif}
.ow44-plus{position:relative;width:20px;height:20px}
.ow44-plus:before,.ow44-plus:after{content:"";position:absolute;left:50%;top:50%;background:#c67686;transform:translate(-50%,-50%)}
.ow44-plus:before{width:15px;height:1px}
.ow44-plus:after{width:1px;height:15px;transition:transform .2s ease}
.ow44-faq-list details[open] .ow44-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.ow44-answer{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:0 22px 24px;color:var(--ow-muted)}
.ow44-answer>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d78e9a;border-radius:50%;color:#b45c70;font-family:Georgia,serif}
.ow44-answer p{margin:0;font-size:14px;line-height:1.95}

.ow44-final-cta{padding:58px 0 28px;border-top:1px solid #e7cec7;background:linear-gradient(90deg,#fff8f4,#f3d9d4 50%,#fff7f3)}
.ow44-final-inner{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(410px,.9fr);gap:34px;align-items:center}
.ow44-off-badge{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;width:124px;height:124px;border:1px solid #d1986c;border-radius:50%;background:rgba(255,255,255,.78);color:#b5794d;text-align:center}
.ow44-off-badge span{width:100%;font-size:12px}.ow44-off-badge strong{font-family:Georgia,serif;font-size:36px;font-weight:400}.ow44-off-badge small{align-self:flex-end;margin:0 0 8px 3px;font-size:13px}
.ow44-final-copy h2{margin:0;font-size:clamp(24px,2.4vw,33px);font-weight:500;line-height:1.65;letter-spacing:.065em}
.ow44-final-copy p{margin:10px 0 0;color:var(--ow-muted);font-size:13px;line-height:1.8}
.ow44-final-actions{display:grid;gap:10px}
.ow44-final-links{display:flex;justify-content:center;gap:34px;margin-top:24px}
.ow44-final-links a{color:#6d5a54;font-size:11.5px;text-decoration:none;border-bottom:1px solid #9f8b84}

@media(max-width:1120px){
  .owner-page-v44 .site-container{width:min(100% - 48px,1060px)}
  .ow44-hero-inner{grid-template-columns:1fr 1fr}
  .ow44-hero-copy{padding-right:36px}
  .ow44-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ow44-promise-grid article,.ow44-promise-grid article:nth-child(4),.ow44-promise-grid article:nth-child(5){grid-column:auto;margin:0}
  .ow44-promise-grid article:last-child{grid-column:1/3;max-width:calc(50% - 9px);width:100%;justify-self:center}
  .ow44-related-grid{grid-template-columns:repeat(2,1fr)}
  .ow44-final-inner{grid-template-columns:120px 1fr}
  .ow44-final-actions{grid-column:2}
}
@media(max-width:900px){
  .owner-page-v44 .site-container{width:calc(100% - 40px)}
  .ow44-section{padding:94px 0}
  .ow44-hero-inner{display:block;min-height:0;width:100%}
  .ow44-hero-copy{padding:64px 20px 42px;text-align:center}
  .ow44-hero-copy h1{font-size:46px}
  .ow44-owner-name{justify-items:center}
  .ow44-hero-tags,.ow44-hero-links{justify-content:center}
  .ow44-hero-media picture,.ow44-hero-media img{height:auto;aspect-ratio:16/9}
  .ow44-split,.ow44-message-grid{grid-template-columns:1fr;gap:42px}
  .ow44-split-reverse .ow44-media,.ow44-split-reverse .ow44-copy{order:initial}
  .ow44-heading-left{text-align:center}
  .ow44-signature{text-align:center}
  .ow44-value-grid{grid-template-columns:1fr}
  .ow44-value-grid article+article:before{left:26px;right:26px;top:0;bottom:auto;width:auto;height:1px}
  .ow44-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ow44-promise-grid article{grid-column:auto}
  .ow44-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ow44-gallery figure.is-large{grid-column:span 2;grid-row:auto}
  .ow44-related-grid{grid-template-columns:repeat(2,1fr)}
  .ow44-final-inner{grid-template-columns:110px 1fr;gap:26px}
}
@media(max-width:640px){
  .owner-page-v44 .site-container{width:calc(100% - 32px)}
  .ow44-section{padding:76px 0}
  .ow44-heading{margin-bottom:40px}
  .ow44-heading h2,.ow44-copy h2,.ow44-message-copy h2{font-size:clamp(25px,7vw,31px);letter-spacing:.045em}
  .ow44-eyebrow{font-size:10.5px}
  .ow44-heading>p:last-child:not(.ow44-eyebrow){font-size:14.5px}
  .ow44-prose,.ow44-copy,.ow44-message-copy{font-size:14.5px;line-height:2}
  .ow44-hero-copy{padding:52px 16px 36px}
  .ow44-hero-copy h1{font-size:36px}
  .ow44-hero-lead{font-size:27px}
  .ow44-hero-text{font-size:14px}
  .ow44-hero-tags{gap:7px}.ow44-hero-tags li{font-size:10.5px;padding:7px 10px}
  .ow44-hero-links{gap:17px}
  .ow44-highlight{padding:21px 20px;font-size:16px}
  .ow44-value-grid article{padding:36px 26px}
  .ow44-promise-grid{grid-template-columns:1fr}
  .ow44-promise-grid article:last-child{grid-column:auto;max-width:none}
  .ow44-promise-grid article{min-height:0}
  .ow44-btn{width:100%;min-height:52px;padding:0 14px;font-size:12px}
  .ow44-profile-list div{grid-template-columns:92px minmax(0,1fr);gap:12px}
  .ow44-gallery{grid-template-columns:1fr}
  .ow44-gallery figure.is-large{grid-column:auto}
  .ow44-related-grid{grid-template-columns:1fr}
  .ow44-related-grid a{grid-template-columns:104px minmax(0,1fr) 20px}
  .ow44-faq-list summary{grid-template-columns:34px minmax(0,1fr) 20px;padding:13px 14px;font-size:14px}
  .ow44-answer{grid-template-columns:34px 1fr;padding:0 14px 20px}
  .ow44-final-inner{grid-template-columns:1fr;text-align:center}
  .ow44-off-badge{margin-inline:auto}
  .ow44-final-actions{grid-column:auto}
  .ow44-final-copy h2{font-size:25px}
  .ow44-final-links{flex-direction:column;align-items:center;gap:12px}
}

/* =========================================================
   Menu & Price page 4.5.0
   ========================================================= */
.menu-page-v45{
  --mn-text:#3c2d29;
  --mn-muted:#6f625e;
  --mn-rose:#b76e79;
  --mn-rose-deep:#a95365;
  --mn-beige:#d8b7ad;
  --mn-gold:#c9a86a;
  --mn-ivory:#f7f2ea;
  --mn-pale:#faf2f0;
  --mn-line:#e8d8d1;
  color:var(--mn-text);
  background:#fff;
  font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  overflow:hidden;
}
.menu-page-v45 .site-container{width:min(100% - 64px,1240px);margin-inline:auto}
.menu-page-v45 picture,.menu-page-v45 img{display:block;max-width:100%}
.menu-page-v45 h1,.menu-page-v45 h2,.menu-page-v45 h3{word-break:auto-phrase;text-wrap:balance}
.menu-page-v45 p,.menu-page-v45 li{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.mn45-section{padding:clamp(104px,9vw,150px) 0;scroll-margin-top:110px}
.mn45-eyebrow{margin:0 0 14px;color:var(--mn-gold);font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.mn45-heading{max-width:920px;margin:0 auto 58px;text-align:center}
.mn45-heading h2{margin:0;font-size:clamp(29px,3.2vw,40px);font-weight:500;line-height:1.65;letter-spacing:.055em}
.mn45-heading-left{margin:0 0 28px;text-align:left}
.mn45-heading-left h2{font-size:clamp(27px,2.75vw,37px)}
.mn45-copy{color:var(--mn-muted);font-size:16px;line-height:2.05}
.mn45-copy>p{margin:0 0 19px}
.mn45-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:clamp(52px,7vw,96px);align-items:center}
.mn45-split-reverse{grid-template-columns:minmax(360px,.82fr) minmax(0,1fr)}
.mn45-media{overflow:hidden;border-radius:4px;background:#f4ece8}
.mn45-media picture,.mn45-media img{display:block;width:100%;aspect-ratio:16/9}
.mn45-media img{height:100%;object-fit:cover}
.mn45-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 30px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:600;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.mn45-btn:hover{transform:translateY(-2px)}
.mn45-btn .ypr-icon{flex:0 0 auto;width:18px;height:18px}
.mn45-btn-primary{background:linear-gradient(90deg,var(--mn-rose-deep),#c56f81);color:#fff}
.mn45-btn-outline{border-color:#cf7c8a;background:rgba(255,255,255,.8);color:#b45a6d}
.mn45-btn-line{border-radius:2px;background:linear-gradient(90deg,#35ba4d,#2cab45);color:#fff}
.mn45-caption{max-width:940px;margin:30px auto 0;color:#8a7670;font-size:12.5px;line-height:1.85;text-align:center}

.mn45-hero{background:linear-gradient(90deg,#fffaf6 0,#fff 47%,#f4ece8 47%)}
.mn45-hero-inner{display:grid;grid-template-columns:minmax(0,.94fr) minmax(460px,1.06fr);align-items:stretch;min-height:660px}
.mn45-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:78px 58px 66px 0}
.mn45-hero-copy h1{margin:0;font-size:clamp(44px,5.2vw,62px);font-weight:500;line-height:1.4;letter-spacing:.075em}
.mn45-hero-lead{margin:24px 0 20px;color:#be6576;font-size:clamp(28px,3.2vw,41px);line-height:1.7;letter-spacing:.055em}
.mn45-hero-text{max-width:620px;margin:0;color:var(--mn-muted);font-size:15.5px;line-height:2}
.mn45-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:36px 0 0;padding:0;list-style:none}
.mn45-feature-list li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;color:#695752;font-size:12px;line-height:1.65}
.mn45-feature-list .ypr-icon{width:27px;height:27px;color:#cb7586}
.mn45-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.mn45-hero-media{min-width:0;overflow:hidden}
.mn45-hero-media picture,.mn45-hero-media img{display:block;width:100%;height:100%}
.mn45-hero-media img{object-fit:cover;object-position:center}
.mn45-breadcrumb{padding-top:24px;padding-bottom:18px}
.mn45-breadcrumb .breadcrumbs{margin:0}

.mn45-choose{padding-top:92px;background:#fff}
.mn45-counsel-media img{object-position:center 32%}
.mn45-highlight{margin-top:44px;padding:24px 34px;border-left:1px solid #edc9c3;border-right:1px solid #edc9c3;background:linear-gradient(90deg,#fff9f6,#f8e7e2 50%,#fff9f6);color:#bd6677;font-size:20px;line-height:1.8;text-align:center;letter-spacing:.04em}

.mn45-concerns{background:var(--mn-ivory)}
.mn45-concern-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.mn45-concern-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;min-width:0;border:1px solid #e6d1c8;border-radius:8px;background:#fff;color:var(--mn-text);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.mn45-concern-card:hover{transform:translateY(-4px);border-color:#d79aa6;box-shadow:0 14px 34px rgba(91,61,52,.08)}
.mn45-concern-card picture,.mn45-concern-card img{width:100%;aspect-ratio:4/3}
.mn45-concern-card img{object-fit:cover}
.mn45-concern-card strong{display:flex;align-items:center;justify-content:center;min-height:86px;padding:14px 9px;font-size:13px;font-weight:600;line-height:1.75;text-align:center}
.mn45-concern-card>.ypr-icon{width:25px;height:25px;margin:0 auto 14px;padding:5px;border:1px solid #d993a0;border-radius:50%;color:#b95e71}

.mn45-recommended{background:#fff}
.mn45-recommend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mn45-menu-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e6d3cb;border-radius:4px;background:#fff;box-shadow:0 14px 34px rgba(79,50,41,.045)}
.mn45-menu-media{position:relative;overflow:hidden}
.mn45-menu-media>span{position:absolute;z-index:2;left:16px;top:14px;padding:7px 12px;border-radius:999px;background:rgba(183,110,121,.92);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em}
.mn45-menu-media picture,.mn45-menu-media img{display:block;width:100%;aspect-ratio:16/9}
.mn45-menu-media img{object-fit:cover}
.mn45-menu-body{display:flex;flex:1;flex-direction:column;padding:26px 24px 25px}
.mn45-menu-body h3{margin:0 0 16px;font-size:19px;font-weight:600;line-height:1.7;text-align:center}
.mn45-menu-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 0 17px;padding:0;list-style:none}
.mn45-menu-tags li{padding:5px 9px;border-radius:999px;background:#fae9e5;color:#9b645f;font-size:10.5px;line-height:1.2}
.mn45-menu-body>p{margin:0 0 19px;color:var(--mn-muted);font-size:13.5px;line-height:1.9;text-align:center}
.mn45-price-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px 12px;margin-top:auto;padding-top:4px}
.mn45-price-line span{font-size:13px;text-decoration:line-through;text-decoration-color:#ad9690}
.mn45-price-line strong{color:#c45e73;font-size:25px;font-weight:500;line-height:1.3}
.mn45-price-line small{font-size:10px}
.mn45-menu-body .mn45-time{margin:7px 0 18px;color:#7c6b66;font-size:12px}
.mn45-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;margin-top:auto;border-radius:2px;background:linear-gradient(90deg,#b45a6d,#cf7685);color:#fff;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.mn45-card-btn .ypr-icon{width:17px;height:17px}

.mn45-offers{border-top:1px solid rgba(232,216,209,.75);background:#fff}
.mn45-offers-beauty,.mn45-offers-premium,.mn45-offers-limited{background:var(--mn-pale)}
.mn45-offers-wellness,.mn45-offers-student,.mn45-offers-other{background:var(--mn-ivory)}
.mn45-offer-list{display:grid;gap:13px;max-width:1040px;margin-inline:auto}
.mn45-offer-row{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:center;min-height:142px;padding:26px 28px;border:1px solid #e3d0c9;background:rgba(255,255,255,.88)}
.mn45-offer-condition{display:inline-flex;margin-bottom:9px;padding:5px 10px;border-radius:999px;background:#f8e6e2;color:#a55c64;font-size:10.5px;line-height:1.2}
.mn45-offer-copy h3{margin:0 0 8px;font-size:18px;font-weight:600;line-height:1.7}
.mn45-offer-copy p{margin:0;color:var(--mn-muted);font-size:13px;line-height:1.85}
.mn45-offer-action{display:grid;justify-items:end;gap:12px}
.mn45-offer-action strong{color:#ba596d;font-size:25px;font-weight:500;white-space:nowrap}
.mn45-offer-action a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:230px;min-height:44px;border:1px solid #d48392;background:#fff;color:#b85c70;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.mn45-offer-action .ypr-icon{width:16px;height:16px}

.mn45-standard{background:#fff}
.mn45-regular-list{max-width:1120px;margin-inline:auto;border-top:1px solid #dfcbc4}
.mn45-regular-row{display:grid;grid-template-columns:85px minmax(0,1fr) 130px 120px 190px;align-items:center;gap:20px;min-height:82px;padding:14px 16px;border-bottom:1px solid #dfcbc4}
.mn45-regular-category{color:#a06f65;font-size:10.5px;letter-spacing:.08em}
.mn45-regular-row h3{margin:0;font-size:14px;font-weight:600;line-height:1.7}
.mn45-regular-time{color:#7c6b66;font-size:12px;text-align:center}
.mn45-regular-row strong{color:#aa5868;font-size:16px;font-weight:600;text-align:right;white-space:nowrap}
.mn45-regular-row a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #d88996;color:#b75b6e;font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}
.mn45-regular-row a .ypr-icon{width:15px;height:15px}

.mn45-notice{background:var(--mn-ivory)}
.mn45-notice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;max-width:1160px;margin-inline:auto}
.mn45-notice-grid article{position:relative;padding:8px 24px 4px;text-align:center}
.mn45-notice-grid article+article:before{content:"";position:absolute;left:0;top:10%;width:1px;height:80%;background:#e0cdc5}
.mn45-notice-grid>.ypr-icon,.mn45-notice-grid article>.ypr-icon{width:42px;height:42px;margin-bottom:17px;color:#ca7485}
.mn45-notice-grid h3{margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.7}
.mn45-notice-grid p{margin:0;color:var(--mn-muted);font-size:12px;line-height:1.85}

.mn45-consult{background:linear-gradient(90deg,#fff,#fff8f5)}
.mn45-consult .mn45-media img{object-position:center 32%}

.mn45-faq{background:#fff}
.mn45-faq-list{max-width:900px;margin:0 auto;border-top:1px solid #e3d0c9}
.mn45-faq-list details{border-bottom:1px solid #e3d0c9;background:#fff}
.mn45-faq-list summary{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:70px;padding:14px 22px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;line-height:1.75}
.mn45-faq-list summary::-webkit-details-marker{display:none}
.mn45-q{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d78e9a;color:#fff;font-family:Georgia,serif}
.mn45-plus{position:relative;width:20px;height:20px}
.mn45-plus:before,.mn45-plus:after{content:"";position:absolute;left:50%;top:50%;background:#c67686;transform:translate(-50%,-50%)}
.mn45-plus:before{width:15px;height:1px}.mn45-plus:after{width:1px;height:15px;transition:transform .2s ease}
.mn45-faq-list details[open] .mn45-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.mn45-answer{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:0 22px 24px;color:var(--mn-muted)}
.mn45-answer>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d78e9a;border-radius:50%;color:#b45c70;font-family:Georgia,serif}
.mn45-answer p{margin:0;font-size:14px;line-height:1.95}

.mn45-final{padding:76px 0 72px;border-top:1px solid #e8cdc7;background:linear-gradient(90deg,#b75064,#d47987 56%,#bd5b70);color:#fff;text-align:center}
.mn45-final-inner{max-width:900px}
.mn45-final .mn45-eyebrow{color:#f5dfd8}
.mn45-final h2{margin:0;font-size:clamp(27px,3.2vw,39px);font-weight:500;line-height:1.65;letter-spacing:.055em}
.mn45-final p{max-width:720px;margin:16px auto 28px;color:rgba(255,255,255,.88);font-size:14px;line-height:1.9}
.mn45-final-btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;width:min(100%,430px);min-height:66px;border-radius:4px;background:#fff;color:#b65b6e;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;box-shadow:0 12px 34px rgba(86,40,48,.18)}
.mn45-final-btn .ypr-icon{width:19px;height:19px}
.mn45-final small{display:block;margin-top:15px;color:rgba(255,255,255,.78);font-size:11px}

@media(max-width:1120px){
  .menu-page-v45 .site-container{width:min(100% - 48px,1080px)}
  .mn45-hero-inner{grid-template-columns:1fr 1fr}
  .mn45-hero-copy{padding-right:38px}
  .mn45-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mn45-concern-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mn45-notice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 0}
  .mn45-notice-grid article:nth-child(4):before{display:none}
}
@media(max-width:900px){
  .menu-page-v45 .site-container{width:calc(100% - 40px)}
  .mn45-section{padding:92px 0}
  .mn45-hero{background:#fff}
  .mn45-hero-inner{display:block;min-height:0;width:100%}
  .mn45-hero-copy{padding:62px 20px 42px;text-align:center}
  .mn45-hero-copy h1{font-size:46px}
  .mn45-hero-text{margin-inline:auto}
  .mn45-feature-list{max-width:650px;margin-inline:auto;margin-top:32px}
  .mn45-hero-actions{justify-content:center}
  .mn45-hero-media picture,.mn45-hero-media img{height:auto;aspect-ratio:16/9}
  .mn45-split,.mn45-split-reverse{grid-template-columns:1fr;gap:40px}
  .mn45-heading-left{text-align:center}
  .mn45-highlight{font-size:18px}
  .mn45-concern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mn45-recommend-grid{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
  .mn45-offer-row{grid-template-columns:1fr 220px}
  .mn45-regular-row{grid-template-columns:75px minmax(0,1fr) 105px 110px}
  .mn45-regular-row a{grid-column:2/5;width:100%;max-width:240px;justify-self:end}
  .mn45-notice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mn45-notice-grid article:nth-child(3):before,.mn45-notice-grid article:nth-child(5):before{display:none}
}
@media(max-width:640px){
  .menu-page-v45 .site-container{width:calc(100% - 32px)}
  .mn45-section{padding:76px 0}
  .mn45-heading{margin-bottom:40px}
  .mn45-heading h2,.mn45-heading-left h2{font-size:clamp(25px,7vw,31px);letter-spacing:.04em}
  .mn45-eyebrow{font-size:10.5px}
  .mn45-copy{font-size:14.5px;line-height:2}
  .mn45-hero-copy{padding:52px 16px 36px}
  .mn45-hero-copy h1{font-size:36px}
  .mn45-hero-lead{font-size:27px}
  .mn45-hero-text{font-size:14px}
  .mn45-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
  .mn45-feature-list li{grid-template-columns:24px 1fr;font-size:10.5px}
  .mn45-feature-list .ypr-icon{width:23px;height:23px}
  .mn45-hero-actions{display:grid}
  .mn45-btn{width:100%;min-height:54px;padding:0 16px;font-size:12px}
  .mn45-highlight{margin-top:34px;padding:20px 16px;font-size:16px}
  .mn45-concern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mn45-concern-card strong{min-height:74px;font-size:11.5px}
  .mn45-menu-body{padding:22px 18px 20px}
  .mn45-menu-body h3{font-size:18px}
  .mn45-price-line strong{font-size:23px}
  .mn45-card-btn{font-size:11.5px}
  .mn45-offer-row{grid-template-columns:1fr;gap:18px;padding:23px 18px}
  .mn45-offer-copy h3{font-size:16px}
  .mn45-offer-action{justify-items:stretch}
  .mn45-offer-action strong{text-align:left;font-size:23px}
  .mn45-offer-action a{min-width:0;width:100%;font-size:11.5px}
  .mn45-regular-list{border:0}
  .mn45-regular-row{grid-template-columns:1fr auto;gap:8px 14px;margin-bottom:12px;padding:20px 17px;border:1px solid #dfcbc4}
  .mn45-regular-category{grid-column:1/3}
  .mn45-regular-row h3{font-size:14px}
  .mn45-regular-time{grid-column:1;text-align:left}
  .mn45-regular-row strong{grid-column:2;grid-row:2/4;align-self:center;font-size:17px}
  .mn45-regular-row a{grid-column:1/3;width:100%;max-width:none;justify-self:stretch;margin-top:8px}
  .mn45-notice-grid{grid-template-columns:1fr;gap:0}
  .mn45-notice-grid article{padding:28px 12px}
  .mn45-notice-grid article+article:before,.mn45-notice-grid article:nth-child(3):before,.mn45-notice-grid article:nth-child(4):before,.mn45-notice-grid article:nth-child(5):before{display:block;left:15%;right:15%;top:0;width:auto;height:1px}
  .mn45-faq-list summary{grid-template-columns:34px minmax(0,1fr) 20px;padding:13px 14px;font-size:14px}
  .mn45-answer{grid-template-columns:34px 1fr;padding:0 14px 20px}
  .mn45-final{padding:64px 0 60px}
  .mn45-final h2{font-size:25px}
  .mn45-final-btn{min-height:60px;font-size:13px}
}

/* ========================================================================== 
   YOSAPARK Rose v4.6.0 – 40代からの痩せにくさ 専用ページ
   ========================================================================== */
.forties-diet-page-v46{
  --fd-rose:#bd6677;
  --fd-rose-dark:#a94b61;
  --fd-pink:#f6e9e6;
  --fd-ivory:#fbf7f2;
  --fd-gold:#b89368;
  --fd-brown:#3f2b26;
  --fd-muted:#75645f;
  --fd-line:#ead8d2;
  --fd-shadow:0 18px 44px rgba(88,52,42,.055);
  color:var(--fd-brown);
  background:#fff;
  font-family:var(--serif);
  overflow:hidden;
}
.forties-diet-page-v46 .site-container{width:min(100% - 64px,1240px);margin-inline:auto}
.forties-diet-page-v46 picture,.forties-diet-page-v46 img{display:block;max-width:100%}
.forties-diet-page-v46 h1,.forties-diet-page-v46 h2,.forties-diet-page-v46 h3{word-break:auto-phrase;text-wrap:balance}
.forties-diet-page-v46 p,.forties-diet-page-v46 li{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.fd46-section{position:relative;padding:clamp(88px,7.4vw,124px) 0;border-top:1px solid rgba(234,216,210,.72);scroll-margin-top:110px}
.fd46-section:nth-of-type(even){background:#fff}
.fd46-section:nth-of-type(odd){background:linear-gradient(135deg,#fff,#fdf9f6)}
.fd46-narrow{max-width:940px}
.fd46-eyebrow{margin:0 0 10px;color:var(--fd-gold);font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-size:11px;font-weight:600;letter-spacing:.19em;line-height:1.5;text-transform:uppercase}
.fd46-step{margin:0 0 7px;color:#c98590;font-size:11px;letter-spacing:.12em;line-height:1.5}
.fd46-heading{max-width:940px;margin:0 auto 48px;text-align:center}
.fd46-heading h2{margin:0;font-size:clamp(28px,3vw,39px);font-weight:500;line-height:1.62;letter-spacing:.06em}
.fd46-heading-left{margin:0 0 28px;text-align:left}
.fd46-heading-left h2{font-size:clamp(27px,2.65vw,37px)}
.fd46-copy{color:var(--fd-muted);font-size:16px;line-height:2.05}
.fd46-copy>p{margin:0 0 18px}
.fd46-copy blockquote{margin:27px 0 0;padding:24px 27px;border-left:3px solid #c98291;background:#fbf1ee;color:#865261;font-size:20px;line-height:1.9}
.fd46-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:clamp(54px,7vw,92px);align-items:center}
.fd46-split-reverse{grid-template-columns:minmax(360px,.95fr) minmax(0,1fr)}
.fd46-media{overflow:hidden;border:1px solid rgba(231,211,203,.8);border-radius:3px;background:#f6efeb;box-shadow:var(--fd-shadow)}
.fd46-media picture,.fd46-media img{display:block;width:100%;aspect-ratio:16/9}
.fd46-media img{height:100%;object-fit:cover}
.fd46-caption{margin:16px auto 0;color:#8b7872;font-size:12px;line-height:1.8;text-align:center}
.fd46-text-link,.fd46-center-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border:1px solid #d78696;color:#ad4e64;background:#fff;font-size:13px;font-weight:600;letter-spacing:.045em;text-decoration:none;white-space:nowrap;transition:.22s ease}
.fd46-text-link:hover,.fd46-center-link:hover{background:#fff5f3;transform:translateY(-2px)}
.fd46-text-link .ypr-icon,.fd46-center-link .ypr-icon{width:16px;height:16px}
.fd46-center-link{display:flex;width:max-content;margin:28px auto 0}

.fd46-hero{position:relative;background:linear-gradient(100deg,#fffaf6 0%,#fff 48%,#f7f3ef 100%);overflow:hidden}
.fd46-hero-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:650px;width:min(100%,1500px)}
.fd46-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:64px clamp(26px,4vw,72px) 54px 0}
.fd46-hero-copy:before{content:"";position:absolute;z-index:-1;inset:-30px -120px -30px -100vw;background:linear-gradient(90deg,#fffaf7 0%,rgba(255,250,247,.97) 68%,rgba(255,250,247,.72) 86%,transparent 100%)}
.fd46-hero-copy h1{margin:0;color:#3c2822;font-size:clamp(43px,4vw,59px);font-weight:500;line-height:1.45;letter-spacing:.095em}
.fd46-hero-lead{margin:22px 0 12px;color:#77524d;font-size:clamp(20px,2vw,28px);line-height:1.7;letter-spacing:.055em}
.fd46-hero-text{max-width:620px;margin:0;color:#6e5c57;font-size:15px;line-height:2}
.fd46-feature-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:680px;margin:30px 0 26px;padding:0;list-style:none}
.fd46-feature-list li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:86px;padding:10px 6px;border:1px solid #eadbd5;background:rgba(255,255,255,.91);font-size:10.5px;font-weight:600;line-height:1.55;text-align:center;box-shadow:0 7px 22px rgba(83,50,40,.035)}
.fd46-feature-list .ypr-icon{width:28px;height:28px;color:#cb7c89}
.fd46-actions,.fd46-final-actions{display:flex;flex-wrap:wrap;gap:12px}
.fd46-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 28px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.035em;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.fd46-btn:hover{transform:translateY(-2px)}
.fd46-btn .ypr-icon{width:18px;height:18px}
.fd46-btn .arrow{margin-left:5px}
.fd46-btn-line{min-width:270px;background:#32b84e;color:#fff;box-shadow:0 11px 26px rgba(50,184,78,.18)}
.fd46-btn-line .ypr-icon:first-child svg{fill:currentColor;stroke:none}
.fd46-btn-outline{min-width:245px;border-color:#d98c99;background:#fff;color:#b25367}
.fd46-btn-white{border-color:rgba(255,255,255,.7);background:#fff;color:#a84d61}
.fd46-hero-media{position:relative;min-width:0;overflow:hidden;background:#f2ece8}
.fd46-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,249,245,.36),transparent 34%);pointer-events:none}
.fd46-hero-media picture,.fd46-hero-media img{width:100%;height:100%}
.fd46-hero-media img{object-fit:cover;object-position:center 50%}
.fd46-breadcrumb{padding:18px 0;color:#8d7770;font-size:11px}

.fd46-empathy{background:#fffaf7!important}
.fd46-empathy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 50px;padding:33px 42px;border:1px solid var(--fd-line);background:#fff;box-shadow:var(--fd-shadow)}
.fd46-empathy-grid ul{margin:0;padding:0;list-style:none}
.fd46-empathy-grid li{position:relative;margin:0;padding:8px 0 8px 27px;color:#66534d;font-size:14px;line-height:1.75}
.fd46-empathy-grid li:before{content:"";position:absolute;left:0;top:15px;width:11px;height:11px;border:1px solid #c97887;background:#fff}
.fd46-empathy-note{margin:25px 0 0;padding:19px 24px;background:#f9ece9;color:#ae596b;font-size:17px;line-height:1.9;text-align:center}

.fd46-answer{background:linear-gradient(90deg,#fff,#fdf7f4)!important}
.fd46-answer-inner{position:relative;max-width:900px;text-align:center}
.fd46-answer-inner>p{max-width:780px;margin:0 auto 16px;color:var(--fd-muted);font-size:15px;line-height:2}
.fd46-answer-decor{position:absolute;right:-110px;top:-10px;color:#e9c9c2;opacity:.55}
.fd46-answer-decor .ypr-icon{width:140px;height:140px}
.fd46-medical-note{margin-top:30px;padding:22px 27px;border:1px solid #ead3cc;background:#fffaf8;color:#6f5c56;font-size:13px;line-height:1.9;text-align:left}

.fd46-factors{background:#fff!important}
.fd46-factor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.fd46-factor-card{position:relative;min-height:290px;padding:30px 20px 25px;border:1px solid var(--fd-line);background:linear-gradient(180deg,#fff,#fdf9f6);text-align:center;box-shadow:0 10px 28px rgba(83,50,40,.035)}
.fd46-factor-number{position:absolute;left:14px;top:12px;color:#d496a1;font-family:Georgia,serif;font-size:12px;letter-spacing:.08em}
.fd46-factor-card>.ypr-icon{width:40px;height:40px;margin:13px 0 20px;color:#c77585}
.fd46-factor-card h3{margin:0 0 13px;font-size:16px;font-weight:600;line-height:1.75}
.fd46-factor-card p{margin:0;color:var(--fd-muted);font-size:12px;line-height:1.95}

.fd46-check{background:#fff8f5!important}
.fd46-check-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;align-items:center;padding:36px 42px;border:1px solid var(--fd-line);background:#fff}
.fd46-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 30px;margin:0;padding:0;list-style:none}
.fd46-check-list li{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#6c5953;font-size:13px;line-height:1.75}
.fd46-check-list .ypr-icon{width:18px;height:18px;margin-top:3px;color:#c26d7e}
.fd46-check-message{padding:31px 26px;border:1px solid #e7cfc8;background:#faf0ed;color:#aa596a;font-size:15px;line-height:2;text-align:center}

.fd46-beyond{background:#fff!important}
.fd46-beyond .fd46-media img{object-position:center 54%}
.fd46-patterns{background:#fffaf7!important}
.fd46-patterns .fd46-media picture,.fd46-patterns .fd46-media img{aspect-ratio:16/9}
.fd46-patterns .fd46-media img{object-position:center}
.fd46-pattern-list{margin:0;padding:0;list-style:none}
.fd46-pattern-list li{display:grid;gap:3px;padding:13px 0;border-bottom:1px solid #eadbd5}
.fd46-pattern-list strong{color:#5e4540;font-size:15px}
.fd46-pattern-list span{font-size:13px;line-height:1.85}

.fd46-philosophy{background:#fbf1ee!important}
.fd46-philosophy .fd46-media{box-shadow:none}
.fd46-luluonn{background:#fff!important}
.fd46-hydrogen{background:#fffaf7!important}
.fd46-lymph{background:#fff!important}
.fd46-hydrogen .fd46-media img{object-position:center 44%}
.fd46-lymph .fd46-media img{object-position:center 42%}

.fd46-method{background:#fff7f4!important}
.fd46-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.fd46-method-card{position:relative;min-height:240px;padding:31px 22px 25px;border:1px solid var(--fd-line);background:#fff;text-align:center}
.fd46-method-number{position:absolute;left:14px;top:12px;color:#ce8794;font-family:Georgia,serif;font-size:12px}
.fd46-method-card>.ypr-icon{width:38px;height:38px;margin:8px 0 17px;color:#c77887}
.fd46-method-card h3{margin:0 0 10px;font-size:17px;font-weight:600}
.fd46-method-card p{margin:0;color:var(--fd-muted);font-size:12.5px;line-height:1.9}

.fd46-support{background:#fff!important}
.fd46-support-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fd46-support-list span{display:flex;align-items:center;justify-content:center;min-height:120px;padding:18px;border:1px solid var(--fd-line);background:linear-gradient(180deg,#fff,#fdf9f7);color:#604942;font-size:14px;line-height:1.8;text-align:center}
.fd46-support-note{max-width:900px;margin:27px auto 0;padding:19px 23px;border:1px solid #e8d5cf;background:#fff9f7;color:#7d6760;font-size:13px;line-height:1.9;text-align:center}
.fd46-medical{background:#fffaf7!important}
.fd46-medical .fd46-media img{object-position:center 48%}

.fd46-recommended{background:#fff!important}
.fd46-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fd46-menu-card{display:flex;flex-direction:column;border:1px solid var(--fd-line);background:#fff;box-shadow:0 13px 36px rgba(83,50,40,.045)}
.fd46-menu-media{position:relative;overflow:hidden}
.fd46-menu-media>span{position:absolute;z-index:2;left:13px;top:13px;padding:6px 12px;background:#ba6475;color:#fff;font-size:10px;letter-spacing:.06em}
.fd46-menu-media picture,.fd46-menu-media img{width:100%;aspect-ratio:16/9}
.fd46-menu-media img{height:100%;object-fit:cover}
.fd46-menu-body{display:flex;flex:1;flex-direction:column;padding:24px 22px 22px;text-align:center}
.fd46-menu-body h3{margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.65}
.fd46-menu-body>p{min-height:76px;margin:0;color:var(--fd-muted);font-size:12.5px;line-height:1.85;text-align:left}
.fd46-price{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px;margin:18px 0 17px}
.fd46-price span{font-size:12px;text-decoration:line-through;color:#806e68}
.fd46-price strong{color:#bd546a;font-size:25px;font-weight:600;white-space:nowrap}
.fd46-price small{font-size:10px}
.fd46-menu-body>a,.fd46-all-menu{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;margin-top:auto;border:1px solid #d68494;background:#fff;color:#ad4f63;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.fd46-menu-body>a .ypr-icon,.fd46-all-menu .ypr-icon{width:15px;height:15px}
.fd46-all-menu{display:flex;width:min(100%,360px);margin:30px auto 0;background:#bb6576;color:#fff;border-color:#bb6576}

.fd46-owner{background:#fff7f4!important}
.fd46-owner-promises{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 25px;padding:0;list-style:none}
.fd46-owner-promises li{padding:8px 14px;border:1px solid #dfb7b0;background:#fff;color:#805c57;font-size:11px}
.fd46-owner .fd46-media img{object-position:center 45%}

.fd46-voice{background:#fff!important}
.fd46-voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fd46-voice-card{min-height:250px;padding:29px 25px;border:1px solid var(--fd-line);background:linear-gradient(180deg,#fff,#fdf9f6)}
.fd46-voice-card>span{display:inline-block;margin-bottom:15px;color:#bd7785;font-size:11px;letter-spacing:.08em}
.fd46-voice-card h3{margin:0 0 15px;font-size:17px;font-weight:600;line-height:1.75}
.fd46-voice-card p{margin:0;color:var(--fd-muted);font-size:13px;line-height:1.95}

.fd46-faq{background:#fff8f5!important}
.fd46-faq-list{max-width:900px;margin:0 auto;border-top:1px solid #e2cec8}
.fd46-faq-list details{border-bottom:1px solid #e2cec8;background:#fff}
.fd46-faq-list summary{display:grid;grid-template-columns:36px minmax(0,1fr) 22px;align-items:center;gap:13px;min-height:70px;padding:14px 20px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;line-height:1.75}
.fd46-faq-list summary::-webkit-details-marker{display:none}
.fd46-q{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#c87686;color:#fff;font-family:Georgia,serif}
.fd46-plus{position:relative;width:18px;height:18px}
.fd46-plus:before,.fd46-plus:after{content:"";position:absolute;left:50%;top:50%;background:#c06f7f;transform:translate(-50%,-50%)}
.fd46-plus:before{width:14px;height:1px}.fd46-plus:after{width:1px;height:14px;transition:transform .2s ease}
.fd46-faq-list details[open] .fd46-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.fd46-answer-text{display:grid;grid-template-columns:36px 1fr;gap:13px;padding:0 20px 23px;color:var(--fd-muted)}
.fd46-answer-text>span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #ce8492;border-radius:50%;color:#b65b70;font-family:Georgia,serif}
.fd46-answer-text p{margin:0;font-size:13.5px;line-height:1.95}

.fd46-related{background:#fff!important}
.fd46-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fd46-related-card{position:relative;display:block;border:1px solid var(--fd-line);background:#fff;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}
.fd46-related-card:hover{transform:translateY(-3px);box-shadow:var(--fd-shadow)}
.fd46-related-card picture,.fd46-related-card img{width:100%;aspect-ratio:16/9}
.fd46-related-card img{height:100%;object-fit:cover}
.fd46-related-card strong{display:block;min-height:64px;padding:18px 50px 15px 18px;font-size:14px;line-height:1.75;text-align:center}
.fd46-related-card>.ypr-icon{position:absolute;right:17px;bottom:22px;width:16px;height:16px;color:#bd6577}

.fd46-final{padding:80px 0 76px;border-top:1px solid #e6cbc5;background:linear-gradient(112deg,#b95f72,#d78391 58%,#b6576b);color:#fff;text-align:center}
.fd46-final-inner{max-width:1020px}
.fd46-final .fd46-eyebrow{color:#f4ddd7}
.fd46-final h2{margin:0;font-size:clamp(28px,3vw,39px);font-weight:500;line-height:1.65;letter-spacing:.055em}
.fd46-final p{max-width:780px;margin:18px auto 28px;color:rgba(255,255,255,.88);font-size:14px;line-height:2}
.fd46-final-actions{justify-content:center}
.fd46-final .fd46-btn{min-width:285px}

@media(max-width:1120px){
  .forties-diet-page-v46 .site-container{width:min(100% - 48px,1080px)}
  .fd46-hero-inner{grid-template-columns:1fr 1fr}
  .fd46-feature-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fd46-factor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fd46-factor-card:nth-child(4),.fd46-factor-card:nth-child(5){min-height:250px}
  .fd46-support-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .forties-diet-page-v46 .site-container{width:calc(100% - 40px)}
  .fd46-section{padding:88px 0}
  .fd46-hero{background:#fffaf7}
  .fd46-hero-inner{display:block;width:100%;min-height:0}
  .fd46-hero-copy{padding:60px 20px 44px;text-align:center}
  .fd46-hero-copy:before{inset:0;background:#fffaf7}
  .fd46-hero-copy h1{font-size:47px}
  .fd46-hero-text{margin-inline:auto}
  .fd46-feature-list{max-width:680px;margin-inline:auto}
  .fd46-actions{justify-content:center}
  .fd46-hero-media picture,.fd46-hero-media img{height:auto;aspect-ratio:16/9}
  .fd46-split,.fd46-split-reverse{grid-template-columns:1fr;gap:42px}
  .fd46-heading-left{text-align:center}
  .fd46-answer-decor{display:none}
  .fd46-factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd46-factor-card{min-height:250px}
  .fd46-check-layout{grid-template-columns:1fr;gap:28px}
  .fd46-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd46-support-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fd46-menu-grid,.fd46-voice-grid,.fd46-related-grid{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
  .fd46-menu-body>p{min-height:auto}
}
@media(max-width:640px){
  .forties-diet-page-v46 .site-container{width:calc(100% - 32px)}
  .fd46-section{padding:72px 0}
  .fd46-heading{margin-bottom:38px}
  .fd46-heading h2,.fd46-heading-left h2{font-size:clamp(24px,7vw,30px);line-height:1.68;letter-spacing:.045em}
  .fd46-eyebrow,.fd46-step{font-size:10px}
  .fd46-copy{font-size:14.5px;line-height:2}
  .fd46-copy blockquote{padding:20px 18px;font-size:17px}
  .fd46-hero-copy{padding:50px 16px 38px}
  .fd46-hero-copy h1{font-size:35px;line-height:1.52;letter-spacing:.07em}
  .fd46-hero-lead{font-size:23px}
  .fd46-hero-text{font-size:14px}
  .fd46-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .fd46-feature-list li{min-height:78px;font-size:10px}
  .fd46-feature-list .ypr-icon{width:24px;height:24px}
  .fd46-actions,.fd46-final-actions{display:grid;width:100%}
  .fd46-btn{width:100%;min-width:0!important;min-height:55px;padding:0 16px;font-size:11.5px}
  .fd46-empathy-grid{grid-template-columns:1fr;gap:0;padding:25px 20px}
  .fd46-empathy-note{font-size:15px;padding:17px 15px}
  .fd46-answer-inner>p{font-size:14px}
  .fd46-medical-note{padding:18px 17px;font-size:12.5px}
  .fd46-factor-grid,.fd46-method-grid,.fd46-support-list{grid-template-columns:1fr}
  .fd46-factor-card,.fd46-method-card{min-height:0}
  .fd46-check-layout{padding:25px 18px}
  .fd46-check-list{grid-template-columns:1fr}
  .fd46-check-message{padding:23px 17px;font-size:14px}
  .fd46-support-list span{min-height:95px}
  .fd46-menu-body{padding:21px 17px}
  .fd46-menu-body h3{font-size:17px}
  .fd46-price strong{font-size:23px}
  .fd46-owner-promises{display:grid}
  .fd46-faq-list summary{grid-template-columns:33px minmax(0,1fr) 19px;padding:13px 13px;font-size:13.5px}
  .fd46-answer-text{grid-template-columns:33px 1fr;padding:0 13px 20px}
  .fd46-related-card strong{font-size:13px}
  .fd46-final{padding:65px 0 62px}
  .fd46-final h2{font-size:25px}
  .fd46-final p{font-size:13px}
}

/* ========================================================================== 
   YOSAPARK Rose v4.7.1 – 下半身・お尻・太もも 専用ページ
   ========================================================================== */
.lower-body-page-v47{
  --fd-rose:#b96a78;
  --fd-rose-dark:#9f4f60;
  --fd-pink:#f7e9e6;
  --fd-ivory:#fbf7f2;
  --fd-gold:#b89368;
  --fd-brown:#3f2b26;
  --fd-muted:#75645f;
  --fd-line:#ead8d2;
  --fd-shadow:0 18px 44px rgba(88,52,42,.055);
}
.lower-body-page-v47 .fd46-hero-inner{min-height:640px}
.lower-body-page-v47 .fd46-hero-copy h1{font-size:clamp(40px,3.8vw,57px)}
.lower-body-page-v47 .fd46-feature-list{grid-template-columns:repeat(6,minmax(0,1fr));max-width:760px}
.lower-body-page-v47 .fd46-feature-list li{min-height:88px}
.lower-body-page-v47 .fd46-hero-media img{object-position:center 45%}
.lower-body-page-v47 .fd46-btn-line{min-width:340px}
.lower-body-page-v47 .fd46-btn-outline{min-width:270px}
.lb47-concerns .fd46-factor-card{min-height:250px}
.lb47-factors .fd46-method-card{min-height:250px}
.lb47-understanding{background:#fff!important}
.lb47-safety-box{padding:38px 42px;border:1px solid var(--fd-line);background:linear-gradient(135deg,#fff,#fff9f6);box-shadow:var(--fd-shadow)}
.lb47-safety-box>p{max-width:860px;margin:0 auto 24px;color:var(--fd-muted);font-size:15px;line-height:2;text-align:center}
.lb47-safety-box ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.lb47-safety-box li{display:flex;align-items:center;justify-content:center;min-height:90px;padding:17px;border:1px solid #ead6d0;background:#fff;color:#765a54;font-size:12px;line-height:1.8;text-align:center}
.lb47-philosophy{text-align:center}
.lb47-philosophy>div>p{max-width:820px;margin:0 auto 20px;color:var(--fd-muted);font-size:16px;line-height:2.08}
.lb47-philosophy blockquote{max-width:760px;margin:32px auto 0;padding:28px 34px;border:1px solid #e2c3bd;background:rgba(255,255,255,.72);color:#a75466;font-size:22px;line-height:1.9}
.lb47-support-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lb47-support-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:180px;padding:25px 18px;border:1px solid var(--fd-line);background:linear-gradient(180deg,#fff,#fdf9f7);color:#604942;font-size:13.5px;line-height:1.8;text-align:center}
.lb47-support-card .ypr-icon{width:34px;height:34px;color:#c77887}
.lb47-limits{background:#fffaf7!important}
.lb47-limit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 34px;margin:0;padding:34px 38px;border:1px solid var(--fd-line);background:#fff;list-style:none}
.lb47-limit-list li{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#6e5953;font-size:13.5px;line-height:1.85}
.lb47-limit-list .ypr-icon{width:18px;height:18px;margin-top:4px;color:#c36e7e}
.lb47-medical-callout{margin:24px 0 0;padding:22px 26px;border:1px solid #e5cec8;background:#faefec;color:#8b5962;font-size:13.5px;line-height:1.9;text-align:center}
.lower-body-page-v47 .fd46-menu-card:first-child{border-color:#d7a7ad;box-shadow:0 18px 44px rgba(153,80,91,.10)}
.lower-body-page-v47 .fd46-menu-card:first-child .fd46-menu-media>span{background:#a95063}
.lower-body-page-v47 .fd46-final{background:linear-gradient(112deg,#bd6a78,#d68b95 58%,#ad5969)}
.lower-body-page-v47 .fd46-final .fd46-btn-line{min-width:360px}

@media(max-width:1120px){
  .lower-body-page-v47 .fd46-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:690px}
  .lb47-safety-box ul{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lb47-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .lower-body-page-v47 .fd46-hero-inner{min-height:0}
  .lower-body-page-v47 .fd46-btn-line,.lower-body-page-v47 .fd46-btn-outline{min-width:0}
  .lb47-safety-box ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lb47-limit-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .lower-body-page-v47 .fd46-hero-copy h1{font-size:34px}
  .lower-body-page-v47 .fd46-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lb47-safety-box{padding:25px 18px}
  .lb47-safety-box>p{font-size:14px;text-align:left}
  .lb47-safety-box ul{grid-template-columns:1fr}
  .lb47-safety-box li{min-height:72px}
  .lb47-philosophy>div>p{font-size:14.5px;text-align:left}
  .lb47-philosophy blockquote{padding:22px 18px;font-size:18px}
  .lb47-support-grid{grid-template-columns:1fr}
  .lb47-support-card{min-height:130px}
  .lb47-limit-list{padding:25px 18px}
  .lb47-medical-callout{padding:19px 16px;text-align:left}
  .lower-body-page-v47 .fd46-final .fd46-btn-line{min-width:0}
}


/* =========================================================
   Hero full-bleed adjustment 4.8.0
   ========================================================= */
@media (min-width: 861px){
  .about-hero,
  .lu43-hero,
  .ow44-hero,
  .mn45-hero,
  .fd46-hero{
    overflow:hidden;
  }

  .about-hero-inner,
  .lu43-hero-inner,
  .ow44-hero-inner,
  .mn45-hero-inner,
  .fd46-hero-inner{
    width:100% !important;
    max-width:none !important;
    margin-inline:0 !important;
  }

  .about-hero-copy{
    padding-left:max(36px, calc((100vw - 1240px) / 2));
  }

  .lu43-hero-copy,
  .ow44-hero-copy{
    padding-left:max(36px, calc((100vw - 1180px) / 2));
  }

  .mn45-hero-copy,
  .fd46-hero-copy{
    padding-left:max(32px, calc((100vw - 1240px) / 2));
  }

  .about-hero-media,
  .lu43-hero-media,
  .ow44-hero-media,
  .mn45-hero-media,
  .fd46-hero-media{
    min-width:0;
    min-height:100%;
    aspect-ratio:16 / 9;
  }

  .about-hero-media picture,
  .about-hero-media img,
  .lu43-hero-media picture,
  .lu43-hero-media img,
  .ow44-hero-media picture,
  .ow44-hero-media img,
  .mn45-hero-media picture,
  .mn45-hero-media img,
  .fd46-hero-media picture,
  .fd46-hero-media img{
    display:block;
    width:100%;
    height:100%;
  }
}

/* =========================================================
   YOSAPARK Rose v4.8.0 – 冷え・むくみ 専用ページ
   ========================================================= */
.cold-swelling-page{--cs-rose:#b96776;--cs-blush:#f7e8e3;--cs-ivory:#fcf8f3;--cs-gold:#b98b5d;--cs-brown:#432d27;color:var(--cs-brown);background:#fff}
.cold-swelling-page .fd46-section{position:relative;overflow:hidden;border-bottom:1px solid rgba(185,139,93,.15)}
.cold-swelling-page .fd46-section:nth-of-type(even){background:linear-gradient(180deg,#fff 0%,#fffdfa 100%)}
.cold-swelling-page .fd46-heading h2{text-wrap:balance}
.cold-swelling-page p,.cold-swelling-page li{text-wrap:pretty;line-break:strict}
.cold-swelling-page .fd46-hero-media img,.cold-swelling-page .fd46-media img,.cold-swelling-page .cs48-method-card img,.cold-swelling-page .cs48-flow-card img,.cold-swelling-page .fd46-menu-media img,.cold-swelling-page .fd46-related-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.cs48-hero .fd46-hero-copy{background:linear-gradient(90deg,#fffaf5 0%,rgba(255,250,245,.96) 78%,rgba(255,250,245,.12) 100%)}
.cs48-hero .fd46-hero-lead{color:#8d514b}
.cs48-empathy{background:linear-gradient(180deg,#fff 0%,#fff8f5 100%)}
.cs48-empathy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 34px;margin:36px 0 0;padding:28px 34px;list-style:none;background:#fff;border:1px solid #ead7ce;box-shadow:0 14px 40px rgba(91,57,46,.05)}
.cs48-empathy-list li{display:flex;align-items:flex-start;gap:10px;min-width:0;font-size:15px;line-height:1.8}
.cs48-empathy-list .ypr-icon{flex:0 0 22px;width:22px;height:22px;color:#c9737e}
.cs48-understanding{background:linear-gradient(135deg,#fffaf6 0%,#f9eee9 100%)}
.cs48-condition-cycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:34px auto 0;max-width:850px}
.cs48-condition-cycle span{display:flex;align-items:center;justify-content:center;min-height:82px;padding:16px;text-align:center;border:1px solid #e8cdc4;background:rgba(255,255,255,.86);font-family:var(--font-serif);letter-spacing:.05em}
.cs48-six-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cs48-check{background:#fffaf6}
.cs48-selfcare{background:linear-gradient(180deg,#fff 0%,#fbf4f0 100%)}
.cs48-selfcare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:980px;margin:40px auto 0}
.cs48-selfcare-grid article{padding:32px;background:#fff;border:1px solid #ead7ce;box-shadow:0 16px 38px rgba(78,47,39,.05)}
.cs48-selfcare-grid h3{margin:0 0 22px;text-align:center;font-size:21px}
.cs48-selfcare-grid ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.cs48-selfcare-grid li{display:flex;gap:10px;align-items:flex-start;line-height:1.8}
.cs48-selfcare-grid .ypr-icon{width:19px;height:19px;flex:0 0 19px;color:#bf6c77}
.cs48-philosophy{background:radial-gradient(circle at 92% 20%,rgba(185,139,93,.13),transparent 26%),linear-gradient(135deg,#f8e8e3 0%,#fff6f1 100%)}
.cs48-philosophy blockquote{color:#a5535f}
.cs48-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:24px 0;padding:0;list-style:none}
.cs48-detail-list li{position:relative;padding-left:18px;font-size:14px;line-height:1.7}
.cs48-detail-list li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border:1px solid #bf6c77;border-radius:50%}
.cs48-method{background:#fffaf7}
.cs48-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}
.cs48-method-card{position:relative;background:#fff;border:1px solid #ead7ce;box-shadow:0 16px 42px rgba(82,49,40,.06);overflow:hidden}
.cs48-method-card>div{aspect-ratio:16/9;overflow:hidden}
.cs48-method-card>span{display:block;margin:24px 24px 8px;color:#b98555;font-family:var(--font-en);font-size:13px;letter-spacing:.18em}
.cs48-method-card h3{margin:0 24px 10px;font-size:25px}
.cs48-method-card p{margin:0;padding:0 24px 28px;font-size:14px;line-height:1.85}
.cs48-flow{background:#fff}
.cs48-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:42px}
.cs48-flow-card{position:relative;min-width:0;text-align:center}
.cs48-flow-card>span{position:absolute;z-index:2;left:8px;top:8px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.94);color:#b65d6d;font-family:var(--font-en);font-size:12px;box-shadow:0 4px 12px rgba(77,46,37,.1)}
.cs48-flow-card picture{display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid #ead7ce}
.cs48-flow-card h3{margin:12px 0 0;font-size:15px;line-height:1.55}
.cs48-promises{background:linear-gradient(180deg,#fffaf6 0%,#fff 100%)}
.cs48-promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}
.cs48-promise-card{display:flex;flex-direction:column;align-items:center;min-height:235px;padding:30px 24px;text-align:center;background:#fff;border:1px solid #e8d5cd}
.cs48-promise-card .ypr-icon{width:42px;height:42px;margin-bottom:20px;color:#b96673}
.cs48-promise-card h3{margin:0 0 14px;font-size:19px;line-height:1.6}
.cs48-promise-card p{margin:0;font-size:14px;line-height:1.9}
.cs48-medical{background:#fffaf4}
.cs48-medical-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs48-menu-time{margin:10px 0 0!important;color:#77645e;font-size:13px!important}
.cs48-owner{background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}
.cs48-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.cs48-final{background:radial-gradient(circle at 8% 50%,rgba(255,255,255,.7),transparent 20%),radial-gradient(circle at 92% 50%,rgba(255,255,255,.72),transparent 22%),linear-gradient(135deg,#f2d6d3 0%,#f8e9e4 52%,#efd1d0 100%)}

@media (max-width:1100px){
  .cs48-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cs48-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .cs48-empathy-list,.cs48-selfcare-grid,.cs48-detail-list,.cs48-medical-list{grid-template-columns:1fr}
  .cs48-six-grid,.cs48-method-grid,.cs48-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs48-condition-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs48-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs48-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .cs48-empathy-list{padding:22px 18px}
  .cs48-condition-cycle,.cs48-six-grid,.cs48-method-grid,.cs48-flow-grid,.cs48-promise-grid,.cs48-related-grid{grid-template-columns:1fr}
  .cs48-method-card h3{font-size:22px}
  .cs48-promise-card{min-height:0}
  .cold-swelling-page .fd46-final-actions .fd46-btn{width:100%;white-space:nowrap;font-size:13px;padding-inline:12px}
}

/* v4.8.0 typography and CTA consistency */
.cold-swelling-page .fd46-heading-left{text-align:center;align-items:center}
.cold-swelling-page .fd46-heading-left h2,.cold-swelling-page .fd46-heading-left p{margin-inline:auto}
.cold-swelling-page .fd46-btn,.cold-swelling-page .fd46-text-link,.cold-swelling-page .fd46-all-menu,.cold-swelling-page .fd46-center-link{white-space:nowrap}
@media (max-width:560px){
  .cold-swelling-page .fd46-btn{font-size:12.5px}
  .cold-swelling-page .fd46-text-link,.cold-swelling-page .fd46-all-menu,.cold-swelling-page .fd46-center-link{white-space:normal;text-align:center}
}

/* =========================================================
   YOSAPARK Rose v4.9.0 – 美肌・フェイスライン 専用ページ
   ========================================================= */
.beauty-page-v49{
  --bt-rose:#b76e79;
  --bt-rose-deep:#a84f62;
  --bt-blush:#f8e9e5;
  --bt-ivory:#fbf7f2;
  --bt-gold:#c1a06a;
  --bt-brown:#402d28;
  --bt-muted:#76635e;
  --bt-line:#ead8d1;
  color:var(--bt-brown);
  background:#fff;
}
.beauty-page-v49 .fd46-section{position:relative;overflow:hidden;border-bottom:1px solid rgba(193,160,106,.16)}
.beauty-page-v49 .fd46-heading h2{text-wrap:balance}
.beauty-page-v49 p,.beauty-page-v49 li{text-wrap:pretty;line-break:strict}
.beauty-page-v49 .fd46-heading-left{text-align:center;align-items:center}
.beauty-page-v49 .fd46-heading-left h2,.beauty-page-v49 .fd46-heading-left p{margin-inline:auto}
.beauty-page-v49 .fd46-btn,.beauty-page-v49 .fd46-text-link,.beauty-page-v49 .fd46-all-menu,.beauty-page-v49 .fd46-center-link{white-space:nowrap}
.beauty-page-v49 .fd46-hero-media img,.beauty-page-v49 .fd46-media img,.beauty-page-v49 .fd46-menu-media img,.beauty-page-v49 .fd46-related-card img,.beauty-page-v49 .bt49-service-grid img,.beauty-page-v49 .bt49-flow-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}

.bt49-hero{background:linear-gradient(90deg,#fffaf6 0%,#fff 46%,#f3ece8 46%)}
.bt49-hero .fd46-hero-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:680px}
.bt49-hero .fd46-hero-copy{background:linear-gradient(90deg,#fffaf6 0%,rgba(255,250,246,.97) 80%,rgba(255,250,246,.12) 100%)}
.bt49-hero .fd46-hero-copy h1{font-size:clamp(38px,3.4vw,52px);line-height:1.48;letter-spacing:.075em}
.bt49-hero .fd46-hero-lead{color:#7d4f4e;font-size:clamp(25px,2.5vw,35px)}
.bt49-hero .fd46-feature-list{grid-template-columns:repeat(6,minmax(0,1fr));max-width:760px}
.bt49-hero .fd46-feature-list li{min-height:90px}
.bt49-hero .fd46-hero-media img{object-position:center 38%}

.bt49-empathy{background:linear-gradient(180deg,#fff 0%,#fff9f6 100%)}
.bt49-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 34px;margin:38px 0 0;padding:30px 34px;list-style:none;background:#fff;border:1px solid var(--bt-line);box-shadow:0 16px 42px rgba(87,52,43,.045)}
.bt49-check-grid li{display:flex;align-items:flex-start;gap:10px;min-width:0;font-size:15px;line-height:1.85}
.bt49-check-grid .ypr-icon{flex:0 0 21px;width:21px;height:21px;color:#c87683}
.bt49-callout{margin:30px auto 0;padding:22px 28px;background:linear-gradient(90deg,#faece8,#fff5f2);color:#a25261;font-size:18px;line-height:1.8;text-align:center;border-left:3px solid #d48b97}

.bt49-concerns{background:#fff}
.bt49-card-grid{display:grid;gap:20px;margin-top:42px}
.bt49-card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bt49-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bt49-icon-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:245px;padding:30px 24px;text-align:center;background:#fff;border:1px solid var(--bt-line);box-shadow:0 14px 36px rgba(77,49,42,.045)}
.bt49-icon-card .ypr-icon{width:42px;height:42px;margin-bottom:18px;color:#c57b82}
.bt49-icon-card h3{margin:0 0 12px;font-size:19px;line-height:1.6}
.bt49-icon-card p{margin:0;color:var(--bt-muted);font-size:14px;line-height:1.9}

.bt49-lifestyle{background:linear-gradient(135deg,#fffaf6,#fff 55%,#fdf4f0)}
.bt49-face-factors{background:#fff}
.bt49-center-copy{max-width:850px;margin:0 auto;color:var(--bt-muted);font-size:16px;line-height:2.05;text-align:center}
.bt49-factor-wheel{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:840px;margin:42px auto 0;padding:44px 36px;background:radial-gradient(circle at center,rgba(246,230,225,.85),rgba(255,255,255,.93) 52%,#fff 72%);border:1px solid var(--bt-line)}
.bt49-factor-wheel span{display:flex;align-items:center;justify-content:center;min-height:80px;padding:14px;text-align:center;background:rgba(255,255,255,.92);border:1px solid #ead8d1;font-size:14px;line-height:1.7}
.bt49-face-mark{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:86px;height:86px;border:1px solid #d7aaa7;border-radius:50%;background:#fff;color:#bc6b79;transform:translate(-50%,-50%);box-shadow:0 12px 30px rgba(98,59,51,.08)}
.bt49-face-mark .ypr-icon{width:42px;height:42px}

.bt49-self-check{background:linear-gradient(180deg,#fff7f4 0%,#fff 100%)}
.bt49-surface-care{background:#fff}
.bt49-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:980px;margin:0 auto 34px}
.bt49-compare-grid article{padding:34px;background:#fff;border:1px solid var(--bt-line);box-shadow:0 15px 40px rgba(78,48,40,.045)}
.bt49-compare-grid article:last-child{background:linear-gradient(145deg,#fffaf7,#f9ece8)}
.bt49-compare-grid h3{margin:0 0 23px;text-align:center;font-size:21px}
.bt49-compare-grid ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.bt49-compare-grid li{display:flex;gap:10px;align-items:flex-start;color:var(--bt-muted);font-size:14px;line-height:1.8}
.bt49-compare-grid .ypr-icon{flex:0 0 19px;width:19px;height:19px;color:#c0717e}

.bt49-philosophy{background:radial-gradient(circle at 92% 20%,rgba(193,160,106,.13),transparent 28%),linear-gradient(135deg,#f8e9e5 0%,#fff7f3 100%);text-align:center}
.bt49-philosophy p{max-width:820px;margin:0 auto 18px;color:#6f5c57;font-size:16px;line-height:2.1}
.bt49-philosophy blockquote{margin:34px auto 0;padding:28px 34px;border:1px solid rgba(183,110,121,.28);background:rgba(255,255,255,.64);color:#9f5261;font-size:clamp(23px,2.5vw,34px);line-height:1.75;letter-spacing:.07em}

.bt49-luluonn{background:#fff}
.bt49-hydrogen{background:linear-gradient(180deg,#fffaf7,#fff)}
.bt49-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:1020px;margin:0 auto}
.bt49-service-grid article{overflow:hidden;background:#fff;border:1px solid var(--bt-line);box-shadow:0 16px 40px rgba(82,52,43,.05)}
.bt49-service-grid article>div{aspect-ratio:16/9;overflow:hidden}
.bt49-service-grid h3{margin:24px 24px 10px;font-size:23px;text-align:center}
.bt49-service-grid p{margin:0;padding:0 24px 28px;color:var(--bt-muted);font-size:14.5px;line-height:1.9;text-align:center}
.bt49-care{background:#fff}
.bt49-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px;margin:25px 0;padding:0;list-style:none}
.bt49-detail-list li{position:relative;padding-left:18px;color:#715e59;font-size:14px;line-height:1.75}
.bt49-detail-list li:before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border:1px solid #bf6d79;border-radius:50%}

.bt49-method{background:linear-gradient(180deg,#fff8f5,#fff)}
.bt49-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px}
.bt49-method-grid article{display:flex;flex-direction:column;min-height:220px;padding:28px 23px;background:#fff;border:1px solid var(--bt-line);box-shadow:0 14px 36px rgba(80,49,42,.04)}
.bt49-method-grid span{display:block;margin-bottom:14px;color:#c59c66;font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-size:34px;line-height:1}
.bt49-method-grid h3{margin:0 0 12px;font-size:18px;line-height:1.55}
.bt49-method-grid p{margin:0;color:var(--bt-muted);font-size:13.5px;line-height:1.85}

.bt49-flow{background:#fff}
.bt49-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px}
.bt49-flow-grid article{position:relative;min-width:0;text-align:center}
.bt49-flow-grid article>span{position:absolute;z-index:2;left:8px;top:8px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.94);color:#b85e70;font-family:"Cormorant Garamond",Georgia,serif;font-size:12px;box-shadow:0 5px 14px rgba(79,47,40,.12)}
.bt49-flow-grid picture{display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--bt-line);background:#f7efeb}
.bt49-flow-grid h3{margin:12px 0 0;font-size:14px;line-height:1.55}

.bt49-support{background:linear-gradient(180deg,#fffaf6,#fff)}
.bt49-support .bt49-icon-card{min-height:230px}
.bt49-medical{background:#fff9f5}
.bt49-medical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.bt49-medical-grid article{padding:34px;background:#fff;border:1px solid var(--bt-line)}
.bt49-medical-grid h3{margin:0 0 22px;font-size:21px;text-align:center}
.bt49-medical-grid ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.bt49-medical-grid li{display:flex;gap:10px;align-items:flex-start;color:var(--bt-muted);font-size:14px;line-height:1.75}
.bt49-medical-grid .ypr-icon{flex:0 0 18px;width:18px;height:18px;color:#c06f7c}

.bt49-recommended{background:#fff}
.bt49-menu-time{margin:10px 0 0!important;color:#77645e;font-size:13px!important}
.bt49-owner{background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}
.bt49-voice{background:#fff}
.bt49-faq{background:linear-gradient(180deg,#fffaf6,#fff)}
.bt49-related{background:#fff}
.bt49-related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.bt49-final{background:radial-gradient(circle at 8% 50%,rgba(255,255,255,.68),transparent 20%),radial-gradient(circle at 92% 50%,rgba(255,255,255,.7),transparent 22%),linear-gradient(135deg,#efd2cf 0%,#f7e5e1 52%,#edcbcb 100%)}
.bt49-final .fd46-final-inner{max-width:1120px}
.bt49-final .fd46-final-actions{justify-content:center}

@media (min-width:861px){
  .bt49-hero{overflow:hidden}
  .bt49-hero .fd46-hero-inner{width:100%!important;max-width:none!important;margin-inline:0!important}
  .bt49-hero .fd46-hero-copy{padding-left:max(32px,calc((100vw - 1240px)/2))}
  .bt49-hero .fd46-hero-media{aspect-ratio:16/9;min-height:100%}
  .bt49-hero .fd46-hero-media picture,.bt49-hero .fd46-hero-media img{display:block;width:100%;height:100%}
}
@media(max-width:1120px){
  .bt49-hero .fd46-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:690px}
  .bt49-card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bt49-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bt49-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .bt49-hero{background:#fff}
  .bt49-hero .fd46-hero-inner{display:block;min-height:0;width:100%}
  .bt49-hero .fd46-hero-copy{padding:60px 20px 42px;text-align:center}
  .bt49-hero .fd46-feature-list{margin-inline:auto}
  .bt49-hero .fd46-actions{justify-content:center}
  .bt49-hero .fd46-hero-media picture,.bt49-hero .fd46-hero-media img{height:auto;aspect-ratio:16/9}
  .bt49-card-grid-3,.bt49-card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bt49-check-grid,.bt49-compare-grid,.bt49-service-grid,.bt49-medical-grid,.bt49-detail-list{grid-template-columns:1fr}
  .bt49-factor-wheel{grid-template-columns:repeat(2,minmax(0,1fr));padding:36px 24px}
  .bt49-face-mark{display:none}
  .bt49-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bt49-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .bt49-hero .fd46-hero-copy h1{font-size:34px}
  .bt49-hero .fd46-hero-lead{font-size:25px}
  .bt49-hero .fd46-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
  .bt49-check-grid{padding:22px 18px;gap:12px}
  .bt49-callout{padding:19px 16px;font-size:16px;text-align:left}
  .bt49-card-grid-3,.bt49-card-grid-4,.bt49-method-grid,.bt49-flow-grid,.bt49-related-grid,.bt49-factor-wheel{grid-template-columns:1fr}
  .bt49-icon-card{min-height:0;padding:26px 20px}
  .bt49-center-copy{text-align:left;font-size:14.5px}
  .bt49-philosophy p{text-align:left;font-size:14.5px}
  .bt49-philosophy blockquote{padding:22px 18px;font-size:21px}
  .bt49-compare-grid article,.bt49-medical-grid article{padding:27px 20px}
  .bt49-service-grid h3{font-size:21px}
  .bt49-method-grid article{min-height:0}
  .beauty-page-v49 .fd46-final-actions .fd46-btn{width:100%;font-size:12.5px;padding-inline:12px;white-space:nowrap}
  .beauty-page-v49 .fd46-text-link,.beauty-page-v49 .fd46-all-menu,.beauty-page-v49 .fd46-center-link{white-space:normal;text-align:center}
}

/* =========================================================
   YOSAPARK Rose v5.0.1 – 女性特有のゆらぎ 専用ページ
   ========================================================= */
.womens-balance-page-v50{
  --wb-rose:#b97878;
  --wb-rose-deep:#a95d67;
  --wb-blush:#f8eeec;
  --wb-ivory:#faf6f0;
  --wb-gold:#c5a46d;
  --wb-brown:#3d2c28;
  --wb-muted:#77645e;
  --wb-line:#e8d6d0;
  color:var(--wb-brown);
  background:#fff;
}
.womens-balance-page-v50 .fd46-section{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(197,164,109,.18);
}
.womens-balance-page-v50 .fd46-heading h2{text-wrap:balance}
.womens-balance-page-v50 p,.womens-balance-page-v50 li{text-wrap:pretty;line-break:strict}
.womens-balance-page-v50 .fd46-heading-left{text-align:center;align-items:center}
.womens-balance-page-v50 .fd46-heading-left h2,.womens-balance-page-v50 .fd46-heading-left p{margin-inline:auto}
.womens-balance-page-v50 .fd46-btn,.womens-balance-page-v50 .fd46-text-link,.womens-balance-page-v50 .fd46-all-menu,.womens-balance-page-v50 .fd46-center-link{white-space:nowrap}
.womens-balance-page-v50 .fd46-hero-media img,.womens-balance-page-v50 .fd46-media img,.womens-balance-page-v50 .fd46-menu-media img,.womens-balance-page-v50 .fd46-related-card img,.womens-balance-page-v50 .bt49-service-grid img,.womens-balance-page-v50 .bt49-flow-grid img,.womens-balance-page-v50 .wb50-photo-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}

.wb50-hero{background:linear-gradient(90deg,#fffaf7 0%,#fff 46%,#f4eeea 46%)}
.wb50-hero .fd46-hero-inner{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);min-height:690px}
.wb50-hero .fd46-hero-copy{background:linear-gradient(90deg,#fffaf7 0%,rgba(255,250,247,.98) 80%,rgba(255,250,247,.1) 100%)}
.wb50-hero .fd46-hero-copy h1{font-size:clamp(39px,3.5vw,54px);line-height:1.45;letter-spacing:.075em}
.wb50-hero .fd46-hero-lead{color:#7f5250;font-size:clamp(24px,2.4vw,34px)}
.wb50-hero .fd46-feature-list{grid-template-columns:repeat(6,minmax(0,1fr));max-width:760px}
.wb50-hero .fd46-feature-list li{min-height:90px}
.wb50-hero .fd46-hero-media img{object-position:42% center}

.wb50-definition{background:radial-gradient(circle at 80% 10%,rgba(197,164,109,.09),transparent 24%),#fff}
.wb50-definition .bt49-center-copy + .bt49-center-copy{margin-top:20px}

.wb50-life-stage{background:linear-gradient(145deg,#fffaf7,#fff 58%,#fbf2ef)}
.wb50-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:42px}
.wb50-photo-card{overflow:hidden;display:flex;flex-direction:column;min-height:100%;background:#fff;border:1px solid var(--wb-line);box-shadow:0 15px 38px rgba(75,48,42,.045)}
.wb50-photo-card>div{aspect-ratio:16/9;overflow:hidden;background:#f5eeea}
.wb50-photo-card h3{margin:23px 22px 10px;text-align:center;font-size:19px;line-height:1.55}
.wb50-photo-card p{margin:0;padding:0 22px 26px;color:var(--wb-muted);font-size:14px;line-height:1.9;text-align:left}
.wb50-photo-card:nth-child(1) img,.wb50-photo-card:nth-child(6) img{object-position:center 65%}
.wb50-photo-card:nth-child(2) img{object-position:center 35%}

.wb50-concerns{background:#fff}
.wb50-concern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:42px}
.wb50-concern-card{display:flex;flex-direction:column;align-items:center;min-height:330px;padding:32px 27px;background:#fff;border:1px solid var(--wb-line);box-shadow:0 14px 38px rgba(80,50,44,.045)}
.wb50-concern-card>.ypr-icon{width:44px;height:44px;margin-bottom:18px;color:#c27c82}
.wb50-concern-card h3{margin:0 0 18px;font-size:21px;text-align:center}
.wb50-concern-card ul{display:grid;gap:10px;width:100%;margin:0;padding:0;list-style:none}
.wb50-concern-card li{position:relative;padding-left:17px;color:var(--wb-muted);font-size:14px;line-height:1.7}
.wb50-concern-card li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border:1px solid #c1717c;border-radius:50%}

.wb50-carry{background:linear-gradient(180deg,#fff 0%,#fff9f6 100%)}
.wb50-philosophy{background:radial-gradient(circle at 92% 25%,rgba(197,164,109,.13),transparent 28%),linear-gradient(135deg,#f6e5e2 0%,#fff5f1 100%)}
.wb50-philosophy:after{content:"";position:absolute;right:-80px;bottom:-90px;width:330px;height:330px;border:1px solid rgba(185,120,120,.13);border-radius:50%;box-shadow:inset 0 0 0 34px rgba(255,255,255,.12);pointer-events:none}

.wb50-method{background:linear-gradient(180deg,#fff8f5,#fff)}
.wb50-flow-grid{grid-template-columns:repeat(5,minmax(0,1fr))}

.wb50-cannot-diagnose{background:#fff9f5}
.wb50-number-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;max-width:930px;margin:40px auto 0}
.wb50-number-list>div{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--wb-line)}
.wb50-number-list span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #d29a9f;border-radius:50%;color:#b86975;font-family:"Cormorant Garamond",Georgia,serif;font-size:16px}
.wb50-number-list p{margin:2px 0 0;color:var(--wb-muted);font-size:14px;line-height:1.75}

.wb50-medical-guidance{background:#fff}
.wb50-medical-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 28px;max-width:920px;margin:40px auto 30px;padding:30px 34px;list-style:none;background:#fffaf7;border:1px solid var(--wb-line)}
.wb50-medical-list li{display:flex;gap:10px;align-items:flex-start;color:var(--wb-muted);font-size:14px;line-height:1.8}
.wb50-medical-list .ypr-icon{flex:0 0 20px;width:20px;height:20px;color:#c0737e}

.wb50-owner{background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}
.wb50-final{background:radial-gradient(circle at 8% 50%,rgba(255,255,255,.72),transparent 20%),radial-gradient(circle at 92% 50%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,#efd4cf 0%,#f7e7e2 52%,#eccdcc 100%)}
.wb50-final .fd46-final-inner{max-width:1120px}
.wb50-final .fd46-final-actions{justify-content:center}

@media (min-width:861px){
  .wb50-hero{overflow:hidden}
  .wb50-hero .fd46-hero-inner{width:100%!important;max-width:none!important;margin-inline:0!important}
  .wb50-hero .fd46-hero-copy{padding-left:max(32px,calc((100vw - 1240px)/2))}
  .wb50-hero .fd46-hero-media{aspect-ratio:16/9;min-height:100%}
  .wb50-hero .fd46-hero-media picture,.wb50-hero .fd46-hero-media img{display:block;width:100%;height:100%}
}
@media(max-width:1120px){
  .wb50-hero .fd46-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:690px}
  .wb50-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wb50-flow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:860px){
  .wb50-hero{background:#fff}
  .wb50-hero .fd46-hero-inner{display:block;min-height:0;width:100%}
  .wb50-hero .fd46-hero-copy{padding:60px 20px 42px;text-align:center}
  .wb50-hero .fd46-feature-list{margin-inline:auto}
  .wb50-hero .fd46-actions{justify-content:center}
  .wb50-hero .fd46-hero-media picture,.wb50-hero .fd46-hero-media img{height:auto;aspect-ratio:16/9}
  .wb50-concern-grid{grid-template-columns:1fr}
  .wb50-concern-card{min-height:0}
  .wb50-number-list,.wb50-medical-list{grid-template-columns:1fr}
  .wb50-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .wb50-hero .fd46-hero-copy h1{font-size:34px}
  .wb50-hero .fd46-hero-lead{font-size:24px}
  .wb50-hero .fd46-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
  .wb50-photo-grid,.wb50-flow-grid{grid-template-columns:1fr}
  .wb50-photo-card h3{font-size:18px}
  .wb50-number-list>div{padding:16px}
  .wb50-medical-list{padding:22px 18px}
  .womens-balance-page-v50 .fd46-final-actions .fd46-btn{width:100%;font-size:12.5px;padding-inline:12px;white-space:nowrap}
  .womens-balance-page-v50 .fd46-text-link,.womens-balance-page-v50 .fd46-all-menu,.womens-balance-page-v50 .fd46-center-link{white-space:normal;text-align:center}
}

/* =========================================================
   YOSAPARK Rose v5.1.0 – 選ばれる理由 専用ページ
   ========================================================= */
.reason-page-v51{
  --rs-rose:#b76e79;
  --rs-rose-deep:#a65365;
  --rs-blush:#f8efed;
  --rs-ivory:#faf6f0;
  --rs-gold:#c7a66a;
  --rs-brown:#3d2c28;
  --rs-muted:#74625d;
  --rs-line:#e7d6d0;
  color:var(--rs-brown);
  background:#fff;
  font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  overflow:hidden;
}
.reason-page-v51 :where(h1,h2,h3,p,li,dt,dd,a,span,strong,small,address){word-break:auto-phrase;line-break:strict}
.reason-page-v51 :where(h1,h2,h3){text-wrap:balance}
.reason-page-v51 :where(p,li,dd,address){text-wrap:pretty}
.reason-page-v51 picture{display:block}
.reason-page-v51 img{display:block;max-width:100%}
.reason-page-v51 .ypr-icon{color:inherit}
.rs51-breadcrumb-wrap{padding:16px 0;border-top:1px solid rgba(231,214,208,.75);border-bottom:1px solid rgba(231,214,208,.65);background:#fffdfb}
.reason-page-v51 .breadcrumbs{margin:0;padding:0;color:#88736b;font-size:11px}
.reason-page-v51 .breadcrumbs ol{margin:0;padding:0;list-style:none}
.reason-page-v51 .breadcrumbs li{display:inline-flex;align-items:center}
.reason-page-v51 .breadcrumbs li+li:before{content:"/";margin:0 9px;color:#c3aaa2}
.reason-page-v51 .breadcrumbs a{color:inherit;text-decoration:none}
.rs51-section{position:relative;padding:clamp(88px,7.8vw,132px) 0;border-top:1px solid rgba(231,214,208,.76);scroll-margin-top:112px}
.rs51-narrow{width:min(840px,100%);margin-inline:auto}
.rs51-narrow-wide{width:min(980px,100%);margin-inline:auto}
.rs51-heading{max-width:940px;margin:0 auto 50px;text-align:center}
.rs51-heading-left{max-width:none;margin:0 0 30px;text-align:left}
.rs51-step{margin:0 0 12px;color:#b57b69;font-family:"Cormorant Garamond",Georgia,serif;font-size:12px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
.rs51-heading h2,.rs51-copy h2,.rs51-final h2{margin:0;color:var(--rs-brown);font-size:clamp(29px,3vw,40px);font-weight:500;line-height:1.62;letter-spacing:.065em}
.rs51-heading>p:last-child:not(.rs51-step){max-width:760px;margin:18px auto 0;color:var(--rs-muted);font-size:15px;line-height:2}
.rs51-prose{color:var(--rs-muted);font-size:16px;line-height:2.08;letter-spacing:.025em}
.rs51-prose p{margin:0 0 20px}
.rs51-callout{max-width:680px;margin:38px auto 0;padding:26px 32px;background:linear-gradient(90deg,#f9e7e3,#fff7f4);color:#9c5862;font-size:22px;line-height:1.8;letter-spacing:.045em;text-align:center}
.rs51-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.96fr);gap:clamp(52px,6vw,90px);align-items:center}
.rs51-split-reverse{grid-template-columns:minmax(390px,.96fr) minmax(0,1fr)}
.rs51-split-reverse>.rs51-copy{order:1}
.rs51-split-reverse>.rs51-media,.rs51-split-reverse>.rs51-info-table,.rs51-split-reverse>.rs51-route-card{order:2}
.rs51-copy{min-width:0;color:var(--rs-muted);font-size:15.5px;line-height:2.04}
.rs51-copy>p{margin:0 0 19px}
.rs51-media{overflow:hidden;background:#f3ebe6;border-radius:3px;box-shadow:0 18px 54px rgba(70,45,38,.065)}
.rs51-media picture,.rs51-media img{width:100%;aspect-ratio:16/9}
.rs51-media img{height:100%;object-fit:cover;object-position:center}
.rs51-portrait-media img{object-position:center 30%}
.rs51-actions,.rs51-final-actions{display:flex;flex-wrap:wrap;gap:12px}
.rs51-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:57px;padding:0 28px;border:1px solid transparent;border-radius:3px;font-size:13px;font-weight:600;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.rs51-btn:hover{transform:translateY(-2px)}
.rs51-btn .ypr-icon{flex:0 0 auto;width:18px;height:18px}
.rs51-btn .arrow{margin-left:5px}
.rs51-btn-line{min-width:312px;background:#2fbc58;color:#fff;box-shadow:0 12px 28px rgba(47,188,88,.17)}
.rs51-btn-line .ypr-icon:first-child svg{fill:currentColor;stroke:none}
.rs51-btn-outline{min-width:220px;border-color:#cf7183;background:#fff;color:#ad5065}
.rs51-btn-white{border-color:rgba(255,255,255,.85);background:#fff;color:#a34f62}
.rs51-center-link{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:38px auto 0;padding-bottom:5px;border-bottom:1px solid #bd6576;color:#a65063;font-size:13px;text-decoration:none;white-space:nowrap}
.rs51-center-link .ypr-icon{width:17px;height:17px}
.rs51-left-link{margin-left:0}
.rs51-caption{margin:24px auto 0;color:#8c7871;font-size:12px;line-height:1.85;text-align:center}
.rs51-detail-list{display:grid;gap:9px;margin:24px 0 28px;padding:0;list-style:none}
.rs51-detail-list li{position:relative;padding-left:22px;color:var(--rs-muted);font-size:14px;line-height:1.8}
.rs51-detail-list li:before{content:"";position:absolute;left:1px;top:.7em;width:9px;height:5px;border-left:1.5px solid #c76a7c;border-bottom:1.5px solid #c76a7c;transform:rotate(-45deg)}

.rs51-hero{position:relative;background:linear-gradient(90deg,#fffaf7 0%,#fff 46%,#f6f0ec 46%);overflow:hidden}
.rs51-hero-inner{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);min-height:650px}
.rs51-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:68px 52px 58px 0}
.rs51-hero-copy:before{content:"";position:absolute;z-index:-1;inset:-30px -115px -30px -100vw;background:linear-gradient(90deg,#fffaf7 0%,rgba(255,250,247,.98) 72%,rgba(255,250,247,.75) 88%,transparent 100%)}
.rs51-hero-copy h1{margin:0;color:var(--rs-brown);font-size:clamp(43px,4vw,58px);font-weight:500;line-height:1.43;letter-spacing:.085em}
.rs51-hero-lead{margin:22px 0 12px;color:#9b5260;font-size:clamp(23px,2.35vw,33px);line-height:1.68;letter-spacing:.045em}
.rs51-hero-text{max-width:640px;margin:0;color:var(--rs-muted);font-size:15px;line-height:2}
.rs51-hero-features{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:28px 0 26px;padding:0;list-style:none}
.rs51-hero-features li{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;padding:12px 8px;border:1px solid #ead7d1;background:rgba(255,255,255,.84);color:#725c55;text-align:center}
.rs51-hero-features .ypr-icon{width:29px;height:29px;margin-bottom:8px;color:#c0717d}
.rs51-hero-features span{font-size:10.5px;line-height:1.55}
.rs51-hero-media{min-width:0;overflow:hidden;background:#f2ece8}
.rs51-hero-media picture,.rs51-hero-media img{width:100%;height:100%}
.rs51-hero-media img{object-fit:cover;object-position:center 43%}

.rs51-difference{background:#fff}
.rs51-difference .rs51-prose{text-align:center}
.rs51-reasons{background:linear-gradient(145deg,#fffaf6,#fff 64%,#fbf2ef)}
.rs51-reason-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.rs51-reason-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:25px 17px 22px;border:1px solid var(--rs-line);background:#fff;color:var(--rs-brown);text-align:center;text-decoration:none;box-shadow:0 14px 34px rgba(70,44,38,.035);transition:transform .22s ease,box-shadow .22s ease}
.rs51-reason-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(70,44,38,.075)}
.rs51-reason-card>.ypr-icon:not(.arrow){width:34px;height:34px;margin:5px 0 13px;color:#bd7781}
.rs51-reason-card>.arrow{position:absolute;right:13px;bottom:13px;width:16px;height:16px;color:#c27581}
.rs51-reason-number{position:absolute;left:14px;top:9px;color:#bd6575;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;line-height:1}
.rs51-reason-card strong{font-size:13px;font-weight:600;line-height:1.65}

.rs51-for-women{background:#fff}
.rs51-for-women .rs51-media img{object-position:center 45%}
.rs51-concern-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:26px 0 28px;padding:22px 24px;list-style:none;background:#fffaf7;border:1px solid var(--rs-line)}
.rs51-concern-list li{display:flex;align-items:flex-start;gap:9px;color:#745e57;font-size:13px;line-height:1.75}
.rs51-concern-list .ypr-icon{flex:0 0 18px;width:18px;height:18px;margin-top:4px;color:#c1707c}
.rs51-inline-links{display:flex;flex-wrap:wrap;gap:12px}
.rs51-inline-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:1px solid #d58a96;color:#ae5367;font-size:12px;text-decoration:none;white-space:nowrap}
.rs51-inline-links .ypr-icon{width:15px;height:15px}

.rs51-warm-method{background:var(--rs-ivory)}
.rs51-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rs51-method-card{display:flex;flex-direction:column;min-height:100%;background:#fff;border:1px solid var(--rs-line);box-shadow:0 15px 36px rgba(65,42,36,.035)}
.rs51-method-media{position:relative;overflow:hidden;aspect-ratio:16/9;background:#f1e9e5}
.rs51-method-media picture,.rs51-method-media img{width:100%;height:100%}
.rs51-method-media img{object-fit:cover}
.rs51-method-media>span{position:absolute;z-index:2;left:11px;top:9px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.91);color:#b85f73;font-family:Georgia,serif;font-size:15px}
.rs51-method-card h3{margin:23px 20px 9px;font-size:18px;font-weight:600;text-align:center}
.rs51-method-card p{margin:0;padding:0 20px 25px;color:var(--rs-muted);font-size:13px;line-height:1.9;text-align:left}

.rs51-one-to-one{background:#fff}
.rs51-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.rs51-mini-grid article{min-height:172px;padding:23px 16px;border:1px solid var(--rs-line);background:#fffaf7;text-align:center}
.rs51-mini-grid .ypr-icon{width:31px;height:31px;margin:0 auto 11px;color:#be7781}
.rs51-mini-grid h3{margin:0 0 9px;font-size:14px;font-weight:600;line-height:1.65}
.rs51-mini-grid p{margin:0;color:#7c6861;font-size:11.5px;line-height:1.8}

.rs51-private{background:linear-gradient(135deg,#fffaf7,#fff)}
.rs51-private-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.rs51-private-grid div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;padding:16px 10px;border:1px solid var(--rs-line);background:#fff;text-align:center}
.rs51-private-grid .ypr-icon{width:27px;height:27px;margin-bottom:10px;color:#bc7480}
.rs51-private-grid span{font-size:11.5px;line-height:1.6}

.rs51-clear{background:#fff}
.rs51-info-table{overflow:hidden;border:1px solid var(--rs-line);background:#fff;box-shadow:0 14px 40px rgba(70,44,38,.04)}
.rs51-info-table>div{display:grid;grid-template-columns:148px minmax(0,1fr);min-height:58px;border-bottom:1px solid var(--rs-line)}
.rs51-info-table>div:last-child{border-bottom:0}
.rs51-info-table strong{display:flex;align-items:center;padding:14px 17px;background:#fff7f3;color:#875e57;font-size:12px;font-weight:600}
.rs51-info-table span{display:flex;align-items:center;padding:14px 18px;color:var(--rs-muted);font-size:13px;line-height:1.75}

.rs51-no-pressure{background:linear-gradient(135deg,#f9e9e5,#fff8f5)}
.rs51-no-pressure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rs51-no-pressure-grid article{display:flex;flex-direction:column;align-items:center;min-height:245px;padding:34px 28px;border:1px solid rgba(205,141,148,.35);background:rgba(255,255,255,.83);text-align:center}
.rs51-no-pressure-grid .ypr-icon{width:42px;height:42px;margin-bottom:17px;color:#be7480}
.rs51-no-pressure-grid h3{margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.7}
.rs51-no-pressure-grid p{margin:0;color:var(--rs-muted);font-size:13px;line-height:1.9}

.rs51-flexible{background:#fff}
.rs51-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.rs51-option-grid article{display:flex;flex-direction:column;align-items:center;min-height:250px;padding:31px 23px;border:1px solid var(--rs-line);background:#fff;text-align:center}
.rs51-option-grid .ypr-icon{width:39px;height:39px;margin-bottom:16px;color:#c0707d}
.rs51-option-grid h3{margin:0 0 12px;font-size:17px;font-weight:600}
.rs51-option-grid p{margin:0;color:var(--rs-muted);font-size:13px;line-height:1.9;text-align:left}

.rs51-child{background:var(--rs-ivory)}
.rs51-child .rs51-media img{object-position:center 35%}
.rs51-child .rs51-btn-line{min-width:330px}

.rs51-access{background:#fff}
.rs51-address{margin:0 0 23px;padding:20px 24px;border-left:2px solid #c77d87;background:#fff9f6;color:#654e47;font-size:14px;font-style:normal;line-height:1.9}
.rs51-route-card{padding:32px;border:1px solid var(--rs-line);background:linear-gradient(145deg,#fff,#fff8f4);text-align:center;box-shadow:0 16px 45px rgba(70,44,38,.04)}
.rs51-route-map{position:relative;min-height:310px;margin-bottom:22px;overflow:hidden;border:1px solid #eadbd5;background:linear-gradient(90deg,rgba(218,195,184,.14) 1px,transparent 1px),linear-gradient(rgba(218,195,184,.14) 1px,transparent 1px),#fffdfb;background-size:38px 38px}
.rs51-route-map:before,.rs51-route-map:after{content:"";position:absolute;background:#e5d5ce}
.rs51-route-map:before{left:22%;right:12%;top:53%;height:8px;transform:rotate(-13deg);border-radius:10px}
.rs51-route-map:after{left:50%;top:11%;bottom:12%;width:7px;transform:rotate(18deg);border-radius:10px}
.rs51-route-map i{position:absolute;z-index:2;left:28%;top:58%;width:44%;height:2px;border-top:3px dotted #c5717f;transform:rotate(-10deg)}
.rs51-station,.rs51-salon{position:absolute;z-index:3;padding:8px 11px;border:1px solid #dfc7bf;background:#fff;color:#6e554e;font-size:11px}
.rs51-station{left:10%;bottom:20%}
.rs51-salon{right:7%;top:22%}
.rs51-route-pin{position:absolute;z-index:4;right:25%;top:37%;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#c96e7f;color:#fff;box-shadow:0 8px 22px rgba(182,83,103,.22)}
.rs51-route-pin .ypr-icon{width:25px;height:25px}
.rs51-route-card>strong{display:block;margin-bottom:10px;font-size:20px;font-weight:600}
.rs51-route-card>p{margin:0;color:var(--rs-muted);font-size:13px;line-height:1.9}

.rs51-hospitality{background:linear-gradient(135deg,#fffaf7,#fff)}
.rs51-hospitality-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:28px 0}
.rs51-hospitality-points span{display:flex;align-items:center;justify-content:center;min-height:70px;padding:12px;border:1px solid var(--rs-line);background:#fff;color:#705953;font-size:11.5px;line-height:1.6;text-align:center}

.rs51-quality{background:#fff}
.rs51-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rs51-quality-grid article{display:flex;flex-direction:column;min-height:100%;border:1px solid var(--rs-line);background:#fff}
.rs51-quality-grid article>div{overflow:hidden;aspect-ratio:16/9;background:#f0e9e5}
.rs51-quality-grid picture,.rs51-quality-grid img{width:100%;height:100%}
.rs51-quality-grid img{object-fit:cover}
.rs51-quality-grid h3{margin:22px 19px 9px;font-size:17px;font-weight:600;text-align:center}
.rs51-quality-grid p{margin:0;padding:0 19px 24px;color:var(--rs-muted);font-size:12.5px;line-height:1.85;text-align:left}

.rs51-space{background:var(--rs-ivory)}
.rs51-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px;align-items:start}
.rs51-gallery figure{min-width:0;margin:0}
.rs51-gallery figure.is-large{grid-column:span 2;grid-row:span 2}
.rs51-gallery figure>div{overflow:hidden;aspect-ratio:16/9;background:#f2eae6}
.rs51-gallery picture,.rs51-gallery img{width:100%;height:100%}
.rs51-gallery img{object-fit:cover}
.rs51-gallery figcaption{padding:10px 4px 0;color:#75615a;font-size:11.5px;line-height:1.7;text-align:center}

.rs51-comparison{background:#fff}
.rs51-comparison-table{overflow:hidden;border:1px solid var(--rs-line);background:#fff}
.rs51-comparison-table>div{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:62px;border-bottom:1px solid var(--rs-line)}
.rs51-comparison-table>div:last-child{border-bottom:0}
.rs51-comparison-table strong,.rs51-comparison-table span{display:flex;align-items:center;padding:15px 22px}
.rs51-comparison-table strong{background:#fff8f4;color:#775a53;font-size:13px}
.rs51-comparison-table span{color:var(--rs-muted);font-size:13.5px;line-height:1.75}
.rs51-comparison-head strong{background:#c57984;color:#fff;font-size:13.5px}
.rs51-comparison-head strong+strong{background:#b56776}

.rs51-promises{background:linear-gradient(145deg,#fff9f6,#fff)}
.rs51-promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.rs51-promise-grid article{position:relative;display:flex;flex-direction:column;align-items:center;min-height:285px;padding:34px 27px;border:1px solid var(--rs-line);background:#fff;text-align:center}
.rs51-promise-grid .rs51-promise-number{position:absolute;left:14px;top:11px;color:#c17a85;font-family:"Cormorant Garamond",Georgia,serif;font-size:24px}
.rs51-promise-grid>.ypr-icon,.rs51-promise-grid article>.ypr-icon{width:43px;height:43px;margin:5px 0 18px;color:#bd7480}
.rs51-promise-grid h3{margin:0 0 13px;font-size:17px;font-weight:600;line-height:1.75}
.rs51-promise-grid p{margin:0;color:var(--rs-muted);font-size:13px;line-height:1.9}

.rs51-flow{background:#fff}
.rs51-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px 12px}
.rs51-flow-grid article{position:relative;overflow:hidden;border:1px solid var(--rs-line);background:#fff;text-align:center}
.rs51-flow-grid article>span{position:absolute;z-index:2;left:8px;top:7px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(255,255,255,.92);color:#b65c70;font-family:Georgia,serif;font-size:12px}
.rs51-flow-grid article>div{overflow:hidden;aspect-ratio:16/9;background:#f1e9e5}
.rs51-flow-grid picture,.rs51-flow-grid img{width:100%;height:100%}
.rs51-flow-grid img{object-fit:cover}
.rs51-flow-grid h3{margin:0;padding:13px 7px 14px;font-size:11.5px;font-weight:600;line-height:1.55}

.rs51-voices{background:var(--rs-ivory)}
.rs51-voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rs51-voice-grid article{min-height:260px;padding:32px 27px;border:1px solid var(--rs-line);background:#fff}
.rs51-voice-grid article>span{display:inline-flex;margin-bottom:14px;padding:6px 11px;border-radius:999px;background:#faece9;color:#a65a68;font-size:11px}
.rs51-voice-grid h3{margin:0 0 13px;font-size:18px;font-weight:600;line-height:1.75}
.rs51-voice-grid p{margin:0;color:var(--rs-muted);font-size:13px;line-height:1.95}

.rs51-faq{background:#fff}
.rs51-faq-list{border-top:1px solid var(--rs-line)}
.rs51-faq-list details{border-bottom:1px solid var(--rs-line);background:#fff}
.rs51-faq-list summary{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:70px;padding:14px 20px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:600;line-height:1.75}
.rs51-faq-list summary::-webkit-details-marker{display:none}
.rs51-q{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ca7a87;color:#fff;font-family:Georgia,serif;font-size:13px}
.rs51-plus{position:relative;width:18px;height:18px}
.rs51-plus:before,.rs51-plus:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:#b75d70;transform:translate(-50%,-50%)}
.rs51-plus:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s ease}
.rs51-faq-list details[open] .rs51-plus:after{transform:translate(-50%,-50%) rotate(0)}
.rs51-answer{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:0 20px 22px 20px}
.rs51-answer>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d9a2aa;border-radius:50%;color:#b85b6f;font-family:Georgia,serif;font-size:13px}
.rs51-answer p{margin:2px 0 0;color:var(--rs-muted);font-size:13.5px;line-height:1.95}

.rs51-related{background:linear-gradient(145deg,#fffaf7,#fff)}
.rs51-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rs51-related-grid a{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--rs-line);background:#fff;color:var(--rs-brown);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}
.rs51-related-grid a:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(70,44,38,.07)}
.rs51-related-grid a>div{overflow:hidden;aspect-ratio:16/9;background:#f1e9e5}
.rs51-related-grid picture,.rs51-related-grid img{width:100%;height:100%}
.rs51-related-grid img{object-fit:cover;transition:transform .3s ease}
.rs51-related-grid a:hover img{transform:scale(1.03)}
.rs51-related-grid strong{min-height:67px;padding:19px 38px 16px 16px;font-size:13px;font-weight:600;line-height:1.7}
.rs51-related-grid a>.ypr-icon{position:absolute;right:14px;bottom:20px;width:17px;height:17px;color:#b65d70}

.rs51-final{position:relative;padding:86px 0 82px;border-top:1px solid #dfb9b3;background:radial-gradient(circle at 7% 50%,rgba(255,255,255,.78),transparent 23%),radial-gradient(circle at 94% 44%,rgba(255,255,255,.72),transparent 24%),linear-gradient(135deg,#efd2cd,#f8e6e1 52%,#eec8c7);text-align:center}
.rs51-final:before,.rs51-final:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(183,110,121,.12);border-radius:50%;pointer-events:none}
.rs51-final:before{left:-100px;bottom:-115px}
.rs51-final:after{right:-90px;top:-115px}
.rs51-final-inner{position:relative;z-index:2;max-width:1100px}
.rs51-final h2{font-size:clamp(29px,3vw,40px)}
.rs51-final>div>p:not(.rs51-step){max-width:820px;margin:18px auto 28px;color:#765d57;font-size:14.5px;line-height:2}
.rs51-final-actions{justify-content:center}
.rs51-final .rs51-btn{min-width:285px}

@media (min-width:861px){
  .rs51-hero .rs51-hero-inner{width:100%!important;max-width:none!important;margin-inline:0!important}
  .rs51-hero-copy{padding-left:max(32px,calc((100vw - 1240px)/2))}
  .rs51-hero-media{aspect-ratio:16/9;min-height:100%}
}
@media(max-width:1180px){
  .rs51-hero-features{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rs51-reason-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rs51-method-grid,.rs51-quality-grid,.rs51-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs51-flow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rs51-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .rs51-section{padding:88px 0}
  .rs51-heading-left{text-align:center}
  .rs51-hero{background:#fffaf7}
  .rs51-hero-inner{display:block;min-height:0;width:100%}
  .rs51-hero-copy{padding:60px 20px 42px;text-align:center}
  .rs51-hero-copy:before{inset:0;background:#fffaf7}
  .rs51-hero-text{margin-inline:auto}
  .rs51-hero-features{max-width:690px;margin-inline:auto}
  .rs51-actions{justify-content:center}
  .rs51-hero-media picture,.rs51-hero-media img{height:auto;aspect-ratio:16/9}
  .rs51-split,.rs51-split-reverse{grid-template-columns:1fr;gap:42px}
  .rs51-split-reverse>.rs51-copy,.rs51-split-reverse>.rs51-media,.rs51-split-reverse>.rs51-info-table,.rs51-split-reverse>.rs51-route-card{order:initial}
  .rs51-reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs51-mini-grid,.rs51-no-pressure-grid,.rs51-promise-grid,.rs51-voice-grid{grid-template-columns:1fr}
  .rs51-mini-grid article,.rs51-no-pressure-grid article,.rs51-promise-grid article,.rs51-voice-grid article{min-height:0}
  .rs51-private-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs51-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs51-gallery figure.is-large{grid-column:span 2;grid-row:auto}
  .rs51-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rs51-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs51-left-link{margin-left:auto}
}
@media(max-width:560px){
  .rs51-breadcrumb-wrap{padding:13px 0}
  .rs51-section{padding:72px 0}
  .rs51-heading{margin-bottom:38px}
  .rs51-heading h2,.rs51-copy h2,.rs51-final h2{font-size:clamp(24px,7vw,30px);line-height:1.68;letter-spacing:.045em}
  .rs51-heading-left{text-align:center}
  .rs51-step{font-size:10.5px;letter-spacing:.13em}
  .rs51-hero-copy{padding:50px 16px 38px}
  .rs51-hero-copy h1{font-size:35px;line-height:1.5;letter-spacing:.065em}
  .rs51-hero-lead{font-size:23px}
  .rs51-hero-text{font-size:14px}
  .rs51-hero-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .rs51-hero-features li{min-height:82px}
  .rs51-actions,.rs51-final-actions{display:grid;width:100%}
  .rs51-btn{width:100%;min-width:0!important;min-height:55px;padding:0 12px;font-size:11.5px;white-space:nowrap}
  .rs51-callout{padding:22px 18px;font-size:19px;text-align:left}
  .rs51-reason-grid,.rs51-method-grid,.rs51-quality-grid,.rs51-option-grid,.rs51-private-grid,.rs51-gallery,.rs51-flow-grid,.rs51-related-grid{grid-template-columns:1fr}
  .rs51-reason-card{min-height:145px}
  .rs51-concern-list{grid-template-columns:1fr;padding:20px 18px}
  .rs51-inline-links{display:grid}
  .rs51-inline-links a{width:100%;white-space:normal}
  .rs51-mini-grid{grid-template-columns:1fr}
  .rs51-info-table>div,.rs51-comparison-table>div{grid-template-columns:1fr}
  .rs51-info-table strong,.rs51-comparison-table strong{min-height:44px}
  .rs51-comparison-head{display:none!important}
  .rs51-route-card{padding:20px 16px}
  .rs51-route-map{min-height:260px}
  .rs51-hospitality-points{grid-template-columns:1fr}
  .rs51-gallery figure.is-large{grid-column:auto}
  .rs51-faq-list summary{grid-template-columns:34px minmax(0,1fr) 20px;padding-inline:12px;font-size:13px}
  .rs51-answer{grid-template-columns:34px minmax(0,1fr);padding-inline:12px}
  .rs51-related-grid strong{min-height:60px}
  .rs51-center-link{white-space:normal;text-align:center}
  .rs51-final{padding:68px 0 65px}
  .rs51-final>div>p:not(.rs51-step){font-size:13px;text-align:left}
}

/* ========================================================================== 
   YOSAPARK Rose v5.1.1 – 全ページ横スクロール修正 / 選ばれる理由ヒーロー修正
   ========================================================================== */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body,#page,.site,.site-main,.site-content,main{max-width:100%}
.site-container,.section-inner,.content-wrap,.header-inner,.footer-inner{max-width:100%}
.site-header,.hero,.final-cta,.first-final-cta,.about-hero,.lu43-hero,.ow44-hero,.mn45-hero,.fd46-hero,.rs51-hero,.page-hero,.article-hero{overflow:hidden}

/* 装飾用の疑似要素がビューポート外へ大きく広がって横スクロールを作らないようにする */
.fd46-hero-copy:before{inset:-30px -120px -30px 0;width:calc(100% + 120px)}
.rs51-hero-copy:before{inset:-30px -115px -30px 0;width:calc(100% + 115px)}

/* PC幅でも要素がはみ出さないよう、主要ラッパーのクリッピングを強化 */
.rose-home,.about-page,.luluonn-v43,.owner-page-v44,.menu-page-v45,.forty-page-v46,.lower-body-page-v47,.cold-swelling-page-v48,.beauty-page-v49,.womens-balance-page-v50,.reason-page-v51{overflow-x:hidden}

/* 「選ばれる理由」ページのヒーロー内テキストの左見切れを防ぐ */
@media (min-width:861px){
  .rs51-hero-inner{width:100%;max-width:none;margin-inline:0;overflow:hidden;align-items:stretch}
  .rs51-hero-copy{min-width:0;padding-left:clamp(32px,calc((100vw - 1240px)/2),160px);padding-right:clamp(24px,3vw,52px)}
  .rs51-hero-copy h1,.rs51-hero-lead,.rs51-hero-text{max-width:100%}
}

/* ========================================================================== 
   YOSAPARK Rose v5.1.2 – 選ばれる理由ページを共通コンテナ幅へ統一
   ========================================================================== */
.reason-page-v51 .site-container{
  width:min(1180px,calc(100% - 72px));
  max-width:1180px;
  margin-inline:auto;
}

@media (min-width:861px){
  .rs51-hero .rs51-hero-inner{
    width:min(1180px,calc(100% - 72px))!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    overflow:hidden;
  }
  .rs51-hero-copy{
    padding-left:0;
    padding-right:clamp(30px,4vw,52px);
  }
}

@media (max-width:1180px){
  .reason-page-v51 .site-container{
    width:min(100% - 48px,1080px);
    max-width:1080px;
  }
}

@media (max-width:860px){
  .reason-page-v51 .site-container,
  .rs51-hero .rs51-hero-inner{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
}

@media (max-width:560px){
  .reason-page-v51 .site-container,
  .rs51-hero .rs51-hero-inner{
    width:calc(100% - 32px)!important;
  }
}

/* ========================================================================== 
   YOSAPARK Rose v5.2.0 – お客様の声ページ
   ========================================================================== */
.voice-page-v52{--vo52-rose:#b76e79;--vo52-rose-dark:#934f5d;--vo52-beige:#d8b7ad;--vo52-gold:#c7a66a;--vo52-ivory:#faf6f0;--vo52-pale:#f8efed;--vo52-brown:#3d2c28;--vo52-muted:#74625d;--vo52-line:#e7d6d0;color:var(--vo52-brown);background:#fff;overflow-x:hidden}
.voice-page-v52 *{box-sizing:border-box}
.voice-page-v52 img{display:block;width:100%;height:100%;object-fit:cover}
.voice-page-v52 picture{display:block;width:100%;height:100%}
.vo52-breadcrumb{padding:12px 0;border-bottom:1px solid #f2e6e1;background:#fff}
.vo52-section{position:relative;padding:clamp(72px,8vw,122px) 0;border-top:1px solid rgba(231,214,208,.72);overflow:hidden}
.vo52-narrow{max-width:860px;text-align:center}
.vo52-heading{text-align:center;max-width:920px;margin:0 auto 42px}
.vo52-heading h2,.vo52-owner-message h2,.vo52-cta h2{margin:8px 0 0;font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1.55;letter-spacing:.06em}
.vo52-heading>p:last-child{max-width:760px;margin:20px auto 0;color:var(--vo52-muted);line-height:1.95}
.vo52-eyebrow{margin:0;color:var(--vo52-gold);font-family:"Cormorant Garamond","Times New Roman",serif;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.vo52-note,.vo52-disclaimer{color:#9a7771;font-size:13px;line-height:1.75}
.vo52-note{margin:30px auto 0;padding:14px 18px;border-top:1px solid var(--vo52-line);border-bottom:1px solid var(--vo52-line)}
.vo52-hero{background:linear-gradient(90deg,#fffaf6 0%,#fffaf6 42%,#fff 42%);overflow:hidden}
.vo52-hero-inner{display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:620px;max-width:1180px;padding-inline:0}
.vo52-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:64px clamp(28px,4.5vw,72px) 58px 0;min-width:0}
.vo52-hero-copy h1{margin:10px 0 18px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(42px,4vw,58px);font-weight:500;line-height:1.35;letter-spacing:.08em;color:#a86164}
.vo52-hero-lead{margin:0 0 18px;font-size:clamp(20px,2vw,28px);line-height:1.7;font-weight:600}
.vo52-hero-copy>p:not(.vo52-eyebrow):not(.vo52-hero-lead){margin:0;color:var(--vo52-muted);font-size:15px;line-height:2}
.vo52-hero-media{min-width:0;aspect-ratio:16/9;align-self:stretch;overflow:hidden}
.vo52-hero-media img{object-position:center center}
.vo52-hero-points{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:28px 0 22px;padding:0;list-style:none}
.vo52-hero-points li{display:flex;min-height:82px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:8px 4px;background:rgba(255,255,255,.84);border:1px solid var(--vo52-line);text-align:center;font-size:12px;line-height:1.5}
.vo52-hero-points .ypr-icon{width:25px;height:25px;color:#c77b65}
.vo52-actions{display:flex;flex-wrap:wrap;gap:12px}
.vo52-btn{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border:1px solid var(--vo52-rose);border-radius:2px;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;transition:.2s ease}
.vo52-btn .ypr-icon{width:20px;height:20px;flex:0 0 auto}
.vo52-btn .arrow{width:16px;height:16px}
.vo52-btn-line{background:#2dbe60;border-color:#2dbe60;color:#fff;box-shadow:0 8px 22px rgba(45,190,96,.16)}
.vo52-btn-pink{background:var(--vo52-rose);color:#fff}
.vo52-btn-outline{background:#fff;color:var(--vo52-rose-dark)}
.vo52-btn:hover{transform:translateY(-2px);filter:brightness(.98)}
.vo52-about{background:#fff}
.vo52-about p:not(.vo52-note){font-size:16px;line-height:2.1;color:var(--vo52-muted)}
.vo52-stats{background:linear-gradient(180deg,#fff 0%,#fbf5f2 100%)}
.vo52-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.vo52-stat-grid>div{min-height:155px;padding:26px 18px;text-align:center;background:#fff;border:1px solid var(--vo52-line);box-shadow:0 12px 30px rgba(102,72,63,.04)}
.vo52-stat-grid span{display:block;color:var(--vo52-muted);font-size:13px}
.vo52-stat-grid strong{display:block;margin:11px 0 8px;color:#b96b6f;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(26px,2.7vw,40px);font-weight:500;line-height:1.3}
.vo52-stat-grid strong small{font-size:.45em;margin-left:3px}
.vo52-stat-grid p{margin:0;color:#9b837d;font-size:12px}
.vo52-filter{background:#fff;padding-top:74px;padding-bottom:74px}
.vo52-filter-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1040px;margin:0 auto}
.vo52-filter-list a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:8px 18px;border:1px solid var(--vo52-line);border-radius:2px;color:var(--vo52-brown);background:#fff;text-decoration:none;font-size:13px}
.vo52-filter-list a:first-child,.vo52-filter-list a:hover{background:var(--vo52-rose);border-color:var(--vo52-rose);color:#fff}
.vo52-featured{background:var(--vo52-ivory)}
.vo52-featured-grid{display:grid;grid-template-columns:minmax(0,49%) minmax(0,51%);background:#fff;border:1px solid var(--vo52-line);box-shadow:0 20px 50px rgba(90,58,49,.05)}
.vo52-featured-media{min-height:420px;overflow:hidden}
.vo52-featured-copy{padding:clamp(30px,4vw,58px)}
.vo52-featured-copy h3{margin:8px 0 22px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(23px,2.4vw,32px);font-weight:500;line-height:1.6}
.vo52-featured-meta{color:var(--vo52-rose);font-size:13px;font-weight:600}
.vo52-featured-copy dl{margin:0 0 22px;border-top:1px solid var(--vo52-line)}
.vo52-featured-copy dl div{display:grid;grid-template-columns:110px minmax(0,1fr);border-bottom:1px solid var(--vo52-line)}
.vo52-featured-copy dt,.vo52-featured-copy dd{margin:0;padding:10px 12px;font-size:13px;line-height:1.7}
.vo52-featured-copy dt{background:#fbf4f1;color:#8d6860}
.vo52-featured-body{font-size:15px;line-height:2;color:var(--vo52-muted)}
.vo52-featured-body p{margin:0 0 16px}
.vo52-category{background:#fff}
.vo52-category:nth-of-type(even){background:#fffaf7}
.vo52-category-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:stretch}
.vo52-category-image{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--vo52-line)}
.vo52-voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vo52-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:940px;margin:0 auto}
.vo52-voice-card{display:flex;flex-direction:column;min-width:0;padding:24px;background:#fff;border:1px solid var(--vo52-line);box-shadow:0 8px 24px rgba(75,48,43,.035)}
.vo52-voice-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.vo52-voice-tags span{padding:4px 9px;background:#f8e9e5;color:#956e65;font-size:11px}
.vo52-voice-card h3{margin:0 0 16px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:18px;line-height:1.6;font-weight:600}
.vo52-voice-card dl{margin:0 0 14px;font-size:12px}
.vo52-voice-card dl div{display:grid;grid-template-columns:82px minmax(0,1fr);border-top:1px solid #f1e6e2}
.vo52-voice-card dt,.vo52-voice-card dd{margin:0;padding:7px 5px;line-height:1.55}
.vo52-voice-card dt{color:#a56c65}
.vo52-voice-card>p:not(.vo52-disclaimer){margin:0 0 14px;color:var(--vo52-muted);font-size:14px;line-height:1.9}
.vo52-voice-card .vo52-disclaimer{margin-top:auto;padding-top:12px;border-top:1px solid #f1e6e2;font-size:11px}
.vo52-empty{display:flex;min-height:210px;grid-column:1/-1;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:36px;background:#fff;border:1px dashed var(--vo52-line);text-align:center;color:var(--vo52-muted)}
.vo52-empty .ypr-icon{width:42px;height:42px;color:var(--vo52-beige)}
.vo52-center-link{display:flex;width:max-content;min-height:46px;align-items:center;gap:10px;margin:34px auto 0;padding:10px 24px;border:1px solid var(--vo52-rose);color:var(--vo52-rose-dark);text-decoration:none;font-size:14px}
.vo52-center-link .ypr-icon{width:17px;height:17px}
.vo52-first-visit{background:var(--vo52-ivory)}
.vo52-hospitality{background:#fff}
.vo52-hospitality-layout{display:grid;grid-template-columns:34% minmax(0,1fr);gap:24px;align-items:stretch}
.vo52-owner-image{aspect-ratio:4/5;overflow:hidden}
.vo52-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vo52-mini-list article{padding:22px;background:#fffaf7;border:1px solid var(--vo52-line)}
.vo52-mini-list h3{margin:0 0 8px;font-size:16px;line-height:1.6}
.vo52-mini-list p{margin:0;color:var(--vo52-muted);font-size:13px;line-height:1.8}
.vo52-pricing{background:linear-gradient(180deg,#fff8f5,#f9edeb)}
.vo52-policy-card{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:rgba(255,255,255,.82);border:1px solid var(--vo52-line)}
.vo52-policy-card .ypr-icon{width:38px;height:38px;color:#c68b78}
.vo52-policy-card h3{margin:15px 0 10px;font-size:18px}
.vo52-policy-card p{margin:0;color:var(--vo52-muted);font-size:14px;line-height:1.9}
.vo52-access{background:#fff}
.vo52-access-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vo52-access-grid article{padding:25px 18px;text-align:center;border:1px solid var(--vo52-line);background:#fff}
.vo52-access-grid .ypr-icon{width:34px;height:34px;color:#c48670}
.vo52-access-grid h3{margin:14px 0 8px;font-size:16px;line-height:1.6}
.vo52-access-grid p{margin:0;color:var(--vo52-muted);font-size:13px;line-height:1.8}
.vo52-platforms{background:var(--vo52-ivory)}
.vo52-platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.vo52-platform-grid>a{display:grid;grid-template-columns:54px minmax(0,1fr) 20px;gap:14px;align-items:center;min-height:142px;padding:24px;background:#fff;border:1px solid var(--vo52-line);color:var(--vo52-brown);text-decoration:none}
.vo52-platform-mark{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:#f8efeb;color:var(--vo52-rose);font-size:24px;font-weight:700}
.vo52-platform-mark .ypr-icon{width:28px;height:28px}
.vo52-platform-grid h3{margin:0 0 6px;font-size:17px}
.vo52-platform-grid p{margin:0;color:var(--vo52-muted);font-size:12px;line-height:1.75}
.vo52-platform-grid>a>.ypr-icon{width:18px;height:18px;color:var(--vo52-rose)}
.vo52-related{background:#fff}
.vo52-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.vo52-related-grid a{display:grid;grid-template-columns:82px minmax(0,1fr) 18px;gap:10px;align-items:center;min-height:86px;padding:9px;border:1px solid var(--vo52-line);color:var(--vo52-brown);text-decoration:none;background:#fff}
.vo52-related-grid a>div{width:82px;aspect-ratio:16/9;overflow:hidden}
.vo52-related-grid span{font-size:13px;line-height:1.6}
.vo52-related-grid>a>.ypr-icon{width:16px;height:16px;color:var(--vo52-rose)}
.vo52-cta{background:linear-gradient(105deg,#f7dfda 0%,#fff1ed 58%,#f2ddd7 100%)}
.vo52-cta:before,.vo52-cta:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(183,110,121,.17);border-radius:50%}
.vo52-cta:before{left:-88px;bottom:-85px}.vo52-cta:after{right:-80px;top:-90px}
.vo52-cta-inner{text-align:center;position:relative;z-index:1}
.vo52-cta header{max-width:930px;margin:0 auto 32px}
.vo52-cta header>p:last-child{color:var(--vo52-muted);line-height:1.9}
.vo52-cta .vo52-actions{justify-content:center}
.vo52-owner-message{background:#fff}
.vo52-owner-layout{display:grid;grid-template-columns:36% minmax(0,1fr);gap:50px;align-items:center;max-width:1000px}
.vo52-owner-layout>div:first-child{aspect-ratio:4/5;overflow:hidden}
.vo52-owner-layout h2{margin-bottom:22px}
.vo52-owner-layout p:not(.vo52-eyebrow){color:var(--vo52-muted);font-size:15px;line-height:2}
.vo52-left-link{margin-left:0}
.vo52-faq{background:var(--vo52-ivory)}
.vo52-faq-list{border-top:1px solid var(--vo52-line)}
.vo52-faq-list details{border-bottom:1px solid var(--vo52-line);background:#fff}
.vo52-faq-list summary{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:center;min-height:64px;padding:12px 18px;cursor:pointer;list-style:none;font-size:15px;line-height:1.7}
.vo52-faq-list summary::-webkit-details-marker{display:none}
.vo52-faq-list summary>span:first-child{color:var(--vo52-rose);font-weight:700}
.vo52-plus{text-align:center;color:var(--vo52-rose);font-size:20px}
.vo52-faq-list details[open] .vo52-plus{transform:rotate(45deg)}
.vo52-faq-list details>div{padding:0 58px 22px}
.vo52-faq-list details p{margin:0;color:var(--vo52-muted);font-size:14px;line-height:1.95}
@media (max-width:1100px){.vo52-hero-inner{padding-inline:24px}.vo52-hero-copy{padding-right:28px}.vo52-hero-points{grid-template-columns:repeat(3,1fr)}.vo52-category-layout{grid-template-columns:230px minmax(0,1fr)}.vo52-voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vo52-platform-grid{grid-template-columns:1fr}.vo52-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.vo52-section{padding:72px 0}.vo52-hero{background:#fffaf6}.vo52-hero-inner{grid-template-columns:1fr;padding:0}.vo52-hero-copy{padding:56px 22px 34px}.vo52-hero-media{aspect-ratio:16/9}.vo52-actions{flex-direction:column}.vo52-btn{width:100%}.vo52-stat-grid,.vo52-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vo52-featured-grid,.vo52-category-layout,.vo52-hospitality-layout,.vo52-owner-layout{grid-template-columns:1fr}.vo52-featured-media{min-height:auto;aspect-ratio:16/9}.vo52-category-image,.vo52-owner-image,.vo52-owner-layout>div:first-child{aspect-ratio:16/9}.vo52-related-grid{grid-template-columns:1fr}.vo52-owner-layout{gap:28px}.vo52-left-link{margin-left:auto}.vo52-heading h2,.vo52-owner-message h2,.vo52-cta h2{font-size:28px}}
@media (max-width:600px){.vo52-section{padding:64px 0}.vo52-heading{margin-bottom:30px}.vo52-heading h2,.vo52-owner-message h2,.vo52-cta h2{font-size:25px;line-height:1.62}.vo52-hero-copy h1{font-size:36px}.vo52-hero-lead{font-size:20px}.vo52-hero-points{grid-template-columns:repeat(2,minmax(0,1fr))}.vo52-stat-grid,.vo52-access-grid,.vo52-voice-grid,.vo52-grid-two,.vo52-mini-list{grid-template-columns:1fr}.vo52-filter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vo52-filter-list a{padding:8px 7px;font-size:12px}.vo52-featured-copy{padding:26px 20px}.vo52-featured-copy dl div{grid-template-columns:94px minmax(0,1fr)}.vo52-voice-card{padding:20px}.vo52-platform-grid>a{grid-template-columns:46px minmax(0,1fr) 18px;padding:20px 16px}.vo52-platform-mark{width:44px;height:44px}.vo52-related-grid a{grid-template-columns:72px minmax(0,1fr) 16px}.vo52-related-grid a>div{width:72px}.vo52-faq-list summary{padding:12px 12px;grid-template-columns:28px minmax(0,1fr) 28px;font-size:14px}.vo52-faq-list details>div{padding:0 42px 20px}.vo52-btn{font-size:13px;padding-inline:14px}.vo52-btn span{white-space:nowrap}}

/* ========================================================================== 
   YOSAPARK Rose v5.2.1 – お客様の声サンプル表示 / コンテナ中央揃え
   ========================================================================== */
.voice-page-v52 .site-container{
  width:min(1180px,calc(100% - 72px));
  max-width:1180px;
  margin-inline:auto;
  padding-inline:0;
}
.voice-page-v52 .site-container>*{min-width:0;max-width:100%}
.vo52-hero-inner{width:min(1180px,calc(100% - 72px));margin-inline:auto}.vo52-category-layout,.vo52-featured-grid,.vo52-hospitality-layout,.vo52-owner-layout,.vo52-stat-grid,.vo52-voice-grid,.vo52-access-grid,.vo52-platform-grid,.vo52-related-grid{width:100%;margin-inline:auto}

@media (max-width:1100px){
  .voice-page-v52 .site-container,.vo52-hero-inner{width:min(1060px,calc(100% - 48px))}
}
@media (max-width:860px){
  .voice-page-v52 .site-container,.vo52-hero-inner{width:calc(100% - 40px)}
  .vo52-hero-inner{padding-inline:0}
}
@media (max-width:600px){
  .voice-page-v52 .site-container,.vo52-hero-inner{width:calc(100% - 32px)}}
.voice-page-v52 .vo52-category-layout>.vo52-voice-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media (max-width:600px){.voice-page-v52 .vo52-category-layout>.vo52-voice-grid{grid-template-columns:1fr}}

/* ========================================================================== 
   YOSAPARK Rose v5.2.3 – お客様の声入力テンプレート / 空セクション表示
   ========================================================================== */
.vo52-empty-detailed{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:40px 32px;text-align:center;background:#fff;border:1px solid #eadbd6}
.vo52-empty-detailed h3{margin:14px 0 10px;font-size:clamp(20px,2vw,26px);color:#4b342e}
.vo52-empty-detailed p{max-width:620px;margin:0 auto 20px;line-height:1.9;color:#6f5a54}
.vo52-empty-detailed ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;width:min(100%,620px);margin:0;padding:0;list-style:none;text-align:left}
.vo52-empty-detailed li{position:relative;padding-left:18px;font-size:14px;line-height:1.7;color:#6f5a54}
.vo52-empty-detailed li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border:1px solid #b76e79;border-radius:50%}
@media (max-width:640px){.vo52-empty-detailed{min-height:0;padding:32px 20px}.vo52-empty-detailed ul{grid-template-columns:1fr}}

/* ========================================================================== 
   YOSAPARK Rose v5.2.4 – お客様の声掲載イメージの確実な表示
   ========================================================================== */
.vo52-preview-notice{
  width:min(100%,900px);
  margin:0 auto 28px;
  padding:15px 20px;
  border:1px solid #d9b3a7;
  background:#fffaf7;
  color:#73574f;
  text-align:center;
  font-size:13px;
  line-height:1.85;
}
.vo52-preview-label{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0 0 12px;
  padding:5px 10px;
  border:1px solid #c98f81;
  background:#fffaf7;
  color:#9a5f56;
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.04em;
}
.vo52-preview-label-small{margin-bottom:8px;padding:3px 8px;font-size:10px}
.vo52-voice-card.is-preview{border-color:#dfbeb5;background:linear-gradient(180deg,#fff 0%,#fffaf8 100%)}
.vo52-voice-card.is-preview .vo52-disclaimer{color:#9b6b62}
.vo52-featured-copy>.vo52-preview-label{margin-bottom:8px}
.vo52-mini-list article .vo52-preview-label{display:flex}
.vo52-access-grid article .vo52-preview-label{margin:10px auto 0}
@media (max-width:600px){
  .vo52-preview-notice{padding:13px 15px;text-align:left;font-size:12px}
  .vo52-preview-label{font-size:10px}
}

/* ========================================================================== 
   YOSAPARK Rose v5.3.0 – よくある質問ページ
   ========================================================================== */
.faq-page-v53{--fq-rose:#b76e79;--fq-rose-dark:#9d5260;--fq-rose-pale:#f8efed;--fq-beige:#faf6f0;--fq-gold:#c7a66a;--fq-brown:#3d2c28;--fq-muted:#74625d;--fq-line:#eadbd5;--fq-white:#fff;color:var(--fq-brown);background:var(--fq-white);overflow-x:hidden;font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif}
.fq53-container{width:min(calc(100% - 40px),1180px);max-width:1180px;margin-inline:auto;box-sizing:border-box}
.fq53-section{padding:clamp(72px,8vw,120px) 0;position:relative}
.fq53-section-heading{text-align:center;margin:0 auto clamp(30px,4vw,52px);max-width:900px}
.fq53-eyebrow{margin:0 0 10px;color:var(--fq-rose);font-family:"Cormorant Garamond","EB Garamond",serif;font-weight:600;font-size:clamp(12px,1.2vw,14px);letter-spacing:.12em;text-transform:uppercase}
.fq53-section-heading h2,.fq53-contact h2,.fq53-final h2{margin:0;color:var(--fq-brown);font-size:clamp(26px,3.2vw,38px);font-weight:500;line-height:1.55;letter-spacing:.04em;text-wrap:balance}
.fq53-section p,.fq53-section li,.fq53-final p{line-height:1.95}

.fq53-hero{padding:clamp(46px,6vw,86px) 0;background:linear-gradient(90deg,#fffaf7 0%,#fff 52%,#fdfaf7 100%);border-bottom:1px solid var(--fq-line);overflow:hidden}
.fq53-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(34px,5vw,72px)}
.fq53-hero-copy{min-width:0;position:relative;padding-left:clamp(6px,2vw,22px)}
.fq53-hero-copy:before{content:"";position:absolute;left:-110px;top:20px;width:145px;height:230px;opacity:.16;background:radial-gradient(circle at 50% 20%,transparent 0 16px,var(--fq-rose) 17px 18px,transparent 19px),linear-gradient(140deg,transparent 48%,var(--fq-rose) 49% 50%,transparent 51%);pointer-events:none}
.fq53-hero h1{margin:0 0 24px;font-size:clamp(42px,5.2vw,64px);font-weight:500;line-height:1.22;letter-spacing:.08em;color:var(--fq-brown);text-wrap:balance}
.fq53-hero-lead{margin:0 0 20px;font-size:clamp(20px,2.15vw,29px);font-weight:500;line-height:1.75;letter-spacing:.04em;text-wrap:pretty}
.fq53-hero-text{margin:0;color:var(--fq-muted);font-size:clamp(15px,1.25vw,17px);line-height:2;max-width:620px;text-wrap:pretty}
.fq53-hero-media{min-width:0;overflow:hidden;border-radius:2px;box-shadow:0 20px 45px rgba(87,54,44,.09)}
.fq53-hero-media picture,.fq53-hero-media img{display:block;width:100%}
.fq53-hero-image{aspect-ratio:16/9;object-fit:cover;object-position:center}
.fq53-assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0}
.fq53-assurance-grid>div{min-width:0;min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 9px;background:rgba(248,239,237,.82);border:1px solid #f0e1dc;color:var(--fq-brown);font-size:13px;text-align:center}
.fq53-assurance-grid .ypr-icon{width:22px;height:22px;flex:0 0 auto;color:var(--fq-rose)}
.fq53-actions,.fq53-final-actions{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap}
.fq53-btn{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 25px;border:1px solid transparent;border-radius:4px;font-size:15px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.fq53-btn:hover{transform:translateY(-1px)}
.fq53-btn .ypr-icon{width:20px;height:20px;flex:0 0 auto}
.fq53-btn-line{background:#2dbe60;color:#fff;box-shadow:0 10px 24px rgba(45,190,96,.16)}
.fq53-btn-line:hover{background:#25a853;color:#fff}
.fq53-btn-outline{background:#fff;color:var(--fq-rose-dark);border-color:var(--fq-rose)}
.fq53-btn-outline:hover{background:var(--fq-rose-pale);color:var(--fq-rose-dark)}
.fq53-btn-rose{background:var(--fq-rose);color:#fff}
.fq53-btn-rose:hover{background:var(--fq-rose-dark);color:#fff}

.fq53-before{background:#fff;padding-top:clamp(54px,6vw,86px);padding-bottom:clamp(54px,6vw,86px)}
.fq53-notice-card{position:relative;overflow:hidden;padding:clamp(32px,4vw,58px);background:linear-gradient(135deg,#fffdfa,#fcf7f2);border:1px solid var(--fq-line);border-radius:12px;text-align:center;box-shadow:0 12px 34px rgba(77,49,41,.035)}
.fq53-notice-card .fq53-section-heading{margin-bottom:20px}
.fq53-notice-card p{position:relative;z-index:1;max-width:860px;margin:5px auto;color:var(--fq-muted);font-size:15.5px;text-wrap:pretty}
.fq53-notice-rose{position:absolute;right:32px;bottom:14px;width:120px;height:120px;color:var(--fq-gold);opacity:.2}
.fq53-notice-rose .ypr-icon{width:100%;height:100%}

.fq53-finder{background:#fff;padding-top:clamp(62px,7vw,96px);padding-bottom:clamp(52px,6vw,80px)}
.fq53-search-wrap{position:relative;max-width:880px;margin:0 auto 24px}
.fq53-search{width:100%;height:58px;padding:0 56px 0 58px;border:1px solid var(--fq-line);border-radius:6px;background:#fff;color:var(--fq-brown);font:inherit;font-size:15px;outline:none;box-shadow:0 8px 22px rgba(77,49,41,.03)}
.fq53-search:focus{border-color:var(--fq-rose);box-shadow:0 0 0 3px rgba(183,110,121,.12)}
.fq53-search-icon{position:absolute;left:20px;top:50%;width:22px;height:22px;transform:translateY(-50%);color:var(--fq-rose)}
.fq53-search-icon .ypr-icon{width:100%;height:100%}
.fq53-search-clear{position:absolute;right:13px;top:50%;width:34px;height:34px;transform:translateY(-50%);border:0;border-radius:50%;background:var(--fq-rose-pale);color:var(--fq-rose-dark);font-size:22px;cursor:pointer}
.fq53-category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.fq53-category-nav a{min-width:0;min-height:72px;display:flex;align-items:center;justify-content:flex-start;gap:15px;padding:16px 22px;border:1px solid var(--fq-line);border-radius:6px;background:#fff;color:var(--fq-brown);font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 8px 18px rgba(77,49,41,.025);transition:border-color .2s,background .2s,transform .2s}
.fq53-category-nav a:hover,.fq53-category-nav a.is-active{border-color:var(--fq-rose);background:var(--fq-rose-pale);transform:translateY(-1px)}
.fq53-category-nav .ypr-icon{width:29px;height:29px;flex:0 0 auto;color:var(--fq-rose)}
.fq53-filter-status{min-height:24px;margin:18px auto 0;text-align:center;color:var(--fq-muted);font-size:14px}
.fq53-show-all{display:flex;align-items:center;justify-content:center;gap:12px;min-width:250px;height:44px;margin:8px auto 0;border:1px solid var(--fq-line);background:#fff;color:var(--fq-brown);font-family:inherit;cursor:pointer}
.fq53-show-all:hover{border-color:var(--fq-rose);background:var(--fq-rose-pale)}

.fq53-questions{background:#fff}
.fq53-question-section{scroll-margin-top:110px;padding:clamp(64px,7vw,100px) 0}
.fq53-question-section.is-light{background:#fff}
.fq53-question-section.is-tinted{background:linear-gradient(180deg,#fdf9f6 0%,#fbf5f1 100%);border-top:1px solid rgba(234,219,213,.65);border-bottom:1px solid rgba(234,219,213,.65)}
.fq53-category-card{width:min(100%,960px);min-width:0;margin-inline:auto;background:#fff;border:1px solid var(--fq-line);border-radius:10px;overflow:hidden;box-shadow:0 16px 38px rgba(72,46,39,.045)}
.fq53-category-head{text-align:center;padding:clamp(28px,4vw,44px) 24px clamp(24px,3vw,34px);background:linear-gradient(180deg,#fffdfa,#fff)}
.fq53-category-head p{margin:0 0 9px;color:var(--fq-rose);font-family:"Cormorant Garamond","EB Garamond",serif;font-size:12px;font-weight:600;letter-spacing:.12em}
.fq53-category-head h2{margin:0;font-size:clamp(23px,2.5vw,31px);font-weight:500;line-height:1.55;letter-spacing:.04em;text-wrap:balance}
.fq53-accordion{border-top:1px solid var(--fq-line)}
.fq53-accordion details{border-bottom:1px solid #eee2dd;background:#fff}
.fq53-accordion details:last-child{border-bottom:0}
.fq53-accordion summary{list-style:none;display:grid;grid-template-columns:30px minmax(0,1fr) 26px;align-items:center;gap:14px;min-height:68px;padding:17px clamp(18px,3vw,30px);cursor:pointer;color:var(--fq-brown);font-size:clamp(15px,1.45vw,17px);font-weight:500;line-height:1.7;text-wrap:pretty}
.fq53-accordion summary::-webkit-details-marker{display:none}
.fq53-accordion summary:focus-visible{outline:3px solid rgba(183,110,121,.25);outline-offset:-3px}
.fq53-q,.fq53-a{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-family:"Cormorant Garamond","EB Garamond",serif;font-weight:700;font-size:13px}
.fq53-q{color:#fff;background:var(--fq-rose)}
.fq53-a{color:var(--fq-rose-dark);background:#f5e5e1;flex:0 0 auto;margin-top:2px}
.fq53-toggle{position:relative;width:18px;height:18px}
.fq53-toggle:before,.fq53-toggle:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--fq-rose);transform:translate(-50%,-50%);transition:transform .2s ease}
.fq53-toggle:after{transform:translate(-50%,-50%) rotate(90deg)}
.fq53-accordion details[open] .fq53-toggle:after{transform:translate(-50%,-50%) rotate(0)}
.fq53-accordion details[open] summary{background:var(--fq-rose-pale);color:var(--fq-rose-dark)}
.fq53-answer{display:flex;align-items:flex-start;gap:14px;padding:4px clamp(22px,4vw,38px) clamp(24px,3vw,34px) clamp(62px,7vw,86px);color:var(--fq-muted);font-size:clamp(14.5px,1.3vw,16px);line-height:1.95;background:#fff}
.fq53-answer p{margin:0;text-wrap:pretty}
.fq53-no-results{margin:30px auto 0;padding:32px;border:1px solid var(--fq-line);background:#fff;text-align:center}
.fq53-no-results p{margin:0 0 14px}
.fq53-no-results a{color:var(--fq-rose-dark);font-weight:700}

.fq53-contact{background:#fff}
.fq53-contact-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;overflow:hidden;border:1px solid var(--fq-line);border-radius:10px;background:linear-gradient(135deg,#fffdfa,#fcf4f1)}
.fq53-contact-image{min-width:0;overflow:hidden}
.fq53-contact-image picture,.fq53-contact-image img{display:block;width:100%;height:100%}
.fq53-contact-image img{aspect-ratio:16/9;object-fit:cover;object-position:center}
.fq53-contact-copy{padding:clamp(30px,4.5vw,62px);min-width:0}
.fq53-contact-copy h2{font-size:clamp(24px,3vw,34px);margin-bottom:18px}
.fq53-contact-copy>p{margin:0 0 12px;color:var(--fq-muted);font-size:15px}
.fq53-contact-copy ul{columns:2;column-gap:38px;margin:18px 0 28px;padding:0;list-style:none}
.fq53-contact-copy li{position:relative;margin:0 0 6px;padding-left:18px;break-inside:avoid;font-size:14px}
.fq53-contact-copy li:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--fq-rose)}
.fq53-contact-copy .fq53-btn{width:100%}

.fq53-related{background:#fff;padding-top:clamp(62px,7vw,100px)}
.fq53-related-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.fq53-related-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--fq-line);background:#fff;color:var(--fq-brown);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.fq53-related-card:hover{transform:translateY(-2px);border-color:var(--fq-rose);box-shadow:0 10px 24px rgba(77,49,41,.07)}
.fq53-related-image{display:block;overflow:hidden;background:#f7f1ed}
.fq53-related-image picture,.fq53-related-image img{display:block;width:100%}
.fq53-related-image img{aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease}
.fq53-related-card:hover .fq53-related-image img{transform:scale(1.025)}
.fq53-related-title{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5;text-wrap:balance}
.fq53-related-title .ypr-icon{width:17px;height:17px;flex:0 0 auto;color:var(--fq-rose)}

.fq53-final{position:relative;overflow:hidden;padding:clamp(64px,7vw,100px) 0;background:linear-gradient(100deg,#fdf1ef,#fff7f3 52%,#f8e9e6);border-top:1px solid var(--fq-line);border-bottom:1px solid var(--fq-line)}
.fq53-final:before,.fq53-final:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(183,110,121,.18);border-radius:46% 54% 49% 51%;transform:rotate(35deg);pointer-events:none}
.fq53-final:before{left:-60px;bottom:-80px}.fq53-final:after{right:-65px;top:-90px}
.fq53-final-inner{text-align:center;position:relative;z-index:1}
.fq53-final-copy{max-width:900px;margin:0 auto 30px}
.fq53-final-copy p:last-child{margin:14px 0 0;color:var(--fq-muted);font-size:15px}
.fq53-final-actions{justify-content:center}
.fq53-final-actions .fq53-btn{min-width:270px}

.fq53-supervisor{padding:34px 0;background:#fff}
.fq53-supervisor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:40px;align-items:center}
.fq53-supervisor-person{display:flex;align-items:center;gap:18px}
.fq53-supervisor-person picture,.fq53-supervisor-person img{display:block;width:96px;height:96px;flex:0 0 96px}
.fq53-supervisor-person img{object-fit:cover;border-radius:2px}
.fq53-supervisor-person p{margin:0 0 3px;color:var(--fq-rose);font-size:12px;letter-spacing:.08em}
.fq53-supervisor-person h2{margin:0 0 4px;font-size:24px;font-weight:500}
.fq53-supervisor-person span{display:block;color:var(--fq-muted);font-size:13px;line-height:1.7}
.fq53-supervisor-meta{border:1px solid var(--fq-line);padding:17px 22px;background:#fffdfa}
.fq53-supervisor-meta dl,.fq53-supervisor-meta div{margin:0}
.fq53-supervisor-meta div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:5px 0}
.fq53-supervisor-meta dt{font-size:13px;color:var(--fq-muted)}
.fq53-supervisor-meta dd{margin:0;font-size:14px;text-align:right}

@media (max-width:1024px){
  .fq53-hero-grid{grid-template-columns:1fr;gap:34px}
  .fq53-hero-media{order:-1}
  .fq53-hero-copy{padding-left:0;text-align:center}
  .fq53-hero-copy:before{display:none}
  .fq53-hero-text{margin-inline:auto}
  .fq53-assurance-grid{max-width:760px;margin-inline:auto}
  .fq53-actions{justify-content:center}
  .fq53-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fq53-contact-card{grid-template-columns:1fr}
  .fq53-contact-image img{max-height:440px}
}

@media (max-width:767px){
  .fq53-container{width:min(calc(100% - 32px),1180px)}
  .fq53-section{padding:64px 0}
  .fq53-hero{padding:24px 0 54px}
  .fq53-hero-grid{gap:28px}
  .fq53-hero h1{font-size:36px}
  .fq53-hero-lead{font-size:20px;line-height:1.7}
  .fq53-hero-text{font-size:15px;text-align:left}
  .fq53-assurance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .fq53-assurance-grid>div{font-size:12px;min-height:54px}
  .fq53-actions,.fq53-final-actions{display:grid;grid-template-columns:1fr;width:100%}
  .fq53-btn{width:100%;min-width:0!important;font-size:14px;padding-inline:16px}
  .fq53-notice-card{padding:30px 20px}
  .fq53-notice-rose{right:-25px;bottom:-18px;width:100px;height:100px}
  .fq53-category-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .fq53-category-nav a{min-height:62px;padding:12px 13px;gap:9px;font-size:13px}
  .fq53-category-nav .ypr-icon{width:24px;height:24px}
  .fq53-question-section{scroll-margin-top:84px;padding:58px 0}
  .fq53-category-card{border-radius:8px}
  .fq53-category-head{padding:26px 16px 22px}
  .fq53-category-head h2{font-size:22px}
  .fq53-accordion summary{grid-template-columns:27px minmax(0,1fr) 22px;gap:10px;min-height:62px;padding:14px 14px;font-size:15px}
  .fq53-answer{padding:2px 15px 22px 50px;font-size:14.5px}
  .fq53-contact-copy{padding:30px 20px}
  .fq53-contact-copy ul{columns:1}
  .fq53-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fq53-related-title{font-size:12px;padding:10px;min-height:54px}
  .fq53-supervisor-grid{grid-template-columns:1fr;gap:22px}
  .fq53-supervisor-person{align-items:flex-start}
  .fq53-supervisor-person picture,.fq53-supervisor-person img{width:82px;height:82px;flex-basis:82px}
  .fq53-supervisor-meta div{grid-template-columns:95px 1fr}
}

@media (max-width:390px){
  .fq53-container{width:min(calc(100% - 28px),1180px)}
  .fq53-hero h1{font-size:32px}
  .fq53-assurance-grid{grid-template-columns:1fr 1fr}
  .fq53-category-nav{grid-template-columns:1fr 1fr}
  .fq53-category-nav a{padding-inline:10px}
  .fq53-related-grid{grid-template-columns:1fr 1fr}
  .fq53-related-title{font-size:11.5px}
}

/* ========================================================================
   Blog index / archives 5.4.0
   ======================================================================== */
.is-blog-page,.is-blog-content{overflow-x:hidden}
.rose-blog-page,.rose-blog-archive{--rb-rose:#b76e79;--rb-rose-dark:#9f5061;--rb-beige:#d8b7ad;--rb-gold:#c7a66a;--rb-ivory:#faf6f0;--rb-pale:#f8efed;--rb-brown:#3d2c28;--rb-muted:#74625d;--rb-line:#e7d6d0;color:var(--rb-brown);background:#fff}
.rose-blog-container{width:min(calc(100% - 40px),1180px);margin-inline:auto;min-width:0}
.rose-blog-kicker{margin:0 0 7px;color:#b79075;font:600 11px/1.4 Georgia,"Times New Roman",serif;letter-spacing:.2em;text-transform:uppercase;text-align:center}
.rose-blog-section{padding:90px 0}
.rose-blog-section h2,.rose-blog-hero h1,.rose-blog-hero h2,.rose-blog-archive h1{font-family:var(--serif);font-weight:500;color:var(--rb-brown)}
.rose-blog-breadcrumbs{padding-top:16px}.rose-blog-breadcrumbs .breadcrumbs{margin:0}.rose-blog-breadcrumbs .breadcrumbs ol{justify-content:flex-start}

.rose-blog-hero{background:linear-gradient(105deg,#fffaf7 0%,#fff 48%,#f9f6f3 100%);border-bottom:1px solid #f0e1db}
.rose-blog-hero__grid{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:585px}
.rose-blog-hero__copy{padding:60px 44px 54px 12px;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative}
.rose-blog-hero__copy:before{content:"";position:absolute;left:-70px;top:82px;width:150px;height:230px;opacity:.16;background:radial-gradient(circle at 50% 25%,transparent 0 12px,var(--rb-rose) 13px 14px,transparent 15px),radial-gradient(circle at 33% 39%,transparent 0 18px,var(--rb-rose) 19px 20px,transparent 21px);pointer-events:none}
.rose-blog-hero__copy .rose-blog-kicker{text-align:left}
.rose-blog-hero__copy h1{font-size:clamp(42px,4vw,62px);line-height:1.2;letter-spacing:.12em;margin:0 0 9px}
.rose-blog-hero__label{display:inline-flex;width:max-content;max-width:100%;padding:6px 18px;border-radius:2px;background:linear-gradient(90deg,#c78488,#b76e79);color:#fff;font-size:14px;letter-spacing:.12em;margin:0 0 26px}
.rose-blog-hero__copy h2{font-size:clamp(21px,2.05vw,30px);line-height:1.75;letter-spacing:.055em;margin:0 0 17px}
.rose-blog-hero__copy>p:not(.rose-blog-kicker):not(.rose-blog-hero__label){font-size:15px;line-height:2;letter-spacing:.025em;margin:0 0 24px;max-width:590px}
.rose-blog-hero__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 26px}
.rose-blog-hero__features li{min-height:52px;padding:8px 10px;border:1px solid var(--rb-line);background:rgba(255,255,255,.86);display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;text-align:center}
.rose-blog-hero__features .ypr-icon{width:22px;height:22px;color:var(--rb-rose);flex:0 0 auto}
.rose-blog-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rose-blog-hero__visual{min-width:0;overflow:hidden;background:#f3efec}
.rose-blog-hero__visual picture,.rose-blog-hero__visual img{display:block;width:100%;height:100%}
.rose-blog-hero__visual img{object-fit:cover;object-position:center}

.rose-blog-btn{min-height:52px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:3px;font-weight:700;font-size:14px;line-height:1.3;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.rose-blog-btn:hover{transform:translateY(-2px)}
.rose-blog-btn .ypr-icon{width:18px;height:18px;flex:0 0 auto}.rose-blog-btn .ypr-icon:last-child{margin-left:auto;width:14px;height:14px}
.rose-blog-btn--line{background:#2dbe60;color:#fff;box-shadow:0 8px 20px rgba(45,190,96,.15)}
.rose-blog-btn--rose{background:linear-gradient(90deg,#c4787e,#b76e79);color:#fff}
.rose-blog-btn--outline{background:#fff;color:var(--rb-rose-dark);border:1px solid #d88791}

.rose-blog-about{padding:58px 0 66px;background:#fff}
.rose-blog-about__inner{position:relative;border:1px solid var(--rb-line);background:linear-gradient(120deg,#fffdfb,#fff);padding:35px 80px;text-align:center;overflow:hidden}
.rose-blog-about__inner:after{content:"";position:absolute;right:-30px;bottom:-55px;width:190px;height:190px;border:1px solid rgba(183,110,121,.16);border-radius:50%;box-shadow:0 0 0 18px rgba(183,110,121,.04),0 0 0 38px rgba(183,110,121,.025)}
.rose-blog-about h2{font-size:clamp(24px,2.5vw,34px);line-height:1.6;letter-spacing:.06em;margin:0 0 18px}
.rose-blog-about p{max-width:880px;margin:0 auto 8px;font-size:14px;line-height:2;color:#5f4a43}

.rose-blog-discovery{padding-top:22px;background:#fff}
.rose-blog-discovery__grid{display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);gap:24px;align-items:start}
.rose-blog-panel{border:1px solid var(--rb-line);background:#fff;border-radius:5px;padding:24px;min-width:0}
.rose-blog-panel>h2{font-size:26px;line-height:1.45;letter-spacing:.08em;text-align:center;margin:0 0 20px}
.rose-blog-search{display:grid;grid-template-columns:1fr 48px;border:1px solid #dbc8c1;background:#fff;min-height:48px;margin-bottom:15px}
.rose-blog-search input{min-width:0;border:0;padding:10px 15px;background:transparent;color:var(--rb-brown);font:inherit}
.rose-blog-search button{border:0;border-left:1px solid #eadbd6;background:#fff;color:var(--rb-rose);display:grid;place-items:center;cursor:pointer}
.rose-blog-search button .ypr-icon{width:19px;height:19px}
.rose-blog-category-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.rose-blog-category-nav a{min-height:47px;display:flex;align-items:center;justify-content:center;padding:8px 10px;border:1px solid #eadbd6;background:#fffdfa;color:#5d433b;font-size:13px;text-align:center;line-height:1.5;transition:border-color .2s,color .2s,background .2s}
.rose-blog-category-nav a:hover{border-color:#cc8e95;color:var(--rb-rose-dark);background:#fff8f6}
.rose-blog-search-panel__image{aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:#f4efec}
.rose-blog-search-panel__image picture,.rose-blog-search-panel__image img{display:block;width:100%;height:100%}.rose-blog-search-panel__image img{object-fit:cover}
.rose-blog-featured__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rose-blog-featured__grid .rose-blog-card--featured{grid-column:1/3;display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%)}
.rose-blog-featured__grid .rose-blog-card--featured .rose-blog-card__image{min-height:260px}
.rose-blog-featured__grid .rose-blog-card--featured-small .rose-blog-card__excerpt{display:none}

.rose-blog-card{min-width:0;border:1px solid #eaded9;background:#fff;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 7px 22px rgba(70,40,31,.025);transition:transform .2s,box-shadow .2s}
.rose-blog-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(70,40,31,.065)}
.rose-blog-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f5efec;min-width:0}
.rose-blog-card__image picture,.rose-blog-card__image img{display:block;width:100%;height:100%}.rose-blog-card__image img{object-fit:cover;transition:transform .45s}.rose-blog-card:hover .rose-blog-card__image img{transform:scale(1.025)}
.rose-blog-card__body{padding:17px 18px 16px;display:flex;flex:1;flex-direction:column;min-width:0}
.rose-blog-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 11px;color:#8a7067;font-size:11px;line-height:1.4;margin-bottom:9px}
.rose-blog-card__category{padding:4px 8px;background:#f8eeeb;color:var(--rb-rose-dark);font-weight:700}
.rose-blog-card__updated{color:#9b8279}
.rose-blog-card__title{font-family:var(--serif);font-size:19px!important;line-height:1.65!important;letter-spacing:.035em!important;font-weight:600!important;margin:0 0 9px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rose-blog-card__title a{color:var(--rb-brown)}
.rose-blog-card__excerpt{margin:0 0 12px;color:#6e5951;font-size:13px;line-height:1.85;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rose-blog-card__footer{margin-top:auto;padding-top:11px;border-top:1px solid #f0e4df;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#8b756d}
.rose-blog-card__footer>a{display:inline-flex;align-items:center;gap:6px;color:var(--rb-rose-dark);font-weight:700;white-space:nowrap}.rose-blog-card__footer .ypr-icon{width:12px;height:12px}
.rose-blog-card--featured{border:0;box-shadow:none;background:#fffdfa}.rose-blog-card--featured .rose-blog-card__body{padding:22px}.rose-blog-card--featured .rose-blog-card__title{font-size:25px!important}.rose-blog-card--featured-small .rose-blog-card__title{font-size:16px!important;-webkit-line-clamp:2}.rose-blog-card--featured-small .rose-blog-card__body{padding:13px}.rose-blog-card--featured-small .rose-blog-card__footer{font-size:10px}

.rose-blog-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.rose-blog-section-heading .rose-blog-kicker{text-align:left}.rose-blog-section-heading h2{font-size:clamp(27px,2.7vw,38px);line-height:1.45;letter-spacing:.07em;margin:0}
.rose-blog-section-heading>a,.rose-blog-text-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 16px;border:1px solid #d88993;color:var(--rb-rose-dark);background:#fff;font-weight:700;font-size:12px;white-space:nowrap}
.rose-blog-section-heading>a .ypr-icon,.rose-blog-text-link .ypr-icon{width:13px;height:13px}
.rose-blog-section-heading--center{justify-content:center;text-align:center}.rose-blog-section-heading--center .rose-blog-kicker{text-align:center}
.rose-blog-latest{background:#fff}
.rose-blog-latest__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rose-blog-pagination{margin-top:32px;text-align:center}.rose-blog-pagination .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 9px;margin:3px;border:1px solid #dfcbc4;background:#fff;color:#6c5149}.rose-blog-pagination .page-numbers.current{background:var(--rb-rose);border-color:var(--rb-rose);color:#fff}.rose-blog-pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap}
.rose-blog-empty{padding:32px 22px;border:1px dashed #dcc4bb;background:#fffaf7;text-align:center;color:#6f5850}.rose-blog-empty strong{display:block;font-family:var(--serif);font-size:20px;margin-bottom:8px}.rose-blog-empty p{margin:0;line-height:1.8}.rose-blog-empty--wide{grid-column:1/-1}.rose-blog-empty--wide>div{display:flex;justify-content:center;gap:10px;margin-top:18px}.rose-blog-empty--wide a{padding:8px 15px;border:1px solid #d88993;color:var(--rb-rose-dark);background:#fff}

.rose-blog-concerns{background:var(--rb-ivory);border-top:1px solid #f2e6e1;border-bottom:1px solid #f2e6e1}
.rose-blog-concerns__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rose-blog-concern-group{border:1px solid var(--rb-line);background:#fff;padding:20px;min-width:0}.rose-blog-concern-group>h3{font-family:var(--serif);font-size:23px;text-align:center;letter-spacing:.06em;margin:0 0 16px;color:#7c4e45}.rose-blog-concern-group__posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px}.rose-blog-card--mini{box-shadow:none}.rose-blog-card--mini .rose-blog-card__body{padding:10px}.rose-blog-card--mini .rose-blog-card__meta{display:none}.rose-blog-card--mini .rose-blog-card__title{font-size:12px!important;line-height:1.55!important;-webkit-line-clamp:3;margin:0!important}.rose-blog-card--mini .rose-blog-card__footer{display:none}.rose-blog-concern-group>.rose-blog-text-link{width:100%;justify-content:center}

.rose-blog-start{background:#fff}.rose-blog-start__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rose-blog-card--start .rose-blog-card__body{padding:13px;text-align:center}.rose-blog-card--start .rose-blog-card__meta,.rose-blog-card--start .rose-blog-card__footer{display:none}.rose-blog-card--start .rose-blog-card__title{font-size:16px!important;-webkit-line-clamp:2;margin:0!important}
.rose-blog-page-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--rb-line);background:#fff;color:var(--rb-brown);min-width:0;overflow:hidden}.rose-blog-page-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f4efec}.rose-blog-page-card__image picture,.rose-blog-page-card__image img{display:block;width:100%;height:100%}.rose-blog-page-card__image img{object-fit:cover;transition:transform .4s}.rose-blog-page-card:hover .rose-blog-page-card__image img{transform:scale(1.025)}.rose-blog-page-card>strong{font-family:var(--serif);font-size:16px;line-height:1.55;text-align:center;padding:13px 28px 4px}.rose-blog-page-card>small{font-size:11px;line-height:1.6;color:var(--rb-muted);text-align:center;padding:0 28px 12px}.rose-blog-page-card__arrow{position:absolute;right:9px;bottom:11px;color:var(--rb-rose)}.rose-blog-page-card__arrow .ypr-icon{width:12px;height:12px}

.rose-blog-categories{background:#fffaf7;border-top:1px solid #f3e6e1;border-bottom:1px solid #f3e6e1}.rose-blog-categories__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rose-blog-category-card{display:grid;grid-template-columns:42% 58%;border:1px solid var(--rb-line);background:#fff;min-height:132px;overflow:hidden}.rose-blog-category-card__image{min-width:0;overflow:hidden}.rose-blog-category-card__image picture,.rose-blog-category-card__image img{display:block;width:100%;height:100%}.rose-blog-category-card__image img{object-fit:cover}.rose-blog-category-card__body{padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.rose-blog-category-card__body strong{font-family:var(--serif);font-size:15px;line-height:1.5}.rose-blog-category-card__body small{color:#8e746b;margin:3px 0 8px}.rose-blog-category-card__body em{font-style:normal;color:var(--rb-rose-dark);font-size:11px;display:inline-flex;align-items:center;gap:5px}.rose-blog-category-card__body em .ypr-icon{width:11px;height:11px}

.rose-blog-consultation{background:#fff}.rose-blog-consultation__grid{display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);border:1px solid var(--rb-line);background:linear-gradient(110deg,#fff,#fff9f6);min-height:390px}.rose-blog-consultation__image{min-width:0;overflow:hidden}.rose-blog-consultation__image picture,.rose-blog-consultation__image img{display:block;width:100%;height:100%}.rose-blog-consultation__image img{object-fit:cover}.rose-blog-consultation__copy{padding:44px 50px;display:flex;flex-direction:column;justify-content:center}.rose-blog-consultation__copy .rose-blog-kicker{text-align:left}.rose-blog-consultation__copy h2{font-size:clamp(25px,2.5vw,35px);line-height:1.6;letter-spacing:.055em;margin:0 0 15px}.rose-blog-consultation__copy>p{font-size:14px;line-height:1.95;color:#645047;margin:0 0 14px}.rose-blog-consultation__copy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;list-style:none;padding:0;margin:0 0 20px}.rose-blog-consultation__copy li{position:relative;padding-left:18px;font-size:12px}.rose-blog-consultation__copy li:before{content:"✓";position:absolute;left:0;color:var(--rb-rose)}

.rose-blog-related{padding-top:62px;background:#fff}.rose-blog-related__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.rose-blog-related .rose-blog-page-card>strong{font-size:13px;padding:10px 24px 11px}.rose-blog-related .rose-blog-page-card>small{display:none}

.rose-blog-final-cta{padding:58px 0;background:linear-gradient(105deg,#f9e7e7,#fff4f1 52%,#f4dfdf);position:relative;overflow:hidden;border-top:1px solid #eccfcf}.rose-blog-final-cta:before,.rose-blog-final-cta:after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(183,110,121,.16);border-radius:50%;top:50%;transform:translateY(-50%)}.rose-blog-final-cta:before{left:-55px;box-shadow:0 0 0 18px rgba(183,110,121,.04),0 0 0 38px rgba(183,110,121,.025)}.rose-blog-final-cta:after{right:-55px;box-shadow:0 0 0 18px rgba(183,110,121,.04),0 0 0 38px rgba(183,110,121,.025)}.rose-blog-final-cta__inner{position:relative;z-index:2;text-align:center}.rose-blog-final-cta h2{font-family:var(--serif);font-size:clamp(27px,2.8vw,38px);font-weight:500;letter-spacing:.06em;line-height:1.55;margin:0 0 10px}.rose-blog-final-cta p{margin:0 auto 24px;max-width:820px;font-size:14px;line-height:1.9}.rose-blog-final-cta__buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:930px;margin:auto}
.rose-blog-supervision{background:#fff;border-top:1px solid #eadbd6;padding:16px 0}.rose-blog-supervision__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.rose-blog-supervision__person{display:flex;align-items:center;gap:13px}.rose-blog-supervision__person picture,.rose-blog-supervision__person img{display:block;width:58px;height:58px;border-radius:50%;object-fit:cover}.rose-blog-supervision__person div{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:baseline}.rose-blog-supervision__person small{grid-column:1/-1;color:#9b776c}.rose-blog-supervision__person strong{font-family:var(--serif);font-size:16px}.rose-blog-supervision__person span{font-size:11px;color:#7d6962}.rose-blog-supervision__date{display:flex;align-items:center;gap:16px;border:1px solid var(--rb-line);padding:10px 18px}.rose-blog-supervision__date small{color:#8c7269}.rose-blog-supervision__date strong{font-family:Georgia,serif;font-weight:500}

/* Archives and search */
.rose-blog-archive-hero{background:linear-gradient(105deg,#fffaf7,#fff);border-bottom:1px solid #f0e1db}.rose-blog-archive-hero__inner{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:370px}.rose-blog-archive-hero__inner>div:first-child{padding:58px 45px 50px 10px;display:flex;flex-direction:column;justify-content:center}.rose-blog-archive-hero__inner .rose-blog-kicker{text-align:left}.rose-blog-archive-hero h1{font-size:clamp(34px,3.7vw,50px);line-height:1.35;letter-spacing:.07em;margin:0 0 16px}.rose-blog-archive-hero__inner>div:first-child p,.rose-blog-archive-hero__inner>div:first-child div{font-size:14px;line-height:1.9;color:#654f47}.rose-blog-archive-hero__inner>div:last-child{overflow:hidden}.rose-blog-archive-hero__inner>div:last-child picture,.rose-blog-archive-hero__inner>div:last-child img{display:block;width:100%;height:100%}.rose-blog-archive-hero__inner>div:last-child img{object-fit:cover}.rose-blog-archive-hero--compact .rose-blog-archive-hero__inner{min-height:300px}.rose-blog-archive-list{padding-top:55px}.rose-blog-search--large{max-width:760px;margin:0 auto 44px;box-shadow:0 8px 24px rgba(70,40,31,.04)}

@media(max-width:1100px){
.rose-blog-hero__grid{grid-template-columns:48% 52%}.rose-blog-hero__copy{padding-right:28px}.rose-blog-discovery__grid{grid-template-columns:38% 62%;gap:18px}.rose-blog-panel{padding:19px}.rose-blog-card--featured .rose-blog-card__title{font-size:21px!important}.rose-blog-latest__grid{gap:14px}.rose-blog-categories__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rose-blog-related__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rose-blog-consultation__copy{padding:35px}
}
@media(max-width:900px){
.rose-blog-section{padding:72px 0}.rose-blog-hero__grid{grid-template-columns:1fr;min-height:auto}.rose-blog-hero__copy{order:2;padding:42px 28px 50px}.rose-blog-hero__visual{order:1;aspect-ratio:16/9}.rose-blog-hero__actions{max-width:680px}.rose-blog-discovery__grid{grid-template-columns:1fr}.rose-blog-featured__grid .rose-blog-card--featured{grid-template-columns:42% 58%}.rose-blog-latest__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rose-blog-concerns__grid{grid-template-columns:1fr}.rose-blog-start__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rose-blog-categories__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rose-blog-consultation__grid{grid-template-columns:1fr}.rose-blog-consultation__image{aspect-ratio:16/9}.rose-blog-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rose-blog-final-cta__buttons{grid-template-columns:1fr;max-width:600px}.rose-blog-archive-hero__inner{grid-template-columns:1fr;min-height:auto}.rose-blog-archive-hero__inner>div:first-child{order:2;padding:38px 24px}.rose-blog-archive-hero__inner>div:last-child{order:1;aspect-ratio:16/9}
}
@media(max-width:640px){
.rose-blog-container{width:min(calc(100% - 32px),1180px)}.rose-blog-section{padding:58px 0}.rose-blog-breadcrumbs{padding-top:10px}.rose-blog-hero__copy{padding:34px 18px 42px}.rose-blog-hero__copy:before{display:none}.rose-blog-hero__copy h1{font-size:38px}.rose-blog-hero__label{font-size:12px;margin-bottom:19px}.rose-blog-hero__copy h2{font-size:22px;line-height:1.65}.rose-blog-hero__copy>p:not(.rose-blog-kicker):not(.rose-blog-hero__label){font-size:14px;line-height:1.9}.rose-blog-hero__features{grid-template-columns:repeat(2,minmax(0,1fr))}.rose-blog-hero__features li{font-size:11px}.rose-blog-hero__actions{grid-template-columns:1fr}.rose-blog-btn{min-height:50px;font-size:12px;padding-inline:15px}.rose-blog-about{padding:42px 0}.rose-blog-about__inner{padding:28px 18px}.rose-blog-about h2{font-size:24px}.rose-blog-about p{font-size:13px}.rose-blog-discovery{padding-top:8px}.rose-blog-panel{padding:17px 14px}.rose-blog-panel>h2{font-size:23px}.rose-blog-category-nav{grid-template-columns:1fr 1fr}.rose-blog-category-nav a{font-size:11px;padding-inline:6px}.rose-blog-featured__grid{grid-template-columns:1fr}.rose-blog-featured__grid .rose-blog-card--featured{grid-column:auto;display:flex}.rose-blog-featured__grid .rose-blog-card--featured .rose-blog-card__image{min-height:0}.rose-blog-card--featured .rose-blog-card__title{font-size:20px!important}.rose-blog-latest__grid{grid-template-columns:1fr}.rose-blog-section-heading{align-items:center;flex-direction:column;text-align:center;margin-bottom:23px}.rose-blog-section-heading .rose-blog-kicker{text-align:center}.rose-blog-section-heading h2{font-size:27px}.rose-blog-section-heading>a{white-space:normal;text-align:center}.rose-blog-card__title{font-size:18px!important}.rose-blog-concern-group{padding:15px}.rose-blog-concern-group>h3{font-size:21px}.rose-blog-concern-group__posts{grid-template-columns:1fr}.rose-blog-card--mini{display:grid;grid-template-columns:38% 62%}.rose-blog-card--mini .rose-blog-card__image{height:100%;aspect-ratio:auto}.rose-blog-card--mini .rose-blog-card__title{font-size:13px!important}.rose-blog-start__grid{grid-template-columns:1fr 1fr;gap:9px}.rose-blog-page-card>strong{font-size:13px;padding-inline:20px}.rose-blog-categories__grid{grid-template-columns:1fr}.rose-blog-category-card{min-height:118px}.rose-blog-consultation__copy{padding:28px 18px}.rose-blog-consultation__copy h2{font-size:25px}.rose-blog-consultation__copy ul{grid-template-columns:1fr}.rose-blog-consultation__copy .rose-blog-btn{white-space:normal;text-align:center}.rose-blog-related__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rose-blog-related .rose-blog-page-card>strong{font-size:11px;padding:8px 18px}.rose-blog-final-cta{padding:46px 0}.rose-blog-final-cta h2{font-size:26px}.rose-blog-final-cta p{font-size:13px}.rose-blog-final-cta:before,.rose-blog-final-cta:after{display:none}.rose-blog-supervision__inner{align-items:flex-start;flex-direction:column}.rose-blog-supervision__date{width:100%;justify-content:space-between}.rose-blog-archive-hero__inner>div:first-child{padding:32px 18px}.rose-blog-archive h1{font-size:31px}.rose-blog-empty--wide>div{flex-direction:column}.rose-blog-empty--wide a{width:100%}
}
@media(max-width:380px){.rose-blog-start__grid,.rose-blog-related__grid{grid-template-columns:1fr}.rose-blog-hero__features{grid-template-columns:1fr 1fr}.rose-blog-category-nav{grid-template-columns:1fr}.rose-blog-btn{white-space:normal;text-align:center}}


/* =========================================================
   5.4.2 — header fit, correct desktop breakpoint, blog cleanup
   ========================================================= */
@media (min-width:1361px){
  .header-inner{
    width:100%;
    max-width:1920px;
    padding-inline:clamp(18px,1.8vw,36px);
    gap:clamp(10px,1vw,20px);
  }
  .brand-wrap{min-width:0;flex:0 0 auto}
  .brand{width:clamp(154px,9.2vw,185px);flex:0 0 auto}
  .desktop-nav{display:block;flex:1 1 auto;min-width:0;margin-left:auto}
  .primary-menu{justify-content:flex-end;gap:clamp(11px,1.05vw,22px)}
  .primary-menu>li>a{font-size:clamp(13px,.76vw,14.667px)}
  .header-actions{display:flex;flex:0 0 auto;gap:7px}
  .header-search{width:36px;height:40px}
  .header-cta{height:53px;padding-inline:12px;font-size:13px;line-height:1.35}
  .header-line{min-width:154px}
  .header-hpb{min-width:116px}
  .nav-toggle{display:none}
}
@media (min-width:1361px) and (max-width:1580px){
  .header-inner{padding-inline:14px;gap:9px}
  .brand{width:150px}
  .primary-menu{gap:11px}
  .primary-menu>li>a{font-size:13px;letter-spacing:0}
  .header-search{width:32px}
  .header-cta{padding-inline:9px;font-size:12px}
  .header-line{min-width:142px}
  .header-hpb{min-width:104px}
}
@media (max-width:1360px){
  :root{--header:70px}
  .header-inner{width:100%;max-width:none;padding-inline:16px;gap:12px;justify-content:space-between}
  .brand-wrap{min-width:0;flex:0 0 auto}
  .brand{width:155px;flex:0 0 155px}
  .desktop-nav{display:none}
  .header-actions{display:flex;margin-left:auto}
  .header-actions .header-search,.header-actions .header-hpb{display:none}
  .header-cta{height:45px;padding-inline:12px;font-size:12px}
  .header-line{min-width:142px}
  .nav-toggle{display:block;margin-left:0;flex:0 0 45px}
}
@media (max-width:640px){
  .header-inner{padding-inline:12px;gap:8px}
  .brand{width:139px;flex-basis:139px}
  .header-actions{display:none}
  .nav-toggle{flex-basis:42px}
}

/* The featured-article panel was removed in 5.4.2. The remaining search panel
   is centered as one independent section. */
.rose-blog-discovery__grid{
  grid-template-columns:minmax(0,900px);
  justify-content:center;
}
.rose-blog-search-panel{width:100%}
@media(max-width:1100px){.rose-blog-discovery__grid{grid-template-columns:minmax(0,900px)}}
@media(max-width:900px){.rose-blog-discovery__grid{grid-template-columns:1fr}}

/* =========================================================
   5.4.3 — restore desktop dropdowns and improve menu balance
   ========================================================= */
/* The header itself must not clip absolutely positioned submenus. */
.site-header,
.header-inner,
.desktop-nav,
.primary-menu,
.primary-menu > li{
  overflow:visible;
}

@media (min-width:1361px){
  /* Use the free space between the logo and CTAs more effectively. */
  .desktop-nav{
    margin-left:clamp(42px,5vw,96px);
    margin-right:auto;
  }
  .primary-menu{
    justify-content:flex-start;
  }

  /* Keep every dropdown below the header and above page content. */
  .primary-menu .sub-menu{
    top:100%;
    z-index:2400;
    transform:translate(-50%,10px);
    min-width:240px;
    max-width:min(320px,calc(100vw - 32px));
  }
  .primary-menu li:hover > .sub-menu,
  .primary-menu li:focus-within > .sub-menu{
    transform:translate(-50%,0);
  }
}

@media (min-width:1361px) and (max-width:1580px){
  .desktop-nav{
    margin-left:clamp(20px,2.6vw,42px);
  }
}

/* =========================================================
   5.4.4 — distribute desktop navigation evenly
   ========================================================= */
@media (min-width:1361px){
  /*
   * Let the navigation use the full space between the logo and the CTAs.
   * The individual labels keep their natural width, while the whitespace
   * between menu items is distributed evenly across the row.
   */
  .desktop-nav{
    flex:1 1 auto;
    min-width:0;
    margin-left:0;
    margin-right:0;
    padding-inline:clamp(28px,3.1vw,68px);
  }
  .primary-menu{
    width:100%;
    justify-content:space-between;
    gap:0;
  }
  .primary-menu > li{
    flex:0 0 auto;
  }
}

@media (min-width:1361px) and (max-width:1580px){
  /* Preserve equal spacing without squeezing the labels near the breakpoint. */
  .desktop-nav{
    padding-inline:clamp(12px,1.45vw,22px);
  }
}


/* ========================================================================== 
   YOSAPARK Rose v5.4.6 – Blog cleanup / hero media right-edge full bleed
   ========================================================================== */
@media (min-width:861px){
  /*
   * Keep the editorial copy aligned to the common 1180px content grid while
   * allowing the visual half of each hero to continue all the way to the
   * viewport's right edge. This removes the empty strip that appeared when a
   * hero inherited the normal centered content-container width.
   */
  .about-hero .about-hero-inner,
  .lu43-hero .lu43-hero-inner,
  .ow44-hero .ow44-hero-inner,
  .mn45-hero .mn45-hero-inner,
  .fd46-hero .fd46-hero-inner,
  .rs51-hero .rs51-hero-inner,
  .vo52-hero .vo52-hero-inner,
  .fq53-hero .fq53-hero-grid,
  .rose-blog-hero .rose-blog-hero__grid,
  .rose-blog-archive-hero .rose-blog-archive-hero__inner{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
    padding-inline:0!important;
  }

  .about-hero-copy,
  .lu43-hero-copy,
  .ow44-hero-copy,
  .mn45-hero-copy,
  .fd46-hero-copy,
  .rs51-hero-copy,
  .vo52-hero-copy,
  .fq53-hero-copy,
  .rose-blog-hero__copy,
  .rose-blog-archive-hero__inner>div:first-child{
    padding-left:max(32px,calc((100vw - 1180px)/2))!important;
  }

  .about-hero-media,
  .lu43-hero-media,
  .ow44-hero-media,
  .mn45-hero-media,
  .fd46-hero-media,
  .rs51-hero-media,
  .vo52-hero-media,
  .fq53-hero-media,
  .rose-blog-hero__visual,
  .rose-blog-archive-hero__inner>div:last-child{
    min-width:0;
    width:100%;
    max-width:none;
    overflow:hidden;
    justify-self:stretch;
    align-self:stretch;
    border-top-right-radius:0!important;
    border-bottom-right-radius:0!important;
  }

  .about-hero-media picture,
  .about-hero-media img,
  .lu43-hero-media picture,
  .lu43-hero-media img,
  .ow44-hero-media picture,
  .ow44-hero-media img,
  .mn45-hero-media picture,
  .mn45-hero-media img,
  .fd46-hero-media picture,
  .fd46-hero-media img,
  .rs51-hero-media picture,
  .rs51-hero-media img,
  .vo52-hero-media picture,
  .vo52-hero-media img,
  .fq53-hero-media picture,
  .fq53-hero-media img,
  .rose-blog-hero__visual picture,
  .rose-blog-hero__visual img,
  .rose-blog-archive-hero__inner>div:last-child picture,
  .rose-blog-archive-hero__inner>div:last-child img{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
  }

  /* FAQ hero previously carried vertical section padding. Preserve it for the
     copy but let the media reach the right edge without a lateral gap. */
  .fq53-hero-grid{gap:clamp(30px,4vw,64px)}

  /* Voice / reason had later container overrides that reintroduced a right
     gutter; these rules intentionally take final precedence. */
  .reason-page-v51 .rs51-hero .rs51-hero-inner,
  .voice-page-v52 .vo52-hero-inner{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
  }
}

/* ==========================================================
   YOSAPARK Rose v5.5.0 – Salon information / access page
   ========================================================== */
.access-page-v55{
  --ac-rose:#b95463;
  --ac-rose-dark:#9f3f50;
  --ac-pink:#d9918a;
  --ac-gold:#b9946d;
  --ac-brown:#3d2c28;
  --ac-muted:#74625d;
  --ac-line:#eadbd5;
  --ac-ivory:#fbf8f4;
  --ac-tint:#f9efeb;
  --ac-white:#fff;
  color:var(--ac-brown);
  background:#fff;
  overflow:clip;
}
.ac55-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.ac55-section{padding:92px 0;border-top:1px solid rgba(231,214,208,.72)}
.ac55-eyebrow{margin:0 0 10px;color:var(--ac-gold);font-family:"Cormorant Garamond","EB Garamond",serif;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ac55-heading{text-align:center;margin:0 auto 42px}
.ac55-heading h2{margin:0;color:var(--ac-brown);font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho",serif;font-size:clamp(28px,2.6vw,38px);font-weight:500;line-height:1.48;letter-spacing:.04em}
.ac55-btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border:1px solid var(--ac-rose);border-radius:2px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:14px;line-height:1.35;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;cursor:pointer;white-space:nowrap}
.ac55-btn:hover{transform:translateY(-1px)}
.ac55-btn .ypr-icon{width:18px;height:18px;flex:0 0 auto}
.ac55-btn-rose{background:var(--ac-rose);border-color:var(--ac-rose);color:#fff}
.ac55-btn-rose:hover{background:var(--ac-rose-dark);border-color:var(--ac-rose-dark);color:#fff}
.ac55-btn-outline{background:#fff;color:var(--ac-rose)}
.ac55-btn-outline:hover{background:#fff8f6;color:var(--ac-rose-dark)}
.ac55-btn-line{background:#2dbe60;border-color:#2dbe60;color:#fff}
.ac55-btn-line:hover{background:#24a954;border-color:#24a954;color:#fff}
.ac55-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ac55-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--ac-rose);font-size:14px;text-decoration:underline;text-underline-offset:5px}
.ac55-text-link .ypr-icon{width:16px;height:16px}

/* Hero */
.ac55-hero{border-top:1px solid var(--ac-line);background:linear-gradient(90deg,#fffaf6 0%,#fff 52%,#fff 100%)}
.ac55-hero-inner{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);width:100%;min-height:610px}
.ac55-hero-copy{align-self:center;padding:74px clamp(34px,4vw,74px) 68px max(24px,calc((100vw - 1180px)/2));min-width:0}
.ac55-hero-copy h1{margin:0 0 26px;font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho",serif;font-size:clamp(38px,3.7vw,58px);font-weight:500;line-height:1.3;letter-spacing:.06em}
.ac55-hero-lead{margin:0 0 22px;color:#b24e5a;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(22px,2vw,30px);line-height:1.75;letter-spacing:.035em}
.ac55-hero-text{max-width:690px;margin:0 0 30px;color:#574842;font-size:15px;line-height:2.05}
.ac55-assurance{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 28px;max-width:760px}
.ac55-assurance>div{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ac-line);background:rgba(255,255,255,.82);padding:9px 5px;text-align:center}
.ac55-assurance .ypr-icon{width:27px;height:27px;color:#c66e70}
.ac55-assurance span{font-size:11px;line-height:1.5;letter-spacing:.02em}
.ac55-hero-media{position:relative;min-width:0;min-height:610px;overflow:hidden;background:#f6eee8}
.ac55-hero-media picture,.ac55-hero-media img{display:block;width:100%;height:100%}
.ac55-hero-media img{object-fit:cover;object-position:center}

/* Glance */
.ac55-glance{background:#fff}
.ac55-glance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ac55-glance-grid article{min-height:190px;padding:28px 18px 24px;border:1px solid var(--ac-line);background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.ac55-glance-grid .ypr-icon{width:42px;height:42px;color:#bc8967;margin-bottom:16px}
.ac55-glance-grid h3{margin:0 0 10px;font-size:16px;font-weight:600;line-height:1.7}
.ac55-glance-grid p{margin:auto 0 0;color:var(--ac-muted);font-size:12px;line-height:1.7}

/* Map */
.ac55-map{background:var(--ac-ivory)}
.ac55-map-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.7fr);gap:48px;align-items:center}
.ac55-map-copy h2{margin:0 0 24px;font-size:clamp(29px,2.7vw,40px);font-weight:500;line-height:1.5}
.ac55-map-copy address{font-style:normal;font-size:16px;line-height:2.05;margin-bottom:28px}
.ac55-map-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:340px}
.ac55-map-actions .ac55-btn{width:100%}
.ac55-copy-status{min-height:22px;margin:8px 0 0;color:#2a8a4e;font-size:12px}
.ac55-map-frame{position:relative;min-height:400px;border:1px solid var(--ac-line);background:#e9edf0;overflow:hidden}
.ac55-map-frame iframe{display:block;width:100%;height:430px;border:0;filter:saturate(.78) contrast(.96)}

/* Route */
.ac55-route{background:#fff}
.ac55-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px}
.ac55-route-card{position:relative;padding:14px 14px 22px;border:1px solid var(--ac-line);background:#fff;box-shadow:0 8px 24px rgba(83,52,44,.035);text-align:center;overflow:hidden}
.ac55-route-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin:0 0 18px;background:#f1ebe8}
.ac55-step{position:absolute;top:22px;left:22px;z-index:2;width:54px;height:54px;border:1px solid #e2b1a9;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.96);color:#c67071;font-size:8px;line-height:1.1;letter-spacing:.08em}
.ac55-step strong{font-size:17px;font-weight:500;line-height:1.1}
.ac55-route-card h3{margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.65}
.ac55-route-card p{margin:0 auto;max-width:330px;color:var(--ac-muted);font-size:12px;line-height:1.8}

/* Building guide */
.ac55-building{background:#fffaf7}
.ac55-building-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.65fr);gap:28px;align-items:stretch}
.ac55-building-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ac55-building-gallery figure{margin:0;background:#fff;min-width:0}
.ac55-building-gallery img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#eee6e1}
.ac55-building-gallery figcaption{padding:9px 8px 2px;text-align:center;color:#64524c;font-size:11px;line-height:1.55}
.ac55-building-card{position:relative;border:1px solid var(--ac-line);background:#fff;padding:28px 26px;overflow:hidden}
.ac55-building-card dl{margin:0}
.ac55-building-card dl div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #eee3de}
.ac55-building-card dt{color:#7a675f;font-size:12px}
.ac55-building-card dd{margin:0;font-size:13px;font-weight:600;line-height:1.6}
.ac55-building-card p{margin:24px 0 0;font-size:13px;line-height:1.9;color:var(--ac-muted)}
.ac55-rose-mark{position:absolute;right:-13px;bottom:-18px;color:#ead0c9;opacity:.7}
.ac55-rose-mark .ypr-icon{width:92px;height:92px}

/* Parking */
.ac55-parking{background:#fff}
.ac55-parking-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.ac55-parking-notes article{padding:20px 15px;border:1px solid var(--ac-line);text-align:center;background:#fff}
.ac55-parking-notes h3{margin:0 0 8px;font-size:14px;line-height:1.6}
.ac55-parking-notes p{margin:0;color:var(--ac-muted);font-size:11px;line-height:1.7}
.ac55-parking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ac55-parking-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;border:1px solid var(--ac-line);background:#fff;padding:16px}
.ac55-parking-card img{width:120px;aspect-ratio:4/3;object-fit:cover;background:#eee}
.ac55-parking-card h3{margin:0 0 5px;font-size:14px;line-height:1.5}
.ac55-parking-card strong{display:block;color:#c45b65;font-size:19px;font-weight:500;margin-bottom:4px}
.ac55-parking-card p{margin:0 0 8px;color:var(--ac-muted);font-size:10px;line-height:1.55}
.ac55-parking-card a{display:inline-flex;align-items:center;gap:5px;color:var(--ac-rose);font-size:11px;text-decoration:none}
.ac55-parking-card a .ypr-icon{width:13px;height:13px}

/* Salon information */
.ac55-information{background:var(--ac-ivory)}
.ac55-info-table{max-width:970px;margin-inline:auto;border:1px solid var(--ac-line);background:#fff}
.ac55-info-row{display:grid;grid-template-columns:220px minmax(0,1fr);border-bottom:1px solid var(--ac-line)}
.ac55-info-row:last-child{border-bottom:0}
.ac55-info-row>div{padding:16px 20px;line-height:1.75;font-size:14px}
.ac55-info-row>div:first-child{background:#f5ebe5;font-weight:600;color:#55413b}
.ac55-info-row>div:last-child{background:#fff;color:#51433e}
.ac55-info-note{max-width:970px;margin:14px auto 0;display:flex;gap:8px;align-items:flex-start;color:#5c504b;font-size:12px;line-height:1.75}
.ac55-info-note .ypr-icon{width:17px;height:17px;color:#2dbe60;flex:0 0 auto;margin-top:2px}

/* Features */
.ac55-features{background:#fff}
.ac55-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px;margin-inline:auto}
.ac55-features-grid article{min-height:180px;border:1px solid var(--ac-line);background:#fff;padding:28px 22px;text-align:center}
.ac55-features-grid .ypr-icon{width:40px;height:40px;color:#c97674;margin-bottom:14px}
.ac55-features-grid h3{margin:0 0 8px;font-size:16px;line-height:1.6}
.ac55-features-grid p{margin:0;color:var(--ac-muted);font-size:12px;line-height:1.8}

/* Before visit */
.ac55-before{background:#fffaf7}
.ac55-before-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ac55-before-grid article{min-height:196px;padding:22px 15px;border:1px solid var(--ac-line);background:#fff;text-align:center}
.ac55-before-grid article>span{width:38px;height:38px;border:1px solid #ddbeb2;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#b88773;font-size:12px;margin-bottom:13px}
.ac55-before-grid h3{margin:0 0 10px;font-size:14px;line-height:1.65}
.ac55-before-grid p{margin:0;color:var(--ac-muted);font-size:11px;line-height:1.8}

/* Lost */
.ac55-lost{background:#fff}
.ac55-lost-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.ac55-lost-copy h2{margin:0 0 20px;font-size:clamp(28px,2.6vw,38px);font-weight:500;line-height:1.58}
.ac55-lost-copy>p:not(.ac55-eyebrow){margin:0 0 26px;color:#62534e;font-size:14px;line-height:2}
.ac55-lost-image{overflow:hidden;border:1px solid var(--ac-line)}
.ac55-lost-image picture,.ac55-lost-image img{display:block;width:100%}
.ac55-lost-image img{aspect-ratio:16/9;object-fit:cover}

/* First visit links */
.ac55-first{background:var(--ac-ivory)}
.ac55-first-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ac55-first-grid>a{position:relative;display:block;border:1px solid var(--ac-line);background:#fff;text-decoration:none;color:var(--ac-brown);padding-bottom:16px;overflow:hidden}
.ac55-first-grid>a>span:first-child{display:block;overflow:hidden}
.ac55-first-grid picture,.ac55-first-grid img{display:block;width:100%}
.ac55-first-grid img{aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease}
.ac55-first-grid>a:hover img{transform:scale(1.025)}
.ac55-first-grid strong{display:block;padding:14px 16px 3px;font-size:16px;font-weight:500}
.ac55-first-grid small{display:block;padding:0 16px;color:#9a7365;font-size:11px}
.ac55-first-grid>a>.ypr-icon{position:absolute;right:14px;bottom:16px;width:15px;height:15px;color:var(--ac-rose)}

/* FAQ */
.ac55-faq{background:#fff}
.ac55-faq-list{max-width:930px;margin-inline:auto;border-top:1px solid var(--ac-line)}
.ac55-faq-list details{border-bottom:1px solid var(--ac-line);background:#fff}
.ac55-faq-list summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:12px;align-items:center;padding:17px 16px;cursor:pointer}
.ac55-faq-list summary::-webkit-details-marker{display:none}
.ac55-faq-list summary span{color:#c87873;font-size:12px}
.ac55-faq-list summary strong{font-size:14px;font-weight:500;line-height:1.65}
.ac55-faq-list summary i{position:relative;width:18px;height:18px;justify-self:end}
.ac55-faq-list summary i:before,.ac55-faq-list summary i:after{content:"";position:absolute;inset:50% auto auto 50%;width:12px;height:1px;background:#c07a73;transform:translate(-50%,-50%)}
.ac55-faq-list summary i:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s ease}
.ac55-faq-list details[open] summary i:after{transform:translate(-50%,-50%) rotate(0)}
.ac55-faq-list details>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:0 16px 20px 16px}
.ac55-faq-list details>div>span{color:#b99278;font-size:12px}
.ac55-faq-list details p{margin:0;color:#62534e;font-size:13px;line-height:1.95}

/* Final CTA */
.ac55-final{position:relative;padding:70px 0;background:linear-gradient(90deg,#f8e2de 0%,#fff0eb 48%,#f6dedb 100%);border-top:1px solid #ead1cc;overflow:hidden}
.ac55-final-inner{position:relative;text-align:center}
.ac55-final-inner>div{position:relative;z-index:2}
.ac55-final h2{margin:0 0 12px;font-size:clamp(28px,2.8vw,40px);font-weight:500;line-height:1.55}
.ac55-final p:not(.ac55-eyebrow){margin:0 auto 24px;max-width:760px;color:#685550;font-size:13px;line-height:1.9}
.ac55-final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.ac55-final-rose{position:absolute;top:50%;transform:translateY(-50%);color:#ddb3ac;opacity:.42}
.ac55-final-rose .ypr-icon{width:150px;height:150px}
.ac55-final-rose-left{left:-50px}
.ac55-final-rose-right{right:-50px;transform:translateY(-50%) scaleX(-1)}

@media (max-width:1180px){
  .ac55-hero-inner{grid-template-columns:minmax(0,54%) minmax(0,46%)}
  .ac55-hero-copy{padding-left:32px;padding-right:30px}
  .ac55-assurance{grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px}
  .ac55-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ac55-glance-grid article:nth-child(n+4){min-height:165px}
  .ac55-before-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:900px){
  .ac55-container{width:min(100% - 36px,760px)}
  .ac55-section{padding:76px 0}
  .ac55-hero-inner{grid-template-columns:1fr;min-height:0}
  .ac55-hero-copy{padding:58px 24px 38px;order:1}
  .ac55-hero-media{min-height:0;aspect-ratio:16/9;order:2}
  .ac55-hero-media img{aspect-ratio:16/9}
  .ac55-map-grid,.ac55-building-layout,.ac55-lost-grid{grid-template-columns:1fr}
  .ac55-map-copy{text-align:center}
  .ac55-map-actions{margin-inline:auto}
  .ac55-map-frame iframe{height:420px}
  .ac55-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac55-building-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ac55-building-card{max-width:none}
  .ac55-parking-notes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac55-parking-grid{grid-template-columns:1fr}
  .ac55-parking-card{grid-template-columns:150px minmax(0,1fr)}
  .ac55-parking-card img{width:150px}
  .ac55-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac55-before-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac55-first-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac55-lost-copy{text-align:center}
  .ac55-lost-copy .ac55-actions{justify-content:center}
}

@media (max-width:620px){
  .ac55-container{width:calc(100% - 32px)}
  .ac55-section{padding:64px 0}
  .ac55-heading{margin-bottom:30px}
  .ac55-heading h2{font-size:27px;line-height:1.55}
  .ac55-eyebrow{font-size:11px}
  .ac55-hero-copy{padding:46px 18px 30px}
  .ac55-hero-copy h1{font-size:34px;margin-bottom:18px}
  .ac55-hero-lead{font-size:20px;line-height:1.7}
  .ac55-hero-text{font-size:14px;line-height:1.95}
  .ac55-assurance{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .ac55-assurance>div{min-height:72px}
  .ac55-actions{display:grid;grid-template-columns:1fr;width:100%}
  .ac55-btn{width:100%;min-height:50px;font-size:13px;padding-inline:14px;white-space:normal;text-align:center}
  .ac55-glance-grid{grid-template-columns:1fr}
  .ac55-glance-grid article,.ac55-glance-grid article:nth-child(n+4){min-height:0;padding:22px 18px}
  .ac55-map-frame{min-height:360px}
  .ac55-map-frame iframe{height:380px}
  .ac55-route-grid{grid-template-columns:1fr}
  .ac55-route-card{padding:12px 12px 20px}
  .ac55-building-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ac55-building-gallery figcaption{font-size:10px}
  .ac55-building-card{padding:24px 20px}
  .ac55-parking-notes{grid-template-columns:1fr}
  .ac55-parking-card{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .ac55-parking-card img{width:96px}
  .ac55-info-row{grid-template-columns:1fr}
  .ac55-info-row>div{padding:12px 15px;font-size:13px}
  .ac55-info-row>div:first-child{padding-bottom:8px}
  .ac55-info-row>div:last-child{padding-top:8px}
  .ac55-features-grid,.ac55-before-grid,.ac55-first-grid{grid-template-columns:1fr}
  .ac55-features-grid article,.ac55-before-grid article{min-height:0}
  .ac55-faq-list summary{grid-template-columns:28px minmax(0,1fr) 22px;padding:15px 10px;gap:8px}
  .ac55-faq-list summary strong{font-size:13px}
  .ac55-faq-list details>div{grid-template-columns:28px minmax(0,1fr);padding:0 10px 18px;gap:8px}
  .ac55-final{padding:58px 0}
  .ac55-final-actions{display:grid;grid-template-columns:1fr;max-width:440px;margin-inline:auto}
  .ac55-final-rose{display:none}
}

/* ========================================================================
   Reservation & Contact page v5.6.0
   ======================================================================== */
.reservation-page-v56{--rv-rose:#b85d6b;--rv-rose-dark:#a84b5a;--rv-pale:#fbf4f1;--rv-line:#ead9d3;--rv-text:#3f302b;--rv-muted:#77625b;--rv-gold:#bd946c;--rv-green:#2dbd55;color:var(--rv-text);background:#fff}
.reservation-page-v56 *{box-sizing:border-box}
.rv56-container{width:min(100% - 40px,1180px);margin-inline:auto}
.rv56-section{padding:76px 0;border-top:1px solid #f1e5e1;background:#fff}
.rv56-section:nth-of-type(even){background:#fffdfa}
.rv56-eyebrow{margin:0 0 11px;color:var(--rv-gold);font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.rv56-heading{text-align:center;max-width:900px;margin:0 auto 38px}
.rv56-heading h2,.rv56-final h2{margin:0;color:var(--rv-text);font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho",serif;font-size:clamp(28px,3vw,43px);font-weight:500;line-height:1.5;letter-spacing:.055em}
.rv56-heading>p:last-child{max-width:760px;margin:16px auto 0;color:var(--rv-muted);font-size:15px;line-height:1.95}
.rv56-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 24px;border:1px solid transparent;border-radius:3px;text-decoration:none!important;font-size:14px;font-weight:700;line-height:1.2;letter-spacing:.02em;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.rv56-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(95,55,47,.10)}
.rv56-btn .ypr-icon{width:19px;height:19px;flex:0 0 19px}
.rv56-btn .ypr-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.rv56-btn-line{background:var(--rv-green);border-color:var(--rv-green);color:#fff}
.rv56-btn-rose{background:linear-gradient(90deg,#b95666,#ce7181);border-color:#b95666;color:#fff}
.rv56-btn-outline{background:#fff;border-color:#d8929b;color:#b34f5e}
.rv56-setting-note{margin:12px 0 0;color:#8a756d;font-size:13px;line-height:1.7}
.rv56-center-action{text-align:center;margin-top:28px}

.rv56-hero{border-top:1px solid #eee0db;background:linear-gradient(90deg,#fffaf6 0%,#fff 54%,#fff 100%)}
.rv56-hero-inner{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:600px;width:100%}
.rv56-hero-copy{align-self:center;min-width:0;padding:64px clamp(32px,4vw,68px) 58px max(24px,calc((100vw - 1180px)/2))}
.rv56-hero-copy h1{margin:0 0 24px;font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho",serif;font-size:clamp(39px,3.7vw,58px);font-weight:500;line-height:1.35;letter-spacing:.06em}
.rv56-hero-lead{margin:0 0 22px;color:#b24f5d;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(20px,2vw,29px);line-height:1.75;letter-spacing:.035em}
.rv56-hero-text{max-width:690px;margin:0 0 27px;color:#594a44;font-size:14.5px;line-height:2.05}
.rv56-assurance{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0 0 24px}
.rv56-assurance>div{display:flex;min-width:0;min-height:82px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 4px;border:1px solid #eadbd6;background:rgba(255,255,255,.78);text-align:center;color:#59463f;font-size:11px;line-height:1.45}
.rv56-assurance .ypr-icon{width:24px;height:24px;color:#c77b82}
.rv56-assurance svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}
.rv56-actions{display:flex;gap:12px;flex-wrap:wrap}.rv56-actions .rv56-btn{min-width:220px}
.rv56-hero-media{position:relative;min-width:0;min-height:600px;overflow:hidden;background:#f4ebe6}
.rv56-hero-media picture,.rv56-hero-media img{display:block;width:100%;height:100%}.rv56-hero-media img{object-fit:cover;object-position:center}

.rv56-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:940px;margin:0 auto}
.rv56-choice-card{position:relative;display:flex;flex-direction:column;min-height:385px;padding:32px 34px;border:1px solid var(--rv-line);background:#fff;box-shadow:0 8px 28px rgba(91,54,45,.035)}
.rv56-choice-card h3{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid #ecdfda;font-family:"Noto Serif JP",serif;font-size:21px;font-weight:500}
.rv56-choice-card h3 .ypr-icon{width:21px;height:21px;color:#c65f70}.rv56-choice-card h3 svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.rv56-choice-card ul{display:grid;gap:12px;margin:0 0 28px;padding:0;list-style:none}.rv56-choice-card li{position:relative;padding-left:24px;font-size:14px;color:#66524b}.rv56-choice-card li:before{content:'✓';position:absolute;left:0;top:-1px;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;font-size:10px;line-height:15px;text-align:center;color:#6bb17c}
.rv56-choice-hpb li:before{color:#cb7882}.rv56-choice-card .rv56-btn{margin-top:auto;width:100%}.rv56-recommend{position:absolute;left:-1px;top:-30px;padding:7px 18px;border-radius:3px 3px 0 0;background:#69ae69;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em}

.rv56-line{background:linear-gradient(180deg,#fffdfa 0%,#fdf8f5 100%)}
.rv56-line-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:0 auto}
.rv56-line-list,.rv56-line-card{border:1px solid var(--rv-line);background:#fff;padding:32px 36px}
.rv56-line-list h3,.rv56-line-card h3{margin:0 0 20px;color:#8e5b50;font-family:"Noto Serif JP",serif;font-size:19px;text-align:center;font-weight:500}
.rv56-line-list ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.rv56-line-list li{position:relative;padding-left:26px;color:#5f504a;font-size:14px}.rv56-line-list li:before{content:'✓';position:absolute;left:0;color:#54ad67;font-weight:700}
.rv56-line-card{text-align:center}.rv56-qr-wrap{display:flex;justify-content:center;margin:0 auto 17px}.rv56-qr,.rv56-qr-placeholder{width:220px;height:220px;object-fit:contain;border:12px solid #fff;box-shadow:0 0 0 1px #eadbd6;background:#fff}.rv56-qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffaf7;color:#8b6c65;font-family:Georgia,serif;letter-spacing:.12em}.rv56-qr-placeholder strong{font-size:26px;font-weight:400}.rv56-qr-placeholder span{font-size:24px}.rv56-line-card .rv56-btn{width:100%;max-width:420px}.rv56-line-card>p:last-child{margin:14px 0 0;color:#7b6962;font-size:12.5px;line-height:1.75}

.rv56-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:930px;margin:0 auto}.rv56-step-grid article{position:relative;padding:27px 22px 25px;border:1px solid var(--rv-line);background:#fff;text-align:center}.rv56-step-grid article>span{position:absolute;left:18px;top:16px;width:34px;height:34px;border:1px solid #dfaaa5;border-radius:50%;color:#c66a72;font-size:11px;line-height:32px}.rv56-step-grid .ypr-icon{width:34px;height:34px;margin:0 auto 13px;color:#c8737b}.rv56-step-grid svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35}.rv56-step-grid h3{margin:0 0 10px;font-family:"Noto Serif JP",serif;font-size:18px;font-weight:500}.rv56-step-grid p{margin:0;color:#78665f;font-size:12.5px;line-height:1.75}

.rv56-send{background:#fffaf7}.rv56-send-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;max-width:960px;margin:0 auto}.rv56-send-items{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rv56-send-items article{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--rv-line);background:#fff}.rv56-send-items article>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #dca49e;border-radius:50%;color:#c56b72;font-size:11px}.rv56-send-items h3{margin:0 0 3px;font-size:15px;font-weight:600}.rv56-send-items p{margin:0;color:#7e6c64;font-size:11.5px;line-height:1.6}.rv56-message-card{padding:27px;border:1px solid var(--rv-line);background:linear-gradient(145deg,#fff 0%,#fff7f3 100%)}.rv56-message-label{margin:0 0 12px;color:#b45b66;font-size:12px;font-weight:700;letter-spacing:.04em}.rv56-message-card pre{margin:0;padding:16px;border:1px solid #eddfda;background:#fff;color:#5a4a44;font-family:inherit;font-size:13px;line-height:1.85;white-space:pre-wrap}.rv56-message-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.rv56-message-actions .rv56-btn{flex:1;min-width:160px;padding-inline:14px}.rv56-copy-status{min-height:1.5em;margin:8px 0 0;color:#5c9868;font-size:12px;text-align:center}

.rv56-online-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:46px;align-items:center}.rv56-online-copy .rv56-eyebrow{text-align:left}.rv56-online-copy h2{margin:0 0 17px;font-family:"Noto Serif JP",serif;font-size:clamp(25px,2.4vw,36px);font-weight:500;line-height:1.65}.rv56-online-copy>p{margin:0 0 22px;color:#76635c;font-size:14px;line-height:1.9}.rv56-online-benefits{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 22px}.rv56-online-benefits span{display:flex;min-height:88px;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid var(--rv-line);background:#fff;font-size:11px;text-align:center}.rv56-online-benefits .ypr-icon{width:25px;height:25px;color:#c87982}.rv56-online-benefits svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.55}.rv56-online-copy>.rv56-btn{min-width:280px}.rv56-online-media{overflow:hidden;border:1px solid #efdfda;background:#fff}.rv56-online-media picture,.rv56-online-media img{display:block;width:100%;aspect-ratio:16/9}.rv56-online-media img{object-fit:cover}

.rv56-welcome-grid,.rv56-before-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rv56-welcome-grid article,.rv56-before-grid article{min-height:170px;padding:25px 18px;border:1px solid var(--rv-line);background:#fff;text-align:center}.rv56-welcome-grid .ypr-icon{width:33px;height:33px;margin:0 auto 13px;color:#c67a81}.rv56-welcome-grid svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45}.rv56-welcome-grid h3,.rv56-before-grid h3{margin:0 0 10px;font-family:"Noto Serif JP",serif;font-size:17px;font-weight:500;line-height:1.5}.rv56-welcome-grid p,.rv56-before-grid p{margin:0;color:#7a6861;font-size:12.5px;line-height:1.75}.rv56-before-grid{grid-template-columns:repeat(5,1fr)}.rv56-before-grid article{min-height:130px;padding:23px 16px}

.rv56-flow{background:#fffaf7}.rv56-flow-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:stretch}.rv56-flow-grid article{position:relative;display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;padding:24px 10px;border:1px solid #ead8d2;border-radius:50%;background:#fff;text-align:center}.rv56-flow-grid article:not(:last-child):after{content:'›';position:absolute;right:-14px;top:50%;transform:translate(50%,-50%);color:#c89372;font-size:24px}.rv56-flow-grid span{color:#c46e77;font-size:11px;font-weight:700}.rv56-flow-grid h3{margin:8px 0 0;font-family:"Noto Serif JP",serif;font-size:13px;font-weight:500;line-height:1.6}

.rv56-cancel-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.rv56-cancel-grid article{min-height:120px;padding:22px 14px;border:1px solid var(--rv-line);background:#fff;text-align:center}.rv56-cancel-grid h3{margin:0 0 9px;color:#9f665e;font-size:14px}.rv56-cancel-grid p{margin:0;color:#75645e;font-size:11.5px;line-height:1.7}
.rv56-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:920px;margin:0 auto 20px}.rv56-contact-grid span{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid var(--rv-line);background:#fff;color:#694f47;font-size:13px}.rv56-contact-note{display:flex;align-items:center;gap:18px;max-width:920px;margin:0 auto;padding:20px 25px;border:1px solid #e7dad5;background:#fff8f4}.rv56-contact-note .ypr-icon{width:35px;height:35px;color:#31b55a;flex:0 0 35px}.rv56-contact-note svg{width:100%;height:100%;fill:currentColor}.rv56-contact-note p{margin:0;color:#695650;font-size:12.5px;line-height:1.8}.rv56-contact-note strong{display:block;color:#ba5561}

.rv56-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;max-width:1020px;margin:0 auto}.rv56-faq-grid details{border:1px solid var(--rv-line);background:#fff}.rv56-faq-grid summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:12px 16px;cursor:pointer;list-style:none;color:#604a43;font-size:13px}.rv56-faq-grid summary::-webkit-details-marker{display:none}.rv56-faq-grid summary span{color:#c2767e;font-size:19px}.rv56-faq-grid details[open] summary span{transform:rotate(45deg)}.rv56-faq-grid details p{margin:0;padding:0 16px 16px;color:#78665f;font-size:12.5px;line-height:1.8}

.rv56-salon-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:stretch;max-width:980px;margin:0 auto}.rv56-salon-media{overflow:hidden;border:1px solid #eadbd6}.rv56-salon-media img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover}.rv56-salon-card{padding:28px 34px;border:1px solid var(--rv-line);background:#fff}.rv56-salon-card h3{margin:0 0 20px;font-family:"Noto Serif JP",serif;font-size:22px;font-weight:500}.rv56-salon-card p{display:flex;gap:10px;align-items:flex-start;margin:0 0 13px;color:#695750;font-size:13px;line-height:1.75}.rv56-salon-card .ypr-icon{width:18px;height:18px;flex:0 0 18px;color:#c3737b;margin-top:2px}.rv56-salon-card svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}.rv56-salon-card .rv56-btn{margin-top:12px;width:100%}

.rv56-final{position:relative;overflow:hidden;padding:62px 0;background:linear-gradient(110deg,#fae9e7 0%,#f8d9db 52%,#fbeae5 100%);text-align:center}.rv56-final:before,.rv56-final:after{content:'✿';position:absolute;bottom:-12px;color:rgba(180,92,103,.13);font-size:160px;line-height:1}.rv56-final:before{left:18px}.rv56-final:after{right:18px;transform:scaleX(-1)}.rv56-final h2{font-size:clamp(27px,2.8vw,40px)}.rv56-final>div>p:not(.rv56-eyebrow){max-width:800px;margin:14px auto 24px;color:#705851;font-size:14px;line-height:1.8}.rv56-final-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.rv56-final-actions .rv56-btn{min-width:260px}

@media (max-width:1200px){
  .rv56-hero-inner{grid-template-columns:minmax(0,55%) minmax(0,45%)}
  .rv56-hero-copy{padding-left:30px;padding-right:30px}.rv56-assurance{grid-template-columns:repeat(3,1fr)}
  .rv56-before-grid{grid-template-columns:repeat(3,1fr)}.rv56-online-benefits{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .rv56-section{padding:60px 0}.rv56-container{width:min(100% - 32px,1180px)}
  .rv56-hero-inner{grid-template-columns:1fr;min-height:0}.rv56-hero-copy{order:1;padding:54px 24px 36px}.rv56-hero-media{order:2;min-height:0;aspect-ratio:16/9}.rv56-hero-media img{aspect-ratio:16/9}
  .rv56-choice-grid,.rv56-line-grid,.rv56-send-grid,.rv56-online-grid,.rv56-salon-grid{grid-template-columns:1fr}.rv56-choice-grid{gap:46px}.rv56-online-grid{gap:26px}.rv56-online-media{max-width:620px;margin:0 auto;width:100%}
  .rv56-welcome-grid{grid-template-columns:repeat(2,1fr)}.rv56-before-grid{grid-template-columns:repeat(2,1fr)}
  .rv56-flow-grid{grid-template-columns:repeat(3,1fr);gap:18px}.rv56-flow-grid article:not(:last-child):after{display:none}.rv56-cancel-grid{grid-template-columns:repeat(3,1fr)}.rv56-contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .rv56-container{width:min(100% - 28px,1180px)}.rv56-section{padding:50px 0}.rv56-heading{margin-bottom:28px}.rv56-heading h2{font-size:27px;line-height:1.55}.rv56-eyebrow{font-size:10px}
  .rv56-hero-copy{padding:44px 18px 30px}.rv56-hero-copy h1{font-size:34px;margin-bottom:18px}.rv56-hero-lead{font-size:19px;line-height:1.7}.rv56-hero-text{font-size:13.5px;line-height:1.9}.rv56-assurance{grid-template-columns:repeat(3,1fr);gap:6px}.rv56-assurance>div{min-height:76px;font-size:10px}.rv56-actions{display:grid;grid-template-columns:1fr}.rv56-actions .rv56-btn{width:100%;min-width:0}
  .rv56-choice-card{padding:28px 22px;min-height:auto}.rv56-line-list,.rv56-line-card{padding:26px 20px}.rv56-qr,.rv56-qr-placeholder{width:205px;height:205px}.rv56-step-grid{grid-template-columns:1fr}.rv56-send-items{grid-template-columns:1fr}.rv56-message-actions{display:grid;grid-template-columns:1fr}.rv56-online-benefits{grid-template-columns:repeat(2,1fr)}.rv56-online-copy>.rv56-btn{width:100%;min-width:0}.rv56-welcome-grid,.rv56-before-grid{grid-template-columns:1fr}.rv56-flow-grid{grid-template-columns:repeat(2,1fr);gap:12px}.rv56-flow-grid article{min-height:142px}.rv56-cancel-grid{grid-template-columns:1fr 1fr}.rv56-contact-grid{grid-template-columns:1fr 1fr}.rv56-contact-note{align-items:flex-start;padding:18px}.rv56-faq-grid{grid-template-columns:1fr}.rv56-salon-card{padding:24px 20px}.rv56-salon-media img{min-height:0;aspect-ratio:16/9}.rv56-final{padding:52px 0}.rv56-final-actions{display:grid;grid-template-columns:1fr}.rv56-final-actions .rv56-btn{width:100%;min-width:0}.rv56-final:before,.rv56-final:after{font-size:95px}
}
@media (max-width:420px){.rv56-cancel-grid,.rv56-contact-grid{grid-template-columns:1fr}.rv56-flow-grid{grid-template-columns:1fr 1fr}.rv56-assurance>div{padding-inline:2px}.rv56-btn{font-size:13px;padding-inline:16px}}

/* ========================================================================
   Cancellation Policy page v5.7.0
   ======================================================================== */
.cancellation-policy-page-v57{--cp-rose:#b85d6b;--cp-rose-dark:#a64d5b;--cp-pale:#fff8f5;--cp-soft:#fffaf8;--cp-line:#eadad4;--cp-text:#3f302b;--cp-muted:#75635c;--cp-gold:#b99170;--cp-green:#2dbd55;color:var(--cp-text);background:#fff}
.cancellation-policy-page-v57 *{box-sizing:border-box}
.cp57-container{width:min(100% - 40px,1180px);margin-inline:auto}.cp57-narrow{max-width:980px}.cp57-section{padding:66px 0;border-top:1px solid #f0e4df;background:#fff}.cp57-soft{background:#fffdfa}.cp57-eyebrow{margin:0 0 9px;color:var(--cp-gold);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.cp57-heading{text-align:center;max-width:900px;margin:0 auto 34px}.cp57-heading h2,.cp57-final h2{margin:0;font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho",serif;font-size:clamp(27px,2.8vw,41px);font-weight:500;line-height:1.55;letter-spacing:.05em}.cp57-heading>p:last-child{max-width:760px;margin:14px auto 0;color:var(--cp-muted);font-size:14px;line-height:1.95}
.cp57-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 22px;border:1px solid transparent;border-radius:3px;text-decoration:none!important;font-size:13px;font-weight:700;line-height:1.25;letter-spacing:.015em;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.cp57-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(95,55,47,.09)}.cp57-btn .ypr-icon{width:18px;height:18px;flex:0 0 18px}.cp57-btn .ypr-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}.cp57-btn-line{background:var(--cp-green);border-color:var(--cp-green);color:#fff}.cp57-btn-line .ypr-icon:first-child svg{fill:currentColor;stroke:none}.cp57-btn-rose{background:linear-gradient(90deg,#ba5d6a,#cd7581);border-color:#ba5d6a;color:#fff}.cp57-btn-outline{background:#fff;border-color:#d37b86;color:#b85b68}.cp57-btn-outline-green{background:#fff;border-color:#54bd70;color:#299d49}.cp57-btn-small{width:100%;min-height:45px;padding:10px 14px;font-size:12px}

/* hero */
.cp57-hero{background:linear-gradient(105deg,#fffaf7 0%,#fff 56%,#fff 100%);border-bottom:1px solid #efe1dc}.cp57-hero-inner{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:560px;margin-left:max(0px,calc((100vw - 1180px)/2));}.cp57-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:58px 42px 46px 0;min-width:0}.cp57-hero-copy h1{margin:0 0 20px;font-family:"Noto Serif JP","Shippori Mincho","Yu Mincho",serif;font-size:clamp(39px,4vw,57px);font-weight:500;line-height:1.35;letter-spacing:.08em;color:#a65d62}.cp57-hero-lead{margin:0 0 11px;font-family:"Noto Serif JP",serif;font-size:clamp(24px,2.5vw,35px);font-weight:500;line-height:1.72;letter-spacing:.045em}.cp57-hero-sub{margin:0 0 18px;color:#6c5750;font-family:"Noto Serif JP",serif;font-size:15px;line-height:1.85}.cp57-hero-text{max-width:650px;margin:0 0 24px;color:#6f5c55;font-size:13px;line-height:1.95}.cp57-assurance{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0 0 20px;border:1px solid #eadbd6;background:rgba(255,255,255,.95)}.cp57-assurance>div{min-height:88px;padding:12px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-right:1px solid #eadbd6;text-align:center;color:#634b44;font-size:10.5px;line-height:1.35}.cp57-assurance>div:last-child{border-right:0}.cp57-assurance .ypr-icon{width:24px;height:24px;color:#c87982}.cp57-assurance .ypr-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}.cp57-assurance>div:last-child .ypr-icon svg{fill:currentColor;stroke:none}.cp57-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px}.cp57-actions .cp57-btn{width:100%}.cp57-hero-media{min-width:0;overflow:hidden;background:#f8f2ef}.cp57-hero-media picture,.cp57-hero-media img{display:block;width:100%;height:100%}.cp57-hero-media img{object-fit:cover;object-position:center center}

/* thoughts */
.cp57-thoughts{position:relative;background:#fff}.cp57-thoughts .cp57-container{text-align:center;position:relative;padding:18px 70px 12px}.cp57-thoughts p:not(.cp57-eyebrow){max-width:780px;margin:0 auto;color:#6f5a53;font-size:13.5px;line-height:2}.cp57-thoughts .cp57-emphasis{margin-top:18px!important;color:#c2616c!important;font-family:"Noto Serif JP",serif!important;font-size:18px!important;line-height:1.85!important}.cp57-floral-frame:before,.cp57-floral-frame:after{content:'❀';position:absolute;top:50%;transform:translateY(-50%);font-size:98px;line-height:1;color:rgba(197,125,132,.16)}.cp57-floral-frame:before{left:-55px}.cp57-floral-frame:after{right:-55px;transform:translateY(-50%) scaleX(-1)}

/* glance */
.cp57-glance{background:#fffdfa}.cp57-glance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.cp57-glance-grid article{min-height:190px;padding:22px 17px 18px;border:1px solid var(--cp-line);background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center}.cp57-icon-ring{width:49px;height:49px;border:1px solid #d99ca0;border-radius:50%;display:grid;place-items:center;color:#c66e78;font-size:28px;line-height:1;margin-bottom:13px}.cp57-icon-ring .ypr-icon{width:28px;height:28px}.cp57-icon-ring svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}.cp57-xmark{font-family:Arial,sans-serif;font-weight:300}.cp57-clock{font-family:Georgia,serif;font-size:29px}.cp57-glance-grid h3{margin:0 0 9px;font-family:"Noto Serif JP",serif;font-size:17px;font-weight:500;line-height:1.5}.cp57-glance-grid p{margin:0;color:#77655e;font-size:11.5px;line-height:1.8}

/* policy cards */
.cp57-policy-cards{padding-top:24px}.cp57-policy-grid{display:grid;gap:18px;align-items:stretch}.cp57-policy-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cp57-policy-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;margin-inline:auto}.cp57-policy-card{position:relative;overflow:hidden;min-height:390px;padding:28px 28px 26px;border:1px solid var(--cp-line);background:linear-gradient(145deg,#fff 0%,#fffdfa 100%)}.cp57-card-label{margin:0 0 8px;color:#c07b7f;font-family:Georgia,serif;font-size:10px;letter-spacing:.12em;text-align:center}.cp57-policy-card h2{margin:0 0 18px;font-family:"Noto Serif JP",serif;font-size:20px;font-weight:500;line-height:1.55;text-align:center}.cp57-policy-card h3{margin:18px 0 8px;color:#c06971;font-size:12.5px}.cp57-policy-card>p:not(.cp57-card-label):not(.cp57-card-emphasis):not(.cp57-small-note){margin:0 0 13px;color:#735f58;font-size:12px;line-height:1.9}.cp57-policy-card ul{margin:8px 0 19px;padding-left:1.35em;color:#66534c;font-size:11.5px;line-height:1.75}.cp57-policy-card li::marker{color:#c9787e}.cp57-card-emphasis{margin:24px 0 0!important;color:#c35e68!important;font-family:"Noto Serif JP",serif!important;font-size:17px!important;line-height:1.8!important;text-align:center}.cp57-card-floral:after{content:'❀';position:absolute;right:-14px;bottom:-17px;color:rgba(194,111,119,.13);font-size:94px;line-height:1}.cp57-check-list{list-style:none;padding-left:0!important}.cp57-check-list li{position:relative;padding-left:22px}.cp57-check-list li:before{content:'□';position:absolute;left:0;color:#c8767d}.cp57-small-note{margin:15px 0 0;color:#8a756d;font-size:10px;line-height:1.75}.cp57-message-sample{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:20px;padding:10px 12px;border:1px solid #e9ded9;border-radius:9px;background:#fff;color:#65534d;font-size:11px}.cp57-message-sample .cp57-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dfe7f1;color:#fff;font-size:10px}.cp57-message-sample small{color:#a28e87;font-size:9px}.cp57-family-weather{padding-top:24px;background:#fff}.cp57-family-weather .cp57-policy-card{min-height:310px}

/* route */
.cp57-booking-route{background:#fffdfa}.cp57-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cp57-route-grid article{padding:28px 32px;border:1px solid var(--cp-line);background:#fff}.cp57-route-grid h3{margin:0 0 13px;font-family:"Noto Serif JP",serif;font-size:20px;font-weight:500;line-height:1.55;text-align:center}.cp57-route-grid>article>p:not(.cp57-card-label){margin:0 0 18px;color:#735f58;font-size:12.5px;line-height:1.9}.cp57-route-grid .cp57-btn{width:100%;margin-top:9px}.cp57-line-template{display:grid;gap:3px;margin:0 0 13px;padding:13px 15px;border:1px solid #eadfd9;background:#fffaf7;color:#65534d;font-size:11.5px}.cp57-line-template strong{margin-bottom:4px;color:#a86a68;font-size:11px}

/* how to contact */
.cp57-contact{background:#fff}.cp57-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:44px;align-items:center}.cp57-contact-grid>div:first-child h2{margin:0 0 15px;font-family:"Noto Serif JP",serif;font-size:clamp(25px,2.3vw,34px);font-weight:500;line-height:1.55}.cp57-contact-grid>div:first-child>p:not(.cp57-eyebrow){margin:0 0 14px;color:#725e56;font-size:13px;line-height:1.9}.cp57-contact-grid ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.cp57-contact-grid li{position:relative;padding-left:24px;color:#6c5952;font-size:12px}.cp57-contact-grid li:before{content:'☑';position:absolute;left:0;color:#bd8b69}.cp57-contact-card{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;padding:24px;border:1px solid var(--cp-line);background:#fffaf6}.cp57-line-badge{width:54px;height:54px;border-radius:13px;background:#2dbd55;color:#fff;display:grid;place-items:center}.cp57-line-badge .ypr-icon{width:35px;height:35px}.cp57-line-badge svg{width:100%;height:100%;fill:currentColor;stroke:none}.cp57-contact-card strong{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:500}.cp57-contact-card p{margin:3px 0 0;color:#7b6961;font-size:11.5px}.cp57-contact-card .cp57-btn{grid-column:1/-1;width:100%;margin-top:5px}

/* faq */
.cp57-faq{background:#fffdfa}.cp57-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;max-width:1030px;margin:0 auto}.cp57-faq-grid details{border:1px solid var(--cp-line);background:#fff}.cp57-faq-grid summary{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;gap:6px;align-items:center;min-height:48px;padding:11px 14px;cursor:pointer;list-style:none;color:#604c45;font-size:12.5px}.cp57-faq-grid summary::-webkit-details-marker{display:none}.cp57-faq-number{color:#8a6a5f}.cp57-plus{justify-self:end;color:#c56b74;font-size:18px;transition:transform .2s ease}.cp57-faq-grid details[open] .cp57-plus{transform:rotate(45deg)}.cp57-faq-grid details p{margin:0;padding:0 44px 16px;color:#76645d;font-size:12px;line-height:1.85}

/* owner message */
.cp57-message{background:#fff}.cp57-message-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:46px;align-items:center;max-width:980px}.cp57-message-grid>div:first-child h2{margin:0 0 16px;font-family:"Noto Serif JP",serif;font-size:clamp(28px,2.5vw,37px);font-weight:500;line-height:1.55}.cp57-message-grid>div:first-child p:not(.cp57-eyebrow){margin:0 0 12px;color:#715f57;font-size:12.5px;line-height:1.95}.cp57-owner-sign{position:relative;display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;min-height:210px;padding:14px 24px 14px 14px}.cp57-owner-sign:after{content:'❀';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:110px;color:rgba(196,119,126,.14)}.cp57-owner-photo{position:relative;z-index:1;overflow:hidden}.cp57-owner-photo picture,.cp57-owner-photo img{display:block;width:100%}.cp57-owner-photo img{aspect-ratio:1/1;object-fit:cover;object-position:center 20%}.cp57-owner-sign>div:last-child{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px}.cp57-owner-sign span{font-size:12px}.cp57-owner-sign strong{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:500}.cp57-owner-sign em{font-family:cursive;font-size:24px;color:#ad7675}

/* final */
.cp57-final{position:relative;overflow:hidden;padding:54px 0;background:linear-gradient(110deg,#f9e6e3 0%,#fff1ed 50%,#f7e3df 100%);border-top:1px solid #efd2ce;text-align:center}.cp57-final:before,.cp57-final:after{content:'❀';position:absolute;top:50%;transform:translateY(-50%);font-size:150px;line-height:1;color:rgba(187,93,104,.12)}.cp57-final:before{left:12px}.cp57-final:after{right:12px;transform:translateY(-50%) scaleX(-1)}.cp57-final .cp57-container{position:relative;z-index:1}.cp57-final h2{font-size:clamp(27px,2.7vw,39px)}.cp57-final-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:930px;margin:24px auto 0}.cp57-final-actions .cp57-btn{width:100%;min-width:0}

@media (max-width:1200px){
  .cp57-hero-inner{margin-left:24px;grid-template-columns:minmax(0,55%) minmax(0,45%)}.cp57-hero-copy{padding-right:28px}.cp57-assurance{grid-template-columns:repeat(3,minmax(0,1fr))}.cp57-assurance>div:nth-child(3){border-right:0}.cp57-assurance>div:nth-child(-n+3){border-bottom:1px solid #eadbd6}
  .cp57-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cp57-glance-grid article:nth-child(4),.cp57-glance-grid article:nth-child(5){min-height:175px}
}
@media (max-width:900px){
  .cp57-container{width:min(100% - 32px,780px)}.cp57-section{padding:56px 0}.cp57-hero-inner{margin-left:0;grid-template-columns:1fr;min-height:0}.cp57-hero-copy{order:1;padding:50px 24px 34px}.cp57-hero-media{order:2;aspect-ratio:16/9}.cp57-hero-media img{aspect-ratio:16/9}.cp57-actions{max-width:720px}.cp57-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp57-policy-grid-3{grid-template-columns:1fr}.cp57-policy-grid-2{grid-template-columns:1fr;max-width:none}.cp57-policy-card{min-height:0}.cp57-route-grid,.cp57-contact-grid,.cp57-message-grid{grid-template-columns:1fr}.cp57-message-grid{max-width:760px}.cp57-contact-card{max-width:520px;width:100%;margin-inline:auto}.cp57-faq-grid{grid-template-columns:1fr}.cp57-owner-sign{max-width:560px;margin-inline:auto}.cp57-final-actions{grid-template-columns:1fr;max-width:560px}
}
@media (max-width:640px){
  .cp57-container{width:calc(100% - 28px)}.cp57-section{padding:48px 0}.cp57-heading{margin-bottom:28px}.cp57-heading h2{font-size:26px}.cp57-eyebrow{font-size:9.5px}.cp57-hero-copy{padding:42px 18px 28px}.cp57-hero-copy h1{font-size:34px}.cp57-hero-lead{font-size:21px}.cp57-hero-sub{font-size:13.5px}.cp57-hero-text{font-size:12.8px}.cp57-assurance{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.cp57-assurance>div{min-height:76px;font-size:9.5px}.cp57-actions{grid-template-columns:1fr}.cp57-btn{width:100%;min-height:50px;padding-inline:13px;font-size:12.5px;white-space:normal;text-align:center}.cp57-thoughts .cp57-container{padding:8px 8px}.cp57-thoughts .cp57-emphasis{font-size:16px!important}.cp57-floral-frame:before,.cp57-floral-frame:after{display:none}.cp57-glance-grid{grid-template-columns:1fr}.cp57-glance-grid article,.cp57-glance-grid article:nth-child(4),.cp57-glance-grid article:nth-child(5){min-height:0;padding:20px 16px}.cp57-policy-card{padding:24px 19px}.cp57-policy-card h2{font-size:19px}.cp57-card-emphasis{font-size:15px!important}.cp57-route-grid article{padding:24px 18px}.cp57-contact-card{grid-template-columns:48px 1fr;padding:20px 17px}.cp57-line-badge{width:48px;height:48px}.cp57-faq-grid summary{font-size:12px;padding-inline:10px}.cp57-faq-grid details p{padding:0 34px 15px}.cp57-owner-sign{grid-template-columns:130px 1fr;gap:16px;padding:10px}.cp57-owner-sign:after{font-size:82px}.cp57-owner-sign strong{font-size:15px}.cp57-owner-sign em{font-size:20px}.cp57-final{padding:48px 0}.cp57-final:before,.cp57-final:after{font-size:80px}.cp57-final h2{font-size:27px}
}
@media (max-width:420px){.cp57-assurance{grid-template-columns:repeat(2,minmax(0,1fr))}.cp57-assurance>div{border-bottom:1px solid #eadbd6}.cp57-assurance>div:nth-child(2n){border-right:0}.cp57-assurance>div:nth-last-child(-n+2){border-bottom:0}.cp57-owner-sign{grid-template-columns:110px 1fr}.cp57-message-grid>div:first-child h2{font-size:26px}}

/* =========================================================
   Privacy Policy page — v5.8.0
   Approved privacy-policy design: one visual frame = one section
   ========================================================= */
.privacy-policy-page-v58{
  --pp-rose:#bf6370;--pp-rose-dark:#a94f5e;--pp-rose-soft:#fff4f1;--pp-pale:#fff9f6;
  --pp-ivory:#fdfaf7;--pp-gold:#b99375;--pp-text:#49332d;--pp-muted:#77635c;
  --pp-line:#ead8d2;--pp-line-strong:#ddb7ad;--pp-green:#2fbc55;
  color:var(--pp-text);background:#fff;overflow:hidden;font-family:var(--serif);line-break:strict;
}
.privacy-policy-page-v58 *{box-sizing:border-box}
.privacy-policy-page-v58 h1,.privacy-policy-page-v58 h2,.privacy-policy-page-v58 h3,.privacy-policy-page-v58 p,.privacy-policy-page-v58 li,.privacy-policy-page-v58 a,.privacy-policy-page-v58 strong,.privacy-policy-page-v58 span{font-family:var(--serif)}
.privacy-policy-page-v58 p,.privacy-policy-page-v58 li{font-size:16px;line-height:1.95;letter-spacing:.035em;text-wrap:pretty}
.pp58-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.pp58-narrow{max-width:880px}.pp58-narrow-wide{max-width:1000px}
.pp58-section{padding:74px 0;border-top:1px solid rgba(234,216,210,.45);scroll-margin-top:118px}
.pp58-soft{background:linear-gradient(180deg,#fffaf8 0%,#fff 100%)}
.pp58-eyebrow{margin:0 0 9px!important;color:#c17a7e!important;font-family:Georgia,"Times New Roman",serif!important;font-size:12px!important;line-height:1.4!important;letter-spacing:.17em!important;font-weight:600;text-transform:uppercase}
.pp58-heading{text-align:center;margin:0 auto 37px}
.pp58-heading h2{margin:0;font-size:clamp(27px,2.3vw,38px);line-height:1.55;letter-spacing:.075em;font-weight:500;color:#4a332d}
.pp58-emphasis{color:#c55d6d;font-size:19px!important;text-align:center;margin:22px 0 0!important;letter-spacing:.06em!important}
.pp58-small-note{font-size:13px!important;color:var(--pp-muted);text-align:center;margin:20px 0 0!important}

/* Hero */
.pp58-hero{background:linear-gradient(105deg,#fffaf7 0%,#fff 49%,#faf6f3 100%);border-bottom:1px solid var(--pp-line);overflow:hidden}
.pp58-hero-inner{width:min(1600px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:520px}
.pp58-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:68px 54px 60px max(36px,calc((100vw - 1180px)/2));min-width:0}
.pp58-hero-copy h1{margin:0 0 22px;font-size:clamp(38px,3.4vw,56px);line-height:1.35;letter-spacing:.09em;font-weight:500;color:#c05f6e}
.pp58-hero-lead{font-size:clamp(22px,2.2vw,32px)!important;line-height:1.75!important;letter-spacing:.07em!important;margin:0 0 19px!important;font-weight:600;color:#4b342e}
.pp58-hero-text{font-size:16px!important;line-height:1.9!important;margin:0 0 13px!important;color:#64504a}
.pp58-hero-summary{font-size:14px!important;line-height:1.9!important;margin:0 0 22px!important;color:#6f5b54;max-width:650px}
.pp58-hero-note{display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;align-items:center;border:1px solid #e9c9c2;background:rgba(255,255,255,.9);padding:17px 19px;max-width:625px;border-radius:5px}
.pp58-note-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #dfa7ad;color:#c86473;border-radius:4px}
.pp58-note-icon .ypr-icon{width:24px;height:24px}
.pp58-hero-note p{font-size:13px!important;line-height:1.75!important;margin:0!important;color:#654f48}.pp58-hero-note strong{font-size:14px;color:#4a332d}
.pp58-hero-media{min-width:0;min-height:520px;overflow:hidden;background:#f5eee8}
.pp58-hero-media picture,.pp58-hero-media img{width:100%;height:100%}
.pp58-hero-image{object-fit:cover;object-position:center center}

/* Table of contents */
.pp58-toc{padding-top:48px;padding-bottom:56px;background:#fff}
.pp58-toc .pp58-heading{margin-bottom:23px}.pp58-toc .pp58-heading h2{font-size:28px}
.pp58-toc-grid{max-width:1030px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pp58-toc-grid a{min-height:58px;display:grid;grid-template-columns:27px minmax(0,1fr) 18px;align-items:center;gap:8px;border:1px solid #e7cdc8;background:#fff;padding:11px 16px;color:#604640;font-size:14px;font-weight:600;letter-spacing:.04em;border-radius:4px;transition:.2s}
.pp58-toc-grid a:hover{background:#fff8f5;border-color:#d99ca5;transform:translateY(-1px)}
.pp58-toc-grid a>span{color:#cf7883;display:grid;place-items:center}.pp58-toc-grid a>.ypr-icon:last-child{color:#c86a78;width:15px;height:15px}.pp58-toc-grid a span .ypr-icon{width:21px;height:21px}

/* Policy */
.pp58-policy{text-align:center;padding-top:66px;padding-bottom:66px;background:#fff}
.pp58-policy p{max-width:820px;margin:0 auto 11px;color:#65524c}

/* Information */
.pp58-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pp58-info-grid article{border:1px solid #ead8d2;background:#fff;padding:23px 22px 22px;min-height:265px;border-radius:5px}
.pp58-info-grid h3{margin:0 0 17px;text-align:center;font-size:17px;line-height:1.6;letter-spacing:.055em;font-weight:600}.pp58-info-grid h3 span{color:#c76775;font-family:Georgia,serif;font-size:14px;margin-right:5px}
.pp58-info-grid ul{padding:0;margin:0;list-style:none}.pp58-info-grid li{font-size:14px;line-height:1.75;padding-left:13px;position:relative}.pp58-info-grid li::before{content:"•";position:absolute;left:0;color:#cb6574}
.pp58-info-note{text-align:center;font-size:13px!important;color:#77655f;margin:15px 0 22px!important}
.pp58-health-note{border:1px solid #e8c9c3;background:linear-gradient(90deg,#fff8f5,#fffdfa);padding:20px 32px;text-align:center;border-radius:5px}
.pp58-health-note h3{margin:0 0 5px;font-size:20px;font-weight:500;letter-spacing:.055em}.pp58-health-note p{margin:0!important;font-size:14px!important;color:#68544d}

/* Purpose */
.pp58-purpose-list{list-style:none;counter-reset:purpose;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:62px;row-gap:0}
.pp58-purpose-list li{counter-increment:purpose;position:relative;padding:12px 8px 12px 42px;border-bottom:1px solid #efdfda;font-size:15px;line-height:1.55}
.pp58-purpose-list li::before{content:counter(purpose);position:absolute;left:4px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#cc6876;color:#fff;font-family:Georgia,serif;font-size:12px;line-height:1}

/* Governance and generic cards */
.pp58-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pp58-three-grid>article,.pp58-two-grid>article{border:1px solid #ead9d3;background:#fff;padding:26px 28px;border-radius:5px;min-width:0}
.pp58-card-icon{display:inline-grid;place-items:center;color:#ce7681;width:31px;height:31px;margin-bottom:10px}.pp58-card-icon .ypr-icon{width:28px;height:28px}
.pp58-three-grid h3,.pp58-two-grid h3{font-size:20px;line-height:1.65;letter-spacing:.055em;font-weight:500;margin:0 0 12px;color:#4d3731}.pp58-three-grid p,.pp58-two-grid p{font-size:14px!important;color:#67534c;margin:0 0 9px!important}.pp58-three-grid ul,.pp58-two-grid ul{padding:0;margin:9px 0 0;list-style:none}.pp58-three-grid li,.pp58-two-grid li{font-size:13px;line-height:1.7;padding-left:13px;position:relative}.pp58-three-grid li::before,.pp58-two-grid li::before{content:"•";position:absolute;left:0;color:#cc6675}
.pp58-two-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:16px}
.pp58-outsourcing .pp58-eyebrow,.pp58-cookie-analysis .pp58-eyebrow,.pp58-rights .pp58-eyebrow,.pp58-other .pp58-eyebrow{font-size:10px!important;margin-bottom:6px!important}
.pp58-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.pp58-service-grid>div{min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:8px 5px;border-left:1px solid #f0e2dd}.pp58-service-grid>div:first-child{border-left:0}
.pp58-service-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:7px;border-radius:9px;font-family:var(--sans)!important;font-weight:800;font-size:25px}.pp58-service-icon .ypr-icon{width:27px;height:27px}
.pp58-line-service{background:#33c255;color:#fff}.pp58-line-service .ypr-icon svg{fill:currentColor;stroke:none}.pp58-hpb-service{background:#bd5470;color:#fff}.pp58-map-service{color:#d45a6b;background:#fff1ef;border:1px solid #efcac4}.pp58-ga-service{color:#e4941b;background:#fff7e9;border:1px solid #f0ddb6}
.pp58-service-grid strong{font-size:13px;line-height:1.4;margin-bottom:4px}.pp58-service-grid small{font-family:var(--sans);font-size:10px;line-height:1.5;color:#75635d}

/* Cookies / analytics */
.pp58-cookie-analysis .pp58-two-grid{grid-template-columns:1fr 1fr}.pp58-alert{margin-top:15px;border:1px solid #eccac3;background:#fff3ef;color:#b65b68;padding:13px 15px;font-size:13px;line-height:1.75}

/* Rights */
.pp58-rights .pp58-two-grid{grid-template-columns:1.15fr 1fr}.pp58-rights-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin-top:13px!important}.pp58-rights-list li{font-size:14px!important}.pp58-rights .pp58-small-note{text-align:left;margin:11px 0 16px!important}
.pp58-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:10px 24px;border-radius:3px;font-size:14px;font-weight:700;letter-spacing:.045em;white-space:nowrap;transition:.2s}.pp58-btn .ypr-icon{width:15px;height:15px}.pp58-btn:hover{transform:translateY(-1px)}
.pp58-btn-rose{background:linear-gradient(90deg,#c75f72,#bb5266);color:#fff;box-shadow:0 5px 14px rgba(174,74,94,.12)}.pp58-btn-outline{border:1px solid #ca7a86;background:#fff;color:#b95365}

/* Other */
.pp58-other-grid>article{min-height:205px}.pp58-other-grid h3{font-size:18px}.pp58-other-grid p{font-size:13.5px!important}

/* Contact */
.pp58-contact{padding-top:68px;padding-bottom:52px;background:#fff}.pp58-contact .pp58-heading{margin-bottom:27px}
.pp58-contact-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:17px;align-items:stretch}
.pp58-contact-table{border:1px solid #ead8d2;background:#fff;border-radius:4px;overflow:hidden}
.pp58-contact-table>div{display:grid;grid-template-columns:145px minmax(0,1fr);border-bottom:1px solid #ead8d2}.pp58-contact-table>div:last-child{border-bottom:0}.pp58-contact-table strong{background:#fff9f6;padding:13px 16px;font-size:13px}.pp58-contact-table span{padding:13px 18px;font-size:13px;border-left:1px solid #ead8d2;line-height:1.7}
.pp58-contact-card{border:1px solid #ead8d2;background:#fffaf8;padding:22px 24px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;border-radius:4px}.pp58-contact-card p{font-size:13px!important;margin:0 0 15px!important}.pp58-contact-card .pp58-btn{width:100%}.pp58-contact-card small{font-size:11px;color:#7a6861;margin-top:10px;text-align:center}

/* Policy date */
.pp58-policy-info{padding-top:35px;padding-bottom:58px}.pp58-policy-info .pp58-heading{margin-bottom:18px}.pp58-policy-info .pp58-heading h2{font-size:26px}
.pp58-date-box{max-width:710px;margin:auto;display:flex;align-items:center;justify-content:center;gap:28px;border:1px solid #ead7d1;background:#fff9f7;min-height:60px;padding:12px 24px;border-radius:5px}.pp58-date-box span{font-size:14px}.pp58-date-box i{width:1px;height:22px;background:#d7b3ac}

/* Final */
.pp58-final{position:relative;overflow:hidden;padding:68px 0 62px;background:linear-gradient(90deg,#fff5f2,#fffaf8 50%,#fff4f1);border-top:1px solid #ecd8d2}.pp58-final::before,.pp58-final::after{content:"✿";position:absolute;color:rgba(202,112,124,.19);font-size:150px;line-height:1;top:50%;transform:translateY(-50%);font-family:Georgia,serif}.pp58-final::before{left:2%}.pp58-final::after{right:2%;transform:translateY(-50%) scaleX(-1)}
.pp58-final-inner{position:relative;z-index:2;text-align:center;max-width:860px}.pp58-final h2{font-size:clamp(27px,2.4vw,38px);font-weight:500;letter-spacing:.07em;line-height:1.55;margin:0 0 12px}.pp58-final p:not(.pp58-eyebrow){font-size:14px!important;max-width:760px;margin:0 auto 24px!important;color:#68544d}.pp58-final-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.pp58-final-actions .pp58-btn{min-width:250px}

/* Desktop width safeguards */
body.is-privacy-policy-page{overflow-x:hidden}.is-privacy-policy-page .site-main{max-width:100%;overflow:hidden}

@media(max-width:1100px){
  .pp58-hero-inner{grid-template-columns:50% 50%;min-height:500px}.pp58-hero-copy{padding-left:32px;padding-right:32px}.pp58-hero-media{min-height:500px}
  .pp58-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp58-info-grid article{min-height:0}
  .pp58-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp58-service-grid>div:nth-child(3){border-left:0}.pp58-service-grid>div{min-height:118px}
}

@media(max-width:900px){
  .pp58-section{padding:62px 0;scroll-margin-top:82px}.pp58-container{width:min(100% - 36px,1180px)}
  .pp58-hero-inner{grid-template-columns:1fr}.pp58-hero-copy{grid-row:2;padding:44px 28px 50px;width:min(100%,760px);margin:auto}.pp58-hero-media{grid-row:1;min-height:auto;aspect-ratio:16/9}.pp58-hero-media img{aspect-ratio:16/9;object-fit:cover}
  .pp58-toc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp58-purpose-list{grid-template-columns:1fr;column-gap:0}
  .pp58-three-grid{grid-template-columns:1fr}.pp58-two-grid,.pp58-cookie-analysis .pp58-two-grid,.pp58-rights .pp58-two-grid{grid-template-columns:1fr}
  .pp58-other-grid>article{min-height:0}.pp58-contact-grid{grid-template-columns:1fr}
  .pp58-final::before,.pp58-final::after{font-size:100px;opacity:.65}
}

@media(max-width:640px){
  .pp58-container{width:min(100% - 28px,1180px)}.pp58-section{padding:48px 0}.pp58-heading{margin-bottom:27px}.pp58-heading h2{font-size:25px;line-height:1.65;letter-spacing:.055em}.pp58-eyebrow{font-size:10px!important}
  .privacy-policy-page-v58 p,.privacy-policy-page-v58 li{font-size:15px;line-height:1.85}
  .pp58-hero-copy{padding:34px 18px 40px}.pp58-hero-copy h1{font-size:34px;margin-bottom:16px}.pp58-hero-lead{font-size:21px!important;line-height:1.65!important}.pp58-hero-text{font-size:14px!important}.pp58-hero-summary{font-size:13px!important}.pp58-hero-note{grid-template-columns:42px 1fr;padding:14px 13px;gap:11px}.pp58-note-icon{width:38px;height:38px}.pp58-hero-note p{font-size:12px!important}
  .pp58-toc{padding-top:35px;padding-bottom:42px}.pp58-toc .pp58-heading h2{font-size:24px}.pp58-toc-grid{gap:8px}.pp58-toc-grid a{grid-template-columns:22px minmax(0,1fr) 13px;min-height:52px;padding:9px 10px;font-size:12px;gap:5px}.pp58-toc-grid a span .ypr-icon{width:18px;height:18px}
  .pp58-policy p{font-size:14px!important}.pp58-emphasis{font-size:16px!important;line-height:1.8!important}
  .pp58-info-grid{grid-template-columns:1fr;gap:9px}.pp58-info-grid article{padding:20px 19px}.pp58-info-grid h3{text-align:left;font-size:16px;margin-bottom:10px}.pp58-info-grid li{font-size:13px}.pp58-health-note{padding:17px 15px}.pp58-health-note h3{font-size:18px}.pp58-health-note p{font-size:13px!important}
  .pp58-purpose-list li{font-size:13px;padding-left:38px;padding-top:10px;padding-bottom:10px}.pp58-purpose-list li::before{top:10px;width:22px;height:22px;font-size:11px}
  .pp58-three-grid>article,.pp58-two-grid>article{padding:21px 18px}.pp58-three-grid h3,.pp58-two-grid h3{font-size:18px}.pp58-three-grid p,.pp58-two-grid p{font-size:13px!important}.pp58-three-grid li,.pp58-two-grid li{font-size:12.5px}
  .pp58-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.pp58-service-grid>div{min-height:115px;border-bottom:1px solid #f0e2dd}.pp58-service-grid>div:nth-child(odd){border-left:0}.pp58-service-grid strong{font-size:12px}.pp58-service-grid small{font-size:9px}
  .pp58-rights-list{grid-template-columns:1fr}.pp58-btn{width:100%;white-space:normal;text-align:center;font-size:13px;line-height:1.5;min-height:48px}
  .pp58-contact-table>div{grid-template-columns:105px minmax(0,1fr)}.pp58-contact-table strong,.pp58-contact-table span{padding:11px 10px;font-size:11px}.pp58-contact-card{padding:19px 16px}
  .pp58-policy-info{padding-top:27px;padding-bottom:44px}.pp58-policy-info .pp58-heading h2{font-size:22px}.pp58-date-box{gap:12px;padding:11px 12px;flex-direction:column;min-height:auto}.pp58-date-box i{width:60px;height:1px}.pp58-date-box span{font-size:12px}
  .pp58-final{padding:50px 0}.pp58-final h2{font-size:24px}.pp58-final p:not(.pp58-eyebrow){font-size:13px!important}.pp58-final-actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px}.pp58-final-actions .pp58-btn{min-width:0}.pp58-final::before,.pp58-final::after{font-size:70px;top:20%;opacity:.45}
}
/* 5.9.0 Legal Notice */
.legal-notice-page-v59 .pp58-hero-inner{min-height:510px}.legal59-hero-points{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 20px}.legal59-hero-points span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:8px;border:1px solid #ead6cf;background:rgba(255,255,255,.88);font-size:12px;line-height:1.5;text-align:center;color:#644c46}.legal59-actions{display:flex;gap:14px;flex-wrap:wrap}.legal59-actions .pp58-btn{min-width:210px}.legal59-table-wrap{overflow:hidden;border:1px solid #ead8d1;border-radius:5px;background:#fff}.legal59-table{width:100%;border-collapse:collapse;font-size:14px}.legal59-table th,.legal59-table td{padding:15px 18px;border-bottom:1px solid #ead8d1;border-right:1px solid #ead8d1;vertical-align:top}.legal59-table th{width:16%;background:#fbf4f0;color:#4d3832;font-weight:600;text-align:left}.legal59-table td{width:34%;color:#66514b}.legal59-table tr:last-child th,.legal59-table tr:last-child td{border-bottom:0}.legal59-table tr>*:last-child{border-right:0}.legal59-payment-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #ead8d1;border-radius:5px;overflow:hidden;background:#fff}.legal59-payment-grid div{min-height:92px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;border-right:1px solid #ead8d1;font-weight:600;color:#5b443e}.legal59-payment-grid div:last-child{border-right:0}.legal59-two article{padding:26px;border:1px solid #ead8d1;background:#fff;border-radius:5px}.legal59-two article h2{font-size:28px;margin:0 0 16px;text-align:center}.legal59-two article p{font-size:15px;line-height:1.9}.legal59-longterm{background:linear-gradient(180deg,#fff,#fff9f6)}.legal59-center{text-align:center;margin-top:24px}.legal59-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.legal59-related-grid a{padding:18px 16px;border:1px solid #e7cfc8;border-radius:4px;background:#fff;color:#684f48;text-align:center;text-decoration:none}.legal59-line{background:#2DBE60!important;color:#fff!important;border-color:#2DBE60!important}.legal-notice-page-v59 .pp58-policy-dates{text-align:center;margin:26px 0 0!important;padding:15px;border:1px solid #ead8d1;border-radius:4px;background:#fff;font-size:13px!important}
@media(max-width:980px){.legal59-hero-points{grid-template-columns:repeat(3,1fr)}.legal59-payment-grid{grid-template-columns:repeat(3,1fr)}.legal59-payment-grid div{border-bottom:1px solid #ead8d1}.legal59-related-grid{grid-template-columns:repeat(2,1fr)}.legal59-table th{width:24%}.legal59-table td{width:26%}}
@media(max-width:700px){.legal59-hero-points{grid-template-columns:repeat(2,1fr)}.legal59-actions{flex-direction:column}.legal59-actions .pp58-btn{width:100%;min-width:0}.legal59-table,.legal59-table tbody,.legal59-table tr,.legal59-table th,.legal59-table td{display:block;width:100%}.legal59-table tr{border-bottom:1px solid #ead8d1}.legal59-table th{padding:10px 14px;border-right:0;border-bottom:0}.legal59-table td{padding:12px 14px;border-right:0}.legal59-payment-grid{grid-template-columns:repeat(2,1fr)}.legal59-payment-grid div:nth-child(2n){border-right:0}.legal59-two article h2{font-size:24px}.legal59-related-grid{grid-template-columns:1fr 1fr}}


/* ==========================================================================
   6.0.0 Sitemap page
   ========================================================================== */
.sitemap-page-v60{
  background:#fff;
  color:var(--brown);
  overflow-x:clip;
}
.sitemap60-container{
  width:min(calc(100% - 48px),1180px);
  margin-inline:auto;
}
.sitemap60-center{text-align:center}
.sitemap60-eyebrow{
  margin:0 0 10px;
  color:var(--pink-gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:calc(11px + 2pt);
  font-weight:700;
  letter-spacing:.15em;
  line-height:1.4;
  text-transform:uppercase;
}
.sitemap60-hero{
  width:100%;
  background:linear-gradient(100deg,#fffaf6 0%,#fff 48%,#f7f0ea 100%);
  border-bottom:1px solid rgba(234,215,208,.75);
  overflow:hidden;
}
.sitemap60-hero-inner{
  min-height:445px;
  display:grid;
  grid-template-columns:minmax(0,52%) minmax(0,48%);
  align-items:stretch;
}
.sitemap60-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 48px 50px max(48px,calc((100vw - 1180px)/2));
}
.sitemap60-hero-copy h1{
  margin:0 0 22px;
  font-family:var(--serif);
  font-size:clamp(calc(40px + 2pt),4vw,calc(58px + 2pt));
  line-height:1.25;
  letter-spacing:.08em;
  font-weight:500;
  color:#4b2d25;
}
.sitemap60-lead{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(calc(18px + 2pt),1.55vw,calc(23px + 2pt));
  line-height:1.85;
  letter-spacing:.035em;
  color:#5a3a31;
}
.sitemap60-summary{
  max-width:640px;
  margin:18px 0 0;
  color:#7a635c;
  font-size:calc(13px + 2pt);
  line-height:1.9;
}
.sitemap60-hero-media{
  min-width:0;
  min-height:445px;
  overflow:hidden;
}
.sitemap60-hero-media picture,
.sitemap60-hero-media img{
  width:100%;
  height:100%;
}
.sitemap60-hero-image{
  object-fit:cover;
  object-position:center;
}
.sitemap60-directory{
  padding:68px 0 72px;
  background:#fff;
}
.sitemap60-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:52px 84px;
  align-items:start;
}
.sitemap60-group{min-width:0}
.sitemap60-group-head{
  margin:0 0 22px;
  text-align:center;
}
.sitemap60-group-head h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(calc(22px + 2pt),2vw,calc(29px + 2pt));
  line-height:1.5;
  letter-spacing:.07em;
  font-weight:500;
  color:#4e3028;
}
.sitemap60-links{
  border-top:1px solid transparent;
}
.sitemap60-link{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  min-height:58px;
  padding:13px 19px;
  border:1px solid #ecdcd6;
  background:rgba(255,255,255,.96);
  color:#64483f;
  transition:background-color .2s,border-color .2s,color .2s;
}
.sitemap60-link + .sitemap60-link{margin-top:-1px}
a.sitemap60-link:hover{
  z-index:1;
  color:var(--rose);
  background:#fff8f6;
  border-color:#dea9a0;
}
.sitemap60-url{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-family:var(--sans);
  font-size:calc(13px + 2pt);
  line-height:1.55;
  letter-spacing:.005em;
}
.sitemap60-arrow{
  display:block;
  margin-left:16px;
  color:#e27b79;
  font-family:Arial,sans-serif;
  font-size:calc(23px + 2pt);
  font-weight:300;
  line-height:1;
  transition:transform .2s;
}
a.sitemap60-link:hover .sitemap60-arrow{transform:translateX(4px)}
.sitemap60-link.is-current{
  grid-template-columns:minmax(0,1fr) auto auto;
  color:#7b6159;
  background:#fffdfa;
  cursor:default;
}
.sitemap60-current{
  margin-left:14px;
  color:#d27f78;
  font-family:Georgia,"Times New Roman",serif;
  font-size:calc(8px + 2pt);
  font-weight:700;
  letter-spacing:.12em;
}
.sitemap60-help,
.sitemap60-cta{
  position:relative;
  overflow:hidden;
}
.sitemap60-help{
  padding:48px 0 50px;
  background:linear-gradient(180deg,#fffaf8 0%,#fffdfc 100%);
  border-top:1px solid rgba(234,215,208,.68);
  border-bottom:1px solid rgba(234,215,208,.72);
}
.sitemap60-cta{
  padding:46px 0 50px;
  background:
    radial-gradient(circle at 50% 10%,rgba(255,255,255,.8),transparent 44%),
    linear-gradient(90deg,#fff4f1 0%,#f9e5df 52%,#fff5f2 100%);
}
.sitemap60-help h2,
.sitemap60-cta h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(calc(25px + 2pt),2.5vw,calc(37px + 2pt));
  line-height:1.55;
  letter-spacing:.06em;
  font-weight:500;
  color:#4b2d25;
}
.sitemap60-help p:not(.sitemap60-eyebrow){
  max-width:820px;
  margin:14px auto 0;
  color:#725a53;
  font-size:calc(13px + 2pt);
  line-height:1.85;
}
.sitemap60-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
  margin-top:26px;
}
.sitemap60-actions-three{gap:20px}
.sitemap60-btn{
  min-width:280px;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 25px;
  border:1px solid #dc7d80;
  border-radius:999px;
  font-family:var(--serif);
  font-size:calc(14px + 2pt);
  font-weight:600;
  line-height:1.25;
  white-space:nowrap;
  transition:transform .18s,box-shadow .18s,background .18s,color .18s;
}
.sitemap60-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(105,64,52,.08);
}
.sitemap60-btn-line{
  border-color:#2ebd59;
  background:linear-gradient(90deg,#38bd54,#53c967);
  color:#fff;
}
.sitemap60-btn-line .ypr-icon{width:20px;height:20px}
.sitemap60-btn-line .ypr-icon svg{fill:currentColor;stroke:none}
.sitemap60-btn-rose{
  border-color:#cf6d75;
  background:linear-gradient(90deg,#d98589,#cd6a75);
  color:#fff;
}
.sitemap60-btn-outline{
  background:rgba(255,255,255,.75);
  color:#bf5c68;
}
.sitemap60-rose{
  position:absolute;
  z-index:0;
  color:#e7b3aa;
  opacity:.55;
  pointer-events:none;
}
.sitemap60-rose .ypr-icon{
  width:118px;
  height:118px;
}
.sitemap60-rose-left{left:22px;bottom:-6px;transform:rotate(-17deg)}
.sitemap60-rose-right{right:22px;bottom:-6px;transform:scaleX(-1) rotate(-17deg)}
.sitemap60-help .sitemap60-container,
.sitemap60-cta .sitemap60-container{
  position:relative;
  z-index:1;
}
.sitemap60-cta .sitemap60-eyebrow{margin-bottom:12px}

@media (max-width: 1100px){
  .sitemap60-hero-copy{
    padding-left:32px;
    padding-right:32px;
  }
  .sitemap60-grid{gap:44px 42px}
  .sitemap60-btn{min-width:235px}
}
@media (max-width: 820px){
  .sitemap60-container{width:min(calc(100% - 36px),1180px)}
  .sitemap60-hero-inner{
    min-height:0;
    grid-template-columns:1fr;
  }
  .sitemap60-hero-copy{
    min-height:330px;
    padding:46px 24px 42px;
  }
  .sitemap60-hero-media{
    min-height:0;
    aspect-ratio:16/9;
  }
  .sitemap60-hero-media picture,
  .sitemap60-hero-media img{height:100%}
  .sitemap60-summary{max-width:100%}
  .sitemap60-directory{padding:52px 0 58px}
  .sitemap60-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .sitemap60-group-head{margin-bottom:18px}
  .sitemap60-link{
    min-height:56px;
    padding:12px 15px;
  }
  .sitemap60-url{font-size:calc(12px + 2pt)}
  .sitemap60-help,
  .sitemap60-cta{padding:42px 0 44px}
  .sitemap60-actions,
  .sitemap60-actions-three{
    width:min(100%,520px);
    margin-inline:auto;
    display:grid;
    grid-template-columns:1fr;
  }
  .sitemap60-btn{
    width:100%;
    min-width:0;
    min-height:52px;
  }
  .sitemap60-rose{opacity:.35}
  .sitemap60-rose .ypr-icon{width:92px;height:92px}
}
@media (max-width: 520px){
  .sitemap60-container{width:calc(100% - 32px)}
  .sitemap60-hero-copy{min-height:300px;padding:38px 20px 36px}
  .sitemap60-hero-copy h1{
    margin-bottom:17px;
    font-size:calc(36px + 2pt);
    letter-spacing:.06em;
  }
  .sitemap60-lead{
    font-size:calc(17px + 2pt);
    line-height:1.75;
  }
  .sitemap60-summary{
    margin-top:14px;
    font-size:calc(12px + 2pt);
    line-height:1.8;
  }
  .sitemap60-directory{padding:44px 0 50px}
  .sitemap60-grid{gap:36px}
  .sitemap60-group-head h3{font-size:calc(22px + 2pt)}
  .sitemap60-link{
    grid-template-columns:minmax(0,1fr) 20px;
    padding:11px 12px;
  }
  .sitemap60-link.is-current{
    grid-template-columns:minmax(0,1fr) auto 20px;
  }
  .sitemap60-current{
    margin-left:8px;
    font-size:calc(7px + 2pt);
  }
  .sitemap60-arrow{margin-left:6px;font-size:calc(20px + 2pt)}
  .sitemap60-help h2,
  .sitemap60-cta h2{
    font-size:calc(24px + 2pt);
    letter-spacing:.035em;
  }
  .sitemap60-rose-left{left:-20px}
  .sitemap60-rose-right{right:-20px}
}

/* =========================================================
   v6.0.2 — HOT PEPPER Beauty予約CTA URL統一
   ========================================================= */
.site-main :where(p,li,dd,dt,figcaption,blockquote,summary){
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:pretty;
  hanging-punctuation:allow-end;
}
.site-main :where(h1,h2,h3,h4,h5,h6){
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:balance;
}
@supports (word-break:auto-phrase){
  .site-main :where(p,li,dd,dt,figcaption,blockquote,summary,h1,h2,h3,h4,h5,h6){
    word-break:auto-phrase;
  }
}
/* URL・コード等、自然な日本語改行を適用できない長文は画面外へ出さない */
.site-main :where(.sitemap60-url,pre,code,kbd,samp){
  word-break:break-word;
  overflow-wrap:anywhere;
  text-wrap:wrap;
}
/* 狭いカード内では字間をわずかに詰め、末尾1文字だけの孤立を起こしにくくする */
@media (min-width:681px) and (max-width:1180px){
  .site-main :where(
    .reason-card,.method-card,.fd46-feature-list li,.rs51-hero-features li,
    .fq53-assurance-grid>div,.rv56-assurance>div,.cp57-assurance>div,
    .ac55-assurance>div,.pp58-card,.sitemap60-link
  ){
    letter-spacing:.015em;
  }
}

/* =========================================================
   v6.0.3 — Unified lower-page hero based on "初めての方へ"
   ========================================================= */
.ypr-first-style-page-hero{
  width:100%;
  max-width:none;
  min-height:470px;
  margin:0;
  border:0;
  border-radius:0;
  overflow:hidden;
}
.ypr-first-style-page-hero .first-hero-media,
.ypr-first-style-page-hero .first-hero-media picture,
.ypr-first-style-page-hero .first-hero-media img{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
}
.ypr-first-style-page-hero .first-hero-media img{
  object-fit:cover;
  object-position:var(--ypr-first-hero-position,center 41%);
}
.ypr-first-style-page-hero .first-hero-overlay{
  background:linear-gradient(90deg,rgba(55,30,22,.76) 0%,rgba(55,30,22,.52) 34%,rgba(55,30,22,.11) 63%,rgba(255,255,255,0) 100%);
}
.ypr-first-style-page-hero .first-hero-content{
  width:min(1180px,calc(100% - 48px));
  padding-bottom:68px;
}
.ypr-first-style-page-hero .first-en{
  max-width:min(1020px,88vw);
  margin:0 0 12px;
  font-size:clamp(calc(32px + 2pt),4.7vw,calc(68px + 2pt));
  line-height:1.08;
  letter-spacing:.055em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:keep-all;
}
.ypr-first-style-page-hero h1{
  max-width:min(860px,88vw);
  margin:0;
  font-size:clamp(calc(13px + 2pt),1.15vw,calc(17px + 2pt));
  line-height:1.7;
  letter-spacing:.16em;
  color:#fff;
  text-wrap:balance;
  word-break:keep-all;
}
/* Lower-page headers should begin immediately with the same full-bleed visual language. */
.about-page>.about-breadcrumb,
.luluonn-page>.lu43-breadcrumb,
.menu-page>.mn45-breadcrumb,
.owner-page>.ow44-breadcrumb,
.rose-blog-page>.rose-blog-breadcrumbs,
.rose-blog-archive>.rose-blog-breadcrumbs{
  position:relative;
  z-index:3;
}
@media(max-width:800px){
  .ypr-first-style-page-hero{min-height:420px}
  .ypr-first-style-page-hero .first-hero-overlay{background:linear-gradient(90deg,rgba(55,30,22,.76) 0%,rgba(55,30,22,.38) 58%,rgba(55,30,22,.10) 100%)}
  .ypr-first-style-page-hero .first-en{max-width:92vw;font-size:clamp(calc(29px + 2pt),7vw,calc(46px + 2pt))}
  .ypr-first-style-page-hero h1{max-width:88vw;font-size:calc(13px + 2pt)}
}
@media(max-width:560px){
  .ypr-first-style-page-hero{min-height:390px}
  .ypr-first-style-page-hero .first-hero-content{width:calc(100% - 36px);padding-bottom:39px}
  .ypr-first-style-page-hero .first-en{max-width:100%;font-size:clamp(calc(26px + 2pt),9.4vw,calc(39px + 2pt));line-height:1.12;letter-spacing:.035em;word-break:normal;overflow-wrap:anywhere}
  .ypr-first-style-page-hero h1{max-width:100%;font-size:calc(12px + 2pt);line-height:1.65;letter-spacing:.12em;word-break:normal}
}

/* =========================================================
   v6.0.4 — sticky header vertical-fit correction
   ========================================================= */
/*
 * Desktop menu labels previously inherited the page-wide 1.95 line-height
 * while also carrying large vertical padding. Their rendered box could become
 * slightly taller than the sticky header itself, so the top edge appeared
 * clipped after the header reached the viewport top. Keep every desktop
 * navigation item inside the actual header height instead of sizing it from
 * text line-height + padding.
 */
@media (min-width:1361px){
  .site-header,
  .header-inner,
  .desktop-nav,
  .primary-menu,
  .primary-menu > li{
    min-height:0;
  }
  .header-inner,
  .desktop-nav,
  .primary-menu,
  .primary-menu > li{
    height:100%;
  }
  .desktop-nav,
  .primary-menu{
    align-items:stretch;
  }
  .primary-menu > li{
    display:flex;
    align-items:stretch;
  }
  .primary-menu > li > a{
    display:flex;
    height:100%;
    padding-top:0;
    padding-bottom:0;
    align-items:center;
    justify-content:center;
    line-height:1.35;
  }
  .primary-menu > li > a::after{
    bottom:14px;
  }
  .primary-menu .sub-menu{
    top:100%;
  }
}

/* Keep the sticky header below WordPress' admin toolbar when logged in. */
body.admin-bar .site-header{top:32px}
@media (max-width:782px){
  body.admin-bar .site-header{top:46px}
}

/* =========================================================
   v6.0.8 — homepage hero luxury-brand final refinement
   Scope: homepage hero only
   ========================================================= */
.rose-home .hero-copy{
  width:min(650px,46vw);
  padding:58px 48px 52px;
  transform:translateY(-8px);
  border:1px solid rgba(202,167,155,.14);
  border-radius:9px;
  background:rgba(250,246,242,.58);
  box-shadow:0 12px 38px rgba(78,47,36,.028);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.rose-home .hero-copy h1{
  max-width:100%;
  margin:0 0 38px;
  color:#44291f;
  font-family:var(--serif);
  font-size:clamp(40px,3.25vw,52px);
  font-weight:500;
  line-height:1.52;
  letter-spacing:.072em;
  text-align:left;
  text-wrap:nowrap;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
.rose-home .hero-features{
  width:100%;
  max-width:none;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:0 0 28px;
}
.rose-home .hero-features li{
  min-height:76px;
  padding:10px 7px;
  background:rgba(248,243,239,.50);
  border-color:rgba(205,174,162,.20);
  border-radius:7px;
  box-shadow:none;
  font-weight:600;
}
.rose-home .hero-features .ypr-icon{
  color:#c57969;
  font-size:22px;
  stroke-width:1.8;
}
.rose-home .hero-booking,
.rose-home .booking-buttons{
  width:100%;
  max-width:none;
}

@media(max-width:1180px){
  .rose-home .hero-copy{
    width:min(640px,48vw);
    padding:52px 42px 47px;
  }
  .rose-home .hero-copy h1{
    font-size:clamp(38px,3.65vw,48px);
    letter-spacing:.065em;
  }
}

@media(max-width:980px){
  .rose-home .hero-copy{
    width:min(700px,calc(100% - 48px));
    margin:0 auto 38px;
    padding:46px 40px 42px;
    transform:none;
    background:rgba(250,246,242,.74);
    border-color:rgba(202,167,155,.13);
    box-shadow:0 10px 32px rgba(78,47,36,.024);
  }
  .rose-home .hero-copy h1{
    margin-bottom:32px;
    font-size:clamp(35px,4.7vw,44px);
    line-height:1.48;
    text-align:left;
  }
  .rose-home .hero-features{
    margin-bottom:24px;
  }
}

@media(max-width:640px){
  .rose-home .hero-copy{
    width:calc(100% - 28px);
    margin:0 auto 20px;
    padding:31px 18px 30px;
    border-radius:8px;
    background:rgba(250,246,242,.80);
    border-color:rgba(202,167,155,.12);
    box-shadow:0 8px 24px rgba(78,47,36,.02);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .rose-home .hero-copy h1{
    margin-bottom:25px;
    font-size:clamp(23.5px,7.5vw,32px);
    line-height:1.50;
    letter-spacing:.035em;
    text-align:left;
    text-wrap:nowrap;
    white-space:nowrap;
  }
  .rose-home .hero-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-bottom:20px;
  }
  .rose-home .hero-features li{
    min-height:68px;
    padding:9px 6px;
    background:rgba(248,243,239,.56);
    border-color:rgba(205,174,162,.18);
  }
  .rose-home .hero-features .ypr-icon{
    font-size:20px;
  }
  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:54px;
    white-space:nowrap;
    font-size:clamp(12.5px,3.8vw,15px);
  }
  .rose-home .hero-booking .btn span,
  .rose-home .booking-buttons .btn span{
    white-space:nowrap;
  }
}

@media(max-width:360px){
  .rose-home .hero-copy{
    width:calc(100% - 20px);
    padding-inline:15px;
  }
  .rose-home .hero-copy h1{
    font-size:23px;
    letter-spacing:.025em;
  }
}


/* ==========================================================
   6.0.9 — Homepage concerns section: empathy-first refinement
   Scope: "こんなお悩みはありませんか？" only
   ========================================================== */
.rose-home .concerns-section{
  padding-top:56px;
  padding-bottom:58px;
  background:linear-gradient(180deg,#fcfaf7 0%,#faf6f2 100%);
}
.rose-home .concerns-section .section-inner.wide{
  max-width:1180px;
}
.rose-home .concerns-section .section-title.small{
  margin-bottom:38px;
  color:#4b332b;
  letter-spacing:.055em;
}
.rose-home .concerns-section .section-title.small::after{
  width:48px;
  margin-top:14px;
  opacity:.62;
  background:linear-gradient(90deg,transparent,#d9b7a8,transparent);
}
.rose-home .concern-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:18px;
  align-items:stretch;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.rose-home .concern-item{
  position:relative;
  display:grid;
  grid-template-columns:94px minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-width:0;
  min-height:190px;
  height:100%;
  padding:24px 22px;
  background:rgba(255,252,248,.82);
  border:1px solid rgba(222,201,192,.52);
  border-radius:11px;
  box-shadow:0 9px 28px rgba(85,57,45,.025);
}
.rose-home .concern-photo{
  position:relative;
  width:94px;
  height:94px;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:50%;
  background:#f3ebe6;
  align-self:center;
}
.rose-home .concern-photo picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.rose-home .concern-photo picture img,
.rose-home .concern-photo img{
  position:absolute;
  left:0;
  top:50%;
  width:142%;
  max-width:none;
  height:142%;
  aspect-ratio:1;
  object-fit:cover;
  object-position:left center;
  border-radius:0;
  transform:translate(-2%,-50%);
  filter:saturate(.88) brightness(1.035) contrast(.96);
}
.rose-home .concern-text{
  min-width:0;
  align-self:center;
}
.rose-home .concern-text h3{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:clamp(17px,1.25vw,19px);
  line-height:1.7;
  letter-spacing:.025em;
  font-weight:500;
  color:#4b332b;
  text-wrap:balance;
  word-break:keep-all;
}
.rose-home .concern-text p{
  margin:0;
  color:#756159;
  font-size:14px;
  line-height:1.9;
  letter-spacing:.01em;
  text-wrap:pretty;
  word-break:normal;
  line-break:strict;
}
.rose-home .concern-check{
  display:none!important;
}
.rose-home .concern-message{
  margin-top:28px;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr) auto;
  align-items:center;
  gap:34px;
  padding:24px 28px;
  border:1px solid rgba(226,199,190,.48);
  border-radius:10px;
  background:rgba(255,250,247,.66);
  box-shadow:none;
}
.rose-home .concern-message::before,
.rose-home .concern-message::after{
  display:none;
}
.rose-home .concern-message strong{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(19px,1.6vw,23px);
  line-height:1.72;
  letter-spacing:.035em;
  font-weight:500;
  color:#563b32;
  text-align:left;
  word-break:keep-all;
}
.rose-home .concern-message span{
  color:#806b63;
  font-size:13.5px;
  line-height:1.9;
  letter-spacing:.01em;
}
.rose-home .concern-message>a{
  min-height:44px;
  padding:9px 19px;
  border-color:rgba(199,94,113,.62);
  border-radius:999px;
  background:rgba(255,255,255,.64);
  color:#b84b61;
  box-shadow:none;
  font-size:13px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.rose-home .concern-message>a:hover{
  transform:translateY(-1px);
  background:#fff;
  border-color:#c96b7c;
  color:#a93d54;
}

@media(max-width:980px){
  .rose-home .concerns-section{
    padding-top:52px;
    padding-bottom:54px;
  }
  .rose-home .concern-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .rose-home .concern-item{
    grid-template-columns:90px minmax(0,1fr);
    min-height:184px;
    padding:22px 20px;
  }
  .rose-home .concern-photo{
    width:90px;
    height:90px;
  }
  .rose-home .concern-text h3{font-size:17px}
  .rose-home .concern-text p{font-size:13.5px}
  .rose-home .concern-message{
    grid-template-columns:1fr;
    gap:12px;
    padding:24px;
    text-align:left;
  }
  .rose-home .concern-message strong,
  .rose-home .concern-message span{
    text-align:left;
  }
  .rose-home .concern-message>a{
    width:max-content;
    max-width:100%;
    justify-self:start;
  }
}

@media(max-width:640px){
  .rose-home .concerns-section{
    padding-top:45px!important;
    padding-bottom:48px;
  }
  .rose-home .concerns-section .section-title.small{
    margin-bottom:30px;
    font-size:clamp(24px,6.7vw,29px);
    line-height:1.55;
  }
  .rose-home .concern-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .rose-home .concern-item{
    grid-template-columns:82px minmax(0,1fr);
    gap:15px;
    min-height:0;
    padding:19px 17px;
    border-radius:9px;
  }
  .rose-home .concern-photo{
    width:82px;
    height:82px;
  }
  .rose-home .concern-text h3{
    margin-bottom:7px;
    font-size:16px;
    line-height:1.68;
  }
  .rose-home .concern-text p{
    font-size:13px;
    line-height:1.82;
  }
  .rose-home .concern-message{
    margin-top:22px;
    padding:23px 18px;
    gap:12px;
  }
  .rose-home .concern-message strong{
    font-size:19px;
    line-height:1.75;
  }
  .rose-home .concern-message span{
    font-size:13px;
    line-height:1.85;
  }
  .rose-home .concern-message>a{
    width:100%;
    min-height:46px;
    justify-self:stretch;
  }
}

/* ==========================================================
   6.0.10 — Homepage concerns section: title-only cards
   Scope: "こんなお悩みはありませんか？" only
   ========================================================== */
.rose-home .concerns-section .section-title.small{
  text-align:center;
}
.rose-home .concern-item{
  min-height:148px;
}
.rose-home .concern-text{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:94px;
  text-align:center;
}
.rose-home .concern-text h3{
  width:100%;
  margin:0;
  text-align:center;
}
.rose-home .concern-text p{
  display:none!important;
}

@media(max-width:980px){
  .rose-home .concern-item{
    min-height:140px;
  }
  .rose-home .concern-text{
    min-height:90px;
  }
}

@media(max-width:640px){
  .rose-home .concern-item{
    min-height:118px;
  }
  .rose-home .concern-text{
    min-height:82px;
  }
  .rose-home .concern-text h3{
    margin:0;
    text-align:center;
  }
}

/* ==========================================================
   6.0.11 — Homepage comfort + owner separation
   Scope: split the mixed OWNER/reasons block into two semantic sections.
   ========================================================== */
.rose-home .comfort-section{
  position:relative;
  padding-top:88px;
  padding-bottom:92px;
  background:#fffdf9;
  border-top:1px solid rgba(230,216,208,.46);
}
.rose-home .comfort-inner{
  max-width:1120px;
}
.rose-home .comfort-heading{
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.rose-home .comfort-heading .eyebrow{
  margin-bottom:12px;
  text-align:center;
  color:#b9957d;
  font-size:12px;
  letter-spacing:.19em;
}
.rose-home .comfort-heading h2{
  margin:0;
  font-family:var(--serif);
  color:#4b332b;
  font-size:clamp(29px,2.55vw,38px);
  font-weight:500;
  line-height:1.62;
  letter-spacing:.07em;
  text-align:center;
  text-wrap:balance;
}
.rose-home .comfort-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:18px 20px;
}
.rose-home .comfort-card{
  min-width:0;
  min-height:236px;
  padding:31px 25px 25px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  border:1px solid rgba(224,204,196,.52);
  border-radius:9px;
  background:rgba(255,252,248,.68);
  box-shadow:0 8px 26px rgba(77,48,38,.018);
}
.rose-home .comfort-card>.ypr-icon{
  width:35px;
  height:35px;
  margin:1px 0 16px;
  color:#c68488;
  stroke-width:1.55;
}
.rose-home .comfort-card h3{
  width:100%;
  min-height:62px;
  margin:0 0 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--serif);
  color:#4a332c;
  font-size:18px;
  font-weight:500;
  line-height:1.62;
  letter-spacing:.045em;
  text-align:center;
  word-break:keep-all;
}
.rose-home .comfort-card p{
  width:100%;
  margin:0;
  color:#75645d;
  font-size:13.5px;
  line-height:1.9;
  letter-spacing:.01em;
  text-align:center;
  word-break:keep-all;
}
.rose-home .comfort-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:auto;
  padding-top:15px;
  color:#b55768;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.025em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease,transform .2s ease;
}
.rose-home .comfort-link .ypr-icon{
  width:13px;
  height:13px;
}
.rose-home .comfort-link:hover,
.rose-home .comfort-link:focus-visible{
  color:#983d50;
  transform:translateX(2px);
}

.rose-home .owner-section{
  position:relative;
  padding-top:96px;
  padding-bottom:98px;
  background:#f8f1eb;
  border-top:1px solid rgba(229,211,202,.48);
}
.rose-home .owner-section-inner{
  max-width:1120px;
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  grid-template-areas:
    "media heading"
    "media story"
    "media link";
  grid-template-rows:auto auto 1fr;
  column-gap:clamp(48px,6vw,82px);
  align-items:start;
}
.rose-home .owner-section-heading{
  grid-area:heading;
  min-width:0;
  padding-top:12px;
  text-align:left;
}
.rose-home .owner-section-heading .eyebrow{
  margin:0 0 9px;
  color:#b48d74;
  font-size:12px;
  letter-spacing:.2em;
  text-align:left;
}
.rose-home .owner-section-role{
  margin:0 0 20px;
  color:#806b62;
  font-family:var(--serif);
  font-size:14px;
  line-height:1.6;
  letter-spacing:.08em;
}
.rose-home .owner-section-heading h2{
  margin:0;
  color:#493129;
  font-family:var(--serif);
  font-size:clamp(30px,2.8vw,41px);
  font-weight:500;
  line-height:1.7;
  letter-spacing:.065em;
  text-align:left;
  text-wrap:balance;
  word-break:keep-all;
}
.rose-home .owner-section-heading h2 em{
  color:#b65d6b;
  font-style:normal;
  font-weight:500;
}
.rose-home .owner-section-media{
  grid-area:media;
  width:100%;
  min-width:0;
  align-self:stretch;
  overflow:hidden;
  border-radius:8px;
  background:#efe4dc;
}
.rose-home .owner-section-media picture,
.rose-home .owner-section-media img{
  display:block;
  width:100%;
  height:100%;
}
.rose-home .owner-section-media picture{
  min-height:100%;
}
.rose-home .owner-section-media img{
  min-height:420px;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.94) brightness(1.02) contrast(.98);
}
.rose-home .owner-section-story{
  grid-area:story;
  min-width:0;
  margin-top:27px;
  color:#6e5c55;
  font-size:14.5px;
  line-height:2.02;
  letter-spacing:.01em;
}
.rose-home .owner-section-story p{
  margin:0 0 14px;
}
.rose-home .owner-section-story p:last-child{
  margin-bottom:0;
}
.rose-home .owner-section-link{
  grid-area:link;
  width:max-content;
  max-width:100%;
  align-self:end;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:26px;
  padding:8px 0 5px;
  border-bottom:1px solid rgba(181,91,107,.55);
  color:#ad5263;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.rose-home .owner-section-link .ypr-icon{
  width:14px;
  height:14px;
}
.rose-home .owner-section-link:hover,
.rose-home .owner-section-link:focus-visible{
  color:#923d50;
  border-color:#923d50;
  transform:translateX(2px);
}

@media(max-width:980px){
  .rose-home .comfort-section{
    padding-top:76px;
    padding-bottom:80px;
  }
  .rose-home .comfort-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .rose-home .comfort-card{
    min-height:224px;
  }
  .rose-home .owner-section{
    padding-top:82px;
    padding-bottom:84px;
  }
  .rose-home .owner-section-inner{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    column-gap:42px;
  }
  .rose-home .owner-section-media img{
    min-height:390px;
  }
}

@media(max-width:720px){
  .rose-home .comfort-heading{
    margin-bottom:36px;
  }
  .rose-home .comfort-heading h2{
    font-size:clamp(27px,7vw,33px);
    line-height:1.6;
  }
  .rose-home .comfort-card{
    min-height:210px;
    padding:28px 20px 23px;
  }
  .rose-home .comfort-card h3{
    font-size:17px;
  }
  .rose-home .comfort-card p{
    font-size:13px;
  }
  .rose-home .owner-section-inner{
    max-width:680px;
    grid-template-columns:1fr;
    grid-template-areas:
      "heading"
      "media"
      "story"
      "link";
    gap:0;
  }
  .rose-home .owner-section-heading{
    padding-top:0;
  }
  .rose-home .owner-section-heading h2{
    font-size:clamp(29px,7.5vw,36px);
    line-height:1.68;
  }
  .rose-home .owner-section-media{
    margin-top:30px;
  }
  .rose-home .owner-section-media picture,
  .rose-home .owner-section-media img{
    height:auto;
  }
  .rose-home .owner-section-media img{
    min-height:0;
    aspect-ratio:16/9;
    object-position:center center;
  }
  .rose-home .owner-section-story{
    margin-top:27px;
    font-size:14px;
    line-height:2;
  }
  .rose-home .owner-section-link{
    margin-top:22px;
  }
}

@media(max-width:560px){
  .rose-home .comfort-section{
    padding:66px 18px 70px;
  }
  .rose-home .comfort-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .rose-home .comfort-card{
    min-height:0;
    padding:25px 20px 23px;
  }
  .rose-home .comfort-card>.ypr-icon{
    width:32px;
    height:32px;
    margin-bottom:13px;
  }
  .rose-home .comfort-card h3{
    min-height:0;
    margin-bottom:9px;
    font-size:17px;
  }
  .rose-home .comfort-card p{
    font-size:13px;
    line-height:1.85;
  }
  .rose-home .comfort-link{
    margin-top:13px;
    padding-top:0;
  }
  .rose-home .owner-section{
    padding:70px 18px 74px;
  }
  .rose-home .owner-section-role{
    margin-bottom:16px;
    font-size:13.5px;
  }
  .rose-home .owner-section-heading h2{
    font-size:clamp(28px,8.2vw,34px);
    line-height:1.7;
    letter-spacing:.05em;
  }
  .rose-home .owner-section-media{
    margin-top:26px;
    border-radius:7px;
  }
  .rose-home .owner-section-story{
    margin-top:23px;
    font-size:13.5px;
    line-height:1.95;
  }
  .rose-home .owner-section-link{
    margin-top:20px;
    font-size:12.5px;
  }
}

/* ==========================================================
   6.0.12 — Homepage "初めての方へ" premium flow section
   Scope: between comfort and owner sections only.
   ========================================================== */
.rose-home .first-visit-section{
  position:relative;
  overflow:hidden;
  padding-top:94px;
  padding-bottom:96px;
  background:linear-gradient(180deg,#fcf8f4 0%,#fffaf7 52%,#fbf5f0 100%);
  border-top:1px solid rgba(229,213,204,.42);
  border-bottom:1px solid rgba(229,213,204,.38);
}
.rose-home .first-visit-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  top:-250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(224,187,166,.12) 0%,rgba(224,187,166,0) 70%);
  pointer-events:none;
}
.rose-home .first-visit-inner{
  position:relative;
  z-index:1;
  max-width:1160px;
}
.rose-home .first-visit-heading{
  max-width:760px;
  margin:0 auto 55px;
  text-align:center;
}
.rose-home .first-visit-heading .eyebrow{
  margin:0 0 12px;
  color:#b78f77;
  font-size:12px;
  letter-spacing:.22em;
  text-align:center;
}
.rose-home .first-visit-heading h2{
  margin:0;
  color:#493129;
  font-family:var(--serif);
  font-size:clamp(31px,2.7vw,40px);
  font-weight:500;
  line-height:1.55;
  letter-spacing:.085em;
  text-align:center;
}
.rose-home .first-visit-lead{
  margin:19px 0 0;
  color:#6f5a52;
  font-family:var(--serif);
  font-size:clamp(17px,1.6vw,21px);
  font-weight:400;
  line-height:1.85;
  letter-spacing:.055em;
  text-align:center;
  word-break:keep-all;
}
.rose-home .first-visit-flow{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0 18px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.rose-home .first-visit-flow::before{
  content:"";
  position:absolute;
  z-index:0;
  top:24px;
  left:10%;
  right:10%;
  height:1px;
  background:linear-gradient(90deg,rgba(205,155,145,.14),rgba(193,130,132,.52),rgba(205,155,145,.14));
}
.rose-home .first-visit-step{
  position:relative;
  z-index:1;
  min-width:0;
  text-align:center;
}
.rose-home .first-visit-number{
  position:relative;
  z-index:2;
  width:49px;
  height:49px;
  margin:0 auto 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(190,126,130,.58);
  border-radius:50%;
  background:#fdf9f5;
  box-shadow:0 0 0 7px rgba(253,249,245,.96);
  color:#b45d69;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
}
.rose-home .first-visit-number span{
  transform:translateX(.04em);
}
.rose-home .first-visit-media{
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:16/11;
  border:1px solid rgba(229,209,199,.55);
  border-radius:10px;
  background:#efe4dc;
  box-shadow:0 10px 28px rgba(74,48,39,.032);
}
.rose-home .first-visit-media::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,250,246,.03),rgba(117,73,59,.035));
  pointer-events:none;
}
.rose-home .first-visit-media picture,
.rose-home .first-visit-media img{
  display:block;
  width:100%;
  height:100%;
}
.rose-home .first-visit-media img{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.9) brightness(1.035) contrast(.975);
}
.rose-home .first-visit-copy{
  padding:19px 5px 0;
}
.rose-home .first-visit-copy h3{
  min-height:54px;
  margin:0 0 10px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  color:#4b332b;
  font-family:var(--serif);
  font-size:16px;
  font-weight:500;
  line-height:1.65;
  letter-spacing:.035em;
  text-align:center;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.rose-home .first-visit-copy p{
  margin:0;
  color:#78655d;
  font-size:13px;
  line-height:1.85;
  letter-spacing:.01em;
  text-align:center;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.rose-home .first-visit-message{
  max-width:1040px;
  margin:64px auto 0;
  padding:32px 34px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(34px,5vw,64px);
  align-items:center;
  border-top:1px solid rgba(209,170,156,.44);
  border-bottom:1px solid rgba(209,170,156,.36);
  background:rgba(255,253,250,.48);
}
.rose-home .first-visit-message-title strong{
  display:block;
  margin:0;
  color:#4d342c;
  font-family:var(--serif);
  font-size:clamp(19px,1.8vw,24px);
  font-weight:500;
  line-height:1.78;
  letter-spacing:.045em;
  word-break:keep-all;
}
.rose-home .first-visit-message-body{
  min-width:0;
}
.rose-home .first-visit-message-body p{
  margin:0 0 15px;
  color:#74615a;
  font-size:13.5px;
  line-height:1.95;
  letter-spacing:.01em;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}
.rose-home .first-visit-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 0 4px;
  border-bottom:1px solid rgba(181,91,107,.5);
  color:#ad5263;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.035em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.rose-home .first-visit-link .ypr-icon{
  width:14px;
  height:14px;
}
.rose-home .first-visit-link:hover,
.rose-home .first-visit-link:focus-visible{
  color:#923d50;
  border-color:#923d50;
  transform:translateX(2px);
}

@media(max-width:980px){
  .rose-home .first-visit-section{
    padding-top:82px;
    padding-bottom:84px;
  }
  .rose-home .first-visit-heading{
    margin-bottom:48px;
  }
  .rose-home .first-visit-flow{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:34px 18px;
    max-width:800px;
    margin-left:auto;
    margin-right:auto;
  }
  .rose-home .first-visit-flow::before{
    display:none;
  }
  .rose-home .first-visit-step{
    grid-column:span 2;
  }
  .rose-home .first-visit-step:nth-child(4){
    grid-column:2 / span 2;
  }
  .rose-home .first-visit-step:nth-child(5){
    grid-column:4 / span 2;
  }
  .rose-home .first-visit-number{
    margin-bottom:16px;
    box-shadow:0 0 0 5px rgba(253,249,245,.96);
  }
  .rose-home .first-visit-copy h3{
    min-height:0;
    font-size:16px;
  }
  .rose-home .first-visit-message{
    margin-top:55px;
    padding:30px 28px;
    gap:34px;
  }
}

@media(max-width:720px){
  .rose-home .first-visit-section{
    padding-top:74px;
    padding-bottom:76px;
  }
  .rose-home .first-visit-heading{
    margin-bottom:42px;
  }
  .rose-home .first-visit-heading h2{
    font-size:clamp(29px,7.2vw,35px);
  }
  .rose-home .first-visit-lead{
    margin-top:16px;
    font-size:17px;
  }
  .rose-home .first-visit-flow{
    max-width:560px;
    grid-template-columns:1fr;
    gap:0;
    margin:0 auto;
  }
  .rose-home .first-visit-flow::before{
    display:block;
    top:25px;
    bottom:28px;
    left:24px;
    right:auto;
    width:1px;
    height:auto;
    background:linear-gradient(180deg,rgba(193,130,132,.48),rgba(205,155,145,.14));
  }
  .rose-home .first-visit-step,
  .rose-home .first-visit-step:nth-child(4),
  .rose-home .first-visit-step:nth-child(5){
    grid-column:auto;
    display:grid;
    grid-template-columns:49px minmax(0,1fr);
    grid-template-areas:
      "number media"
      "number copy";
    column-gap:17px;
    padding:0 0 30px;
    text-align:left;
  }
  .rose-home .first-visit-step:last-child{
    padding-bottom:0;
  }
  .rose-home .first-visit-number{
    grid-area:number;
    width:49px;
    height:49px;
    margin:0;
    align-self:start;
    box-shadow:0 0 0 6px rgba(253,249,245,.98);
  }
  .rose-home .first-visit-media{
    grid-area:media;
    aspect-ratio:16/9;
    border-radius:9px;
  }
  .rose-home .first-visit-copy{
    grid-area:copy;
    padding:16px 2px 0;
    text-align:left;
  }
  .rose-home .first-visit-copy h3{
    min-height:0;
    margin-bottom:7px;
    display:block;
    font-size:17px;
    line-height:1.65;
    text-align:left;
  }
  .rose-home .first-visit-copy p{
    font-size:13.5px;
    line-height:1.85;
    text-align:left;
  }
  .rose-home .first-visit-message{
    max-width:560px;
    margin-top:48px;
    padding:28px 20px;
    grid-template-columns:1fr;
    gap:17px;
  }
  .rose-home .first-visit-message-title strong{
    font-size:20px;
    line-height:1.75;
  }
  .rose-home .first-visit-message-body p{
    font-size:13.5px;
  }
}

@media(max-width:480px){
  .rose-home .first-visit-section{
    padding:66px 18px 70px;
  }
  .rose-home .first-visit-heading{
    margin-bottom:36px;
  }
  .rose-home .first-visit-heading .eyebrow{
    font-size:11px;
  }
  .rose-home .first-visit-heading h2{
    font-size:clamp(28px,8vw,33px);
    line-height:1.55;
  }
  .rose-home .first-visit-lead{
    font-size:16px;
    line-height:1.85;
  }
  .rose-home .first-visit-step,
  .rose-home .first-visit-step:nth-child(4),
  .rose-home .first-visit-step:nth-child(5){
    grid-template-columns:43px minmax(0,1fr);
    column-gap:14px;
    padding-bottom:26px;
  }
  .rose-home .first-visit-flow::before{
    left:21px;
  }
  .rose-home .first-visit-number{
    width:43px;
    height:43px;
    font-size:12px;
    box-shadow:0 0 0 5px rgba(253,249,245,.98);
  }
  .rose-home .first-visit-media{
    aspect-ratio:16/10;
  }
  .rose-home .first-visit-copy{
    padding-top:14px;
  }
  .rose-home .first-visit-copy h3{
    font-size:16px;
  }
  .rose-home .first-visit-copy p{
    font-size:13px;
    line-height:1.82;
  }
  .rose-home .first-visit-message{
    margin-top:43px;
    padding:25px 17px;
  }
  .rose-home .first-visit-message-title strong{
    font-size:19px;
  }
  .rose-home .first-visit-message-body p br{
    display:none;
  }
  .rose-home .first-visit-link{
    font-size:12.5px;
    white-space:normal;
  }
}

/* ==========================================================
   6.0.13 — Homepage "ルルオンとは" brand-story section
   Scope: immediately after "YOSAPARK Roseの温活美容" only.
   ========================================================== */
.rose-home .home-luluonn-section{
  position:relative;
  overflow:hidden;
  padding-top:100px;
  padding-bottom:102px;
  background:#f9f4ef;
  border-top:1px solid rgba(225,207,198,.42);
  border-bottom:1px solid rgba(225,207,198,.36);
}
.rose-home .home-luluonn-section::before{
  content:"";
  position:absolute;
  width:660px;
  height:660px;
  left:-330px;
  top:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(223,187,169,.10) 0%,rgba(223,187,169,0) 70%);
  pointer-events:none;
}
.rose-home .home-luluonn-inner{
  position:relative;
  z-index:1;
  max-width:1160px;
}
.rose-home .home-luluonn-heading{
  max-width:820px;
  margin:0 auto 52px;
  text-align:center;
}
.rose-home .home-luluonn-heading .eyebrow{
  margin:0 0 11px;
  color:#b48d77;
  font-size:11.5px;
  letter-spacing:.23em;
  text-align:center;
}
.rose-home .home-luluonn-heading h2{
  position:relative;
  margin:0;
  color:#49332b;
  font-family:var(--serif);
  font-size:clamp(30px,2.7vw,40px);
  font-weight:500;
  line-height:1.55;
  letter-spacing:.085em;
  text-align:center;
}
.rose-home .home-luluonn-heading h2::after{
  content:"";
  display:block;
  width:44px;
  height:1px;
  margin:18px auto 0;
  background:#d6b4a7;
  opacity:.68;
}
.rose-home .home-luluonn-lead{
  margin:24px 0 0;
  color:#5a4037;
  font-family:var(--serif);
  font-size:clamp(19px,1.65vw,24px);
  font-weight:500;
  line-height:1.9;
  letter-spacing:.045em;
  text-align:center;
  word-break:keep-all;
  text-wrap:balance;
}
.rose-home .home-luluonn-intro{
  display:grid;
  grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr);
  gap:clamp(46px,6vw,78px);
  align-items:center;
}
.rose-home .home-luluonn-media{
  position:relative;
  min-width:0;
  overflow:visible;
}
.rose-home .home-luluonn-media::before{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid rgba(203,167,153,.28);
  border-radius:8px;
  pointer-events:none;
}
.rose-home .home-luluonn-media picture,
.rose-home .home-luluonn-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
}
.rose-home .home-luluonn-media picture{
  overflow:hidden;
  border-radius:8px;
  background:#ede2dc;
}
.rose-home .home-luluonn-media img{
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.91) brightness(1.025) contrast(.97);
}
.rose-home .home-luluonn-intro-copy{
  position:relative;
  min-width:0;
  padding:18px 0 18px 34px;
}
.rose-home .home-luluonn-intro-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:1px;
  background:linear-gradient(180deg,rgba(201,159,146,0),rgba(201,159,146,.58),rgba(201,159,146,0));
}
.rose-home .home-luluonn-intro-copy p{
  margin:0;
  color:#6e5b53;
  font-size:15px;
  line-height:2.12;
  letter-spacing:.015em;
  word-break:keep-all;
  text-wrap:pretty;
}
.rose-home .home-luluonn-intro-copy p+p{
  margin-top:22px;
}
.rose-home .home-luluonn-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:76px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(211,185,174,.50);
  border-bottom:1px solid rgba(211,185,174,.50);
}
.rose-home .home-luluonn-points li{
  position:relative;
  min-width:0;
  min-height:256px;
  padding:35px 34px 34px;
  text-align:center;
}
.rose-home .home-luluonn-points li+li{
  border-left:1px solid rgba(211,185,174,.46);
}
.rose-home .home-luluonn-number{
  display:block;
  margin:0 0 13px;
  color:#c38a86;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1;
  letter-spacing:.16em;
}
.rose-home .home-luluonn-points h3{
  margin:0 0 15px;
  color:#4d362e;
  font-family:var(--serif);
  font-size:19px;
  font-weight:500;
  line-height:1.75;
  letter-spacing:.05em;
  text-align:center;
  word-break:keep-all;
  text-wrap:balance;
}
.rose-home .home-luluonn-points p{
  margin:0;
  color:#78665e;
  font-size:13.5px;
  line-height:1.95;
  letter-spacing:.01em;
  text-align:center;
  word-break:keep-all;
  text-wrap:pretty;
}
.rose-home .home-luluonn-message{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(40px,6vw,76px);
  align-items:center;
  margin-top:58px;
  padding:40px 42px;
  border-top:1px solid rgba(211,181,170,.48);
  border-bottom:1px solid rgba(211,181,170,.48);
  background:rgba(255,252,248,.46);
}
.rose-home .home-luluonn-message-title{
  margin:0;
  color:#533a31;
  font-family:var(--serif);
  font-size:clamp(21px,1.8vw,27px);
  font-weight:500;
  line-height:1.85;
  letter-spacing:.045em;
  word-break:keep-all;
  text-wrap:balance;
}
.rose-home .home-luluonn-message-body{
  min-width:0;
}
.rose-home .home-luluonn-message-body p{
  margin:0;
  color:#77655d;
  font-size:13.5px;
  line-height:1.95;
  letter-spacing:.01em;
  word-break:keep-all;
}
.rose-home .home-luluonn-message-body p+p{
  margin-top:10px;
}
.rose-home .home-luluonn-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:21px;
  padding:7px 0 5px;
  border-bottom:1px solid rgba(181,91,107,.52);
  color:#ad5263;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.rose-home .home-luluonn-link .ypr-icon{
  width:14px;
  height:14px;
}
.rose-home .home-luluonn-link:hover,
.rose-home .home-luluonn-link:focus-visible{
  color:#913d4f;
  border-color:#913d4f;
  transform:translateX(2px);
}

@media(max-width:980px){
  .rose-home .home-luluonn-section{
    padding-top:84px;
    padding-bottom:88px;
  }
  .rose-home .home-luluonn-heading{
    margin-bottom:44px;
  }
  .rose-home .home-luluonn-intro{
    grid-template-columns:1fr;
    gap:38px;
    max-width:820px;
    margin-inline:auto;
  }
  .rose-home .home-luluonn-media::before{
    inset:14px -14px -14px 14px;
  }
  .rose-home .home-luluonn-intro-copy{
    max-width:700px;
    margin-inline:auto;
    padding:8px 0 8px 26px;
  }
  .rose-home .home-luluonn-points{
    margin-top:64px;
  }
  .rose-home .home-luluonn-points li{
    min-height:260px;
    padding:32px 24px 30px;
  }
  .rose-home .home-luluonn-points h3{
    font-size:18px;
  }
  .rose-home .home-luluonn-message{
    gap:34px;
    margin-top:50px;
    padding:36px 30px;
  }
}

@media(max-width:720px){
  .rose-home .home-luluonn-section{
    padding:72px 18px 76px;
  }
  .rose-home .home-luluonn-heading{
    margin-bottom:36px;
  }
  .rose-home .home-luluonn-heading h2{
    font-size:clamp(28px,7.4vw,34px);
  }
  .rose-home .home-luluonn-lead{
    margin-top:20px;
    font-size:clamp(18px,4.7vw,21px);
    line-height:1.85;
  }
  .rose-home .home-luluonn-intro{
    gap:30px;
  }
  .rose-home .home-luluonn-media::before{
    inset:10px -8px -10px 8px;
    border-radius:7px;
  }
  .rose-home .home-luluonn-media picture{
    border-radius:7px;
  }
  .rose-home .home-luluonn-media img{
    aspect-ratio:16/10.5;
  }
  .rose-home .home-luluonn-intro-copy{
    padding:3px 0 3px 20px;
  }
  .rose-home .home-luluonn-intro-copy p{
    font-size:14px;
    line-height:2;
  }
  .rose-home .home-luluonn-intro-copy p+p{
    margin-top:16px;
  }
  .rose-home .home-luluonn-points{
    grid-template-columns:1fr;
    margin-top:52px;
    border-bottom:0;
  }
  .rose-home .home-luluonn-points li{
    min-height:0;
    padding:28px 12px 30px;
  }
  .rose-home .home-luluonn-points li+li{
    border-left:0;
    border-top:1px solid rgba(211,185,174,.46);
  }
  .rose-home .home-luluonn-points li:last-child{
    border-bottom:1px solid rgba(211,185,174,.50);
  }
  .rose-home .home-luluonn-points h3{
    font-size:18px;
    line-height:1.72;
  }
  .rose-home .home-luluonn-points p{
    max-width:460px;
    margin-inline:auto;
    font-size:13px;
    line-height:1.9;
  }
  .rose-home .home-luluonn-message{
    grid-template-columns:1fr;
    gap:21px;
    margin-top:44px;
    padding:30px 10px;
    background:transparent;
  }
  .rose-home .home-luluonn-message-title{
    font-size:21px;
    line-height:1.82;
  }
  .rose-home .home-luluonn-message-body p{
    font-size:13px;
    line-height:1.9;
  }
}

@media(max-width:390px){
  .rose-home .home-luluonn-section{
    padding-inline:15px;
  }
  .rose-home .home-luluonn-heading .eyebrow{
    font-size:10.5px;
  }
  .rose-home .home-luluonn-heading h2{
    font-size:27px;
  }
  .rose-home .home-luluonn-lead{
    font-size:17px;
    letter-spacing:.03em;
  }
  .rose-home .home-luluonn-intro-copy{
    padding-left:16px;
  }
  .rose-home .home-luluonn-link{
    font-size:12.5px;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.15
   Mobile responsive hardening layer
   Scope: mobile/tablet portrait only. Desktop styles untouched.
   ========================================================= */
@media (max-width:782px){
  html{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    overflow-x:clip;
  }
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    overflow-x:clip;
    padding-bottom:calc(64px + env(safe-area-inset-bottom));
  }
  body.drawer-open{
    overflow:hidden;
    overscroll-behavior:none;
    touch-action:none;
  }

  /* Every mobile grid/flex child is allowed to shrink instead of forcing overflow. */
  .site-header *,
  .site-main *,
  .site-footer *,
  .mobile-drawer *{
    min-width:0;
  }

  /* Media never exceeds the viewport. Existing page-specific aspect ratios remain authoritative. */
  .site-main img,
  .site-main video,
  .site-main canvas,
  .site-main svg,
  .site-main iframe,
  .site-main embed,
  .site-main object{
    max-width:100%;
  }
  .site-main img,
  .site-main video{
    display:block;
  }
  .site-main iframe,
  .site-main embed,
  .site-main object{
    width:100%;
  }
  .site-main [class*="-media"],
  .site-main [class*="-image"],
  .site-main [class*="-visual"],
  .site-main [class*="-photo"],
  .site-main [class*="-gallery"]{
    max-width:100%;
  }
  .site-main [class*="-media"] img,
  .site-main [class*="-image"] img,
  .site-main [class*="-visual"] img,
  .site-main [class*="-photo"] img,
  .site-main [class*="-gallery"] img{
    max-width:100%;
  }

  /* Prevent long Japanese/Latin strings, URLs and labels from shifting the screen. */
  .site-main h1,
  .site-main h2,
  .site-main h3,
  .site-main h4,
  .site-main h5,
  .site-main h6,
  .site-main p,
  .site-main li,
  .site-main dd,
  .site-main dt,
  .site-main th,
  .site-main td,
  .site-main figcaption,
  .site-main label{
    max-width:100%;
    overflow-wrap:anywhere;
  }

  /* Header: stable 64px mobile bar and safe logo/menu sizing. */
  :root{--header:64px}
  .site-header{
    width:100%;
    height:64px;
  }
  .header-inner{
    width:100%;
    max-width:100%;
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
    gap:10px;
  }
  .brand-wrap{
    flex:1 1 auto;
    width:auto;
    max-width:calc(100% - 52px);
  }
  .brand{
    width:min(135px,42vw);
    max-width:100%;
    flex:0 1 auto;
  }
  .brand img,
  .brand .custom-logo{
    width:100%;
    height:auto;
    max-height:48px;
    object-fit:contain;
    object-position:left center;
  }
  .nav-toggle{
    display:block;
    flex:0 0 44px;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:10px;
  }

  /* Drawer: use the actual dynamic viewport and safe areas. */
  .mobile-drawer{
    top:0;
    bottom:auto;
    width:min(90vw,390px);
    max-width:100vw;
    height:100vh;
    height:100dvh;
    padding-top:max(18px,env(safe-area-inset-top));
    padding-right:max(18px,env(safe-area-inset-right));
    padding-bottom:max(22px,env(safe-area-inset-bottom));
    padding-left:18px;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .drawer-head>img{
    width:min(165px,55vw);
    height:auto;
    max-height:52px;
    object-fit:contain;
    object-position:left center;
  }
  .drawer-close{
    flex:0 0 44px;
    width:44px;
    height:44px;
  }
  .drawer-booking,
  .drawer-booking .booking-buttons,
  .drawer-search{
    width:100%;
    max-width:100%;
  }
  .drawer-search label{
    min-width:0;
  }
  .drawer-search input{
    min-width:0;
    width:100%;
  }

  /* Buttons and links: never extend beyond narrow screens. */
  .site-main .btn,
  .site-main [class*="-btn"],
  .site-main .card-link,
  .site-main .text-link,
  .site-main [class*="-link"],
  .mobile-drawer .btn{
    max-width:100%;
    box-sizing:border-box;
  }
  .site-main .btn,
  .site-main [class*="-btn"],
  .mobile-drawer .btn{
    white-space:normal;
    line-height:1.45;
    text-wrap:balance;
  }
  .booking-buttons,
  .drawer-buttons,
  .site-main [class*="-actions"]{
    max-width:100%;
  }
  .site-main [class*="-actions"]{
    flex-wrap:wrap;
  }

  /* Form controls remain inside their containers and are easy to tap. */
  .site-main input,
  .site-main select,
  .site-main textarea,
  .site-main button,
  .mobile-drawer input,
  .mobile-drawer select,
  .mobile-drawer textarea,
  .mobile-drawer button{
    max-width:100%;
  }
  .site-main input:not([type="checkbox"]):not([type="radio"]),
  .site-main select,
  .site-main textarea{
    width:100%;
  }

  /* WordPress/editor content: tables may scroll internally, never the page itself. */
  .rose-content table,
  .article-content table,
  .wp-block-table{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .rose-content pre,
  .article-content pre,
  .rose-content code,
  .article-content code{
    max-width:100%;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
  }
  .rose-content .wp-block-image,
  .rose-content .wp-block-gallery,
  .article-content .wp-block-image,
  .article-content .wp-block-gallery{
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }

  /* Hero safety for every fixed page while preserving each page's visual design. */
  .hero,
  .page-hero,
  .article-hero,
  .first-hero,
  .lu43-hero,
  .ow44-hero,
  .mn45-hero,
  .fd46-hero,
  .rs51-hero,
  .vo52-hero,
  .fq53-hero,
  .ac55-hero,
  .rv56-hero,
  .cp57-hero,
  .pp58-hero,
  .sitemap60-hero,
  .rose-blog-hero{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .hero img,
  .first-hero img,
  .lu43-hero img,
  .ow44-hero img,
  .mn45-hero img,
  .fd46-hero img,
  .rs51-hero img,
  .vo52-hero img,
  .fq53-hero img,
  .ac55-hero img,
  .rv56-hero img,
  .cp57-hero img,
  .pp58-hero img,
  .sitemap60-hero img,
  .rose-blog-hero img{
    width:100%;
    max-width:100%;
    object-fit:cover;
  }

  /* Full-width containers cannot be enlarged by nested padding or translated decoration. */
  .section-inner,
  .site-container,
  .content-wrap,
  .first-section,
  .lu43-container,
  .ow44-container,
  .mn45-container,
  .fd46-container,
  .rs51-container,
  .vo52-container,
  .fq53-container,
  .ac55-container,
  .rv56-container,
  .cp57-container,
  .pp58-container,
  .sitemap60-container,
  .rose-blog-container{
    width:100%;
    max-width:100%;
  }

  /* Sticky mobile CTA accounts for iPhone/Android safe areas without covering content. */
  .mobile-fixed-cta{
    width:100%;
    max-width:100%;
    height:calc(64px + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);
  }
  .mobile-fixed-cta a{
    min-width:0;
    padding-inline:8px;
    text-align:center;
    line-height:1.35;
    white-space:normal;
  }

  /* Pagination/breadcrumbs: wrap within the viewport. */
  .breadcrumbs ol,
  .nav-links,
  .rose-blog-pagination .nav-links{
    max-width:100%;
    flex-wrap:wrap;
  }
}

@media (max-width:480px){
  /* Small-phone polish (iPhone SE / compact Android class). */
  .section,
  .content-wrap{
    padding-left:16px;
    padding-right:16px;
  }
  .page-hero,
  .article-hero{
    padding-left:16px;
    padding-right:16px;
  }
  .page-hero h1,
  .article-hero h1{
    font-size:clamp(28px,8vw,36px);
    line-height:1.5;
    letter-spacing:.035em;
  }
  .mobile-drawer{
    width:min(92vw,390px);
    padding-left:16px;
    padding-right:max(16px,env(safe-area-inset-right));
  }
  .site-main .btn,
  .site-main [class*="-btn"]{
    padding-left:14px;
    padding-right:14px;
  }
  .hero-features{
    width:100%;
    max-width:100%;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.16
   Mobile CTA overflow + Japanese orphan-line refinement
   Scope: <= 782px only. Desktop rules are intentionally untouched.
   ========================================================= */
@media (max-width:782px){
  /* Restore Japanese line-breaking quality after the generic overflow guard. */
  .site-main h1,
  .site-main h2,
  .site-main h3,
  .site-main h4,
  .site-main h5,
  .site-main h6{
    overflow-wrap:normal;
    word-break:normal;
    line-break:strict;
    text-wrap:balance;
  }

  /* CTA labels: shrink correctly inside flex/grid buttons and prefer phrase boundaries. */
  .site-main .btn,
  .site-main [class*="-btn"]{
    min-width:0;
  }
  .site-main .btn span,
  .site-main [class*="-btn"] span{
    min-width:0;
    max-width:100%;
    white-space:normal;
    overflow-wrap:normal;
    word-break:auto-phrase;
    line-break:strict;
    text-wrap:balance;
  }

  /* Homepage final CTA: never allow children to escape their grid track. */
  .rose-home .final-cta,
  .rose-home .final-copy,
  .rose-home .final-copy .booking-buttons,
  .rose-home .final-copy .btn{
    min-width:0;
    max-width:100%;
  }
  .rose-home .final-cta{
    overflow:hidden;
  }
  .rose-home .final-copy .booking-buttons{
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr);
  }
  .rose-home .final-copy .btn{
    width:100%;
  }
}

@media (max-width:640px){
  /*
   * On phones the badge no longer consumes a narrow left column.
   * Stacking it above the copy gives both reservation buttons the full viewport width.
   */
  .rose-home .final-cta{
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    gap:16px;
    min-height:0;
    padding:28px 18px 30px;
    text-align:center;
  }
  .rose-home .final-badge{
    width:88px;
    height:88px;
    margin:0 auto;
    flex:none;
  }
  .rose-home .final-badge strong{
    font-size:30px;
  }
  .rose-home .final-copy{
    width:100%;
    max-width:430px;
  }
  .rose-home .final-copy h2{
    margin:0 0 17px;
    font-size:clamp(22px,6.6vw,27px);
    line-height:1.55;
    letter-spacing:.045em;
    text-align:center;
    overflow-wrap:normal;
    word-break:auto-phrase;
    line-break:strict;
    text-wrap:balance;
  }
  .rose-home .final-copy .booking-buttons{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  .rose-home .booking-buttons .btn{
    display:grid;
    grid-template-columns:20px minmax(0,1fr) 14px;
    align-items:center;
    gap:5px;
    min-width:0;
    padding-left:10px;
    padding-right:10px;
    font-size:clamp(11px,3.1vw,12.5px);
    line-height:1.3;
    letter-spacing:0;
    white-space:nowrap;
  }
  .rose-home .booking-buttons .btn span{
    min-width:0;
    max-width:100%;
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
    text-wrap:nowrap;
  }
  .rose-home .booking-buttons .btn>.ypr-icon:first-child{
    justify-self:start;
    width:20px;
    height:20px;
  }
  .rose-home .booking-buttons .btn>.arrow{
    justify-self:end;
    width:14px;
    height:14px;
    margin-left:0;
  }
  .rose-home .final-copy .btn{
    width:100%;
    min-height:54px;
    display:grid;
    grid-template-columns:22px minmax(0,1fr) 16px;
    align-items:center;
    gap:7px;
    padding:10px 13px;
    font-size:clamp(11.5px,3.35vw,14px);
    line-height:1.3;
    letter-spacing:0;
    white-space:nowrap;
    overflow:visible;
  }
  .rose-home .final-copy .btn span{
    width:100%;
    min-width:0;
    text-align:center;
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
    text-wrap:nowrap;
  }
  .rose-home .final-copy .btn>.ypr-icon:first-child{
    justify-self:start;
    width:22px;
    height:22px;
  }
  .rose-home .final-copy .btn>.arrow{
    justify-self:end;
    width:16px;
    height:16px;
    margin-left:0;
  }

  /* Homepage owner heading: keep the emphasized phrase as one deliberate line. */
  .rose-home .owner-section-heading h2{
    font-size:clamp(26px,7.25vw,31px);
    line-height:1.66;
    letter-spacing:.035em;
    overflow-wrap:normal;
    word-break:normal;
    line-break:strict;
    text-wrap:balance;
  }
  .rose-home .owner-section-heading h2 em{
    display:block;
    width:100%;
    font-size:.88em;
    letter-spacing:.02em;
    line-height:1.66;
    white-space:nowrap;
    word-break:keep-all;
    overflow-wrap:normal;
  }
}

@media (max-width:360px){
  .rose-home .final-cta{
    padding-left:14px;
    padding-right:14px;
  }
  .rose-home .final-copy .btn{
    grid-template-columns:20px minmax(0,1fr) 14px;
    gap:5px;
    min-height:52px;
    padding-left:10px;
    padding-right:10px;
    font-size:11.5px;
  }
  .rose-home .final-copy .btn>.ypr-icon:first-child{
    width:20px;
    height:20px;
  }
  .rose-home .final-copy .btn>.arrow{
    width:14px;
    height:14px;
  }
  .rose-home .owner-section-heading h2{
    font-size:25px;
    letter-spacing:.025em;
  }
  .rose-home .owner-section-heading h2 em{
    font-size:.86em;
    letter-spacing:.005em;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.19
   Mobile vertical-stack enforcement for all non-hero split sections
   Scope: <= 782px only. Hero and desktop layouts are intentionally untouched.
   ========================================================= */
@media (max-width:782px){
  /*
   * Any section that is presented as a left/right composition on desktop
   * becomes one vertical column on mobile.  This final layer intentionally
   * sits at the end of the stylesheet so later desktop refinements cannot
   * re-introduce a narrow two-column layout on phones.
   */
  .site-main :where(
    .reasons-layout,
    .first-welcome,
    .first-owner-message,
    .first-final-cta,
    .about-intro-grid,
    .about-beyond-grid,
    .about-for-you-grid,
    .about-owner-grid,
    .about-first-visit-grid,
    .about-final-cta-inner,
    .lu43-definition-grid,
    .lu43-split,
    .lu43-split-reverse,
    .lu43-overlay-card,
    .lu43-final-inner,
    .ow44-split,
    .ow44-message-grid,
    .ow44-final-inner,
    .mn45-split,
    .mn45-split-reverse,
    .fd46-split,
    .fd46-split-reverse,
    .fd46-check-layout,
    .rs51-split,
    .rs51-split-reverse,
    .vo52-featured-grid,
    .vo52-category-layout,
    .vo52-hospitality-layout,
    .vo52-owner-layout,
    .fq53-contact-card,
    .fq53-supervisor-grid,
    .rose-blog-discovery__grid,
    .rose-blog-consultation__grid,
    .ac55-map-grid,
    .ac55-building-layout,
    .ac55-lost-grid,
    .rv56-choice-grid,
    .rv56-line-grid,
    .rv56-send-grid,
    .rv56-online-grid,
    .rv56-salon-grid,
    .cp57-policy-grid-2,
    .cp57-route-grid,
    .cp57-contact-grid,
    .cp57-faq-grid,
    .cp57-message-grid,
    .pp58-purpose-list,
    .pp58-two-grid,
    .pp58-contact-grid,
    .sitemap60-grid,
    .article-layout,
    .final-cta,
    .owner-section-inner,
    .first-visit-message,
    .home-luluonn-intro,
    .home-luluonn-message
  ){
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
  }

  /* The homepage owner block uses named desktop grid areas, so its areas
     must also be converted to a true one-column sequence. */
  .rose-home .owner-section-inner{
    grid-template-areas:
      "heading"
      "media"
      "story"
      "link"!important;
    column-gap:0!important;
  }

  /* Keep the stacked children fully usable at narrow widths. */
  .site-main :where(
    .about-intro-grid,
    .about-beyond-grid,
    .about-for-you-grid,
    .about-owner-grid,
    .about-first-visit-grid,
    .lu43-definition-grid,
    .lu43-split,
    .lu43-split-reverse,
    .ow44-split,
    .ow44-message-grid,
    .mn45-split,
    .mn45-split-reverse,
    .fd46-split,
    .fd46-split-reverse,
    .rs51-split,
    .rs51-split-reverse,
    .vo52-featured-grid,
    .vo52-category-layout,
    .vo52-hospitality-layout,
    .vo52-owner-layout,
    .ac55-map-grid,
    .ac55-building-layout,
    .ac55-lost-grid,
    .rv56-send-grid,
    .rv56-online-grid,
    .rv56-salon-grid,
    .cp57-contact-grid,
    .cp57-message-grid,
    .rose-blog-consultation__grid,
    .owner-section-inner,
    .home-luluonn-intro,
    .home-luluonn-message
  ) > *{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* About page: prevent the desktop refinement block from narrowing the
     copy again after the original mobile rule. */
  .about-page :where(
    .about-intro-grid,
    .about-beyond-grid,
    .about-for-you-grid,
    .about-owner-grid,
    .about-first-visit-grid
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.20
   Unified internal-link CTA + Japanese orphan-line refinement
   Scope: section-level same-origin CTAs (classed by theme.js), all viewports.
   Booking CTAs (LINE / HOT PEPPER Beauty), navigation and image cards are excluded.
   ========================================================= */
:root{
  --ypr-internal-cta:#aa6f79;
  --ypr-internal-cta-hover:#98616b;
  --ypr-internal-cta-soft:#fff9f8;
}

/* Approved internal-link CTA visual: rectangular dusty-rose field, white serif copy and arrow. */
.site-main a.ypr-internal-cta{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:auto;
  min-width:min(100%,320px)!important;
  max-width:100%!important;
  min-height:72px!important;
  padding:15px 28px!important;
  border:1px solid var(--ypr-internal-cta)!important;
  border-radius:0!important;
  background:var(--ypr-internal-cta)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:var(--serif,"Noto Serif JP","Yu Mincho",serif)!important;
  font-size:clamp(15px,1.22vw,19px)!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:.045em!important;
  text-align:center!important;
  text-decoration:none!important;
  text-underline-offset:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:auto-phrase!important;
  line-break:strict!important;
  text-wrap:balance!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease!important;
}
.site-main a.ypr-internal-cta > .ypr-icon,
.site-main a.ypr-internal-cta > svg{
  display:none!important;
}
.site-main a.ypr-internal-cta::after{
  content:"→";
  flex:0 0 auto;
  display:inline-block;
  color:currentColor;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45em;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  transform:translateY(-.02em);
}
.site-main a.ypr-internal-cta:hover,
.site-main a.ypr-internal-cta:focus-visible{
  background:var(--ypr-internal-cta-hover)!important;
  border-color:var(--ypr-internal-cta-hover)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  filter:none!important;
}
.site-main a.ypr-internal-cta:focus-visible{
  outline:3px solid rgba(170,111,121,.28)!important;
  outline-offset:3px!important;
}

/* Exactly-two internal CTA groups: keep one white as requested. */
.site-main a.ypr-internal-cta.ypr-internal-cta--alt{
  background:#fff!important;
  border-color:var(--ypr-internal-cta)!important;
  color:var(--ypr-internal-cta)!important;
}
.site-main a.ypr-internal-cta.ypr-internal-cta--alt:hover,
.site-main a.ypr-internal-cta.ypr-internal-cta--alt:focus-visible{
  background:var(--ypr-internal-cta-soft)!important;
  border-color:var(--ypr-internal-cta-hover)!important;
  color:var(--ypr-internal-cta-hover)!important;
}

/* Two-link internal CTA groups stay equal: rose + white on desktop, stacked on mobile. */
.site-main :where(.first-sub-links,.about-two-buttons,.rs51-inline-links){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%;
  max-width:900px;
}
.site-main :where(.first-sub-links,.about-two-buttons,.rs51-inline-links) > a.ypr-internal-cta{
  width:100%!important;
  min-width:0!important;
}
/* Single centered section CTAs may use the wider approved rectangle. */
.site-main :where(.section-action,.lu43-center-action,.ow44-center-action,.rv56-center-action) > a.ypr-internal-cta{
  width:min(100%,620px)!important;
}

/* Card-level internal links keep the same approved color/shape in a compact size. */
.site-main :where(.method-card,.reason-card,.voice-card,.about-related-body,.lu43-menu-body,.post-card-body,.concern-message) a.ypr-internal-cta{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:10px 15px!important;
  gap:9px!important;
  font-size:13px!important;
}

/*
 * Japanese typography guard.
 * Earlier mobile safety rules used overflow-wrap:anywhere; this final layer restores
 * strict Japanese line breaking and asks modern browsers to avoid orphaned one-character lines.
 */
.site-main :is(h1,h2,h3,h4,h5,h6){
  max-width:100%;
  overflow-wrap:normal!important;
  word-break:auto-phrase!important;
  line-break:strict!important;
  text-wrap:balance;
  hyphens:none;
}
.site-main :is(p,li,dd,dt,figcaption,blockquote){
  max-width:100%;
  overflow-wrap:normal!important;
  word-break:auto-phrase!important;
  line-break:strict!important;
  text-wrap:pretty;
  hyphens:none;
}
/* Long URLs remain breakable without forcing ordinary Japanese prose to break character-by-character. */
.site-main :is(p,li,dd,dt,figcaption,blockquote) a:not(.ypr-internal-cta),
.site-main code,
.site-main pre{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (max-width:782px){
  .site-main :where(.first-sub-links,.about-two-buttons,.rs51-inline-links){
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  .site-main a.ypr-internal-cta{
    width:100%!important;
    min-width:0!important;
    min-height:64px!important;
    padding:13px 18px!important;
    gap:12px!important;
    font-size:clamp(14px,4vw,17px)!important;
    line-height:1.5!important;
    letter-spacing:.035em!important;
  }
  .site-main a.ypr-internal-cta::after{
    font-size:1.35em;
  }

  /* A small reduction on very long section headings gives pretty/balance wrapping room
     before a single Japanese character is pushed to a final line. */
  .site-main :is(h2,h3)[class*="title"],
  .site-main :is([class*="heading"] h2,[class*="heading"] h3){
    letter-spacing:min(.06em,1.3vw)!important;
  }
}

@media (max-width:360px){
  .site-main a.ypr-internal-cta{
    min-height:60px!important;
    padding:12px 14px!important;
    gap:9px!important;
    font-size:13.5px!important;
    letter-spacing:.02em!important;
  }
}



/* =========================================================
   YOSAPARK Rose 6.0.21
   Luluonn comparison cards: mobile row-title horizontal layout fix
   Scope: /about/luluonn/ comparison section only, <= 620px.
   ========================================================= */
@media (max-width:620px){
  .luluonn-v43 .lu43-difference .lu43-compare-table tbody th{
    display:block;
    box-sizing:border-box;
    width:100%!important;
    max-width:100%;
    min-width:0;
    padding:16px 18px;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:auto-phrase!important;
    line-break:strict!important;
    text-align:left;
    line-height:1.65;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.22
   Access page mobile readability / side-gutter restoration
   Scope: /access/ only, <= 782px. Desktop and shared page hero untouched.
   ========================================================= */
@media (max-width:782px){
  /*
   * The generic mobile safety layer intentionally makes theme containers 100% wide.
   * The access template has no own horizontal section padding, so restore a deliberate
   * content gutter here without affecting the page hero or any other template.
   */
  .access-page-v55 .ac55-section{
    box-sizing:border-box;
    padding-left:clamp(18px,4.5vw,28px);
    padding-right:clamp(18px,4.5vw,28px);
  }
  .access-page-v55 .ac55-container{
    box-sizing:border-box;
    width:100%!important;
    max-width:760px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Keep stacked access compositions inside the restored content column. */
  .access-page-v55 :where(
    .ac55-map-grid,
    .ac55-building-layout,
    .ac55-lost-grid,
    .ac55-route-grid,
    .ac55-parking-grid,
    .ac55-info-table,
    .ac55-features-grid,
    .ac55-before-grid,
    .ac55-first-grid,
    .ac55-faq-list
  ){
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* Map introduction should read as a contained block, not a viewport-wide banner. */
  .access-page-v55 .ac55-map-copy{
    width:100%;
    max-width:560px;
    margin-inline:auto;
    text-align:center;
  }
  .access-page-v55 .ac55-map-copy h2{
    max-width:100%;
    margin-bottom:20px;
    font-size:clamp(26px,6.4vw,34px);
    line-height:1.5;
    text-wrap:balance;
  }
  .access-page-v55 .ac55-map-copy address{
    margin-bottom:24px;
    font-size:clamp(14px,3.7vw,16px);
    line-height:1.95;
    word-break:auto-phrase;
    line-break:strict;
  }
  .access-page-v55 .ac55-map-actions{
    width:100%;
    max-width:440px;
    margin-inline:auto;
    gap:10px;
  }
  .access-page-v55 .ac55-map-actions .ac55-btn{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .access-page-v55 .ac55-map-frame{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    margin-top:4px;
  }

  /* Card content keeps an intentional inner breathing room on mobile. */
  .access-page-v55 :where(
    .ac55-glance-grid article,
    .ac55-route-card,
    .ac55-building-card,
    .ac55-parking-notes article,
    .ac55-parking-card,
    .ac55-features-grid article,
    .ac55-before-grid article,
    .ac55-first-grid > a,
    .ac55-faq-list details
  ){
    max-width:100%;
    min-width:0;
  }
}

@media (max-width:620px){
  .access-page-v55 .ac55-section{
    padding-left:18px;
    padding-right:18px;
  }
  .access-page-v55 .ac55-container{
    max-width:520px!important;
  }
  .access-page-v55 .ac55-section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .access-page-v55 .ac55-heading{
    max-width:100%;
    margin-bottom:28px;
  }
  .access-page-v55 .ac55-heading h2{
    font-size:clamp(24px,6.7vw,28px);
    line-height:1.58;
    letter-spacing:.035em;
  }
  .access-page-v55 .ac55-map-frame{
    min-height:0;
    aspect-ratio:4/3;
  }
  .access-page-v55 .ac55-map-frame iframe{
    width:100%;
    height:100%;
    min-height:0;
  }
  .access-page-v55 .ac55-building-gallery{
    grid-template-columns:1fr;
    gap:14px;
  }
  .access-page-v55 .ac55-building-gallery figcaption{
    padding-top:10px;
    font-size:11px;
  }
  .access-page-v55 .ac55-parking-card{
    grid-template-columns:88px minmax(0,1fr);
    gap:13px;
    padding:14px;
  }
  .access-page-v55 .ac55-parking-card img{
    width:88px;
  }
  .access-page-v55 .ac55-info-table{
    overflow:hidden;
  }
  .access-page-v55 .ac55-info-row > div{
    padding-left:14px;
    padding-right:14px;
  }
  .access-page-v55 .ac55-final-actions{
    width:100%;
    max-width:440px;
    margin-inline:auto;
  }
}

@media (max-width:360px){
  .access-page-v55 .ac55-section{
    padding-left:16px;
    padding-right:16px;
  }
  .access-page-v55 .ac55-map-copy h2{
    font-size:24px;
  }
  .access-page-v55 .ac55-map-actions .ac55-btn{
    padding-left:12px;
    padding-right:12px;
    font-size:12.5px;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.23
   Mobile final-conversion section containment
   Scope: <= 782px only. Desktop layouts and homepage final CTA are untouched.
   ========================================================= */
@media (max-width:782px){
  /*
   * Lower-page conversion sections used a full-bleed background on mobile.
   * Inset the section itself (not only its inner container) so the whole CTA
   * reads as a deliberate panel and never sits flush against the viewport.
   */
  .site-main :where(
    .first-final-cta,
    .about-final-cta,
    .lu43-final-cta,
    .ow44-final-cta,
    .mn45-final,
    .fd46-final,
    .rs51-final,
    .fq53-final,
    .vo52-cta,
    .rose-blog-final-cta,
    .ac55-final,
    .rv56-final,
    .cp57-final,
    .pp58-final,
    .sitemap60-cta
  ){
    box-sizing:border-box!important;
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden;
  }

  /* Access final CTA has a page-specific container that is intentionally 100% wide.
     Keep all three actions inside the inset panel without edge contact. */
  .access-page-v55 .ac55-final-inner{
    box-sizing:border-box;
    width:100%!important;
    max-width:560px!important;
    padding-left:16px;
    padding-right:16px;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .access-page-v55 .ac55-final-actions,
  .access-page-v55 .ac55-final-actions .ac55-btn{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* Keep long CTA headings and lead copy comfortably inside every inset panel. */
  .site-main :where(
    .first-final-cta,
    .about-final-cta,
    .lu43-final-cta,
    .ow44-final-cta,
    .mn45-final,
    .fd46-final,
    .rs51-final,
    .fq53-final,
    .vo52-cta,
    .rose-blog-final-cta,
    .ac55-final,
    .rv56-final,
    .cp57-final,
    .pp58-final,
    .sitemap60-cta
  ) :is(h2,p){
    max-width:100%;
    overflow-wrap:normal;
    word-break:auto-phrase;
    line-break:strict;
  }
}

@media (max-width:360px){
  .site-main :where(
    .first-final-cta,
    .about-final-cta,
    .lu43-final-cta,
    .ow44-final-cta,
    .mn45-final,
    .fd46-final,
    .rs51-final,
    .fq53-final,
    .vo52-cta,
    .rose-blog-final-cta,
    .ac55-final,
    .rv56-final,
    .cp57-final,
    .pp58-final,
    .sitemap60-cta
  ){
    width:calc(100% - 32px)!important;
    max-width:calc(100% - 32px)!important;
  }
  .access-page-v55 .ac55-final-inner{
    padding-left:12px;
    padding-right:12px;
  }
}


/* =========================================================
   YOSAPARK Rose 6.0.24
   Mobile footer logo alignment
   Scope: <= 782px only. Desktop footer remains unchanged.
   ========================================================= */
@media (max-width:782px){
  .site-footer .footer-brand{
    grid-column:1 / -1!important;
    grid-row:auto!important;
    justify-self:stretch;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  .site-footer .footer-brand > a{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin-left:auto;
    margin-right:auto;
  }
  .site-footer .footer-brand img{
    display:block;
    margin-left:auto;
    margin-right:auto;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.25
   Mobile content alignment refinements
   Scope: <= 782px only. Desktop layouts remain unchanged.
   ========================================================= */
@media (max-width:782px){
  /* WHO WE ARE emphasis statement: center the highlighted copy only. */
  .about-page .about-intro-copy .about-emphasis{
    width:min(100%,680px);
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  /* Textual bullet/check lists: center the list block while keeping bullets and copy left-aligned. */
  .site-main .ypr-mobile-centered-list{
    box-sizing:border-box;
    width:fit-content!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
    justify-items:start;
  }
  .site-main .ypr-mobile-centered-list > li{
    text-align:left!important;
  }

  /* Pure title + body prose blocks: centered on mobile only. */
  .site-main .ypr-mobile-simple-prose{
    text-align:center!important;
  }
  .site-main .ypr-mobile-simple-prose > :is(h2,h3,h4,p){
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center!important;
  }
}


/* =========================================================
   YOSAPARK Rose 6.0.26
   Mobile prose + list-frame alignment refinements
   Scope: <= 782px only. Desktop layouts remain unchanged.
   ========================================================= */
@media (max-width:782px){
  /*
   * Textual bullet/check lists:
   * - the visual frame uses the available content/container width
   * - individual list rows remain left-aligned
   * - the rows themselves sit as a centered block inside that frame
   */
  .site-main .ypr-mobile-centered-list{
    box-sizing:border-box;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
    justify-items:stretch;
  }
  .site-main .ypr-mobile-centered-list > li{
    box-sizing:border-box;
    width:fit-content;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }

  /*
   * Normal section body copy:
   * JS marks only prose paragraphs that are outside comparison / FAQ / list /
   * table / card-like UI. This catches split sections whose body copy was not
   * eligible for the stricter 6.0.25 "pure prose block" helper.
   */
  .site-main p.ypr-mobile-centered-copy{
    width:100%;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

/* =========================================================
   YOSAPARK Rose 6.0.27
   Mobile bullet/check-list row alignment
   Scope: <= 782px only. Desktop layouts remain unchanged.
   ========================================================= */
@media (max-width:782px){
  /*
   * Keep the list/frame at the available container width, but give every
   * direct list row the same centered content width. This makes the bullet /
   * check-icon column share one vertical axis instead of centering each row
   * independently according to its text length.
   */
  .site-main .ypr-mobile-centered-list{
    box-sizing:border-box;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:clamp(16px,4.5vw,30px)!important;
    padding-right:clamp(16px,4.5vw,30px)!important;
    text-align:left!important;
    justify-items:stretch!important;
  }

  .site-main .ypr-mobile-centered-list > li{
    box-sizing:border-box;
    width:100%!important;
    max-width:32rem!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
    justify-self:center!important;
  }

  /* Lists that use grid/flex rows keep their icon and copy left-aligned. */
  .site-main .ypr-mobile-centered-list > li:is([class]){
    justify-content:flex-start;
  }
}


/* =========================================================
   YOSAPARK Rose 6.0.28
   Mobile centered list-column + single-character title orphan guard
   Scope: <= 782px only. Desktop layouts remain unchanged.
   ========================================================= */
@media (max-width:782px){
  /*
   * Keep the visible list frame/container width from 6.0.26, while sizing
   * one shared grid column from the longest row. The shared column is then
   * centered, so every check/bullet sits on the same vertical axis without
   * making the list content look left-heavy.
   */
  .site-main .ypr-mobile-centered-list{
    box-sizing:border-box;
    display:grid!important;
    grid-template-columns:fit-content(100%)!important;
    grid-auto-flow:row!important;
    justify-content:center!important;
    justify-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }

  .site-main .ypr-mobile-centered-list > li{
    box-sizing:border-box;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    justify-self:stretch!important;
    text-align:left!important;
  }

  .site-main .ypr-mobile-centered-list > li:is([class]){
    justify-content:flex-start!important;
  }

  /* Applied only when JS detects that the rendered final line has one glyph. */
  .site-main h2.ypr-mobile-orphan-fix{
    font-size:var(--ypr-mobile-title-size)!important;
  }
}


/* =========================================================
   YOSAPARK Rose 6.0.30
   Desktop/tablet header logo containment
   Scope: >= 783px only. Mobile header remains unchanged.
   ========================================================= */
@media (min-width:783px){
  /*
   * Managed/custom logos can be close to square. Width-only sizing allowed
   * those assets to become taller than the header. Keep the existing brand
   * column and header height, but cap the rendered image by available height.
   */
  .site-header .brand{
    height:100%;
    display:flex;
    align-items:center;
  }

  .site-header .brand img,
  .site-header .brand .custom-logo{
    display:block;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    max-height:calc(var(--header) - 12px)!important;
    object-fit:contain;
    object-position:left center;
  }
}

/* ==========================================================
   6.0.33 — Homepage concerns section images in 16:9, with 2-line text fit
   Scope: Top page "こんなお悩みはありませんか？" section only
   ========================================================== */
.rose-home .concern-item{
  grid-template-columns:128px minmax(0,1fr);
  gap:16px;
  padding:22px 18px;
}
.rose-home .concern-photo{
  width:128px;
  height:auto;
  aspect-ratio:16/9;
  border-radius:16px;
  background:#f3ebe6;
}
.rose-home .concern-photo picture,
.rose-home .concern-photo img,
.rose-home .concern-photo picture img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center center;
  transform:none;
  border-radius:0;
}
.rose-home .concern-text{
  min-height:0;
}
.rose-home .concern-text h3{
  font-size:clamp(15px,1.08vw,17px);
  line-height:1.58;
  letter-spacing:.015em;
}

@media(max-width:980px){
  .rose-home .concern-item{
    grid-template-columns:122px minmax(0,1fr);
    gap:15px;
    padding:20px 16px;
  }
  .rose-home .concern-photo{
    width:122px;
  }
  .rose-home .concern-text{
    min-height:0;
  }
  .rose-home .concern-text h3{
    font-size:16px;
    line-height:1.56;
  }
}

@media(max-width:640px){
  .rose-home .concern-item{
    grid-template-columns:120px minmax(0,1fr);
    gap:14px;
  }
  .rose-home .concern-photo{
    width:120px;
    border-radius:14px;
  }
  .rose-home .concern-text{
    min-height:0;
  }
  .rose-home .concern-text h3{
    font-size:15.5px;
    line-height:1.6;
  }
}

/* ==========================================================
   6.0.34 — Homepage PC alignment refinements
   Scope: Method section title + latest column CTA only
   ========================================================== */
@media (min-width:783px){
  .rose-home .method-section #method-title{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .rose-home .method-section #method-title::before,
  .rose-home .method-section #method-title::after{
    flex:1 1 0;
    width:auto;
    max-width:220px;
  }
  .rose-home .latest-section .section-action.align-right{
    justify-content:center;
  }
}

/* ==========================================================
   6.0.35 — Mobile homepage appeal text alignment refinements
   Scope: top-page concern message + first-visit message only
   ========================================================== */
@media(max-width:782px){
  .rose-home .concern-message{
    text-align:center;
    justify-items:center;
  }
  .rose-home .concern-message strong,
  .rose-home .concern-message span{
    width:100%;
    text-align:center;
  }

  .rose-home .first-visit-message{
    text-align:center;
  }
  .rose-home .first-visit-message-title,
  .rose-home .first-visit-message-body{
    width:100%;
  }
  .rose-home .first-visit-message-title strong,
  .rose-home .first-visit-message-body p{
    text-align:center;
  }
  .rose-home .first-visit-link{
    margin-left:auto;
    margin-right:auto;
  }
}

/* ==========================================================
   6.0.36 — Mobile homepage hero art direction refinement
   Scope: smartphone top-page hero only
   - Apply the new mobile hero image
   - Soften the overlay card into an ivory veil
   - Preserve left-aligned copy, 2x2 features, and CTA hierarchy
   ========================================================== */
@media (max-width:782px){
  .rose-home .hero{
    position:relative;
    display:block;
    max-width:none;
    min-height:0;
    background:linear-gradient(180deg,#f8f2ed 0%,#fbf7f3 100%);
    overflow:visible;
    padding-bottom:18px;
  }
  .rose-home .hero-visual{
    position:relative;
    height:clamp(430px,72svh,620px);
    background:#f6eee7;
  }
  .rose-home .hero-visual::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:30%;
    background:linear-gradient(180deg,rgba(248,242,237,0) 0%,rgba(248,242,237,.18) 100%);
    pointer-events:none;
  }
  .rose-home .hero-visual picture,
  .rose-home .hero-visual img{
    display:block;
    width:100%;
    height:100%;
  }
  .rose-home .hero-image{
    object-fit:cover;
    object-position:center 18%;
  }
  .rose-home .hero-copy{
    position:relative;
    z-index:2;
    width:min(calc(100% - 40px),430px);
    margin:-96px auto 0;
    padding:28px 20px 24px;
    transform:none;
    border:1px solid rgba(194,145,128,.16);
    border-radius:22px;
    background:rgba(255,252,248,.92);
    box-shadow:0 8px 30px rgba(80,55,45,.05);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
  }
  .rose-home .hero-copy h1{
    margin:0 0 22px;
    font-size:clamp(24px,7.2vw,30px);
    line-height:1.46;
    letter-spacing:.04em;
    text-align:left;
    text-wrap:balance;
    white-space:normal;
  }
  .rose-home .hero-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:0 0 20px;
  }
  .rose-home .hero-features li{
    min-height:70px;
    padding:10px 8px;
    background:rgba(255,254,251,.82);
    border:1px solid rgba(205,174,162,.16);
    border-radius:14px;
    box-shadow:none;
    gap:4px;
    font-size:13px;
    line-height:1.42;
  }
  .rose-home .hero-features .ypr-icon{
    color:#c17e84;
    font-size:19px;
  }
  .rose-home .hero-booking,
  .rose-home .booking-buttons{
    gap:10px;
  }
  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:54px;
    padding:10px 18px;
    font-size:clamp(12.5px,3.7vw,15px);
  }
  .rose-home .hero-booking .btn span,
  .rose-home .booking-buttons .btn span{
    white-space:nowrap;
  }
}

@media (max-width:430px){
  .rose-home .hero-visual{
    height:clamp(410px,70svh,560px);
  }
  .rose-home .hero-copy{
    width:calc(100% - 40px);
    margin-top:-90px;
    padding:26px 18px 22px;
  }
  .rose-home .hero-copy h1{
    margin-bottom:20px;
    font-size:clamp(23px,7vw,28px);
  }
  .rose-home .hero-features li{
    min-height:68px;
    font-size:12.5px;
  }
}

@media (max-width:360px){
  .rose-home .hero-visual{
    height:clamp(390px,69svh,520px);
  }
  .rose-home .hero-copy{
    width:calc(100% - 24px);
    margin-top:-84px;
    padding:24px 16px 20px;
    border-radius:20px;
  }
  .rose-home .hero-copy h1{
    font-size:22px;
    line-height:1.44;
    letter-spacing:.03em;
  }
  .rose-home .hero-features{
    gap:7px;
  }
  .rose-home .hero-features li{
    min-height:64px;
    padding:9px 7px;
    font-size:12px;
  }
  .rose-home .hero-features .ypr-icon{
    font-size:18px;
  }
  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:52px;
    font-size:12px;
    padding-inline:15px;
  }
}

/* ==========================================================
   6.0.37 — Mobile homepage hero overlay repair
   Scope: smartphone top-page hero only
   Goal:
   - Put copy / features / CTA back on top of the hero image
   - Remove the separate white card look
   - Use a milky ivory gradient veil instead of a bordered box
   ========================================================== */
@media (max-width:782px){
  .rose-home .hero{
    position:relative;
    display:block;
    min-height:0;
    padding-bottom:0;
    background:#f7efe7;
    overflow:hidden;
  }

  .rose-home .hero-visual{
    position:relative;
    height:clamp(700px,100svh,900px);
    background:#f6eee6;
  }

  .rose-home .hero-visual::after{
    display:none;
  }

  .rose-home .hero-visual picture,
  .rose-home .hero-visual img{
    display:block;
    width:100%;
    height:100%;
  }

  .rose-home .hero-image{
    object-fit:cover;
    object-position:center 18%;
  }

  .rose-home .hero-copy{
    position:absolute;
    inset:auto 0 0 0;
    z-index:2;
    width:100%;
    max-width:none;
    margin:0;
    padding:210px 20px 24px;
    border:none;
    border-radius:0;
    background:linear-gradient(
      180deg,
      rgba(255,252,248,0) 0%,
      rgba(255,252,248,.10) 14%,
      rgba(255,252,248,.34) 27%,
      rgba(255,252,248,.62) 40%,
      rgba(255,252,248,.82) 56%,
      rgba(255,252,248,.92) 73%,
      rgba(255,252,248,.97) 100%
    );
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transform:none;
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .rose-home .hero-copy > *{
    width:min(100%,430px);
  }

  .rose-home .hero-copy h1{
    margin:0 0 20px;
    font-size:clamp(24px,7vw,30px);
    line-height:1.44;
    letter-spacing:.04em;
    text-align:left;
    text-wrap:balance;
    white-space:normal;
  }

  .rose-home .hero-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:0 0 18px;
  }

  .rose-home .hero-features li{
    min-height:70px;
    padding:10px 8px;
    background:rgba(255,254,251,.72);
    border:1px solid rgba(205,174,162,.14);
    border-radius:14px;
    box-shadow:none;
    gap:4px;
    font-size:13px;
    line-height:1.42;
  }

  .rose-home .hero-features .ypr-icon{
    color:#c17e84;
    font-size:19px;
  }

  .rose-home .hero-booking,
  .rose-home .booking-buttons{
    gap:10px;
  }

  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:54px;
    padding:10px 18px;
    font-size:clamp(12.5px,3.7vw,15px);
  }

  .rose-home .hero-booking .btn span,
  .rose-home .booking-buttons .btn span{
    white-space:nowrap;
  }
}

@media (max-width:430px){
  .rose-home .hero-visual{
    height:clamp(660px,100svh,840px);
  }

  .rose-home .hero-copy{
    padding:190px 20px 22px;
  }

  .rose-home .hero-copy > *{
    width:min(100%,390px);
  }

  .rose-home .hero-copy h1{
    margin-bottom:18px;
    font-size:clamp(23px,6.8vw,28px);
  }

  .rose-home .hero-features li{
    min-height:68px;
    font-size:12.5px;
  }
}

@media (max-width:360px){
  .rose-home .hero-visual{
    height:clamp(620px,100svh,780px);
  }

  .rose-home .hero-copy{
    padding:174px 14px 20px;
  }

  .rose-home .hero-copy > *{
    width:min(100%,340px);
  }

  .rose-home .hero-copy h1{
    font-size:22px;
    line-height:1.42;
    letter-spacing:.03em;
  }

  .rose-home .hero-features{
    gap:7px;
  }

  .rose-home .hero-features li{
    min-height:64px;
    padding:9px 7px;
    font-size:12px;
  }

  .rose-home .hero-features .ypr-icon{
    font-size:18px;
  }

  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:52px;
    font-size:12px;
    padding-inline:15px;
  }
}

/* ==========================================================
   6.0.38 — Mobile hero copy position adjustment
   Scope: smartphone top-page hero only
   Goal: move the catch copy upward while keeping features/CTA lower.
   ========================================================== */
@media (max-width:782px){
  .rose-home .hero-copy{
    inset:0;
    padding:300px 20px 24px;
    justify-content:flex-start;
  }

  .rose-home .hero-copy h1{
    margin:0 0 24px;
  }

  .rose-home .hero-features{
    margin-top:auto;
    margin-bottom:18px;
  }
}

@media (max-width:430px){
  .rose-home .hero-copy{
    padding-top:282px;
  }
}

@media (max-width:360px){
  .rose-home .hero-copy{
    padding-top:262px;
  }
}

/* ==========================================================
   6.0.39 — Mobile hero copy higher + CTA clipping fix
   Scope: smartphone top-page hero only
   ========================================================== */
@media (max-width:782px){
  .rose-home .hero{
    overflow:hidden;
  }

  .rose-home .hero-visual{
    height:clamp(790px,112svh,960px);
  }

  .rose-home .hero-copy{
    inset:0;
    padding:190px 20px 30px;
  }

  .rose-home .hero-copy h1{
    margin:0 0 22px;
  }

  .rose-home .hero-features{
    margin-top:auto;
    margin-bottom:16px;
  }

  .rose-home .hero-features li{
    min-height:66px;
  }

  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:52px;
    font-size:clamp(12px,3.6vw,14.5px);
  }
}

@media (max-width:430px){
  .rose-home .hero-visual{
    height:clamp(760px,110svh,920px);
  }

  .rose-home .hero-copy{
    padding-top:176px;
    padding-bottom:28px;
  }

  .rose-home .hero-copy h1{
    margin-bottom:20px;
  }

  .rose-home .hero-features li{
    min-height:64px;
  }
}

@media (max-width:360px){
  .rose-home .hero-visual{
    height:clamp(720px,108svh,880px);
  }

  .rose-home .hero-copy{
    padding-top:162px;
    padding-bottom:24px;
  }

  .rose-home .hero-copy h1{
    margin-bottom:18px;
  }

  .rose-home .hero-features li{
    min-height:62px;
  }

  .rose-home .hero-booking .btn,
  .rose-home .booking-buttons .btn{
    min-height:50px;
    font-size:11.5px;
  }
}

/* ==========================================================
   6.0.40 — Mobile hero copy moved further upward
   Scope: smartphone top-page hero only
   Goal: place the catch copy closer to the highlighted upper area.
   ========================================================== */
@media (max-width:782px){
  .rose-home .hero-copy{
    padding-top:128px;
  }
}

@media (max-width:430px){
  .rose-home .hero-copy{
    padding-top:118px;
  }
}

@media (max-width:360px){
  .rose-home .hero-copy{
    padding-top:108px;
  }
}
