.page-contact{
  --lane-support:var(--cyan);
  --lane-desk:var(--violet);
  --lane-voice:var(--signal);
  --panel:var(--layer);
}

.page-contact .breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:26px 0 0;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--muted);
}
.page-contact .breadcrumb__link{
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .24s var(--ease),border-color .24s var(--ease);
}
.page-contact .breadcrumb__link:hover{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}
.page-contact .breadcrumb__sep{
  color:var(--line);
}
.page-contact .breadcrumb__here{
  color:var(--ice);
}

.page-contact .contact-open{
  padding:34px 0 0;
  max-width:860px;
}
.page-contact .contact-open .annotation{
  display:block;
  margin:0 0 18px;
  font-size:12px;
  letter-spacing:.3em;
  color:var(--cyan);
}
.page-contact .contact-open .display-1{
  margin:0 0 22px;
  max-width:12em;
}
.page-contact .contact-open .lede{
  margin:0;
  max-width:40em;
}

.page-contact .contact-visual{
  margin:34px 0 0;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--layer);
  overflow:hidden;
}
.page-contact .contact-visual img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  aspect-ratio:3 / 2;
}
.page-contact .media__caption{
  display:block;
  padding:12px 16px;
  border-top:1px solid var(--line);
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--muted);
}

.page-contact .section-block{
  padding:64px 0 0;
}
.page-contact .section-head{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:0 0 14px;
}
.page-contact .section-index{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.12em;
  color:var(--cyan);
}
.page-contact .section-head .display-2{
  margin:0;
  font-size:clamp(21px,3.4vw,33px);
  line-height:1.25;
}
.page-contact .section-rule{
  display:block;
  height:1px;
  background:var(--line);
  margin:0 0 26px;
}
.page-contact .prose{
  margin:0 0 18px;
  max-width:38em;
  font-size:15.5px;
  line-height:1.9;
  color:var(--muted);
}

.page-contact .lane-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin:26px 0 0;
}
.page-contact .lane-card{
  padding:24px 22px 22px;
  background:var(--layer);
  border:1px solid var(--line);
  border-top:2px solid var(--line);
  border-radius:2px;
  transition:background .28s var(--ease),transform .28s var(--ease);
}
.page-contact .lane-card--support{border-top-color:var(--lane-support);}
.page-contact .lane-card--desk{border-top-color:var(--lane-desk);}
.page-contact .lane-card--voice{border-top-color:var(--lane-voice);}
.page-contact .lane-card:hover{
  transform:translateY(-2px);
}
.page-contact .lane-card--support:hover{background:rgba(53,240,208,.05);}
.page-contact .lane-card--desk:hover{background:rgba(76,107,179,.10);}
.page-contact .lane-card--voice:hover{background:rgba(255,122,47,.06);}
.page-contact .lane-card__title{
  margin:14px 0 10px;
  font-size:18.5px;
  font-weight:700;
  color:var(--ice);
  line-height:1.4;
}
.page-contact .lane-card__text{
  margin:0;
  font-size:14.5px;
  line-height:1.85;
  color:var(--muted);
}
.page-contact .lane-card__need{
  margin:18px 0 0;
  padding-top:14px;
  border-top:1px dashed var(--line);
  font-size:13.5px;
  line-height:1.8;
  color:var(--paper);
}

.page-contact .direct-block{
  margin:30px 0 0;
  padding:24px 22px 12px;
  border:1px solid var(--line);
  border-radius:2px;
  background:linear-gradient(140deg,rgba(76,107,179,.18),rgba(53,240,208,.06) 58%,rgba(6,17,31,0));
}
.page-contact .direct-block .rail__label{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.3em;
  color:var(--cyan);
}
.page-contact .direct-list{
  list-style:none;
  margin:0;
  padding:0;
}
.page-contact .direct-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  padding:14px 0;
  border-bottom:1px solid rgba(30,53,80,.75);
}
.page-contact .direct-row:last-child{
  border-bottom:0;
}
.page-contact .direct-row__key{
  flex:0 0 auto;
  min-width:74px;
  font-size:13px;
  letter-spacing:.1em;
  color:var(--muted);
}
.page-contact .direct-row__val{
  flex:1 1 auto;
  min-width:0;
  font-family:var(--font-mono);
  font-size:15px;
  font-weight:500;
  letter-spacing:.05em;
  color:var(--ice);
  word-break:break-all;
}
.page-contact .copy-btn{
  flex:0 0 auto;
  padding:6px 12px;
  font-size:12.5px;
  letter-spacing:.08em;
  color:var(--signal);
  background:transparent;
  border:1px solid rgba(255,122,47,.5);
  border-radius:2px;
  cursor:pointer;
  transition:background .24s var(--ease),color .24s var(--ease);
}
.page-contact .copy-btn:hover{
  background:rgba(255,122,47,.16);
}
.page-contact .copy-status{
  flex:0 0 auto;
  min-height:1em;
  font-size:12px;
  letter-spacing:.06em;
  color:var(--cyan);
}

