/* style.css */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Noto Sans JP', sans-serif; color: #333; }
.header { display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; background: #00539C; color: #fff; }
.global-nav ul { list-style: none; margin: 0; padding: 0; display: flex; }
.global-nav li { margin-left: 15px; }
.global-nav a { color: #fff; text-decoration: none; font-weight: bold; }

.mv-slider { position: relative; overflow: hidden; height: 70vh; }
.mv-slider .slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s; }
.mv-slider .slide.active { opacity: 1; }
.mv-slider img { width: 100%; height: 100%; object-fit: cover; }
.mv-slider .controls button { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); border: none; padding: 10px; color: #fff; cursor: pointer; font-size: 18px; border-radius: 50%; }
.mv-slider .prev { left: 20px; }
.mv-slider .next { right: 20px; }

.company, .projects, .news, .contact { padding: 60px 20px; max-width: 1000px; margin: 0 auto; }
.projects .project-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.projects .card { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: transform 0.3s; }
.projects .card:hover { transform: translateY(-5px); }
.projects img { width: 100%; height: 180px; object-fit: cover; }
.projects h3 { margin: 15px; font-size: 1.2rem; }
.projects p { margin: 0 15px 15px; font-size: 0.95rem; color: #555; }

.news-list { list-style: none; padding: 0; }
.news-list li { margin-bottom: 10px; }
.news-list time { font-weight: bold; margin-right: 10px; }

.contact form { display: grid; gap: 15px; }
.contact label { display: block; font-weight: bold; }
.contact input, .contact textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
.contact button { background: #00539C; color: #fff; padding: 10px 0; border: none; border-radius: 4px; cursor: pointer; font-size: 1rem; }

.footer { text-align: center; padding: 20px 0; background: #f5f5f5; color: #777; }
