@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@400&display=swap');
*{box-sizing:border-box}
body{margin:0;background:#fff;color:#231f1c;font-family:"Noto Sans JP","Hiragino Sans",sans-serif;font-size:14px;line-height:1.75}
a{color:inherit}
.serif{font-family:"Noto Serif JP","Hiragino Mincho ProN",serif}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}
header{border-bottom:1px solid #eee}
header .wrap{display:flex;justify-content:space-between;align-items:flex-end;height:150px;padding-bottom:40px}
header .logo img{width:320px;max-width:60vw;display:block}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px;font-family:"Noto Serif JP",serif;font-size:14px}
nav a{text-decoration:none}nav a.cur{color:#aaa}
.hero{display:flex;gap:60px;align-items:center;padding:84px 0 300px}
.hero img{width:590px;max-width:100%;aspect-ratio:590/330;object-fit:cover;display:block}
.hero .txt{flex:1;text-align:center}
.hero h1{font-weight:400;font-size:38px;margin:0 0 22px;line-height:1.2}
.hero p{font-weight:700;font-size:15px;line-height:1.75;margin:0 0 20px}
.btn{display:inline-block;background:#231f1c;color:#fff;text-decoration:none;font-family:"Noto Serif JP",serif;font-size:13px;padding:2px 16px}
.info{border-top:1px solid #eee;border-bottom:1px solid #eee;padding:90px 0 40px}
.info .wrap{display:flex}
.info h2{font-weight:400;font-size:38px;margin:0;width:380px;padding-left:20px}
.info dl{margin:0;display:grid;grid-template-columns:110px 1fr;row-gap:28px;font-size:13px}
.info dd{margin:0}.sub{color:#aaa}
footer{text-align:center;padding:60px 0 80px;font-family:"Noto Serif JP",serif}
footer .sns{display:flex;gap:20px;justify-content:center;margin-bottom:20px}
footer .sns svg{width:12px;height:12px;fill:#231f1c}
article{max-width:740px;margin:0 auto;padding:90px 16px 80px}
article h1{font-weight:700;font-size:24px;margin:0 0 30px;line-height:1.4}
article figure{margin:0 0 40px}article figure img{width:100%;display:block}
article figcaption{text-align:center;font-size:11px;margin-top:20px}
article p{margin:0 0 28px}
@media(max-width:760px){header .wrap{flex-direction:column;align-items:flex-start;height:auto;padding:20px 16px;gap:16px}nav ul{gap:16px;flex-wrap:wrap}
.hero{flex-direction:column;gap:30px;padding:40px 0 80px}.info .wrap{flex-direction:column}.info h2{width:auto;padding:0 0 30px}}
/* generated pages */
article h2,article h3{font-family:"Noto Serif JP",serif;font-size:18px;margin:0 0 20px}
article hr{border:0;border-top:1px solid #ddd;margin:0 0 28px}
article ul{margin:0 0 28px;padding-left:1.4em}
article video{width:100%;display:block}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 40px}
.gal figure{margin:0}
.static{max-width:980px;margin:0 auto;padding:90px 16px 80px}
.static .rt{margin:0 0 30px}.static .rt p{margin:0}
.static h1{font-family:"Noto Serif JP",serif;font-weight:400;font-size:38px;margin:0;line-height:1.3}
.static h2,.static h3{font-family:"Noto Serif JP",serif;font-weight:400;margin:0}
.static figure{margin:0 0 30px}.static figure img{max-width:100%;height:auto;display:block;margin:0 auto}
.static figcaption{text-align:center;font-size:11px;margin-top:12px}
.slides{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0 0 40px}
.slides figure{margin:0}
.info.page{border-top:0;padding-top:84px}
.info.page h1{font-weight:400;font-size:38px;margin:0;width:380px;padding-left:20px;line-height:1.2}
.list{padding:90px 0 80px}
.list h1{font-weight:400;font-size:38px;text-align:center;margin:0 0 80px}
.cards{list-style:none;margin:0;padding:0}
.cards li{display:flex;gap:36px;margin:0 0 32px}
.cards .ph{flex:0 0 514px;aspect-ratio:514/386;background:#f3f3f3;display:block}
.cards .ph img{width:100%;height:100%;object-fit:cover;display:block}
.cards .ct{flex:1;padding-top:24px}
.cards h2{font-size:26px;font-weight:700;line-height:1.6;margin:0 0 20px}
.cards h2 a{text-decoration:none}
.cards p{margin:0;font-size:14px}
.empty{text-align:center}
img{height:auto}
@media(max-width:760px){.cards li{flex-direction:column;gap:12px}.cards .ph{flex:none;width:100%}.cards .ct{padding:0}.cards h2{font-size:20px}
.info.page h1{width:auto;padding:0 0 30px}.gal{grid-template-columns:1fr}.static,.list{padding-top:40px}}
.embed{position:relative;aspect-ratio:16/9}.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
