*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4ee;color:#2d2a26;font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(0,0,0,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.header-inner{position:relative;max-width:1280px;margin:0 auto;height:80px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{letter-spacing:.22em;font-weight:300;font-size:18px;line-height:1.1;display:flex;flex-direction:column;flex-shrink:0}.brand small{font-size:12px;letter-spacing:.08em;margin-right:6px}.brand em{font-style:normal;font-size:12px;letter-spacing:.28em;margin-top:6px}.desktop-nav{display:flex;gap:32px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-left:auto}.instagram-button{display:inline-flex;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.4);padding:13px 24px;font-size:13px;letter-spacing:.18em}.mobile-menu-button,.mobile-menu{display:none}.hero{position:relative;min-height:100vh;display:grid;align-items:center;overflow:hidden;background:#111}.hero-bg{position:absolute;inset:0;background:linear-gradient(to bottom,#1b1f23,#2a2d31,#121314)}.hero-desktop,.hero-desktop{display:block;object-fit:cover;object-position:68% center}.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35)}.hero-copy{position:relative;z-index:2;max-width:1400px;margin:0 auto;width:100%;padding:64px 40px 0}.hero-en{font-size:13px;letter-spacing:.42em;color:rgba(255,255,255,.75);margin:0 0 40px}.hero h1{font-size:54px;line-height:1.45;font-weight:200;letter-spacing:.05em;color:#fff;margin:0 0 40px;max-width:760px}.hero-lead{max-width:620px;font-size:20px;line-height:2;color:rgba(255,255,255,.85);font-weight:300;margin:0}.news-bar{position:relative;z-index:10;margin-top:48px;background:rgba(0,0,0,.75);color:#fff;border-top:1px solid rgba(255,255,255,.1)}.news-inner{max-width:1280px;margin:0 auto;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.news-left{display:flex;align-items:center;gap:32px}.news-title{font-size:24px;letter-spacing:.18em;font-weight:300;margin:0}.news-date{color:rgba(255,255,255,.7);margin:0}.news-left p{margin:0}.news-inner a{font-size:13px;letter-spacing:.18em;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px}.section{max-width:1280px;margin:0 auto;padding:110px 32px}.section-en{font-size:13px;letter-spacing:.35em;color:#8a7f70;margin:0 0 20px}.section h2,.section-head h2,.contact-section h2{font-size:clamp(34px,4vw,58px);line-height:1.25;font-weight:300;margin:0}.about{display:grid;grid-template-columns:4fr 7fr;gap:80px}.about-text{font-family:"Yu Gothic","Hiragino Sans",sans-serif}.about-text p{line-height:2;color:#5a5146}.about-text .large{font-size:clamp(18px,2vw,24px);color:#2d2a26}.section-head{max-width:1280px;margin:0 auto 42px;padding:0 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.section-head.inner{padding:0;margin:0 0 50px}.section-head>p{max-width:520px;line-height:2;color:#5a5146;font-family:"Yu Gothic","Hiragino Sans",sans-serif}.text-link{border-bottom:1px solid #2d2a26;padding-bottom:4px}.instagram-section{background:#f7f4ee;padding:70px 0}.instagram-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e5ded2;background:#fff}.instagram-grid a{position:relative;height:176px;overflow:hidden;border-right:1px solid #e5ded2}.instagram-grid a:last-child{border-right:0}.instagram-grid img{width:100%;height:100%;object-fit:cover}.instagram-grid a:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.56),rgba(0,0,0,.08),transparent)}.instagram-grid div{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff}.instagram-grid small{display:block;font-size:11px;letter-spacing:.25em;margin-bottom:8px}.service-section{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{border:1px solid #e0d8ca;background:#f7f4ee;border-radius:28px;padding:30px}.service-grid p,.works-grid p,.blog-list p{font-size:12px;letter-spacing:.22em;color:#8a7f70;margin:0 0 18px}.service-grid h3{font-size:28px;font-weight:300;margin:0}.works-section{background:#f7f4ee}.works-section .section-head>p{color:#8a7f70}.works-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.works-grid div{height:208px;background:#111;overflow:hidden}.works-grid img{width:100%;height:100%;object-fit:cover}.works-grid h3{font-size:16px;font-weight:300;line-height:1.7;margin:0}.estate{display:grid;grid-template-columns:5fr 6fr;gap:90px}.estate-list article{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #d7ccbd;padding:26px 0}.estate-list h3{font-size:24px;font-weight:300;margin:0 0 12px}.estate-list p{font-family:"Yu Gothic","Hiragino Sans",sans-serif;color:#5a5146;margin:0;line-height:1.8}.blog-section{background:#e9e2d7}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}.video-column{display:flex;flex-direction:column}.video-column h2{font-size:clamp(28px,3vw,42px);white-space:nowrap;font-weight:300;margin:0 0 30px}.video-column>p:not(.section-en){font-family:"Yu Gothic","Hiragino Sans",sans-serif;color:#5a5146;line-height:2;margin:0 0 32px}.video-thumb{flex:1;min-height:430px;border-radius:28px;background:linear-gradient(135deg,#cfc4b4,#8d806d,#4b453d);display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px}.blog-list{display:flex;flex-direction:column;gap:20px}.blog-list article{background:#f7f4ee;border:1px solid #d7ccbd;border-radius:28px;padding:30px;flex:1}.blog-list h3{font-size:23px;font-weight:300;margin:0;line-height:1.6}.company h2{margin-bottom:48px}.company dl{margin:0;background:rgba(255,255,255,.72);border:1px solid #e0d8ca;border-radius:28px;overflow:hidden}.company dl div{display:grid;grid-template-columns:1fr 3fr;border-bottom:1px solid #e0d8ca}.company dl div:last-child{border-bottom:0}.company dt,.company dd{padding:20px;margin:0}.company dt{color:#8a7f70}.contact-section{background:#2d2a26;color:#fff;padding:100px 32px}.contact-inner{max-width:980px;margin:0 auto;text-align:center}.contact-section .section-en{color:#8a7f70}.contact-section h2{margin-bottom:28px}.contact-inner>p:not(.section-en){color:#dfd7ca;line-height:2}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;margin:42px 0}.contact-cards div{border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:22px;line-height:1.8}.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-actions a{border-radius:999px;padding:14px 30px}.contact-actions a:first-child{background:#fff;color:#2d2a26}.contact-actions a:last-child{border:1px solid #fff;color:#fff}footer{background:#201e1b;color:#8a7f70;padding:38px 32px}footer>div{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:20px}footer p:first-child{color:#fff;letter-spacing:.22em;margin:0}@media(max-width:900px){.header-inner{height:64px;padding:0 12px}.brand{font-size:16px;letter-spacing:.18em}.brand small{font-size:11px}.brand em{font-size:10px;letter-spacing:.22em}.desktop-nav,.instagram-button{display:none}.mobile-menu-button{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);color:#fff;padding:9px 12px;font-size:11px;letter-spacing:.18em}.mobile-menu{display:none;position:absolute;right:12px;top:64px;width:224px;background:rgba(0,0,0,.92);border:1px solid rgba(255,255,255,.15);color:#fff;z-index:100}body.menu-open .mobile-menu{display:flex;flex-direction:column}.mobile-menu a{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.hero-desktop{display:none}.hero-overlay{background:rgba(0,0,0,.1)}.hero-copy{padding:64px 20px 0}.hero-en{font-size:11px;letter-spacing:.32em;margin-bottom:28px}.hero h1{font-size:42px;line-height:1.45;letter-spacing:.04em;margin-bottom:28px}.hero-lead{font-size:14px;line-height:1.9;max-width:320px}.news-bar{margin-top:24px}.news-inner,.news-left{flex-direction:column;align-items:flex-start;gap:10px}.news-inner{padding:20px}.news-title{font-size:20px}.section,.section-head{padding-left:24px;padding-right:24px}.about,.estate,.blog-grid{grid-template-columns:1fr;gap:42px}.section-head{align-items:flex-start;flex-direction:column}.instagram-grid,.service-grid,.works-grid,.contact-cards{grid-template-columns:1fr}.instagram-grid a{border-right:0;border-bottom:1px solid #e5ded2}.works-grid div{height:260px}.company dl div{grid-template-columns:1fr}footer>div{flex-direction:column}.video-column h2{white-space:normal}.video-thumb{min-height:260px}}

