/* A consistent left edge and a shorter reading rhythm. */
.section,.invitation{max-width:1020px;margin:0 auto;padding:64px 30px 64px 30px}
.section .section-head,.topic-head{margin-bottom:30px}
.section-title,.about .section-title,.message .section-title,.invitation .section-title{display:flex;align-items:baseline;justify-content:flex-start;gap:14px 24px;text-align:left}
.about .title-ja,.message .title-ja{display:inline;margin-top:0}
.topics{padding-top:48px;padding-bottom:32px}
.topic-row{padding:18px 0 20px}.topic-meta{margin-bottom:10px}.topic-title{font-size:16px;line-height:1.85}
.message{display:block;padding-top:40px;padding-bottom:48px}
.message-layout{max-width:760px}.message-catch{font-size:27px!important;line-height:1.65!important}
.message-body{margin:20px 0 22px;max-width:760px}.message-body p{margin-bottom:12px;line-height:1.95;font-size:15px}.message p:not(.hand){max-width:760px}.read-more{margin-top:4px}
.about{display:block;background:none;border:0;border-radius:0;box-shadow:none;padding:56px 30px;margin:0 auto}
.about-layout{display:grid;grid-template-columns:260px 1fr;gap:48px;padding:36px;border-radius:28px;background:linear-gradient(135deg,#eef5fc,#e6eef7);box-shadow:8px 10px 22px #bdcddd78,-7px -7px 20px #ffffffb5}.profile-photo{margin:0;width:100%}
.invitation .section-title{margin-bottom:30px}.invitation{text-align:center;padding-top:64px;padding-bottom:72px}
@media(max-width:700px){.section,.invitation{padding-left:8%;padding-right:8%}.topics{padding-top:36px;padding-bottom:24px}.message{padding-top:32px;padding-bottom:36px}.section .section-head,.topic-head{margin-bottom:24px}.topic-row{padding:15px 0 17px}.topic-title{font-size:14px}.message-catch{font-size:23px!important}.message-body p{font-size:14px;line-height:2}.about{margin:0 auto;padding-top:40px;padding-bottom:40px}.about-layout{grid-template-columns:1fr;gap:28px;padding:26px 24px}.profile-photo{width:220px;margin:0 auto}.invitation{padding-top:44px;padding-bottom:54px}}
.about-layout{grid-template-columns:230px minmax(0,1fr);gap:40px;padding:34px 38px;align-items:center}.profile-identity{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-identity .profile-photo{width:210px;margin:0 auto}.profile-identity .name{margin:22px 0 0}.profile-identity .name-crop{margin:0 auto;width:160px;height:56px}.profile-identity .name-crop img{width:197.8px;left:-22.2px;top:-17.8px}.profile-identity .name .roman-name{margin:9px 0 0;font-size:12px;letter-spacing:.14em}.about .profile-role{margin-bottom:16px}.about .profile-bio{line-height:2.05}@media(max-width:700px){.about-layout{grid-template-columns:1fr;padding:28px 24px;gap:26px}.profile-identity .profile-photo{width:190px}.profile-identity .name{margin-top:18px}}
.profile-identity .profile-role{margin:16px 0 0;font-size:13px;line-height:1.8;white-space:nowrap;letter-spacing:.015em}
.message{position:relative;isolation:isolate;overflow:hidden}
.message::before{content:'';position:absolute;z-index:-1;inset:0 -1px;background-image:url('assets/message-background.jpg');background-size:cover;background-position:65% 62%;opacity:.32;filter:saturate(.65);mask-image:linear-gradient(90deg,transparent 22%,#000 76%),linear-gradient(180deg,transparent,#000 13%,#000 86%,transparent);mask-composite:intersect}
.message::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#eaf1f8 0%,#eaf1f8e8 35%,#eaf1f855 80%)}
.message-layout{position:relative;max-width:700px}.message-body{max-width:660px}.message-body p{color:#41596f}
@media(max-width:700px){.message::before{background-position:58% center;opacity:.2;mask-image:linear-gradient(90deg,transparent,#000 60%)}.message::after{background:linear-gradient(90deg,#eaf1f8eb,#eaf1f8a0)}}
.message::before{inset:auto 0 38px auto;width:53%;height:calc(100% - 80px);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.78;filter:saturate(.85);mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 100%);mask-composite:add}
.message::after{display:none}.message-layout{max-width:57%}.message-body{max-width:100%}.message-catch{font-size:25px!important}.message .section-head{position:relative}
@media(max-width:700px){.message::before{position:relative;display:block;inset:auto;width:100%;height:auto;aspect-ratio:4/3;background-position:center;opacity:.85;mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent);margin-top:20px}.message-layout{max-width:100%}.message::before{position:absolute;top:auto;bottom:28px;left:8%;width:84%;height:260px}.message{padding-bottom:310px}.message-catch{font-size:23px!important}}
@media(min-width:701px){.message::before{height:auto;aspect-ratio:4/3;bottom:38px;background-size:100% 100%;mask-image:linear-gradient(90deg,transparent 0%,#000 25%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-composite:intersect}}
@media(min-width:701px){.message::before{top:40px;bottom:48px;height:auto;aspect-ratio:auto;background-size:100% 100%}}
@media(min-width:701px){.message::before{width:auto;aspect-ratio:4/3}}
@media(min-width:701px){.message::before{width:51%;aspect-ratio:auto;background-size:cover;background-position:left center;mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-composite:intersect}.message::after{display:block;inset:40px auto 48px 0;width:65%;background:linear-gradient(90deg,#eaf1f8 0%,#eaf1f8 73%,#eaf1f8e6 85%,transparent 100%)}.message-layout{max-width:55%}.message-body p{color:#354d63}}
.hero-stage h1 .hero-statement{display:block;font-size:.9em;line-height:1.65;letter-spacing:.045em}.hero-stage h1 .hero-handwritten{display:block;margin-top:18px;font-family:'Klee One','Hiragino Mincho ProN',serif;font-weight:600;font-size:1.15em;line-height:1.5;letter-spacing:.025em;transform:rotate(-2deg);transform-origin:left center}@media(max-width:700px){.hero-stage h1 .hero-handwritten{margin-top:14px;font-size:1.12em}}
.hero-stage h1 .hero-handwritten{transform:none;margin-top:22px;width:340px;max-width:100%}.hero-handwritten img{display:block;width:100%;height:auto}@media(max-width:700px){.hero-stage h1 .hero-handwritten{width:280px}}
