/*
Theme Name: ROAD Luminous
Theme URI: https://road-llc.jp/
Author: 合同会社ロード
Description: 明るく上質で、管理画面から直感的に編集できる合同会社ロード専用ブロックテーマ。
Version: 2.3.2
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: road-luminous
*/

:root{--road-ink:#1c2823;--road-muted:#66716c;--road-ivory:#f7f5ef;--road-white:#fff;--road-sage:#dce4dd;--road-green:#234237;--road-gold:#b9965c;--road-line:#dfe3df}
html{scroll-behavior:smooth}body{overflow-x:hidden;background:var(--road-ivory);color:var(--road-ink)}a{text-underline-offset:4px}.road-shell{max-width:1240px!important;margin-inline:auto!important;padding-inline:clamp(22px,5vw,64px)!important}.road-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgba(28,40,35,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}.road-header-inner{min-height:82px}.road-brand{gap:12px!important}.road-brand-mark{display:grid!important;place-items:center;width:40px;height:40px;margin:0!important;border:1px solid var(--road-gold);border-radius:50%;color:var(--road-green);font:italic 22px/1 Georgia,serif}.road-brand-name{margin:0!important;color:var(--road-ink);font:600 17px/1 Georgia,serif;letter-spacing:.2em}.road-brand-sub{margin:5px 0 0!important;color:var(--road-muted);font-size:8px;letter-spacing:.16em}.road-header .wp-block-navigation-item a{position:relative;text-decoration:none}.road-header .wp-block-navigation-item:not(:last-child) a:after{position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--road-gold);content:"";transform:scaleX(0);transition:.25s}.road-header .wp-block-navigation-item:not(:last-child) a:hover:after{transform:scaleX(1)}.road-header .wp-block-navigation-item:last-child a{padding:12px 18px!important;border-radius:999px;background:var(--road-green);color:#fff!important}.road-hero{padding:clamp(42px,6vw,78px) 0 clamp(72px,9vw,122px)!important;background:linear-gradient(180deg,#fff 0%,var(--road-ivory) 100%)}.road-hero-grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(38px,6vw,88px);align-items:center}.road-eyebrow,.road-section-label{color:var(--road-gold);font:600 11px/1.4 Georgia,serif;letter-spacing:.22em;text-transform:uppercase}.road-hero-title{margin-top:24px!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(48px,5.6vw,82px)!important;font-weight:500!important;letter-spacing:.045em;line-height:1.38!important}.road-hero-copy{max-width:580px;margin-top:28px!important;color:var(--road-muted);font-size:15px;line-height:2}.road-button .wp-block-button__link{padding:15px 24px;border-radius:999px;background:var(--road-green);box-shadow:0 12px 28px rgba(35,66,55,.13);transition:.25s}.road-button .wp-block-button__link:hover{background:#162c25;transform:translateY(-2px)}.road-hero-media{position:relative;margin:0!important}.road-hero-media:before{position:absolute;z-index:2;top:-18px;right:-18px;width:34%;height:40%;border-top:1px solid var(--road-gold);border-right:1px solid var(--road-gold);content:""}.road-hero-media img{width:100%;height:min(68vh,680px);min-height:520px;object-fit:cover;border-radius:180px 0 0 0;box-shadow:0 28px 70px rgba(35,48,42,.14)}.road-hero-note{position:absolute;z-index:3;right:-18px;bottom:36px;max-width:210px;padding:20px 22px;background:#fff;box-shadow:0 16px 44px rgba(28,40,35,.13);font-family:"Yu Mincho",serif;font-size:14px;line-height:1.7}.road-section{padding-block:clamp(88px,10vw,144px)!important}.road-section-head{display:grid!important;grid-template-columns:180px 1fr;gap:40px;align-items:start}.road-heading{margin:0!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.4vw,60px)!important;font-weight:500!important;letter-spacing:.05em;line-height:1.45!important}.road-lead{color:var(--road-muted);font-size:14px;line-height:2.15}.road-about{background:#fff}.road-about-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(42px,7vw,92px);align-items:center}.road-about-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0 120px 0 0}.road-about-card{padding:clamp(30px,5vw,58px)!important;border:1px solid var(--road-line);background:var(--road-ivory)}.road-services{background:var(--road-ivory)}.road-service-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:58px!important}.road-service-card{overflow:hidden;border:1px solid var(--road-line);border-radius:4px;background:#fff;box-shadow:0 12px 36px rgba(34,52,44,.055);transition:.3s}.road-service-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(34,52,44,.1)}.road-service-card figure{margin:0!important;overflow:hidden}.road-service-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.55s}.road-service-card:hover img{transform:scale(1.04)}.road-service-body{padding:30px!important}.road-service-number{color:var(--road-gold);font:600 11px/1 Georgia,serif;letter-spacing:.15em}.road-service-title{margin:15px 0 14px!important;font-family:"Yu Mincho",serif;font-size:25px!important;font-weight:500!important}.road-service-copy{color:var(--road-muted);font-size:13px;line-height:2}.road-company{background:var(--road-green);color:#fff}.road-company .road-section-label{color:#d8bd8d}.road-company-grid{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,8vw,110px)}.road-company-intro{display:flex;flex-direction:column;justify-content:space-between;min-height:430px}.road-company-copy{color:rgba(255,255,255,.68);line-height:2}.road-company-table{border-top:1px solid rgba(255,255,255,.18)}.road-company-row{display:grid!important;grid-template-columns:130px 1fr;gap:25px;padding:19px 0!important;border-bottom:1px solid rgba(255,255,255,.18)}.road-company-label{color:#d8bd8d;font-size:12px}.road-contact{background:#fff}.road-contact-box{position:relative;overflow:hidden;padding:clamp(48px,7vw,88px)!important;border-radius:4px;background:linear-gradient(120deg,#e8eee8,#f7f4ea)}.road-contact-box:after{position:absolute;right:-20px;bottom:-62px;color:rgba(35,66,55,.06);font:700 clamp(120px,18vw,250px)/1 Georgia,serif;content:"R"}.road-contact-content{position:relative;z-index:2;max-width:720px!important}.road-footer{padding-block:52px!important;background:#18251f;color:rgba(255,255,255,.72)}.road-footer .road-brand-name{color:#fff}.road-footer .road-brand-sub{color:rgba(255,255,255,.55)}
@media(max-width:900px){.road-header nav{display:none}.road-hero-grid,.road-about-grid,.road-company-grid{grid-template-columns:1fr}.road-hero{padding-top:38px!important}.road-hero-copy br{display:none}.road-hero-media img{height:58vh;min-height:440px;border-radius:100px 0 0 0}.road-section-head{grid-template-columns:1fr;gap:20px}.road-service-grid{grid-template-columns:1fr}.road-company-intro{min-height:auto}.road-hero-note{right:0}.road-footer-inner{flex-direction:column;align-items:flex-start!important}}
@media(max-width:520px){.road-shell{padding-inline:20px!important}.road-header-inner{min-height:70px}.road-brand-mark{width:36px;height:36px}.road-hero-title{font-size:clamp(28px,9vw,36px)!important;letter-spacing:.02em;line-height:1.55!important;white-space:nowrap}.road-hero-media img{min-height:360px}.road-about-card{padding:26px!important}.road-company-row{grid-template-columns:92px 1fr;gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.road-about-card .wp-block-columns{gap:14px!important}.road-about-card .wp-block-column{position:relative;padding:20px 18px!important;border:1px solid var(--road-line);border-radius:3px;background:#fff}.road-about-card .wp-block-column:before{position:absolute;top:0;left:0;width:34px;height:2px;background:var(--road-gold);content:""}.road-about-card .wp-block-column p{margin:0!important}.road-about-card .wp-block-column p+p{margin-top:8px!important;color:var(--road-muted)}
@media(max-width:520px){.road-about-card .wp-block-columns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:28px!important}.road-about-card .wp-block-column{padding:16px 14px!important}.road-about-card .wp-block-column p:first-child{font-size:21px!important}.road-about-card .wp-block-column p+p{font-size:10px!important;line-height:1.5}}

.road-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.road-service-title{font-size:22px!important}.road-about-card .wp-block-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1100px) and (min-width:901px){.road-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.road-service-grid{grid-template-columns:1fr}.road-about-card .wp-block-columns{grid-template-columns:1fr 1fr!important}.road-about-card .wp-block-column:nth-child(3){grid-column:1/-1}}
@media(max-width:900px){.road-header nav{display:flex!important}.road-header .wp-block-navigation__responsive-container-open{display:flex!important;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--road-line);border-radius:50%;color:var(--road-green)}.road-header .wp-block-navigation__responsive-container.is-menu-open{padding:28px;background:rgba(247,245,239,.98)}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{font-family:"Yu Mincho",serif;font-size:24px;color:var(--road-ink)!important}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child a{padding:0!important;background:none;color:var(--road-ink)!important}}
.road-button .wp-block-button__link{padding:15px 25px;border:1px solid rgba(28,40,35,.1);background:#d7bd8d;color:var(--road-ink)!important;box-shadow:0 12px 28px rgba(185,150,92,.18);font-weight:600}.road-button .wp-block-button__link:hover{background:#c5a66e;color:var(--road-ink)!important}
.road-footer-meta{text-align:right}.road-footer-nav{margin-bottom:12px!important}.road-footer-nav a{text-decoration:none}.road-footer-address{margin:0!important}.road-legal{min-height:70vh;background:#fff}.road-legal .road-shell{max-width:860px!important}.road-legal .road-heading{margin:18px 0 54px!important}.road-legal h2{margin-top:38px;font-family:"Yu Mincho",serif;font-size:22px;font-weight:500}.road-legal p{color:var(--road-muted);line-height:2}
@media(max-width:900px){.road-footer-meta{text-align:left}.road-footer-nav{margin-top:28px!important}.road-footer-nav .wp-block-navigation__container{align-items:flex-start;flex-direction:column;gap:9px!important}}
.road-brand-link{display:flex;align-items:center;color:inherit;text-decoration:none}.road-brand-copy{display:block}.road-brand-link .road-brand-name,.road-brand-link .road-brand-sub{display:block}.road-brand-link:focus-visible{outline:2px solid var(--road-gold);outline-offset:6px;border-radius:3px}
@media(max-width:900px){.road-header{backdrop-filter:none}.road-header .wp-block-navigation__responsive-container.is-menu-open{position:fixed!important;z-index:100000!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;overflow-y:auto!important;padding:32px 26px!important;background:#f7f5ef!important}.road-header .wp-block-navigation__responsive-container-close{position:absolute!important;top:24px!important;right:24px!important;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--road-line);border-radius:50%;color:var(--road-green)}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{min-height:100%;padding-top:82px!important;justify-content:flex-start}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{width:100%;gap:0!important}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid var(--road-line)}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{display:block;width:100%;padding:20px 4px!important}.road-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child a{padding:20px 4px!important}}
