/*
Theme Name: TiTle Renewal
Description: 株式会社TiTle 新デザイン対応テーマ
Version: 2.0.0
*/

:root{
  --navy:#003366;
  --deep:#00264d;
  --blue:#0068b7;
  --sky:#2aa7ee;
  --cyan:#e9f6ff;
  --pale:#f6fbff;
  --paper:#ffffff;
  --ink:#102033;
  --muted:#607089;
  --line:#d6e8f7;
  --gold:#b99a52;
  --shadow:0 24px 70px rgba(0,72,145,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
.wrap{width:min(1180px,92%);margin:auto}

/* Header */
.topbar{
  background:var(--deep);
  color:#d9ecff;
  font-size:12px;
  letter-spacing:.08em;
}
.topbar .wrap{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:8px 0;
}
.header{
  position:sticky;
  top:0;
  z-index:25;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 24px rgba(0,72,145,.04);
}
.header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:17px 0;
}
.logo{display:block}
.brand{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:34px;
  letter-spacing:.18em;
  color:#09264a;
  font-weight:600;
  line-height:1;
}
.brand::first-letter{color:var(--blue)}
.tag{
  font-size:11px;
  color:var(--muted);
  letter-spacing:.16em;
  margin-top:4px;
}
.nav{
  display:flex;
  gap:25px;
  font-size:13px;
  letter-spacing:.08em;
  font-weight:700;
  color:#17395f;
}
.nav a{
  position:relative;
  padding:8px 0;
}
.nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:right;
  transition:.25s;
}
.nav a:hover{color:var(--blue)}
.nav a:hover:after{
  transform:scaleX(1);
  transform-origin:left;
}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  color:var(--ink);
  background:
    linear-gradient(105deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 38%,rgba(223,243,255,.76) 62%,rgba(100,190,250,.62) 100%),
    radial-gradient(circle at 78% 34%,#ffffff 0%,#caebff 34%,#74c7fb 66%,#0068b7 100%);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 43%,rgba(255,255,255,.12) 70%,rgba(0,78,150,.20) 100%),
    repeating-linear-gradient(116deg,transparent 0 94px,rgba(0,104,183,.08) 94px 96px);
  z-index:0;
}
.hero:after{
  content:"";
  position:absolute;
  right:-8%;
  top:0;
  width:56%;
  height:100%;
  background:
    linear-gradient(135deg,rgba(0,104,183,.78),rgba(36,168,242,.18));
  clip-path:polygon(32% 0,100% 0,100% 100%,0 100%);
  z-index:1;
  mix-blend-mode:multiply;
}
.hero .wrap{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:46px;
  align-items:center;
  min-height:660px;
  padding:88px 0 124px;
}
.hero .wrap:before{
  content:"";
  position:absolute;
  left:-34px;
  top:92px;
  bottom:124px;
  width:4px;
  background:linear-gradient(180deg,var(--blue),var(--sky));
  border-radius:999px;
  opacity:.72;
}
.eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-size:14px;
  color:var(--blue);
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:18px;
  display:flex;
  align-items:center;
  gap:14px;
}
.eyebrow:after{
  content:"";
  width:42px;
  height:1px;
  background:var(--blue);
}
.hero h1{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(40px,4.8vw,66px);
  line-height:1.34;
  margin:0 0 22px;
  font-weight:600;
  color:#00366f;
  letter-spacing:.055em;
}
.hero p{
  font-size:15px;
  color:#17395f;
  max-width:610px;
  font-weight:500;
  line-height:2.05;
  letter-spacing:.035em;
}
.hero-points{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}
.point{
  display:flex;
  align-items:center;
  gap:10px;
  color:#00366f;
  font-weight:800;
  font-size:13px;
  letter-spacing:.05em;
  padding:8px 12px;
  border:1px solid rgba(0,104,183,.16);
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(0,104,183,.06);
}
.point:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(185,154,82,.14);
}
.cta{display:none}

