@charset "UTF-8";
#mainv{padding:20px 20px 0}
@media (max-width: 767px){#mainv{padding:10px 10px 0}}
#mainv .inner{position:relative;height:680px;border-radius:16px;overflow:hidden;background:#333}
@media (max-width: 991px){#mainv .inner{height:560px}}
@media (max-width: 767px){#mainv .inner{height:480px;border-radius:12px}}
#mainv .inner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .45) 100%)}
#mainv .inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#mainv .catch{position:absolute;left:56px;bottom:56px;z-index:1;font-family:"Shippori Mincho", serif;font-weight:500;font-size:4.8rem;line-height:1.55;letter-spacing:0.08em;color:#fff}
@media (max-width: 991px){#mainv .catch{font-size:4.0rem}}
@media (max-width: 767px){#mainv .catch{left:24px;bottom:32px;font-size:2.8rem}}
#quick{padding:0 30px}
@media (max-width: 767px){#quick{padding:0 10px}}
#quick .quickList{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr))}
@media (max-width: 767px){#quick .quickList{grid-template-columns:1fr}}
#quick .quickList li{border-left:1px solid #e3e3e3}
#quick .quickList li:last-child{border-right:1px solid #e3e3e3}
@media (max-width: 767px){#quick .quickList li{border-left:0;border-bottom:1px solid #e3e3e3}}
@media (max-width: 767px){#quick .quickList li:last-child{border-right:0}}
#quick .quickList a{display:flex;align-items:center;gap:16px;padding:24px 40px 24px 50px;color:#222222}
@media (max-width: 991px){#quick .quickList a{padding:20px 20px 20px 24px}}
#quick .quickList a::after{content:"";flex-shrink:0;width:14px;height:14px;margin-left:auto;opacity:.5;background:url("../img/common/icon-arrow.svg") no-repeat center / contain;transition:.2s}
#quick .quickList a:hover{color:#12876d}
#quick .quickList a:hover::after{opacity:1;transform:translateX(4px)}
#quick .quickList .icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:8px;background:#3fb495}
#quick .quickList .icon img{width:22px;height:22px}
#quick .quickList .txt{display:flex;flex-direction:column;font-size:1.5rem;font-weight:500;line-height:1.5}
#quick .quickList .en{font-family:"Montserrat", sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:0.06em;color:#12876d}
#about .catch{margin-bottom:40px}
#about .read{margin-bottom:48px}
#aboutPhoto{margin-top:120px}
@media (max-width: 767px){#aboutPhoto{margin-top:72px}}
#aboutPhoto img{display:block;width:100%;height:600px;object-fit:cover;object-position:center 40%}
@media (max-width: 991px){#aboutPhoto img{height:420px}}
@media (max-width: 767px){#aboutPhoto img{height:260px}}
#news{padding:72px 0 80px;background:#f5f5f5}
@media (max-width: 767px){#news{padding:56px 0}}
.newsList.simple a{padding:22px 0}
.newsList.simple a::after{display:none}
.newsList.simple .meta{margin-bottom:4px}
.newsList.simple time{font-size:1.2rem}
.newsList.simple .ttl{font-size:1.5rem}
#events{padding-bottom:80px}
@media (max-width: 767px){#events{padding-bottom:56px}}
#events .headRow{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
#guide{padding:48px 0;background:#eaf4ef}
#guide .guideList{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}
@media (max-width: 767px){#guide .guideList{grid-template-columns:1fr}}
#guide .linkCard{padding:40px 32px 32px;border-radius:8px}
#guide .linkCard .icon{width:32px;height:32px;margin-bottom:32px;border-radius:4px}
#guide .linkCard .icon img{width:18px;height:18px}
#guide .linkCard .ttl{margin-top:0;font-size:2.0rem}
#mainv .badge40{position:absolute;right:40px;bottom:40px;z-index:2;width:200px;padding:20px;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(0,0,0,.18)}
#mainv .badge40 img{position:static;display:block;width:100%;height:auto;object-fit:contain}
@media (max-width: 991px){#mainv .badge40{width:160px;padding:16px}}
@media (max-width: 767px){#mainv .badge40{top:84px;right:16px;bottom:auto;width:104px;padding:10px;border-radius:10px}}
