
*{box-sizing:border-box}body{margin:0;font-family:'Noto Sans JP',sans-serif;font-weight:300;color:#000;background:#fff;line-height:1.8}
a{color:inherit}img,video{max-width:100%;display:block}main{overflow-x:clip}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
header.top{background:#fff;position:sticky;top:0;z-index:10}
header.top .wrap{display:flex;align-items:center;gap:40px;height:76px}
header.top img{width:144px}
nav.g{display:flex;flex-wrap:wrap}nav.g a{font-size:14px;text-decoration:none;padding:4px 14px}nav.g a.on{color:#607980}
h1.org{font-family:Raleway,'Noto Sans JP',sans-serif;font-weight:400;font-size:21px;margin:10px auto;max-width:980px;padding:0 54px}
.heroimg{max-width:980px;margin:0 auto}
.lead{max-width:820px;margin:0 auto;padding:16px 20px 40px;font-family:'Noto Serif JP',serif;font-size:18px}
.lead h2{font-family:Raleway,'Noto Sans JP',sans-serif;font-weight:400;font-size:44px;line-height:1.2;margin:14px 0 18px}
.lead p{margin:0 0 1.8em}.lead a{text-decoration:underline}
.addr{display:grid;grid-template-columns:1fr 1fr;background:#efefef;margin:0 50px}
.addr div{padding:60px 0 0 116px;font-size:13px}.addr div b{display:block;font-weight:400}.addr img{width:100%;height:240px;object-fit:cover}
footer.foot{text-align:center;font-size:14px;padding:30px 0 20px}
.members h2{font-family:Raleway,sans-serif;font-weight:400;font-size:16px;margin:12px 0 20px}
.member{display:grid;grid-template-columns:170px 1fr;gap:16px;margin:0 0 50px;max-width:740px}
.member img{width:170px;height:167px;object-fit:cover}
.member .n{font-family:'Noto Serif JP',serif;margin:0}.member .n span{display:block}.member p{margin:0 0 .6em;font-size:16px}
.blogbar{display:flex;justify-content:space-between;font-size:18px;padding:16px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;padding:10px 0 50px}
.card{position:relative;aspect-ratio:1;display:block;overflow:hidden;background:#111;text-decoration:none;color:#fff}
.card img{width:100%;height:100%;object-fit:cover;opacity:.85}
.card .meta{position:absolute;left:24px;top:18px;font-size:12px}
.card h3{position:absolute;left:30px;right:30px;bottom:26px;margin:0;font-family:Raleway,'Noto Sans JP',sans-serif;font-weight:400;font-size:24px;line-height:1.4;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.post{max-width:740px;margin:0 auto;padding:30px 0 60px}
.post .by{font-size:12px;color:#555;display:flex;gap:10px;align-items:center}
.post h1{font-family:Raleway,'Noto Sans JP',sans-serif;font-weight:400;font-size:38px;line-height:1.3;margin:14px 0 26px}
.post .body{font-size:18px}.post .body p{margin:0 0 1em}.post .body h2{font-size:24px;font-weight:700;margin:1.6em 0 .6em}
.post .body figure{margin:1.4em 0}.post .body a{color:#3b6f98;overflow-wrap:anywhere}.post .body ul{padding-left:1.4em}
.post .back{display:inline-block;margin-top:30px;font-size:15px}
.recent{border-top:1px solid #ddd;padding:30px 0}.recent h2{font-size:18px;font-weight:400}.recent .cards{grid-template-columns:repeat(3,1fr);gap:20px}
.recent .card h3{font-size:16px}
form.contact{max-width:600px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 20px;padding:20px 0 60px}
form.contact h2{grid-column:1/-1;text-align:center;font-family:Raleway,sans-serif;font-weight:400;font-size:23px}
form.contact label{display:grid;gap:4px;font-size:14px}form.contact label.full{grid-column:1/-1}
form.contact input,form.contact textarea{font:inherit;border:1px solid #000;padding:6px 8px}
form.contact textarea{min-height:86px}form.contact .hp{position:absolute;left:-9999px}
form.contact button{grid-column:1/-1;background:#000;color:#fff;border:0;padding:8px;font:inherit;cursor:pointer}
.embed iframe{width:100%;border:0;display:block}
.yt{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}.yt button{all:unset;cursor:pointer;display:block;width:100%;height:100%}.yt img{width:100%;height:100%;object-fit:cover;display:block}.yt-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;background:#f00;border-radius:12px}.yt-play:after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}