*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto;
background:#f5f7fa;
color:#333;
line-height:1.6;
}

/* ヘッダー写真 */

.hero{

background:url(../img/20260311_144101.jpg) center/cover no-repeat;
height:320px;

display:flex;
align-items:center;
justify-content:center;

color:white;
text-align:center;
}

.hero h1{
font-size:42px;
margin-bottom:10px;
text-shadow:0 3px 10px rgba(0,0,0,0.5);
}
.hero2{
font-size:32px;
margin-bottom:10px;
text-shadow:0 3px 10px rgba(0,0,0,0.5);
}
.hero h2{
font-size:32px;
margin-bottom:10px;
text-shadow:0 3px 10px rgba(0,0,0,0.5);
}

.hero p{
font-size:18px;
}

/* コンテンツ */

.container{
max-width:1000px;
margin:auto;
padding:40px 20px;
}

/* ギャラリー */

.gallery{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;

margin-bottom:60px;
}

.card{

background:white;
border-radius:12px;
overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,0.08);

transition:0.3s;
}

.card:hover{
transform:translateY(-6px);
}

.card img{
width:100%;
height:220px;
object-fit:cover;
}

.text{
padding:20px;
}

/* リンク */

.links h2{
margin-bottom:20px;
}

.link-grid{

display:grid;
grid-template-columns:repeat(5,1fr);
gap:12px;

}

.link-grid a{

display:block;
background:white;
padding:12px;

text-align:center;
text-decoration:none;

border-radius:8px;

color:#333;

box-shadow:0 4px 10px rgba(0,0,0,0.06);

transition:0.2s;
}

.link-grid a:hover{
background:#3b82f6;
color:white;
}

/* フッター */

footer{
text-align:center;
padding:40px;
color:#777;
}

/* タブレット */

@media(max-width:900px){

.gallery{
grid-template-columns:1fr;
}

.link-grid{
grid-template-columns:repeat(3,1fr);
}

}

/* スマホ */

@media(max-width:500px){

.hero{
height:220px;
}

.hero h1{
font-size:28px;
}

.link-grid{
grid-template-columns:repeat(2,1fr);
}

}