/* 活動紹介はカードで整理し、詳細な案内と記事更新を両立する。 */
.activity-message{margin:38px auto 0;padding:30px 34px;max-width:1120px;background:#eeefe5;border:1px solid #d8dccb;border-top:3px solid var(--brand-red,#c22e3a)}
.activity-message-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.activity-message-heading h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;margin:0 0 9px;font-size:27px}
.activity-message-heading p{font-size:12px;margin:0;color:var(--muted)}
.activity-message-lead{font-size:13px;margin:20px 0 14px}
.activity-seal{flex:0 0 68px;height:68px;border:1px solid #b9aa81;border-radius:50%;display:grid;place-content:center;text-align:center;font:11px/1.6 Georgia,serif;letter-spacing:.14em;color:#847345;outline:1px solid #cbbf9c70;outline-offset:5px}
.activity-message-full>h3{font-size:16px;border-top:1px solid #d4d9c7;padding-top:20px;margin:20px 0 0;color:var(--green)}
.activity-message-full .article-body{margin-top:25px;padding:25px;background:#fffefa;border:1px solid var(--line)}
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.activity-card{background:#fffefa;border:1px solid #d6dacb;display:flex;flex-direction:column;box-shadow:0 5px 18px #183c3008}
.activity-card-top{position:relative;isolation:isolate;overflow:hidden;min-height:130px;display:flex;align-items:flex-end;justify-content:space-between;padding:20px 26px;background:#e8ecdE;border-bottom:1px solid #d6dacb}
.activity-card-top:before{content:'';position:absolute;z-index:-1;right:45px;top:-75px;width:220px;height:220px;border:1px solid #b5c0a5;border-radius:50%;box-shadow:0 0 0 20px #ffffff22,0 0 0 21px #b5c0a560}
.activity-number{font:58px/1 Georgia,serif;color:#244f3b30;letter-spacing:-.04em}
.activity-card-top .eyebrow{margin:0;color:#53634b;z-index:1}
.activity-card-copy{padding:28px;display:flex;flex-direction:column;flex:1}
.activity-kicker{font-size:11px;letter-spacing:.08em;color:#9f454a;margin:0 0 8px}
.activity-card h3{font:700 26px/1.5 'Yu Mincho','Hiragino Mincho ProN',serif;margin:0 0 17px}
.activity-card-copy>p:not(.activity-kicker){font-size:13px;line-height:2;color:#5c695e;margin-bottom:25px}
.activity-card-copy .text-link{align-self:flex-start;margin-top:auto;white-space:normal}
.activity-card-copy .text-link span{margin-left:15px}
.activity-symbol{position:absolute;top:32px;right:80px;width:50px;height:50px;border:2px solid #779266;border-radius:50%;background:radial-gradient(circle,#9cad8b 1px,transparent 1.5px) 1px 1px/7px 7px,#f7f7ed;transform:rotate(-10deg)}
.activity-cup .activity-card-top{background:#f1e0d9}
.activity-cup .activity-number{color:#b4454b40}
.activity-cup .activity-card-top:before{border-color:#caa99a;box-shadow:0 0 0 20px #ffffff22,0 0 0 21px #caa99a55}
.activity-cup .activity-symbol{border-color:#ae5760;background:transparent;width:44px;height:45px;border-radius:2px 2px 20px 20px;transform:none}
.activity-cup .activity-symbol:after{content:'';position:absolute;left:11px;top:43px;width:18px;height:19px;border-bottom:2px solid #ae5760;background:linear-gradient(#ae5760,#ae5760) center/2px 100% no-repeat}
.activity-courses .activity-card-top{background:#e8e3d3}
.activity-courses .activity-symbol{width:2px;height:65px;border:0;background:#8f7b4e;border-radius:0;transform:none}
.activity-courses .activity-symbol:after{content:'';position:absolute;top:0;left:2px;border-top:19px solid #c22e3a;border-right:35px solid transparent}
.activity-trips .activity-card-top{background:#dce7e7}
.activity-trips .activity-symbol{width:43px;height:43px;border-radius:50% 50% 4px 50%;border-color:#6c8d92;background:transparent;transform:rotate(-45deg)}
.activity-trips .activity-symbol:after{content:'';position:absolute;inset:11px;border:1px solid #6c8d92;border-radius:50%}
.activity-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.activity-entry-card{padding:30px;background:#fffefa;border:1px solid #d6dacb;border-top:3px solid var(--brand-red,#c22e3a)}
.activity-step{display:inline-block;background:#f3e3df;color:#a12e38;font-size:10px;letter-spacing:.13em;padding:5px 11px;margin-bottom:18px}
.activity-entry-card h3{font-size:21px;margin-bottom:15px}
.activity-entry-card p{font-size:13px;line-height:2}
.activity-fields{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:0}
.activity-fields li{position:relative;padding:12px 0 12px 22px;border-top:1px solid #e4e5d9;font-size:12px}
.activity-fields li:before{content:'';position:absolute;left:0;top:20px;width:7px;height:7px;border:1px solid #aebd9d;background:#e6ecdc}
.activity-entry-button{width:100%;gap:15px;background:var(--brand-red,#c22e3a);border-color:var(--brand-red,#c22e3a);color:#fff}.activity-entry-button:hover{background:#a52430;border-color:#a52430}
.activity-after-entry{margin-top:30px;padding-top:24px;border-top:1px solid #dedfd3}
.activity-after-entry h4{font-size:16px;margin:0 0 12px}
.activity-after-entry .activity-step{background:#e9eddf;color:#4e654a}
.activity-source{font-size:11px;margin:22px 0 0;color:var(--muted)}
.activity-source .text-link{font-size:11px}
@media(max-width:900px){.activity-message{margin-left:32px;margin-right:32px}.activity-card h3{font-size:23px}.activity-card-copy{padding:23px}.activity-entry-card{padding:24px}}
@media(max-width:600px){
 .activity-message{margin:25px 20px 0;padding:24px 20px}.activity-message-heading h2{font-size:23px}.activity-message-heading p{font-size:11px}.activity-message-lead{font-size:12px}.activity-seal{flex-basis:48px;height:48px;font-size:9px}.activity-message-full .article-body{padding:18px;font-size:12px}
 .activity-grid,.activity-entry-grid{grid-template-columns:1fr;gap:20px}.activity-card-top{min-height:108px;padding:18px 22px}.activity-number{font-size:47px}.activity-symbol{top:25px;right:65px;width:44px;height:44px}.activity-courses .activity-symbol{height:54px}.activity-card-copy{padding:24px 22px}.activity-card h3{font-size:23px}.activity-card-copy>p:not(.activity-kicker){font-size:12px;margin-bottom:22px}.activity-entry-card{padding:24px 21px}.activity-entry-card h3{font-size:20px}.activity-entry-button{font-size:13px}.activity-fields li{font-size:12px}
}