/* FINAL ORIENTATION HERO RULES
   Portrait smartphone: hero_mobile.png, width-first full display.
   Landscape smartphone: same as PC hero.jpg.
*/
.hero-mobile-portrait,
.hero-mobile-landscape {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 900px) and (orientation: portrait) {
  .hero-desktop,
  .hero-mobile-landscape {
    display: none !important;
  }

  .hero-mobile-portrait {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  .hero-overlay {
    background: rgba(0,0,0,.10) !important;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  .hero-desktop,
  .hero-mobile-portrait {
    display: none !important;
  }

  .hero-mobile-landscape {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 68% center !important;
  }

  .hero-overlay {
    background: rgba(0,0,0,.35) !important;
  }
}

@media (min-width: 901px) {
  .hero-mobile-portrait,
  .hero-mobile-landscape {
    display: none !important;
  }

  .hero-desktop {
    display: block !important;
  }
}


/* FINAL FIX 2026-05-24:
   Smartphone portrait only text adjustment.
   This block is intentionally placed at the end to override previous rules.
*/
@media screen and (max-width: 900px) and (orientation: portrait) {
  .hero h1 {
    font-size: 28px !important;
    line-height: 1.38 !important;
    letter-spacing: 0.03em !important;
    margin-bottom: 16px !important;
    max-width: 100% !important;
  }

  .hero-lead {
    font-size: 10px !important;
    line-height: 1.5 !important;
    max-width: none !important;
    width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  .hero-copy {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

@media screen and (max-width: 900px) and (orientation: landscape) {
  .hero h1 {
    font-size: 42px !important;
    line-height: 1.45 !important;
    margin-bottom: 28px !important;
  }

  .hero-lead {
    font-size: 14px !important;
    white-space: normal !important;
  }
}


/* FINAL TEXT SIZE FIX:
   PC and smartphone landscape only:
   - Smaller headline
   - Smaller lead sentence
   - Lead sentence stays on one line
   Portrait rules remain smaller as previously adjusted.
*/
@media screen and (min-width: 901px) {
  .hero h1 {
    font-size: 46px !important;
    line-height: 1.45 !important;
    margin-bottom: 30px !important;
  }

  .hero-lead {
    font-size: 16px !important;
    line-height: 1.8 !important;
    white-space: nowrap !important;
    max-width: none !important;
  }
}

@media screen and (max-width: 900px) and (orientation: landscape) {
  .hero h1 {
    font-size: 36px !important;
    line-height: 1.42 !important;
    margin-bottom: 18px !important;
  }

  .hero-lead {
    font-size: 12px !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    max-width: none !important;
  }
}
