:root{--navy:#10263f;--gold:#b88a43;--beige:#f6f1e9;--paper:#fffdf9;--ink:#17283d;--muted:#73716d;--line:rgba(16,38,63,.14);--serif:var(--font-serif,"Noto Serif JP"),serif;--sans:var(--font-sans,"Noto Sans JP"),sans-serif;--latin:var(--font-latin,"Cormorant Garamond"),serif}
/* 太字は 600 (Noto Serif JP を可変で読むので、700 のままだと前より太くなる。src/lib/fonts.ts) */b,strong,th{font-weight:600}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.en{display:block;margin-bottom:10px;color:var(--gold);font-family:var(--serif);font-size:14px;letter-spacing:.17em;text-transform:uppercase}.title{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(31px,3vw,46px);line-height:1.45;letter-spacing:.08em;white-space:nowrap}.link{display:inline-flex;align-items:center;gap:18px;margin-top:21px;padding-bottom:4px;border-bottom:1px solid var(--gold);font-family:var(--serif);font-size:15px;letter-spacing:.07em}.link::after{content:"→";color:var(--gold);transition:.25s}.link:hover::after{transform:translateX(5px)}
header{position:fixed;z-index:30;inset:0 0 auto;height:88px;transition:box-shadow .3s ease}header.is-scrolled{box-shadow:0 2px 16px rgba(16,38,63,.1)}.header{height:88px;display:flex;align-items:center;padding-left:38px;background:rgba(255,253,249,.92);backdrop-filter:blur(11px)}.brand{display:flex;align-items:center;gap:14px;width:315px}.mark{font-family:var(--latin);font-size:61px;font-style:italic;line-height:.6;color:var(--gold);letter-spacing:-.08em}.logo{width:auto;height:56px;object-fit:contain}.brand-copy{font-size:11px;line-height:1.8;letter-spacing:.27em}.nav{display:flex;align-items:center;justify-content:flex-end;gap:42px;flex:1;padding:0 36px;font-family:var(--serif);font-size:14px;letter-spacing:.08em}.nav a{position:relative;white-space:nowrap}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--gold);transition:.25s}.nav a:hover::after{right:0}.contact{height:88px;min-width:184px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--navy);color:#fff;font-family:var(--serif);font-size:14px;letter-spacing:.08em}.mail-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.menu{display:none;position:relative;z-index:2;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;margin-left:auto;padding:0;border:0;background:none;cursor:pointer}.menu span{display:block;width:24px;height:1.5px;background:var(--navy);transition:transform .3s ease,opacity .2s ease}
.hero{position:relative;min-height:720px;height:88vh;max-height:910px;overflow:hidden;background:#fff}.hero-photo{position:absolute;inset:0 0 0 38%;background:url('../images/hero-photo.jpg') center/cover no-repeat;background-image:image-set(url('../images/hero-photo.avif') type('image/avif'),url('../images/hero-photo.webp') type('image/webp'),url('../images/hero-photo.jpg') type('image/jpeg'))}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,0) 40%,rgba(16,38,63,.06))}.hero-panel{position:absolute;z-index:2;inset:0 52% 0 0;background:linear-gradient(135deg,#fffdf9 0%,#fff 66%,#f3eee6 100%);clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}.hero-content{position:relative;z-index:4;height:100%;display:flex;align-items:center;padding-top:80px}.hero-copy{width:48%;padding-left:4%}.hero h1{margin:0 0 24px;font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.2vw,56px);line-height:1.5;letter-spacing:.06em}.hero h1 .nowrap{display:inline-block;white-space:nowrap}.hero h1::after{content:"";display:block;width:42px;height:1px;margin-top:18px;background:var(--gold)}.hero-services{margin-bottom:19px;font-family:var(--serif);font-size:17px;letter-spacing:.12em}.hero-services span+span::before{content:"｜";margin:0 9px;color:#9c9992}.hero-lead{margin:0 0 30px;font-family:var(--serif);letter-spacing:.07em}.hero-btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-width:190px;padding:14px 20px;border:1px solid var(--gold);color:var(--gold);font-family:var(--serif);letter-spacing:.08em;transition:.25s}.hero-btn:hover{background:var(--gold);color:#fff}.scroll{position:absolute;z-index:5;left:35px;bottom:90px;writing-mode:vertical-rl;color:var(--navy);font-family:var(--serif);font-size:10px;letter-spacing:.22em}.scroll::after{content:"";display:block;width:1px;height:72px;margin-top:15px;background:var(--gold)}
.services{position:relative;z-index:8;margin: 75px auto 100px;width:min(1020px,calc(100% - 64px));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,253,249,.97);box-shadow:0 14px 45px rgba(26,37,50,.08)}.service{min-height:134px;display:grid;grid-template-columns:54px 1fr;gap:17px;align-items:center;padding:24px 26px;border-right:1px solid var(--line)}.service:last-child{border:0}.service svg{width:42px;height:42px;fill:none;stroke:var(--gold);stroke-width:1.25}.service h3{margin:0 0 5px;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:.06em}.service p{margin:0;color:#565d64;font-family:var(--serif);font-size:13px;line-height:1.8}
.property{padding:0 0 68px}.property-grid{display:grid;grid-template-columns:170px 1fr;gap:70px}.section-copy{padding-top:20px}.section-copy p{margin:28px 0 0;font-family:var(--serif);font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--line);background:#fff;transition:.28s}.card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(20,35,52,.09)}.card-image{aspect-ratio:1.55;overflow:hidden}.card-image img{height:100%;object-fit:cover;transition:.45s}.card:hover img{transform:scale(1.035)}.card-body{padding:14px 15px 16px}.tags{display:flex;gap:7px}.tag{padding:1px 7px;background:var(--beige);font-size:11px}.card h3{margin:8px 0 6px;font-family:var(--serif);font-size:16px;font-weight:500}.meta{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;font-family:var(--serif);font-size:12px}.price{color:var(--gold);font-family:var(--serif);font-size:24px;white-space:nowrap}.price small{font-size:12px}.slider-arrows{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.slider-count{display:none}.round{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff}
.news{padding:14px 0 64px}.news-grid{display:grid;grid-template-columns:170px 1fr;gap:70px}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:22px;padding:15px 3px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:14px}.news-item time{color:#7f858a;font-family:var(--latin);font-size:16px}.news-item b{font-weight:400}.news-item span:last-child{font-size:20px}
.contact-section.contact-a{padding:76px 0 88px;background:var(--paper)}.contact-a-inner{display:grid;grid-template-columns:minmax(190px,0.9fr) minmax(260px,1.2fr) minmax(230px,1fr);align-items:stretch;background:var(--paper)}.contact-a-inner>*:nth-child(3){border-right:0}.contact-a-heading{position:relative;padding:32px 52px 32px 0;border-right:1px solid var(--line)}.contact-a-heading .en{margin-bottom:8px}.contact-a-heading .title{font-size:clamp(30px,2.8vw,42px)}.contact-a-line{display:block;width:40px;height:1px;margin:24px 0 22px;background:var(--gold)}.contact-a-heading p{margin:0;font-family:var(--serif);font-size:14px;line-height:2;letter-spacing:.06em}.contact-a-method{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:245px;padding:40px 40px;text-align:center;border-right:1px solid var(--line)}.contact-a-icon{width:46px;height:46px;margin-bottom:13px}.contact-a-icon svg{width:100%;height:100%;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.contact-a-label{margin:0 0 8px;font-family:var(--serif);font-size:14px;letter-spacing:.08em}.contact-a-value{display:inline-block;position:relative;margin-bottom:20px;padding-bottom:8px;color:var(--navy);font-family:var(--serif);font-size:clamp(20px,1.8vw,27px);line-height:1.5;letter-spacing:.02em;transition:color .3s ease,transform .3s ease}.contact-a-value::after{content:"";position:absolute;left:50%;bottom:0;width:55%;height:1px;transform:translateX(-50%);background:var(--gold);transition:width .3s ease}.contact-a-value:hover{color:var(--gold);transform:translateY(-2px)}.contact-a-value:hover::after{width:100%}.contact-a-note{margin:0;color:#666;font-family:var(--serif);font-size:12px;line-height:1.9;letter-spacing:.04em}.contact-a-cta-wrap{grid-column:1/-1;display:flex;align-items:center;justify-content:center;padding:40px 0 6px}.contact-a-cta{position:relative;width:100%;max-width:300px;min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 30px 0 34px;overflow:hidden;background:var(--navy);color:#fff;font-family:var(--serif);font-size:15px;letter-spacing:.08em;transition:transform .3s ease,box-shadow .3s ease}.contact-a-cta::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--gold)}.contact-a-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);transform:translateX(-110%);transition:transform .6s ease}.contact-a-cta:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(16,38,63,.16)}.contact-a-cta:hover::after{transform:translateX(110%)}.contact-a-arrow{position:relative;z-index:2;color:var(--gold);font-size:23px;transition:transform .3s ease}.contact-a-cta span:first-child{position:relative;z-index:2}.contact-a-cta:hover .contact-a-arrow{transform:translateX(5px)}
/* =========================
   ABOUT
========================= */

.about {
  padding: 120px 0;
  background: #f7f4ee;
}

.about-inner {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 80px;
  align-items: start;
}

.about-heading .en {
  display: block;
  margin-bottom: 16px;
}

.about-content {
  max-width: 680px;
}

.about-content p {
  margin: 0 0 28px;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.05em;
}

.about-content strong {
  display: inline-block;
  margin-top: 8px;
  font-size: 19px;
  font-weight: 500;
  line-height: 2;
}

.about-message {
  margin-top: 48px !important;
  padding-top: 28px;
  border-top: 1px solid rgba(30, 42, 54, 0.2);
  font-size: 18px !important;
  font-weight: 500;
}

.about-heading h2::after {
  content: "";
  display: block;
  width: 42px;
  height: 1px;
  margin-top: 18px;
  background: var(--gold);
}

/* SP */
@media (max-width: 768px) {
  .about {
    padding: 80px 0;
  }

  .about-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-content p {
    font-size: 15px;
    line-height: 2;
  }

  .about-content strong {
    font-size: 17px;
  }

  .about-message {
    margin-top: 40px !important;
    font-size: 16px !important;
  }
}
@media(max-width:1100px){.contact-a-inner{grid-template-columns:1fr 1fr}.contact-a-heading{grid-column:1/-1;padding:34px 32px;border-right:0}.contact-a-cta-wrap{grid-column:1/-1;padding:32px 32px 6px}.contact-a-cta{max-width:420px}}
.info{display:grid;grid-template-columns:190px 1fr;background:var(--beige)}.info-photo{grid-row:span 2;min-height:350px;background:url('../images/property-3.jpg') center/cover;background-image:image-set(url('../images/info-photo.avif') type('image/avif'),url('../images/info-photo.webp') type('image/webp'),url('../images/property-3.jpg') type('image/jpeg'))}.company,.access{display:grid;grid-template-columns:160px 1fr;gap:36px;align-items:start;padding:52px 42px}.company{border-bottom:1px solid rgba(16,38,63,.08)}.company-heading .en,.access-heading .en{margin-bottom:14px}.small-title{font-size:31px}.company table{width:100%;margin:0;border-collapse:collapse;font-family:var(--serif);font-size:14px}.company th{width:110px;padding:6px 0;text-align:left;font-weight:400;vertical-align:top}.company td{padding:6px 0;vertical-align:top;line-height:1.85}.business-list{margin:0}.business-list dt{margin-top:8px}.business-list dt:first-child{margin-top:0}.business-list dt b{color:var(--navy);font-weight:500}.business-list dd{margin:2px 0 0;padding-left:0}.access-body{display:grid;grid-template-columns:1.25fr .85fr;gap:28px;align-items:center;margin:0}.map{position:relative;min-height:220px;background-color:#f3f1ed;background-image:linear-gradient(30deg,rgba(40,60,80,.07) 12%,transparent 12.5%,transparent 87%,rgba(40,60,80,.07) 87.5%),linear-gradient(150deg,rgba(40,60,80,.07) 12%,transparent 12.5%,transparent 87%,rgba(40,60,80,.07) 87.5%),linear-gradient(30deg,rgba(40,60,80,.07) 12%,transparent 12.5%,transparent 87%,rgba(40,60,80,.07) 87.5%),linear-gradient(150deg,rgba(40,60,80,.07) 12%,transparent 12.5%,transparent 87%,rgba(40,60,80,.07) 87.5%),linear-gradient(60deg,rgba(40,60,80,.06) 25%,transparent 25.5%,transparent 75%,rgba(40,60,80,.06) 75%);background-size:70px 120px;background-position:0 0,0 0,35px 60px,35px 60px,0 0;border:1px solid var(--line)}.pin{position:absolute;left:52%;top:47%;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);background:var(--navy);box-shadow:0 8px 20px rgba(20,39,62,.2)}.pin::after{content:"";position:absolute;left:13px;top:13px;width:11px;height:11px;border-radius:50%;background:#fff}.access-text{font-family:var(--serif);font-size:14px}.access-text h3{margin:0 0 14px;font-size:22px;font-weight:500;letter-spacing:.08em}.access-text p{margin:0 0 10px}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
footer{background:var(--navy);color:#fff}.footer{min-height:126px;display:flex;align-items:center;gap:36px}.footer-brand{display:flex;align-items:center;gap:14px;min-width:240px}.footer .mark{color:#fff;font-size:53px}.footer .logo{height:52px;filter:brightness(0) invert(1)}.footer-nav{flex:1;display:flex;justify-content:center;flex-wrap:wrap;font-family:var(--serif);font-size:12px}.footer-nav a{padding:0 13px;border-right:1px solid rgba(255,255,255,.25)}.footer-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:200px;margin-left:auto;padding:14px 22px;border:1px solid var(--gold);color:var(--gold);font-family:var(--serif);font-size:14px;letter-spacing:.08em;transition:.25s}.footer-contact:hover{background:var(--gold);color:var(--navy)}.copy{font-size:11px;opacity:.65;white-space:nowrap}.to-top{position:fixed;z-index:40;right:24px;bottom:24px;width:76px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0;border:0;background:var(--navy);color:#fff;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease,background .25s ease;box-shadow:0 10px 26px rgba(20,39,62,.18)}
.to-top::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--gold)}
.to-top.on{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--gold)}
.to-top svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.to-top:hover svg{transform:translateY(-3px)}
.to-top span{font-family:var(--latin);font-size:11px;letter-spacing:.16em;line-height:1}
/* =========================
   SPドロワーメニュー
========================= */
.drawer{position:fixed;z-index:50;inset:0;visibility:hidden;opacity:0;background:rgba(16,38,63,.5);transition:opacity .3s ease,visibility .3s ease}
.drawer-panel{position:absolute;right:0;top:0;width:min(360px,84%);height:100%;padding:96px 24px 40px;overflow-y:auto;background:var(--navy);color:#fff;transform:translateX(100%);transition:transform .35s ease;box-shadow:-14px 0 40px rgba(10,22,36,.25)}
.drawer-nav{display:flex;flex-direction:column}
.drawer-nav a{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.16);font-family:var(--serif);font-size:15px;letter-spacing:.08em}
.drawer-nav a::after{content:"›";color:var(--gold);font-size:18px}
.drawer-contact{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;margin-top:30px;background:var(--gold);color:#fff;font-family:var(--serif);font-size:14px;letter-spacing:.08em}
.drawer-contact .mail-icon{stroke:#fff}
.drawer-tel{display:block;margin-top:18px;text-align:center;font-family:var(--latin);font-size:23px;letter-spacing:.04em;color:#fff}
.drawer-tel small{display:block;margin-top:4px;font-family:var(--sans);font-size:11px;opacity:.7}
body.drawer-open{overflow:hidden}
body.drawer-open header{z-index:60}
body.drawer-open .drawer{opacity:1;visibility:visible}
body.drawer-open .drawer-panel{transform:none}
body.drawer-open .menu span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.drawer-open .menu span:nth-child(2){opacity:0}
body.drawer-open .menu span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
body.drawer-open .to-top{opacity:0;visibility:hidden}
/* =========================
   お問い合わせフォーム（モーダル）
========================= */
.cform{position:fixed;z-index:120;inset:0;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:rgba(16,38,63,.62);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
body.contact-open{overflow:hidden}
body.contact-open .cform{opacity:1;visibility:visible}
.cform-dialog{position:relative;width:min(720px,100%);max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--paper);box-shadow:0 30px 70px rgba(10,22,36,.35);transform:translateY(18px);transition:transform .35s ease}
body.contact-open .cform-dialog{transform:none}
.cform-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--navy);color:#fff}
.cform-bar>div{min-width:0}
.cform-bar .en{margin-bottom:4px}
.cform-bar h2{margin:0;font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.06em}
.cform-close{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:.25s}
.cform-close:hover{background:var(--gold);border-color:var(--gold)}
.cform-body{overflow-y:auto;padding:24px}
.cform-lead{margin:0 0 20px;font-family:var(--serif);font-size:14px;line-height:1.95;color:var(--muted)}
.cform-field{margin-bottom:18px}
.cform-field label{display:block;margin-bottom:7px;font-family:var(--serif);font-size:13px;letter-spacing:.06em}
.cform-field .req{margin-left:8px;padding:1px 7px;background:var(--gold);color:#fff;font-size:10px;letter-spacing:.08em}
.cform-field input,.cform-field select,.cform-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:15px;transition:border-color .25s}
.cform-field ::placeholder{color:#b6b3ad}
.cform-field textarea{min-height:130px;resize:vertical;line-height:1.8}
.cform-field input:focus,.cform-field select:focus,.cform-field textarea:focus{outline:none;border-color:var(--gold)}
.cform-field.has-error input,.cform-field.has-error textarea{border-color:#c0553f}
.cform-error{display:none;margin-top:6px;color:#c0553f;font-size:12px}
.cform-field.has-error .cform-error{display:block}
.cform-note{margin:0 0 20px;padding:14px 16px;background:var(--beige);color:var(--muted);font-family:var(--serif);font-size:12px;line-height:1.9}
.cform-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:64px;border:0;background:var(--navy);color:#fff;font-family:var(--serif);font-size:15px;letter-spacing:.08em;cursor:pointer;transition:.25s}
.cform-submit:hover{background:var(--gold)}
.cform-submit span{color:var(--gold);font-size:19px;transition:.25s}
.cform-submit:hover span{color:#fff;transform:translateX(4px)}
.cform-alt{margin:18px 0 0;text-align:center;font-family:var(--serif);font-size:13px;line-height:2;color:var(--muted)}
.cform-alt a{color:var(--navy);border-bottom:1px solid var(--gold)}
.cform-done{padding:8px 0 4px;text-align:center}
.cform-done h3{margin:0 0 14px;font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.06em}
.cform-done p{margin:0 0 18px;font-family:var(--serif);font-size:14px;line-height:2;color:var(--muted)}
@media(max-width:700px){
  .cform{padding:0}
  .cform-dialog{width:100%;height:100%;max-height:100vh}
  .cform-bar{padding:14px 15px}
  .cform-bar h2{font-size:17px}
  .cform-body{padding:18px 15px 28px}
}
.reveal{opacity:0;transform:translateY(23px);transition:opacity .8s,transform .8s}.reveal.on{opacity:1;transform:none}
@media(max-width:980px){.header{padding:0 22px}.brand{width:auto}.brand-copy{display:none}.nav,.contact{display:none}.menu{display:flex}.hero-photo{inset:0}.hero-panel{right:38%;opacity:.88}.hero-copy{width:56%}.services{grid-template-columns:repeat(2,1fr)}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.property-grid,.news-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.property-grid>*,.news-grid>*{min-width:0}.section-copy{display:flex;align-items:flex-end;justify-content:space-between}.section-copy p{display:none}.info{grid-template-columns:1fr}.info-photo{grid-row:auto;min-height:260px}.footer{flex-wrap:wrap;padding:28px 0}.copy{width:100%;text-align:center}}
@media(max-width:700px){.wrap{width:calc(100% - 30px)}.title{white-space:normal;font-size:clamp(24px,7.2vw,31px)}html{scroll-padding-top:72px}header,.header{height:72px}.header{padding:0 15px}.to-top{right:12px;bottom:12px;width:58px;height:58px;gap:5px}.to-top svg{width:14px;height:14px}.to-top span{font-size:9px;letter-spacing:.1em}.mark{font-size:50px}.hero{height:800px}.hero-photo{background-position:58% center}.hero-panel{right:0;clip-path:none;background:linear-gradient(90deg,rgba(255,253,249,.93),rgba(255,253,249,.72) 70%,rgba(255,253,249,.2))}.hero-copy{width:100%;padding:0 15px}.hero h1{font-size:36px}.hero .hero-btn{background:var(--gold);color:#fff}.hero-services{font-size:12px}.hero-services span+span::before{margin:0 3px}.scroll{display:none}.services{margin:28px auto 60px;width:calc(100% - 30px);grid-template-columns:1fr}.service{min-height:110px;border-right:0;border-bottom:1px solid var(--line)!important}.cards{display:flex;grid-template-columns:none;width:100%;max-width:100%;min-width:0;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.cards::-webkit-scrollbar{display:none}.cards>.card{flex:0 0 100%;scroll-snap-align:start}.cards>.card:hover{transform:none;box-shadow:none}.slider-arrows{justify-content:center;align-items:center;gap:14px;margin-top:16px}.slider-count{display:block;font-family:var(--latin);font-size:15px;letter-spacing:.08em;color:var(--muted);min-width:46px;text-align:center}.round{width:40px;height:40px;font-size:20px}.round[disabled]{opacity:.35}.property{padding-top:20px}.news-item{grid-template-columns:92px 1fr auto;gap:8px}.contact-section.contact-a{padding:50px 0 60px}.contact-a-inner{display:block}.contact-a-heading{padding:30px 15px}.contact-a-heading .title{font-size:31px}.contact-a-method{min-height:auto;padding:34px 15px;border-right:0;border-bottom:1px solid var(--line)}.contact-a-value{font-size:21px}.contact-a-cta-wrap{padding:26px 15px}.contact-a-cta{max-width:none;min-height:76px;padding:0 20px;font-size:14px}.info{grid-template-columns:1fr}.company{order:1}.info-photo{order:2;min-height:230px}.access{order:3}.company,.access{grid-template-columns:1fr;gap:16px;padding:45px 15px}.access-body{grid-template-columns:1fr}.footer{display:block;text-align:center}.footer-brand{justify-content:center;margin-bottom:24px}.footer-nav{gap:13px}.footer-nav a{border:0;padding:0}.copy{margin-top:26px}}
/* トップのコラム。物件のカードと見分けがつくよう、帯の背景に「大きく 1 件 + 小さく 2 件」で並べる */
.columns{padding:76px 0 84px;background:var(--beige)}.columns-grid{display:grid;grid-template-columns:170px 1fr;gap:70px}
.column-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:start}
.column-feature-main{display:block;background:#fff;transition:.28s}.column-feature-main:hover{box-shadow:0 15px 32px rgba(20,35,52,.09)}
.column-feature-thumb{aspect-ratio:16/10;overflow:hidden}.column-feature-thumb img{height:100%;object-fit:cover;transition:.45s}
.column-feature-main:hover img,.column-feature-item:hover img{transform:scale(1.035)}
.column-feature-body{padding:22px 26px 26px}
.column-feature-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}.column-feature-meta time{color:#7f858a;font-family:var(--latin);font-size:15px}
.column-feature-cat{padding:1px 10px;border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:.06em}
.column-feature-main h3{margin:0 0 10px;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.7;letter-spacing:.04em}
.column-feature-main p{margin:0;color:var(--muted);font-family:var(--serif);font-size:13px;line-height:1.95}
.column-feature-side{border-top:1px solid #ddd3c4}
.column-feature-item{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid #ddd3c4}
.column-feature-item .column-feature-thumb{aspect-ratio:1.3}.column-feature-item .column-feature-meta{margin-bottom:6px}
.column-feature-item h3{margin:0;font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.75;letter-spacing:.03em;transition:color .25s}.column-feature-item:hover h3{color:var(--gold)}
@media(max-width:980px){.columns-grid{grid-template-columns:1fr;gap:30px}.columns-grid>*{min-width:0}}
@media(max-width:760px){.columns{padding:56px 0 60px}.column-feature{grid-template-columns:1fr;gap:20px}.column-feature-body{padding:18px 18px 22px}.column-feature-main h3{font-size:17px}.column-feature-item{grid-template-columns:110px 1fr;gap:14px;padding:16px 0}}