/* Generic buttons used outside MV */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  padding:15px 24px;
  border-radius:2px;
  font-weight:800;
  letter-spacing:.1em;
  position:relative;
  overflow:hidden;
  transition:.25s;
}
.btn:after{
  content:"›";
  font-size:22px;
  line-height:1;
  margin-left:18px;
  transition:.25s;
}
.btn:hover{
  transform:translateY(-2px);
}
.btn:hover:after{
  transform:translateX(4px);
}
.btn.gold{
  background:linear-gradient(135deg,var(--blue),var(--sky));
  color:white;
  box-shadow:0 14px 30px rgba(0,104,183,.22);
}
.btn.white{
  background:var(--navy);
  color:white;
}
.btn.outline{
  border:1px solid #9ec8ee;
  color:var(--navy);
  background:rgba(255,255,255,.78);
}

/* Hero right card: A案方針を維持しつつ白×青へ */
.hero-visual{
  position:relative;
  align-self:center;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.86);
  border-radius:0;
  padding:42px;
  backdrop-filter:blur(10px);
  box-shadow:0 30px 70px rgba(0,72,145,.20);
  overflow:hidden;
}
.hero-visual:before,
.hero-visual:after{
  display:none;
}
.hero-card-label{
  display:inline-block;
  background:linear-gradient(135deg,var(--blue),var(--sky));
  color:white;
  font-size:11px;
  font-weight:800;
  padding:5px 12px;
  letter-spacing:.12em;
  margin-bottom:22px;
  position:relative;
  z-index:1;
}
.hero-card-title{
  font-family:'Noto Serif JP',serif;
  color:#00366f;
  font-size:22px;
  font-weight:600;
  line-height:1.65;
  letter-spacing:.05em;
  margin:0 0 28px;
  position:relative;
  z-index:1;
}
.hero-card-list{
  display:grid;
  gap:22px;
  position:relative;
  z-index:1;
}
.hero-card-item{
  border-left:4px solid var(--blue);
  padding-left:18px;
}
.hero-card-item b{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:40px;
  line-height:1;
  color:var(--blue);
  font-weight:600;
  margin-bottom:7px;
}
.hero-card-item span{
  display:block;
  font-size:12px;
  color:#5c728b;
  letter-spacing:.08em;
  font-weight:700;
}
.mansion-art,.line-soft,.line-main,.line-sub,.line-accent,.visual-caption{display:none}

