/* 案件固有のスタイル。型(styles.css)は編集禁止 — 上書きはすべてここに書く。
   読み込み順は styles.css → custom.css なので、同じセレクタ/変数はこちらが勝つ。 */

:root {
  --mold-version: 9;
  /* font-preset: cute */
  --lh-body: 1.85;
  --lh-display: 1.28;
  --ls-en: .04em;
  --ls-body: .02em;
  --ls-display: 0;
  --fw-strong: 700;
  --fw-body: 400;
  --fw-display: 900;
  --font-en: "Outfit", sans-serif;
  --font-body: "M PLUS Rounded 1c", sans-serif;
  --font-display: "Zen Maru Gothic", sans-serif;
  /* 配色: extract_palette.py の4値をここに */
  /* 書体: apply_design_tokens.py --preset <key> が自動で書く */
}

/* ルートAヒーロー(make_hero_bg.py の出力座標)はここに書く */
/* R&R — adopted coastal direction */
:root{--base:#fffdf1;--main:#50aed0;--accent:#ff5d16;--ink:#092849;--paper:#fffdf1;--gold:#ff5d16;--muted:#596b75;--font-display:'RR Rounded',sans-serif;--font-body:'RR Rounded',sans-serif;--font-en:serif;--font-display-weight:800;--font-display-tracking:-.025em;--font-display-leading:1.35;--font-body-leading:1.9}
html{scroll-behavior:smooth;scroll-padding-top:25px}body.rr-site{margin:0;color:var(--ink);background:var(--base);font:400 16px/1.9 var(--font-body)}
.rr-site *{box-sizing:border-box}.rr-site img{display:block;max-width:100%;height:auto}.rr-site figure{margin:0}.rr-site a{color:inherit}.rr-site p{margin:0 0 1.3em}.rr-site h1,.rr-site h2,.rr-site h3{font-family:var(--font-display);font-weight:800;color:var(--ink)}
.rr-site h2{font-size:clamp(30px,3.4vw,50px);line-height:1.5;letter-spacing:.015em}.rr-site h3{font-size:25px;line-height:1.6}.rr-site a:focus-visible,.rr-site button:focus-visible,.rr-site summary:focus-visible{outline:3px solid #1377b5;outline-offset:6px}.skip-link{position:fixed;top:-80px;left:10px;z-index:1000;background:white;padding:12px}.skip-link:focus{top:10px}
.rr-site .section{max-width:1260px;padding:110px 55px;margin:0 auto}.rr-site .section__head{margin:0 0 55px}.rr-site .rr-eyebrow{font-size:14px;letter-spacing:.09em;color:#247d9f;font-weight:800;margin-bottom:15px}.rr-site .section__head h2{margin:0}.rr-site .rr-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--accent);color:white;text-decoration:none;min-height:60px;border-radius:50px;padding:16px 30px;line-height:1.4;font-weight:800;transition:transform .25s,box-shadow .25s}.rr-button svg,.sticky-cta svg,.rr-phone svg{width:26px;height:26px;fill:currentColor;flex:none}.rr-button .arrow{font:400 36px/1 Arial;margin-left:12px}.rr-button:hover{transform:translateY(-2px);box-shadow:0 9px 24px #d64d1626}
.rr-site .site-header{position:relative;inset:auto;width:100%;height:145px;padding:0;display:block;background:transparent;border:0;backdrop-filter:none;z-index:40}.rr-site .site-header .brand{display:block;position:absolute;left:40px;top:12px;width:235px;margin:0;line-height:0}.rr-site .site-header .brand img{width:100%;height:auto}.rr-site .rr-nav{position:absolute;right:35px;top:43px;display:flex;align-items:center;gap:35px;font-size:16px;font-weight:800}.rr-nav>a{text-decoration:none}.rr-nav>a:not(.rr-button){padding:10px 0;white-space:nowrap}.rr-nav>a[aria-current=page]{box-shadow:0 2px var(--main)}.rr-site .rr-nav .rr-button{font-size:15px;min-height:54px;padding:14px 26px;gap:12px}.rr-site .rr-nav .rr-button .arrow{display:none}.rr-site .rr-nav .rr-button svg{width:22px;height:22px}.rr-site .nav-toggle{display:none}.rr-site .nav-overlay{background:var(--base)}.rr-site .nav-overlay a{font-family:var(--font-body)}
.rr-site.home .site-header{position:absolute;top:0;left:0;height:0}.rr-site.home .site-header .brand{left:2.93vw;top:.52vw;width:26.04vw}.rr-site.home .rr-nav{right:1.9vw;top:2.0vw;gap:2.5vw;font-size:1.08vw}.rr-site.home .rr-nav .rr-button{min-height:0;padding:1.03vw 1.72vw;gap:.8vw;font-size:1.08vw}.rr-site.home .rr-nav .rr-button svg{width:1.55vw;height:1.55vw}
.rr-site .hero.rr-hero{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:1536 / 1024;margin:0;padding:0;overflow:hidden;background:var(--base);isolation:isolate}.rr-site .hero__photo-wrap{position:absolute;inset:0;width:100%;height:100%;border:0;transform:none}.rr-site .hero__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none;animation:none}.rr-site .hero__photo-wrap::after{display:none}.rr-site .hero__copy{display:block;position:absolute;inset:0;padding:0;width:100%;max-width:none;height:100%;z-index:2;pointer-events:none;transform:none}
.rr-site .hero__location{position:absolute;left:3.4%;top:20.55%;margin:0;font-size:1.52vw;line-height:1.45;font-weight:800;letter-spacing:0}.rr-site #hero-title{position:absolute;left:2.96%;top:23.1%;margin:0;font-family:var(--font-display);font-size:5.62vw;font-weight:800;line-height:1.11;letter-spacing:-.055em;color:#b83e06;width:47%;padding:0;transform:none;opacity:1;max-width:none}.rr-site #hero-title .l{display:block;overflow:visible;margin:0;clip-path:none}.rr-site #hero-title .l>span{display:block;transform:none;animation:none;opacity:1}.rr-site .hero__lead{position:absolute;left:3.52%;top:45.1%;margin:0;font-size:1.77vw;font-weight:800;letter-spacing:.015em;line-height:1.5;opacity:1;transform:none;color:var(--ink)}.rr-site .hero__actions{position:absolute;left:3.39%;top:52.65%;display:block;margin:0;opacity:1;transform:none;pointer-events:auto}.rr-site .hero__actions .rr-button{width:25.4vw;min-height:6.1vw;padding:1.2vw 2.45vw;font-size:1.8vw;gap:1.4vw;border-radius:5vw;justify-content:space-between}.rr-site .hero__actions .rr-button svg{width:2.55vw;height:2.55vw}.rr-site .hero__actions .arrow{font-size:3vw;margin-left:0}
.rr-site .hero__owner{position:absolute;left:71.35%;top:56.3%;width:25.8%;height:36%;padding:.65vw;background:white;transform:rotate(3deg);z-index:3;margin:0;box-shadow:0 5px 18px #18334f18;overflow:hidden}.rr-site .hero__owner img{width:100%;height:100%;object-fit:cover;object-position:54% 34%}
.rr-tide{padding:19px 25px;text-align:center;background:#54b4d0;color:white;font:italic 23px/1.5 var(--font-en);letter-spacing:.06em}.rr-site .rr-welcome{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.rr-welcome-body>p{font-size:18px}.rr-concerns{list-style:none;padding:12px 0 0;margin:0}.rr-concerns li{border-bottom:1px solid #bbd6d6;padding:15px 0 15px 30px;position:relative}.rr-concerns li::before{content:'✓';position:absolute;left:0;color:#3799b4;font-weight:800}.rr-site .rr-services{padding-top:35px}.rr-service-row{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;margin-top:95px;scroll-margin-top:35px}.rr-service-row.reverse figure{order:2}.rr-service-row figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:80px 8px 80px 8px}.rr-service-row.reverse figure img{border-radius:8px 80px 8px 80px}.rr-service-row figcaption{font-size:12px;text-align:right;color:var(--muted);margin-top:10px}.rr-number{display:flex;gap:22px;align-items:center;font:italic 54px/1 var(--font-en);color:#4ba9c8}.rr-number span{font:800 14px/1.6 var(--font-body);letter-spacing:.05em;color:var(--ink)}.rr-service-copy h3{font-size:34px;margin:23px 0}.rr-textlink{display:inline-flex;gap:25px;text-decoration:none;border-bottom:1px solid #479bb7;padding:8px 0;font-weight:800}.rr-textlink span{color:var(--accent)}.rr-examples{list-style:none;padding:5px 0;margin:18px 0}.rr-examples li{border-bottom:1px solid #d9e4de;padding:12px 0}.rr-examples li::before{content:'＋';color:var(--main);margin-right:12px}
.rr-site .rr-owner{display:grid;grid-template-columns:1fr .9fr;gap:85px;align-items:center;background:#e9f4f1;border-radius:12px 90px 12px 90px;margin-top:65px;padding:85px 65px}.rr-owner figure{transform:rotate(-3deg);background:white;padding:12px 12px 40px;box-shadow:0 8px 25px #18334f13}.rr-owner figure img{aspect-ratio:5/5.2;width:100%;object-fit:cover;object-position:50% 25%}.rr-owner figcaption{position:absolute;bottom:8px;left:24px;font:italic 18px/1.5 var(--font-en);color:#3989ac}.rr-owner h2{margin:18px 0 25px}.rr-owner p{font-size:17px}.rr-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.rr-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.rr-gallery figcaption{font-size:14px;margin-top:13px;color:var(--muted)}.rr-gallery figure:nth-child(2){padding-top:45px}.rr-gallery figure:nth-child(3){padding-top:90px}
.rr-site .rr-access{border-top:1px solid #b9dadd}.rr-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.rr-access-photo img{width:100%;aspect-ratio:4/4.2;object-fit:cover;border-radius:8px 70px 8px 8px}.rr-access-grid h3{margin:0 0 20px}.rr-details{margin:0 0 25px}.rr-details>div{display:grid;grid-template-columns:95px 1fr;padding:15px 0;border-bottom:1px solid #c3dad9;gap:15px}.rr-details dt{font-weight:800}.rr-details dd{margin:0}.rr-details dd a{font-weight:800;text-decoration-color:#7bc2d4}.rr-outline{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #4b9ab5;border-radius:40px;padding:13px 25px;text-decoration:none;font-weight:800;transition:background .2s}.rr-outline:hover{background:#e6f2f1}.rr-site .rr-contact{position:relative;background:#51a9c5;color:white;padding:90px max(6vw,25px);display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:center;overflow:hidden}.rr-contact h2{color:white;font-size:clamp(30px,3.4vw,48px);margin:15px 0 25px}.rr-contact .rr-eyebrow{color:#fdf5e7}.rr-contact p{margin-bottom:22px}.rr-contact .contact-car{width:100%;height:330px;object-fit:cover;border:10px solid #fffdf1;transform:rotate(5deg);border-radius:2px}.rr-phone{display:inline-flex;align-items:center;gap:22px;font:800 clamp(27px,3vw,44px)/1.5 var(--font-body);text-decoration:none}.rr-phone svg{width:32px;height:32px}.rr-site .rr-hours{font-size:14px;margin-top:12px}
.rr-site .footer{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:45px;padding:65px max(5vw,25px) 30px;background:var(--base);color:var(--ink);font-size:14px}.rr-site .footer__brand img{width:230px;height:auto;margin-bottom:20px}.rr-site .footer__brand strong{display:block;font:800 16px/1.7 var(--font-body);letter-spacing:.02em;margin-bottom:15px}.rr-site .footer__brand>p{font-size:13px;line-height:2.2;margin:0}.rr-site .footer__nav{display:flex;flex-direction:column;gap:15px;align-items:flex-start;padding-top:20px}.rr-site .footer__nav a{text-decoration:none}.rr-site .footer__sns{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-top:20px}.rr-site .footer__sns a{display:block;width:auto;height:auto;border:0;border-radius:0;font-size:13px}.rr-site .footer>small{grid-column:1/-1;display:block;font-size:11px;border-top:1px solid #c4dad6;padding-top:25px;letter-spacing:.04em}.rr-site .sticky-cta{display:none}.rr-subhero{padding:70px max(calc((100vw - 1150px)/2),55px) 95px;background:#eaf6f4 url('../../shared/a90fe51437a447834ace.jpg') 70% 25%/cover;border-bottom:1px solid #a6cfd5;position:relative;isolation:isolate}.rr-subhero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffdf1f5,#fffdf1df 60%,#fffdf1aa)}.rr-subhero h1{font-size:clamp(35px,4.3vw,64px);line-height:1.5;margin:15px 0 25px}.rr-subhero>p:last-child{margin:0}
.rr-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.rr-steps li{padding:25px 25px 0;border-top:2px solid #71bcd1}.rr-steps li>span{font:italic 44px/1 var(--font-en);color:#4eacc9}.rr-steps h3{font-size:22px;margin:25px 0 15px}.rr-faq{border-top:1px solid #c3d9d8}.rr-site .faq-list details{border-bottom:1px solid #c0d7d5;margin:0;padding:23px 0}.rr-site .faq-list summary{font-weight:800;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.rr-site .faq-list summary::after{content:'＋';color:#3999b9}.rr-site .faq-list details[open] summary::after{content:'−'}.rr-site .faq-list details p{margin:20px 0 0;max-width:850px}.rr-about-grid{display:grid;grid-template-columns:.85fr 1fr;gap:80px;align-items:center}.rr-about-grid img{width:100%;height:480px;object-fit:cover;border-radius:12px 80px 12px 12px}.rr-about-grid p{font-size:18px}.rr-store{border-top:1px solid #c5dcda}.rr-store-pictures{display:flex;gap:40px;flex-wrap:wrap}.rr-store-pictures figure img{width:280px;height:210px;object-fit:cover;border-radius:6px}.rr-store-pictures figcaption{font-size:13px;margin-top:12px;color:var(--muted)}.rr-route{display:grid;grid-template-columns:1fr 1fr;gap:60px}.rr-route-copy{padding-top:40px}
@media(min-width:1700px){.rr-site .section{padding-top:130px;padding-bottom:130px}}
@media(max-width:1040px){.rr-site .section{padding:75px 35px}.rr-service-row{gap:40px;margin-top:65px}.rr-service-copy h3{font-size:28px}.rr-site .rr-owner{gap:45px;padding:60px 35px;margin-left:20px;margin-right:20px}.rr-access-grid{gap:40px}.rr-site .rr-nav{gap:22px;right:25px}.rr-site .site-header .brand{width:205px;left:25px}.rr-site .rr-contact{gap:35px}.rr-site .rr-welcome{gap:40px}}
@media(max-width:767px){html{scroll-padding-top:15px}.rr-site{overflow-x:clip}.rr-site .section{padding:65px 23px}.rr-site .section__head{margin-bottom:35px}.rr-site h2{font-size:31px;line-height:1.55}.rr-site .site-header,.rr-site.home .site-header{position:relative;height:108px;background:var(--base)}.rr-site .site-header .brand,.rr-site.home .site-header .brand{left:21px;top:8px;width:198px}.rr-site .rr-nav{display:none}.rr-site .nav-toggle{display:flex;position:absolute;right:21px;top:31px;width:48px;height:44px;background:#fffdf1;border:1px solid #84bbcc;border-radius:50%;padding:12px;z-index:101;align-items:center;justify-content:center}.rr-site .nav-toggle span{height:2px;width:23px;position:absolute;left:11px;background:var(--ink)}.rr-site .nav-toggle span:first-child{transform:translateY(-4px)}.rr-site .nav-toggle span:last-child{transform:translateY(4px)}.rr-site.nav-open .nav-toggle span:first-child{transform:rotate(45deg)}.rr-site.nav-open .nav-toggle span:last-child{transform:rotate(-45deg)}.rr-site .nav-overlay{position:fixed;inset:0;z-index:90;padding:130px 30px 35px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s,visibility .25s;overflow-y:auto}.rr-site.nav-open .nav-overlay{opacity:1;visibility:visible;pointer-events:auto}.rr-site .nav-overlay nav{display:flex;flex-direction:column;gap:20px}.rr-site .nav-overlay nav a{font-size:25px;font-weight:800;text-decoration:none}.rr-site .nav-overlay__info{margin-top:35px}.rr-site .nav-overlay__info p{font-size:14px}
.rr-site .hero.rr-hero{aspect-ratio:auto;min-height:690px;height:auto;display:flex;flex-direction:column;padding:0 0 260px;overflow:hidden}.rr-site .hero__photo-wrap{position:absolute;inset:auto 0 0;width:100%;height:100%;background:#ecf7ed}.rr-site .hero__photo{object-fit:cover;object-position:57% bottom;width:100%;height:100%;opacity:1}.rr-site .hero__photo-wrap::after{display:block;position:absolute;inset:0;content:'';background:linear-gradient(180deg,#fffdf1f5 0%,#fffdf1e8 32%,#fffdf180 48%,#fffdf100 70%)}.rr-site .hero__copy{position:relative;inset:auto;width:100%;height:auto;padding:8px 23px 0;pointer-events:auto}.rr-site .hero__location{position:relative;inset:auto;font-size:15px;line-height:1.5;margin:0 0 8px}.rr-site #hero-title{position:relative;inset:auto;font-size:clamp(32px,8.2vw,59px);line-height:1.3;letter-spacing:-.055em;width:100%;margin:0 0 19px;max-width:none}.rr-site #hero-title .l{overflow:visible}.rr-site .hero__lead{position:relative;inset:auto;font-size:clamp(13px,3.65vw,21px);line-height:1.8;margin:0 0 23px;letter-spacing:0}.rr-site .hero__actions{position:relative;inset:auto;margin:0}.rr-site .hero__actions .rr-button{width:auto;min-width:255px;min-height:59px;padding:15px 24px;font-size:17px;gap:22px;border-radius:40px}.rr-site .hero__actions .rr-button svg{width:25px;height:25px}.rr-site .hero__actions .rr-button .arrow{font-size:30px}.rr-site .hero__owner{left:auto;right:20px;top:auto;bottom:26px;width:110px;height:125px;padding:4px;transform:rotate(4deg)}.rr-tide{font-size:17px;padding:15px 20px}.rr-site .rr-welcome{display:block}.rr-welcome-body>p{font-size:16px}.rr-concerns li{font-size:14px}.rr-service-row,.rr-access-grid,.rr-about-grid,.rr-site .rr-owner,.rr-route{grid-template-columns:1fr;gap:30px}.rr-service-row{margin-top:55px}.rr-service-row.reverse figure{order:0}.rr-service-row figure img,.rr-service-row.reverse figure img{border-radius:50px 6px 50px 6px}.rr-service-copy h3{font-size:29px;margin:17px 0}.rr-service-copy p{font-size:15px}.rr-number{font-size:42px}.rr-site .rr-owner{margin:20px 15px 0;padding:40px 25px;border-radius:8px 60px 8px 60px;gap:40px}.rr-owner figure{margin:0 10px}.rr-owner figure img{aspect-ratio:1.1}.rr-owner p{font-size:15px}.rr-gallery{gap:18px;grid-template-columns:1fr 1fr}.rr-gallery figure:nth-child(2){padding-top:40px}.rr-gallery figure:nth-child(3){padding-top:0;grid-column:1/-1;width:75%;margin-top:10px}.rr-gallery figcaption{font-size:12px}.rr-access-photo img{aspect-ratio:4/3}.rr-access-grid h3{font-size:22px}.rr-details>div{grid-template-columns:75px 1fr;font-size:15px;gap:12px}.rr-access-grid p{font-size:15px}.rr-site .rr-contact{grid-template-columns:1fr;padding:55px 24px 65px;gap:25px}.rr-contact h2{font-size:30px}.rr-contact p{font-size:14px}.rr-site .rr-contact .contact-car{width:180px;height:140px;margin-left:auto;transform:rotate(4deg)}.rr-phone{font-size:27px;gap:12px}.rr-phone svg{width:25px;height:25px}.rr-site .rr-hours{font-size:12px}.rr-site .footer{grid-template-columns:1fr 1fr;padding:45px 24px 95px;gap:20px}.rr-site .footer__brand{grid-column:1/-1}.rr-site .footer__brand img{width:210px}.rr-site .footer__nav{gap:12px;padding-top:10px}.rr-site .footer__sns{padding-top:10px}.rr-site .footer__sns span{font-size:12px}.rr-site .sticky-cta{position:fixed;display:flex;align-items:center;justify-content:center;gap:17px;left:18px;right:18px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;min-height:59px;padding:10px 20px;background:var(--accent);color:white;border-radius:40px;text-decoration:none;font-size:16px;font-weight:800;line-height:1.4;z-index:65;box-shadow:0 5px 25px #17374433;transform:translateY(130%);opacity:0;transition:transform .3s,opacity .3s}.rr-site .sticky-cta.is-shown{transform:translateY(0);opacity:1}.sticky-cta small{display:block;font-size:10px;font-weight:400}.rr-site .rr-subhero{padding:45px 23px 55px}.rr-subhero h1{font-size:33px;line-height:1.6}.rr-subhero>p{font-size:14px}.rr-steps{grid-template-columns:1fr;gap:20px}.rr-steps li{padding:22px 5px 0}.rr-steps h3{margin:15px 0 10px}.rr-steps li p{font-size:15px}.rr-site .faq-list summary{font-size:16px}.rr-site .faq-list details p{font-size:14px}.rr-about-grid img{height:350px}.rr-about-grid p{font-size:16px}.rr-store-pictures{gap:25px}.rr-store-pictures figure{width:100%}.rr-store-pictures figure img{width:100%;max-width:300px;height:auto}.rr-route-copy{padding-top:0}.rr-route-copy p{font-size:15px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{transform:none!important;clip-path:none!important;transition:opacity .6s ease!important}.hero__ambient{display:none}.marquee__inner{animation-duration:55s}html{scroll-behavior:auto}}
.rr-site .site-header{clip-path:none!important}
.rr-site .hero__photo-wrap::before{display:none}
.rr-site .hero__lead,.rr-site .hero__location,.rr-site .rr-button{font-weight:700}
.rr-site.home .rr-nav{font-weight:400}
.rr-site .footer__brand strong,.rr-site .footer__brand p,.rr-site .footer>small{color:var(--ink)}
.rr-site .rr-contact .rr-eyebrow{color:#092849}
.rr-site .rr-tide.marquee{display:flex;gap:45px;overflow:hidden;padding:17px 0;color:white;background:#54b4d0;border:0;transform:none;opacity:1}
.rr-site .rr-tide .marquee__inner{display:flex;gap:45px;flex-shrink:0;animation:rr-tide 46s linear infinite;font:italic 21px/1.5 var(--font-en);color:white}
.rr-site .rr-tide .marquee__inner span{font:inherit;color:inherit;padding:0;border:0}
@keyframes rr-tide{to{transform:translateX(calc(-100% - 45px))}}
@media(prefers-reduced-motion:reduce){.rr-site .rr-tide .marquee__inner{animation-duration:90s}}
.rr-site .hero__owner{left:71.35%;top:56.2%;width:26.1%;height:37.1%}
.rr-site .hero__owner img{object-position:80% 0%;transform:scale(1.25);transform-origin:50% 0%}
.rr-page-heading{padding:70px max(calc((100vw - 1150px)/2),55px) 95px;background:#eaf6f4 url('../../shared/a90fe51437a447834ace.jpg') 70% 25%/cover;border-bottom:1px solid #a6cfd5;position:relative;isolation:isolate}
.rr-page-heading::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffdf1f5,#fffdf1df 60%,#fffdf1aa)}
.rr-page-heading h1{font-size:clamp(35px,4.3vw,64px);line-height:1.5;margin:15px 0 25px}.rr-page-heading>p:last-child{margin:0}
@media(max-width:767px){.rr-site .hero__owner{left:auto;right:20px;top:auto;bottom:26px;width:110px;height:125px}.rr-site .rr-page-heading{padding:45px 23px 55px}.rr-page-heading h1{font-size:33px;line-height:1.6}.rr-page-heading>p{font-size:14px}}

.rr-site .rr-share{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:13px}.rr-site .rr-share>span{font-weight:700}.rr-site .footer{grid-template-columns:1.4fr .6fr .7fr .7fr}@media(max-width:767px){.rr-site .footer{grid-template-columns:1fr 1fr}.rr-site .rr-share{padding-top:10px}}

/* SNS非掲載：共有欄を外した3列のフッター */
.rr-site .footer{grid-template-columns:1.35fr 1fr 1fr}
@media(max-width:767px){.rr-site .footer{grid-template-columns:1fr 1fr}}

.rr-site .footer__nav a{color:var(--color-text,#12344a)}

/* v12: 読む文章はNoto Sans JP、見出しは採用済みの丸ゴシック */
:root{--font-body:'RR Noto','Yu Gothic',sans-serif;--fw-body:500}
body.rr-site{font-weight:500;color:#12334b;line-height:1.95}
.rr-site p,.rr-site li,.rr-site dd,.rr-site summary{font-weight:500}
.rr-site .hero__copy,.rr-site .rr-nav{font-family:var(--font-display)}
.rr-site .hero__location,.rr-site .hero__lead,.rr-site .rr-eyebrow{font-weight:800}
.rr-site .rr-service-copy>p:not(.rr-number),.rr-site .rr-owner p:not(.rr-eyebrow){font-size:17px;color:#12334b}
.rr-site .rr-welcome{max-width:none;padding-left:max(55px,calc((100vw - 1150px)/2));padding-right:max(55px,calc((100vw - 1150px)/2));background:linear-gradient(90deg,#eaf7fa 0%,#eaf7faf2 55%,#eaf7fab8 100%),url('../../shared/a90fe51437a447834ace.jpg') right 30%/cover}
.rr-site .rr-services{max-width:none;padding:95px max(55px,calc((100vw - 1150px)/2));background:#fff}
.rr-site .rr-services>.section__head{border-left:6px solid #f57838;padding-left:24px}
.rr-site .rr-service-row{margin-top:75px}
.rr-site .rr-service-row figure{position:relative}
.rr-site .rr-service-row figure::before{content:'';position:absolute;inset:15px -14px 20px 17px;background:#b7e5ee;border-radius:80px 8px 80px 8px;transform:rotate(2deg);z-index:0}
.rr-site .rr-service-row figure img,.rr-site .rr-service-row figure figcaption{position:relative;z-index:1}
.rr-coast-break{position:relative;height:360px;overflow:hidden;background:#1285ad}
.rr-coast-break>img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.rr-coast-break::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#063e5c80,transparent 70%)}
.rr-coast-break p{position:absolute;left:max(55px,calc((100vw - 1150px)/2));bottom:38px;z-index:1;color:white;font:800 clamp(27px,3vw,44px)/1.6 var(--font-display);text-shadow:0 2px 12px #10475960;margin:0}
.rr-site .rr-owner{background:linear-gradient(120deg,#e1f2ee,#d8eef4);border-radius:12px 90px 12px 90px;margin-top:85px;margin-bottom:85px;border:1px solid #b7dbe2}
.rr-site .rr-glimpses{max-width:none;padding-left:max(55px,calc((100vw - 1150px)/2));padding-right:max(55px,calc((100vw - 1150px)/2));background:#d4edf5;position:relative;border-top:12px solid #50aed0}
.rr-site .rr-gallery figure{padding:12px 12px 24px;background:#fff;box-shadow:0 5px 0 #abcdd7;align-self:start}
.rr-site .rr-gallery figure:nth-child(2){margin-top:40px;transform:rotate(2deg)}
.rr-site .rr-gallery figure:nth-child(3){margin-top:80px;transform:rotate(-2deg)}
.rr-site .rr-gallery figcaption{color:#284955;font-size:15px}
.rr-site .rr-access{border-top:0;background:#fff9ed;max-width:none;padding-left:max(55px,calc((100vw - 1150px)/2));padding-right:max(55px,calc((100vw - 1150px)/2))}
.rr-site .rr-contact{background:linear-gradient(90deg,#096383f2,#096383e3),url('../../shared/a90fe51437a447834ace.jpg') center 35%/cover}
.rr-site .rr-contact p,.rr-site .rr-contact .rr-eyebrow{color:#fff;font-weight:500}
.rr-site .rr-phone{font-weight:750}
.rr-site .rr-page-heading{background-color:#dcf1f6}
.rr-site .rr-details dt{font-weight:700}
.rr-site .footer{background:#f4faf9}
.rr-site .footer__nav a{font-weight:550;letter-spacing:.02em}
@media(max-width:767px){
 .rr-site .rr-welcome,.rr-site .rr-services,.rr-site .rr-glimpses,.rr-site .rr-access{padding-left:24px;padding-right:24px}
 .rr-site .rr-services{padding-top:65px;padding-bottom:75px}
 .rr-site .rr-service-copy>p:not(.rr-number),.rr-site .rr-owner p:not(.rr-eyebrow){font-size:16px}
 .rr-site .rr-service-row{margin-top:55px;gap:35px}
 .rr-site .rr-service-row figure::before{inset:12px -9px 20px 12px}
 .rr-site .rr-owner{margin-top:55px;margin-bottom:55px}
 .rr-coast-break{height:240px}
 .rr-coast-break p{left:24px;bottom:25px;font-size:27px}
 .rr-coast-break>img{object-position:70% 30%}
 .rr-site .rr-gallery figure:nth-child(2),.rr-site .rr-gallery figure:nth-child(3){margin-top:0}
 .rr-site .rr-welcome{background:linear-gradient(#eaf7faf2,#eaf7fae6),url('../../shared/a90fe51437a447834ace.jpg') 65% 30%/cover}
}
/* 本文の絵は空と海の範囲だけを大きく見せ、人物枠を繰り返さない */
.rr-site .rr-welcome{background-size:auto,220% auto;background-position:center,right 12%;background-repeat:no-repeat}
.rr-coast-break{background:#1383ab url('../../shared/a90fe51437a447834ace.jpg') right 15%/220% auto no-repeat}
.rr-coast-break>img{visibility:hidden}
.rr-site .rr-contact{background-size:auto,220% auto;background-position:center,right 15%;background-repeat:no-repeat}
@media(max-width:767px){.rr-site .rr-welcome{background-size:auto,auto 1800px;background-position:center,right 12%}.rr-coast-break{background-size:auto 1350px;background-position:right 15%}.rr-site .rr-contact{background-size:auto,auto 1600px;background-position:center,right 15%}}

.rr-site .rr-shop-intro{max-width:none;display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:65px;padding:80px max(55px,calc((100vw - 1150px)/2));background:#f6ead8}
.rr-shop-intro>figure{padding:14px 14px 20px;background:white;transform:rotate(-2deg);box-shadow:7px 10px 0 #dcc9ae}
.rr-shop-intro>figure>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rr-shop-intro figcaption{font-size:13px;margin-top:15px;color:#29475a}
.rr-shop-intro h2{margin:15px 0 25px}
.rr-site .rr-shop-sign{width:230px;aspect-ratio:3/2;object-fit:cover;object-position:center 65%;margin:30px 0 0 auto;border:7px solid white;transform:rotate(4deg);box-shadow:0 4px 10px #59432316}
.rr-site .rr-access-photo img{aspect-ratio:4/3;object-position:center}
@media(max-width:767px){.rr-site .rr-shop-intro{padding:60px 24px;grid-template-columns:1fr;gap:40px}.rr-site .rr-shop-sign{width:200px}.rr-shop-intro>figure{padding:9px 9px 15px}.rr-shop-intro h2{font-size:32px}}
/* v13：導入の一行を、スマホでも読める補助見出しの大きさへ */
.rr-site #welcome .rr-eyebrow{font-size:22px;line-height:1.65;letter-spacing:.025em;font-weight:750;color:#17617e;margin-bottom:20px}
@media(max-width:767px){.rr-site #welcome .rr-eyebrow{font-size:18px;line-height:1.7;letter-spacing:.015em;margin-bottom:18px}}
/* v14：青い補助見出しの大きさを全ページで統一 */
.rr-site .rr-eyebrow{font-size:22px;line-height:1.65;letter-spacing:.025em;font-weight:750;margin-bottom:20px}
@media(max-width:767px){.rr-site .rr-eyebrow{font-size:18px;line-height:1.7;letter-spacing:.015em;margin-bottom:18px}}

.rr-site .rr-number span{font-size:22px;line-height:1.65}
.rr-site .contact-car{object-position:center}
.rr-site img[src="../../shared/95110de65db5513a523f.jpg"]{object-position:center 65%}
.rr-site .rr-service-row img[src="../../shared/9821a9962323a885aedd.jpg"]{object-position:45% 75%}
@media(max-width:767px){.rr-site .rr-number span{font-size:18px;line-height:1.7}}

/* v15 / W-199: a shallow tide inside the owner's existing blue panel. */
.rr-site #owner{position:relative;isolation:isolate;overflow:hidden;padding-bottom:145px}
.rr-site #owner>figure,.rr-site #owner>div:not(.rr-owner-wave){position:relative;z-index:1}
.rr-site #owner .rr-owner-wave{position:absolute;inset:auto 0 0;height:110px;z-index:0;pointer-events:none;color:#83c8da}
.rr-owner-wave svg{display:block;width:100%;height:100%;fill:currentColor}
@media(max-width:767px){.rr-site #owner{padding-bottom:100px}}

/* v17 / W-144: preserve the original orange button and responsive geometry. */
.rr-site .hero__actions [data-motion="W-144"][data-variant="shine"]{
 position:relative;isolation:isolate;overflow:hidden;
 background:var(--accent);color:#fff;
}
.rr-site .hero__actions [data-motion="W-144"]::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;
 top:-50%;left:0;width:45%;height:200%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
 transform:translateX(-180%) skewX(-20deg);transition:none;
}
.rr-site .hero__actions [data-motion="W-144"]:is(:hover,:focus-visible,:active)::before{
 transform:translateX(350%) skewX(-20deg);transition:transform .7s ease;
}
.rr-site .hero__actions [data-motion="W-144"]:focus-visible{outline:3px solid #12334b;outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 .rr-site .hero__actions [data-motion="W-144"]::before{display:none;transition:none}
 .rr-site .hero__actions [data-motion="W-144"]{transition:none;transform:none}
 .rr-site .hero__actions [data-motion="W-144"]:is(:hover,:focus-visible,:active){background:var(--accent);box-shadow:0 0 0 3px #12334b;transform:none}
}

/* v17: one-line lead and an even frame over the photograph painted into the background. */
.rr-site .hero__lead{max-width:none;width:max-content;white-space:nowrap}
.rr-site .hero__owner{left:70.2%;top:54.9%;width:28.3%;height:40.5%;padding:0;border:.65vw solid #fff;box-sizing:border-box;transform:rotate(3.5deg);background:#fff}
.rr-site .hero__owner-crop{width:100%;height:100%;overflow:hidden}
.rr-site .hero__owner img{display:block;width:100%;height:100%}
@media(max-width:767px){
 .rr-site .hero__lead{max-width:100%;font-size:clamp(12px,3.65vw,21px)}
 .rr-site .hero__owner{left:auto;right:20px;top:auto;bottom:26px;width:110px;height:125px;border-width:4px;transform:rotate(4deg)}
}

/* v18: rounded is the default; Noto Sans JP belongs only to explanatory copy. */
:root{--font-body:'RR Rounded',sans-serif;--font-display:'RR Rounded',sans-serif;--font-copy:'RR Noto','Yu Gothic',sans-serif}
.rr-site p,.rr-site li,.rr-site dd,.rr-site dt,.rr-site figcaption{font-family:var(--font-copy)}
.rr-site h1,.rr-site h2,.rr-site h3,.rr-site h4,
.rr-site .hero__location,.rr-site .hero__lead,.rr-site .rr-eyebrow,
.rr-site .rr-number span,.rr-site .rr-coast-break p,
.rr-site .rr-button,.rr-site .sticky-cta,.rr-site .rr-phone,
.rr-site .rr-textlink,.rr-site .rr-outline,.rr-site summary,
.rr-site .rr-nav,.rr-site .nav-overlay nav a,.rr-site .footer__nav a{font-family:var(--font-display)}

/* v20: ease overall tracking and give の街の its own optical spacing. */
.rr-site #hero-title{letter-spacing:-.015em}
.rr-site #hero-title .hero__kern{display:inline;letter-spacing:.035em}
