/* aboutcomp.css */
/* ===== Company Page ===== */

:root{
  --main:#0f5b78;
  --accent:#17a673;
  --bg:#f5f8fb;
  --text:#2b2b2b;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:18px;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:"Noto Sans JP",sans-serif;
}

.page-hero{
  background:linear-gradient(rgba(15,91,120,.72),rgba(15,91,120,.72)),url("../hero.jpg") center/cover;
  color:#fff;
  text-align:center;
  padding:120px 20px;
}
.page-hero span{letter-spacing:4px;color:#b9f3dd;font-weight:700}
.page-hero h1{font-size:48px;margin:16px 0}
.page-hero p{max-width:720px;margin:auto;line-height:2}

.company-profile,
.message,
.company-service,
.access{
  padding:90px 20px;
}

.title{
  text-align:center;
  margin-bottom:50px;
}
.title span{
  color:var(--accent);
  font-weight:700;
  letter-spacing:3px;
}
.title h2{
  font-size:36px;
  color:var(--main);
  margin:10px 0;
}

.company-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.company-table th{
  width:220px;
  background:var(--main);
  color:#fff;
  text-align:left;
  padding:22px;
}
.company-table td{
  padding:22px;
  line-height:2;
  border-bottom:1px solid #eee;
}

.message-box{
  max-width:900px;
  margin:auto;
  background:#fff;
  border-radius:var(--radius);
  padding:60px;
  box-shadow:var(--shadow);
}
.message-box h2{
  color:var(--main);
  margin-bottom:25px;
}
.message-box p{
  line-height:2.1;
  margin-bottom:18px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
}
.service-card{
  background:#fff;
  border-radius:var(--radius);
  padding:40px;
  box-shadow:var(--shadow);
  transition:.3s;
}
.service-card:hover{
  transform:translateY(-8px);
}
.service-icon{
  font-size:42px;
  margin-bottom:18px;
}
.service-card h3{
  color:var(--main);
}

.access-grid{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:35px;
  align-items:center;
}
.access-info{
  background:#fff;
  padding:35px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.access iframe{
  width:100%;
  height:450px;
  border:none;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

@media(max-width:900px){
  .page-hero h1{font-size:34px}
  .service-grid,.access-grid{grid-template-columns:1fr}
  .company-table,.company-table tbody,.company-table tr,.company-table th,.company-table td{
    display:block;width:100%;
  }
  .company-table th{padding:16px}
  .message-box{padding:35px}
}

/* Contact */
.contact-area{
background:linear-gradient(135deg,#16324f,#198754);
text-align:center;
color:#fff
}
.contact-area h2{font-size:38px;margin-bottom:15px}
.contact-area p{margin-bottom:30px}

/* Footer */
footer{
background:#12263d;
color:#fff;
padding:70px 0 25px
}
.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:40px
}
footer ul{list-style:none}
footer li{margin:10px 0}
footer a:hover{color:#7fe1af}
.copyright{
text-align:center;
margin-top:50px;
padding-top:20px;
border-top:1px solid rgba(255,255,255,.15)
}