.page-contact .check-list{
  list-style:none;
  margin:24px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.page-contact .check-item{
  display:flex;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid rgba(30,53,80,.8);
}
.page-contact .check-item__num{
  flex:0 0 auto;
  padding-top:3px;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.1em;
  color:var(--cyan);
}
.page-contact .check-item__body{
  min-width:0;
}
.page-contact .check-item__title{
  margin:0 0 6px;
  font-size:16.5px;
  font-weight:700;
  color:var(--ice);
  line-height:1.45;
}
.page-contact .check-item__text{
  margin:0;
  max-width:36em;
  font-size:14.5px;
  line-height:1.85;
  color:var(--muted);
}
.page-contact .sla-note{
  margin:26px 0 0;
  padding:16px 20px;
  border-left:2px solid var(--cyan);
  border-radius:2px;
  background:rgba(53,240,208,.05);
  font-size:14.5px;
  line-height:1.85;
  color:var(--ice);
}

.page-contact .fix-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  margin:24px 0 0;
}
.page-contact .fix-col{
  min-width:0;
}
.page-contact .fix-col .display-3{
  margin:0 0 16px;
  font-size:19px;
  font-weight:700;
  color:var(--ice);
}
.page-contact .tpl{
  margin:22px 0 0;
  border:1px solid var(--line);
  border-radius:2px;
  background:rgba(6,17,31,.75);
  overflow:hidden;
}
.page-contact .tpl__body{
  margin:0;
  padding:18px 20px;
  font-family:var(--font-mono);
  font-size:13px;
  line-height:1.95;
  letter-spacing:.02em;
  color:var(--paper);
  white-space:pre-wrap;
  word-break:break-word;
}
.page-contact .tpl .copy-btn{
  display:block;
  width:100%;
  margin:0;
  padding:12px;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  text-align:center;
}

.page-contact .plain-list{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}
.page-contact .plain-list li{
  position:relative;
  padding-left:18px;
  font-size:14.5px;
  line-height:1.85;
  color:var(--muted);
}
.page-contact .plain-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:8px;
  height:1px;
  background:var(--cyan);
}

.page-contact .inline-link{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(53,240,208,.42);
  transition:color .24s var(--ease),border-color .24s var(--ease);
}
.page-contact .inline-link:hover{
  color:var(--signal);
  border-bottom-color:var(--signal);
}

.page-contact .coop-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:24px 0 0;
}
.page-contact .coop-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 18px;
  padding:22px 0;
  border-top:1px solid rgba(30,53,80,.85);
}
.page-contact .coop-item__num{
  grid-column:1;
  grid-row:1 / span 2;
  padding-top:3px;
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:.1em;
  color:var(--lane-desk);
}
.page-contact .coop-item__title{
  grid-column:2;
  grid-row:1;
  margin:0 0 8px;
  font-size:18px;
  font-weight:700;
  color:var(--ice);
  line-height:1.45;
}
.page-contact .coop-item > p{
  grid-column:2;
  grid-row:2;
  margin:0;
  max-width:36em;
  font-size:14.5px;
  line-height:1.85;
  color:var(--muted);
}
.page-contact .coop-brief{
  margin:32px 0 0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--layer);
}
.page-contact .coop-brief__title{
  margin:0;
  font-size:15.5px;
  font-weight:700;
  color:var(--ice);
}

.page-contact .visit-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
  margin:24px 0 0;
}
.page-contact .visit-info{
  min-width:0;
}
.page-contact .fact-list{
  margin:0;
  border-top:1px solid var(--line);
}
.page-contact .fact-row{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid rgba(30,53,80,.85);
}
.page-contact .fact-row dt{
  font-size:13px;
  letter-spacing:.08em;
  color:var(--muted);
}
.page-contact .fact-row dd{
  margin:0;
  font-family:var(--font-mono);
  font-size:14.5px;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--ice);
  word-break:break-word;
}
.page-contact .time-band{
  display:flex;
  height:6px;
  margin:26px 0 10px;
  border-radius:2px;
  overflow:hidden;
  background:var(--line);
}
.page-contact .time-band__seg--off{
  flex:1;
  background:rgba(30,53,80,.7);
}
.page-contact .time-band__seg--on{
  flex:2.4;
  background:linear-gradient(90deg,var(--cyan),rgba(76,107,179,.9));
}
.page-contact .time-band__caption{
  margin:0 0 22px;
  font-size:13px;
  line-height:1.8;
  letter-spacing:.04em;
  color:var(--muted);
}
.page-contact .visit-figure{
  margin:0;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--layer);
  overflow:hidden;
}
.page-contact .visit-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

.page-contact .contact-tail{
  margin:70px 0 96px;
  padding-top:26px;
  border-top:1px solid var(--line);
  max-width:44em;
}
.page-contact .contact-tail .prose{
  margin:0;
}

@media (max-width:599px){
  .page-contact .contact-visual img{
    aspect-ratio:4 / 3;
  }
  .page-contact .fact-row{
    grid-template-columns:1fr;
    gap:6px;
  }
}

@media (min-width:760px){
  .page-contact .section-block{
    padding:88px 0 0;
  }
  .page-contact .lane-grid{
    grid-template-columns:repeat(3,1fr);
    gap:20px;
  }
  .page-contact .direct-block{
    padding:28px 26px 14px;
  }
  .page-contact .check-list{
    grid-template-columns:repeat(2,1fr);
    column-gap:36px;
  }
}

@media (min-width:900px){
  .page-contact .fix-grid{
    grid-template-columns:1.12fr .88fr;
    gap:56px;
  }
  .page-contact .visit-grid{
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:start;
  }
}
<<<END>>>
