/* ホームの色・丸み・書体を引き継ぐコンテンツページです。 */
.content-page{background:#f5f3eb;color:#343434}
.content-page>.header{background:#ef8e4a;z-index:50}
.content-page .website-preview-warning{background:#3a6333;color:white;line-height:1.6;padding:12px 24px}
.content-hero{background:#ef8e4a;padding:32px 40px 100px;position:relative;overflow:hidden}
.content-hero:after{content:'';position:absolute;width:300px;height:300px;border:1px solid #ffffff40;border-radius:43% 57% 61% 39%;right:-70px;top:-80px;transform:rotate(25deg);pointer-events:none}
.content-heading{max-width:1140px;margin:auto;position:relative;z-index:1}
.content-hero .crumbs{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 36px;color:white;font-size:12px}
.content-hero .crumbs a{color:white}
.content-kicker{display:inline-block;color:#3a6333;background:#fff;padding:5px 20px;border-radius:30px;font-size:12px;letter-spacing:.05em;margin:0 0 20px}
.content-heading h1{color:white;font-size:clamp(28px,3.3vw,46px);line-height:1.55;letter-spacing:.035em;font-weight:700;margin:0 0 22px;max-width:1000px}
.content-heading .content-lead{color:white;font-size:15px;line-height:1.95;max-width:780px;margin:0;white-space:pre-line}
.content-heading time{display:block;color:white;font-size:12px;letter-spacing:.06em;margin-top:18px}
.content-layout{max-width:1220px;margin:-48px auto 0;padding:0 40px;position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:start}
.content-layout:not(.has-event){max-width:980px}
.content-layout.has-event{grid-template-columns:minmax(0,1fr) 300px}
.content-story{min-width:0;background:white;border-radius:30px;overflow:hidden;box-shadow:0 6px 24px #373c2d05}
.content-cover img{width:100%;height:auto;aspect-ratio:3/2;max-height:620px;object-fit:cover;object-position:center;display:block;background:#fff}
.content-body{padding:42px 40px 20px}
.content-page .news-article{font-family:var(--sans)}
.content-info{position:sticky;top:124px;min-width:0}
.content-info-inner{padding:28px 24px;background:white;border-radius:24px}
.content-info-label{color:#7b8e6f;font-size:10px;letter-spacing:.12em;margin:0 0 5px}.content-info h2{font-size:23px;color:#3a6333;font-weight:700;margin:0 0 20px}
.content-info dl{margin:0}.content-info dl>div{padding:13px 0;border-top:1px solid #e5e8df}.content-info dt{font-size:11px;color:#668457;margin-bottom:5px;font-weight:700}.content-info dd{font-size:13px;line-height:1.8;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.content-booking{background:#3a6333;color:white;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-radius:30px;text-decoration:none;font-size:13px;margin-top:24px;font-weight:700;transition:transform .2s,box-shadow .2s}
.content-map-link{display:block;text-align:center;color:#3a6333;font-size:12px;margin-top:16px}
.content-page .website-tags{border-top:1px solid #eee;margin-top:36px;padding:24px 0;gap:8px}.content-page .website-tags:empty{display:none}
.content-page .website-tags a{border:0;background:#f4f6ef;color:#3a6333}
.content-back{text-align:center;padding:46px 24px 72px}.content-back a{display:inline-block;color:#3a6333;border:1px solid #3a6333;border-radius:32px;padding:14px 36px;font-size:14px;text-decoration:none;background:transparent;transition:background .2s,transform .2s}
@media(hover:hover){.content-booking:hover,.content-back a:hover{transform:translateY(-3px);box-shadow:0 5px 15px #3a633315}.content-back a:hover{background:white}}
@media(max-width:1000px){.content-layout{padding:0 24px;gap:22px}.content-layout.has-event{grid-template-columns:minmax(0,1fr) 265px}.content-body{padding:30px 26px 18px}.content-info-inner{padding:24px 20px}.content-hero{padding-left:24px;padding-right:24px}}
@media(max-width:760px){.content-hero{padding:25px 22px 70px}.content-hero .crumbs{margin-bottom:24px;font-size:10px;gap:10px}.content-heading h1{font-size:28px;margin-bottom:18px}.content-heading .content-lead{font-size:14px}.content-kicker{font-size:11px;margin-bottom:16px;padding:4px 16px}.content-layout,.content-layout.has-event{grid-template-columns:minmax(0,1fr);padding:0 16px;margin-top:-32px;gap:24px}.content-story{border-radius:22px}.content-body{padding:28px 22px 10px}.content-info{position:static}.content-info-inner{padding:26px;border-radius:22px}.content-info dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px}.content-info dt{margin:0}.content-info dd{font-size:13px}.content-back{padding:34px 20px 56px}.content-back a{padding:12px 28px}.content-page .website-preview-warning{font-size:11px}.content-page .header-in{min-height:80px}}
@media(prefers-reduced-motion:reduce){.content-booking,.content-back a{transition:none}}