/* Important links */
.action-wrap{
  position:relative;
  z-index:6;
  margin-top:-72px;
}
.action-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  box-shadow:0 30px 70px rgba(0,72,145,.18);
}
.action{
  background:linear-gradient(135deg,#00366f,#0068b7);
  color:white;
  padding:38px 44px;
  position:relative;
  overflow:hidden;
  min-height:154px;
  border:1px solid rgba(255,255,255,.18);
}
.action:nth-child(2){
  background:linear-gradient(135deg,#0075c8,#24a8f2);
}
.action:before{
  content:"";
  position:absolute;
  left:36px;
  top:34px;
  width:66px;
  height:66px;
  border-radius:50%;
  background:rgba(255,255,255,.98);
}
.action:after{
  content:"→";
  position:absolute;
  right:34px;
  top:50%;
  transform:translateY(-50%);
  font-size:42px;
  color:white;
  opacity:.86;
}
.action h3{
  font-family:'Noto Serif JP',serif;
  font-size:27px;
  line-height:1.4;
  margin:5px 52px 0 100px;
  color:white;
  font-weight:600;
  letter-spacing:.06em;
}
.action p{
  color:#e9f6ff;
  margin:4px 52px 0 100px;
  font-size:14px;
}
.action .icon{
  position:absolute;
  left:55px;
  top:56px;
  width:28px;
  height:24px;
  border:2px solid var(--navy);
  z-index:1;
}
.action .icon:before,.action .icon:after{
  content:"";
  position:absolute;
  top:0;
  width:20px;
  height:2px;
  background:var(--navy);
  transform-origin:left top;
}
.action .icon:before{left:0;transform:rotate(35deg)}
.action .icon:after{right:-18px;transform:rotate(145deg)}
.action.sell .icon{
  border:0;
  width:34px;
  height:27px;
  left:52px;
  top:55px;
}
.action.sell .icon:before{
  width:26px;
  height:18px;
  border:2px solid var(--navy);
  background:transparent;
  transform:rotate(-28deg);
  left:0;
  top:7px;
  border-radius:4px;
}
.action.sell .icon:after{
  width:26px;
  height:18px;
  border:2px solid var(--navy);
  background:transparent;
  transform:rotate(28deg);
  left:12px;
  top:7px;
  border-radius:4px;
}

/* Sections */
.sec{
  padding:96px 0;
  background:#fff;
}
.sec.alt{
  background:linear-gradient(180deg,#f6fbff,#fff);
}
.sec-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:34px;
}
.sec-head .btn{margin-top: 16px;}
.sec-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(28px,3.2vw,40px);
  letter-spacing:.05em;
  color:#00366f;
  margin:0;
  line-height:1.45;
  font-weight:600;
}
.sec-title:before{
  content:"";
  display:block;
  width:52px;
  height:3px;
  background:linear-gradient(90deg,var(--blue),var(--sky));
  margin:0 0 20px;
}
.sec-ja{
  font-family:'Cormorant Garamond',serif;
  color:var(--blue);
  letter-spacing:.30em;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  margin-bottom:10px;
}
.lead{
  font-size:15px;
  color:var(--muted);
  max-width:760px;
  line-height:2;
}

/* Works */
.works{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.work{
  background:var(--paper);
  border:1px solid var(--line);
  padding:28px 24px;
  min-height:218px;
  box-shadow:0 12px 34px rgba(0,72,145,.06);
  position:relative;
  overflow:hidden;
  transition:.3s;
}
.work:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 42px rgba(0,72,145,.12);
  border-color:rgba(0,104,183,.28);
}
.work:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,var(--blue),var(--sky));
}
.work figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 5/3;
}
.work .label{
  display:inline-block;
  font-size:11px;
  color:white;
  background:var(--blue);
  font-weight:800;
  padding:3px 10px;
  letter-spacing:.08em;
}
.work h3{
  font-family:'Noto Serif JP',serif;
  font-size:17px;
  margin:15px 0 10px;
  color:#00366f;
  line-height:1.7;
  font-weight:600;
}
.work dl{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:5px 10px;
  margin:0;
  font-size:13px;
}
.work dt{color:var(--muted)}
.work dd{
  margin:0;
  color:#233c58;
  font-weight:600;
}
.work .price{
  font-family: 'Noto Serif JP', serif;
  font-size:30px;
  color:#00366f;
  margin-top:12px;
  font-weight:600;
}

/* Cases */
.cases{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.case{
  background:var(--paper);
  border:1px solid var(--line);
  padding:28px 24px;
  min-height:218px;
  box-shadow:0 12px 34px rgba(0,72,145,.06);
  position:relative;
  overflow:hidden;
  transition:.3s;
}
.case:hover{
  /*
  transform:translateY(-5px);
  box-shadow:0 18px 42px rgba(0,72,145,.12);
  border-color:rgba(0,104,183,.28);
  */
}
.case:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,var(--blue),var(--sky));
}
.case figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 5/3;
}
.case .label{
  display:inline-block;
  font-size:11px;
  color:white;
  background:var(--blue);
  font-weight:800;
  padding:3px 10px;
  letter-spacing:.08em;
}
.case h3{
  font-family:'Noto Serif JP',serif;
  font-size:17px;
  margin:15px 0 10px;
  color:#00366f;
  line-height:1.7;
  font-weight:600;
}
.case dl{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:5px 10px;
  margin:0;
  font-size:13px;
}
.case dt{color:var(--muted)}
.case dd{
  margin:0;
  color:#233c58;
  font-weight:600;
}
/*
.cases{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.case{
  background:white;
  border:1px solid var(--line);
  padding:26px;
  box-shadow:0 12px 34px rgba(0,72,145,.05);
  transition:.3s;
}
.case:hover{
  box-shadow:0 16px 36px rgba(0,72,145,.10);
}
.case-no{
  color:var(--sky);
  font-family:'Cormorant Garamond',serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.18em;
}
.case-no:before{content:"CASE ";color:var(--blue)}
.case h3{
  font-family:'Noto Serif JP',serif;
  margin:8px 0 16px;
  font-size:18px;
  color:#00366f;
  font-weight:600;
}
.case dl{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:5px 10px;
  margin:0;
  font-size:13px;
}
.case dt{color:var(--muted)}
.case dd{
  margin:0;
  color:#233c58;
  font-weight:600;
}
*/

