
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
body { margin:0; font-family: 'Noto Sans JP', sans-serif; background:#fdfdfd; color:#333; line-height:1.8;}
a { color:#f08a00; text-decoration:none; }
header { background:#fff; border-bottom:1px solid #e4e4e4; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
header .container { display:flex; justify-content:space-between; align-items:center; max-width:1100px; margin:0 auto; padding:0.8rem 1.2rem;}
header h1 a { font-size:1.1rem; font-weight:600; color:#333; }
nav ul { list-style:none; display:flex; gap:1.2rem; margin:0; padding:0; }
nav a { color:#333; font-weight:500; }
nav a.active, nav a:hover { color:#f08a00; }

.hero-slider { position:relative; height:60vh; overflow:hidden; color:#fff; }
.slide { position:absolute; width:100%; height:100%; background-size:cover; background-position:center; opacity:0; transform:scale(1.05); transition:opacity 1.2s ease-in-out, transform 6s ease; }
.slide.active { opacity:1; transform:scale(1); }
.hero-slider::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(to bottom, rgba(0,0,0,0.35), rgba(0,0,0,0.55)); z-index:1; }
.hero-text { position:relative; z-index:2; text-align:center; top:40%; transform:translateY(-40%); padding:0 1rem; }
.hero-text h2 { font-size:2rem; margin-bottom:0.3rem;}
.btn { display:inline-block; background:linear-gradient(90deg,#f08a00,#ffb84a); color:#fff; padding:0.7rem 1.4rem; border-radius:24px; font-weight:500; box-shadow:0 3px 6px rgba(0,0,0,0.15); }

.prev, .next { position:absolute; top:50%; transform:translateY(-50%); background-color:rgba(0,0,0,0.5); color:#fff; border:none; font-size:1.8rem; padding:0.3rem 0.7rem; cursor:pointer; z-index:3; border-radius:4px; }
.prev { left:12px; } .next { right:12px; }
.dots { position:absolute; bottom:16px; width:100%; text-align:center; z-index:3; }
.dot { display:inline-block; width:10px; height:10px; margin:0 5px; background:rgba(255,255,255,0.6); border-radius:50%; cursor:pointer; }
.dot.active { background:#f08a00; }

section { padding:3rem 1.2rem; }
.container { max-width:1100px; margin:0 auto; }

.intro { text-align:center; }
.features { display:flex; gap:1rem; margin-top:1.4rem; }
.feature { background:#fffaf5; padding:1rem; border-radius:8px; flex:1; box-shadow:0 2px 6px rgba(0,0,0,0.05); }

.page-title { background:linear-gradient(90deg,#f08a00,#ffb84a); color:#fff; text-align:center; padding:2rem 1rem; }
.news-list-section { background:#fff; padding:2rem 1rem; }

.news-item { background:#fff; border-left:4px solid #f08a00; border-radius:8px; padding:1rem; margin-bottom:1rem; box-shadow:0 2px 6px rgba(0,0,0,0.05); }
.news-date { color:#777; font-size:0.9rem; display:block; margin-bottom:0.4rem; }

.news-detail-section { background:#fff; padding:2rem 1rem; }
.news-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:0.6rem; margin:1rem 0; }
.news-gallery img { width:100%; border-radius:6px; object-fit:cover; box-shadow:0 2px 6px rgba(0,0,0,0.08); }

.related-card-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin-top:1rem; }
.related-thumb { width:100%; height:120px; background-size:cover; background-position:center; border-radius:6px; }

.gallery-admin { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; margin:1rem 0; }
.image-card { background:#fff; border:1px solid #ddd; border-radius:8px; padding:0.6rem; text-align:center; }
.thumb { width:100%; height:100px; background-size:cover; background-position:center; border-radius:6px; margin-bottom:0.5rem; }