/* Services */
.services{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  box-shadow:none;
}
.service{
  background:white;
  color:var(--ink);
  padding:38px 28px;
  min-height:310px;
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 12px 34px rgba(0,72,145,.05);
  transition:.3s;
}
.service:nth-child(even){background:white}
.service:hover{
  transform:none;
  border-color:var(--line);
  box-shadow:0 12px 34px rgba(0,72,145,.05);
}
.service:after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-42px;
  width:130px;
  height:130px;
  border:1px solid rgba(0,104,183,.14);
  transform:rotate(45deg);
}
.service .num{
  color:rgba(0,104,183,.20);
  font-family:'Cormorant Garamond',serif;
  font-size:48px;
  line-height:1;
  font-weight:600;
}
.service h3{
  font-family:'Noto Serif JP',serif;
  font-size:20px;
  margin:24px 0 14px;
  color:#00366f;
  font-weight:600;
}
.service p{
  font-size:14px;
  color:var(--muted);
  margin:0;
  line-height:1.9;
}

/* Volume (出来高) */
.volume-panel{
  background:white;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:46px 48px 40px;
}
.volume-stats{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:38px;
}
.volume-stat{
  flex:1;
  min-width:180px;
  border-left:4px solid var(--blue);
  padding-left:18px;
}
.volume-stat:nth-child(2){border-color:var(--sky)}
.volume-stat:nth-child(3){border-color:var(--gold)}
.volume-stat b{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-family: 'Noto Serif JP', serif;
  font-size:36px;
  line-height:1;
  color:var(--blue);
  font-weight:600;
  margin-bottom:8px;
}
.volume-stat span{
  display:block;
  font-size:12px;
  color:var(--muted);
  letter-spacing:.08em;
  font-weight:700;
}
.volume-chart{
  display:flex;
  align-items:flex-end;
  gap:8px;
  height:260px;
  padding:30px 6px 0;
  border-bottom:1px solid var(--line);
  background-image:repeating-linear-gradient(
    180deg,
    rgba(0,104,183,.08) 0,
    rgba(0,104,183,.08) 1px,
    transparent 1px,
    transparent 25%
  );
}
.volume-bar-col{
  flex:1;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
}
.volume-bar{
  width:100%;
  max-width:34px;
  height:var(--h,0%);
  min-height:2px;
  background:linear-gradient(180deg,var(--sky),var(--blue));
  border-radius:2px 2px 0 0;
  position:relative;
  transition:filter .2s;
}
.volume-bar:hover{filter:brightness(1.08)}
.volume-value{
  position:absolute;
  left:50%;
  top:-22px;
  transform:translateX(-50%);
  font-size:10.5px;
  font-weight:800;
  color:#1b5f9f;
  white-space:nowrap;
}
.volume-month{
  margin-top:10px;
  font-size:12px;
  color:var(--muted);
  font-weight:700;
  letter-spacing:.02em;
}
.volume-table-wrap{
  margin-top:36px;
  border-top:1px solid var(--line);
  padding-top:20px;
}
.volume-table-wrap summary{
  cursor:pointer;
  font-size:13px;
  font-weight:800;
  color:var(--blue);
  letter-spacing:.06em;
  list-style:none;
}
.volume-table-wrap summary::-webkit-details-marker{display:none}
.volume-table-wrap summary:before{
  content:"＋ ";
}
.volume-table-wrap[open] summary:before{
  content:"－ ";
}
table.volume-table{
  width:100%;
  border-collapse:collapse;
  margin-top:16px;
  font-size:13px;
}
.volume-table th,.volume-table td{
  border-bottom:1px solid var(--line);
  padding:10px 14px;
  text-align:right;
}
.volume-table th:first-child,.volume-table td:first-child{text-align:left}
.volume-table th{
  background:#f3faff;
  color:#1b5f9f;
  font-weight:800;
}
.volume-table td{color:#233c58;font-weight:600}
.volume-table tr.volume-table-total td{
  font-weight:800;
  color:#00366f;
  background:#f6fbff;
}

/* Company */
.company{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:50px;
  align-items:start;
}
.company table{
  width:100%;
  border-collapse:collapse;
  background:white;
  box-shadow:var(--shadow);
}
.company th,.company td{
  border-bottom:1px solid var(--line);
  padding:18px;
  text-align:left;
  vertical-align:top;
}
.company th{
  width:150px;
  color:#1b5f9f;
  font-weight:800;
  background:#f3faff;
}
.company td{
  color:#233c58;
  font-weight:600;
}

/* Recruit */
.recruit{
  background:linear-gradient(115deg,rgba(0,54,111,.95),rgba(0,117,200,.84));
  border:1px solid rgba(255,255,255,.24);
  padding:46px 52px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  color:white;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.recruit:after{
  content:"RECRUIT";
  position:absolute;
  right:28px;
  bottom:-26px;
  font-family:'Cormorant Garamond',serif;
  font-size:96px;
  color:rgba(255,255,255,.07);
  letter-spacing:.06em;
}
.recruit h3{
  font-family:'Noto Serif JP',serif;
  font-size:30px;
  color:white;
  margin:0;
  font-weight:600;
}
.recruit p{
  color:#e9f6ff;
  margin:8px 0 0;
}

/* Contact */
.contact{
  background:linear-gradient(145deg,#00264d,#00366f);
  overflow:hidden;
}
/*
.contact:before{
  content:"CONTACT";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-family:'Cormorant Garamond',serif;
  font-size:210px;
  color:rgba(255,255,255,.035);
  pointer-events:none;
}
*/
.contact .wrap{
  position:relative;
}
.contact .sec-title{color:white}
.contact .sec-title:before{
  background:linear-gradient(90deg,var(--sky),#fff);
}
.contact .lead{color:#dcecff}
.form{
  background:white;
  color:var(--ink);
  padding:38px;
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 30px 80px rgba(0,0,0,.20);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:13px;
  font-weight:800;
  color:#27415f;
}
.field.full{grid-column:1/-1}
.field p{margin: 0;}
.field p.remark{font-size: 11px;}
.field a{
  color: #00366f;
  text-decoration: underline;
}
.field a:hover{text-decoration: none;}
.req{
  color:#c03c3c;
  margin-right:6px;
}
.any{
  color:#999;
  margin-right:6px;
}
.name{
  font-size:14px;
}
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
input,textarea,select{
  width:100%;
  border:1px solid #c9d8e8;
  padding:13px;
  font:inherit;
  background:#fff;
  border-radius:0;
  color:var(--ink);
}
input:focus,textarea:focus,select:focus{
  outline:2px solid rgba(0,104,183,.16);
  border-color:var(--blue);
}
textarea{min-height:140px}
select {
  max-width: 100%;
  padding: 1em 2.5em 1em 1em;
  background-image: url(./images/arrow_drop_down.svg);
  background-repeat: no-repeat;
  background-position: right .5em center;
  background-size: 1.75em;
  cursor: pointer;
}
input[type=checkbox], input[type=radio]{width:auto}
.privacy{
  font-size:13px;
  color:#5f6870;
  margin:14px 0;
}
.submit{
  display: block;
  border:0;
  background:linear-gradient(135deg,var(--blue),var(--sky));
  color:white;
  padding:15px 36px;
  font-weight:800;
  letter-spacing:.1em;
  min-width:240px;
  box-shadow:0 14px 30px rgba(0,104,183,.22);
  max-width: 240px;
  margin-top: 16px;
  cursor: pointer;
}
.footer{
  background:#001328;
  color:#c9d7e8;
  padding:38px 0;
  font-size:13px;
}
.footer .wrap{
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.funds {
  position: relative;
  width: 160px;
}
.funds::after {
  position: absolute;
  top: 2.25em;
  right: -3em;
  content: '万円';
}
.zip {
  position: relative;
  width: 160px;
}
.years {
  position: relative;
  width: 80px;
}
.years::after {
  position: absolute;
  top: 2.25em;
  right: -2em;
  content: '年';
}
.floor {
  position: relative;
  width: 80px;
}
.floor::after {
  position: absolute;
  top: 2.25em;
  right: -4em;
  content: '階建て';
}
.unit {
  position: relative;
  width: 80px;
}
.unit::after {
  position: absolute;
  top: 2.25em;
  right: -2em;
  content: '戸';
}

/* Responsive */
@media(max-width:960px){
  .nav{display:none}
  .hero .wrap,.company{grid-template-columns:1fr}
  .hero .wrap{min-height:auto;padding:84px 0 118px}
  .hero-visual{max-width:560px}
  .works,.cases{grid-template-columns:1fr 1fr}
  .services{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  .action h3,.action p{margin-left:86px}
  .action:before{left:30px}
  .action .icon{left:49px}
  .action.sell .icon{left:46px}
}
@media(max-width:680px){
  .topbar .wrap{display:block}
  .topbar .wrap span{display:block}
  .header .wrap{padding:15px 0}
  .hero .wrap{padding-top:60px}
  .hero h1{font-size:36px}
  .hero-visual{padding:30px}
  .hero-card-item b{font-size:34px}
  .action-wrap{margin-top:-44px}
  .action-grid,.works,.cases,.services{grid-template-columns:1fr}
  .action{padding:30px 24px}
  .action h3,.action p{margin-right:34px}
  .sec{padding:64px 0}
  .sec-head,.recruit,.footer .wrap{display:block}
  .brand{font-size:28px}
  .company th,.company td{display:block;width:100%}
  .company th{border-bottom:0;padding-bottom:4px}
  .company td{}
  .btn{width:100%;min-width:0}
  .hero-points{display:grid;gap:12px}
  .volume-panel{padding:32px 20px}
  .volume-stats{flex-direction:column;gap:20px}
  .volume-chart{overflow-x:auto;gap:6px}
  .volume-bar-col{min-width:32px}
  .volume-value{font-size:9px}
  .volume-table{font-size:12px}
  .volume-table th,.volume-table td{padding:8px 8px}
}

body.admin-bar .header{top:32px}.site-main{min-height:60vh}.page-hero{padding:82px 0 58px;background:linear-gradient(135deg,#f6fbff,#e9f6ff);border-bottom:1px solid var(--line)}.page-hero h1{font-family:'Noto Serif JP',serif;color:#00366f;font-size:clamp(32px,5vw,52px);margin:0}.content-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(24px,5vw,52px)}.entry-content img{height:auto}.property-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px}.property-image img{width:100%;display:block}.property-data{margin:0}.property-data div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line)}.property-data dt,.property-data dd{padding:14px;margin:0}.property-data dt{background:#f3faff;color:#1b5f9f;font-weight:800}.property-data dd{font-weight:600}.property-password{padding:80px 0}.property-password__inner{max-width:680px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(30px,6vw,64px)}.property-password__label{color:var(--blue);font-weight:800;letter-spacing:.18em}.property-password__title{font-family:'Noto Serif JP',serif;color:#00366f;font-size:clamp(28px,5vw,44px);line-height:1.5}.property-password__form{display:grid;gap:12px;margin-top:30px}.property-password__form button{border:0;background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;padding:15px;font-weight:800}.wp-block-image img{height:auto}.contact .widget,.contact .wpcf7,.contact form{position:relative}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--navy)}.mobile-nav{display:none}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.archive-card{border:1px solid var(--line);background:#fff;box-shadow:0 12px 34px rgba(0,72,145,.06);overflow:hidden}.archive-card__body{padding:22px}.archive-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}
@media(max-width:782px){body.admin-bar .header{top:46px}}@media(max-width:960px){.property-grid{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr 1fr}.menu-toggle{display:block}.nav{display:none}.mobile-nav.is-open{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:18px 4%}.mobile-nav a{display:block;padding:12px;border-bottom:1px solid var(--line)}}@media(max-width:680px){.archive-grid{grid-template-columns:1fr}}
