/* ルバートについて専用。参考の目次・見出し階層・本文と太字の強弱を適用。 */
html.about-scroll{scroll-behavior:smooth;}
.about-page .subpage-main{padding-top:178px;overflow:hidden;}
.about-page .container{max-width:1252px;margin-inline:auto;padding-inline:48px;}
.about-page .page-breadcrumb{max-width:1252px;padding-inline:48px;font-size:12px;}
.about-hero{position:relative;padding:56px 0 105px;background:#fff;isolation:isolate;}
.about-hero__inner{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;column-gap:50px;align-items:center;min-height:380px;}
.about-hero__copy{align-self:end;padding-bottom:34px;position:relative;z-index:2;}
.about-page .about-hero__label{display:block;margin:0 0 10px;color:#c36843;font-size:16px;line-height:1.6;letter-spacing:0;text-transform:none;font-weight:700!important;font-synthesis:weight;background:none;-webkit-text-fill-color:currentColor;}
.about-page h1{margin:0;font-size:48px;line-height:1.6;letter-spacing:.08em;font-weight:700!important;font-synthesis:weight;color:#352e29;}
.about-hero__visual{grid-area:1/2/3/3;position:relative;padding-left:32px;margin-left:0;}
.about-clip-defs{position:absolute;pointer-events:none;}
.about-hero__photo{display:block;width:100%;height:330px;object-fit:cover;object-position:50% 40%;clip-path:url(#about-photo-window);border-radius:60px;}
.about-hero__rainbow{position:absolute;width:154px;left:-28px;bottom:-24px;transform:rotate(-9deg);}
.about-rainbow{width:100%;height:auto;display:block;}
.about-localnav{display:grid;grid-template-columns:max-content max-content;gap:22px 32px;align-self:start;position:relative;z-index:2;}
.about-localnav a{display:inline-flex;gap:9px;align-items:center;color:#352e29;font-size:14px;line-height:1.6;text-decoration:none;text-underline-offset:6px;}
.about-localnav a>span{width:17px;height:17px;display:grid;place-items:center;font-size:12px;line-height:1;border-radius:50%;background:#f58b5d;color:white;}
.about-localnav a:hover,.about-localnav a[aria-current="location"]{color:#b95e3a;text-decoration:underline;}
.about-hero__watermark{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:-1;width:max-content;font-size:clamp(100px,13vw,200px);line-height:1.1;letter-spacing:.01em;color:#fff2e8;font-weight:500;pointer-events:none;user-select:none;}
.about-chapter{padding:104px 0;scroll-margin-top:175px;outline:none;}
.about-chapter+.about-chapter .container{position:relative;}
.about-chapter+.about-chapter .container::before{content:"";position:absolute;left:48px;right:48px;top:-104px;border-top:1px solid #efdfd4;}
.about-page .about-section-title{display:flex;align-items:center;gap:22px;margin:0 0 64px;font-size:32px;line-height:1.6;letter-spacing:.08em;font-weight:700!important;font-synthesis:weight;}
.about-section-icon{width:44px;flex:none;}
.about-page .about-section-title [data-about-split],.about-page .about-title-char,.about-page .about-message>span,.about-page .about-kicker span{font-synthesis:weight;}
.about-wish__grid,.about-care__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.about-kicker{display:flex;align-items:baseline;gap:16px;margin:0 0 22px;font-size:24px;line-height:1.6;font-weight:700!important;font-synthesis:weight;}
.about-kicker span{font-size:13px;letter-spacing:.08em;}
.about-message{display:flex;align-items:flex-start;flex-direction:column;gap:6px;margin:0;font-size:32px;line-height:1.6;letter-spacing:.12em;font-weight:700!important;font-synthesis:weight;}
.about-message>span{display:block;padding:2px 12px 4px;background:#fff2e8;color:#b95e3a;border-radius:3px;}
.about-page .about-prose p{margin:0;font-size:18px;line-height:2;letter-spacing:.06em;color:#352e29;font-weight:400;overflow-wrap:break-word;}
.about-page .about-prose strong{font-weight:700!important;font-synthesis:weight;}
.about-page .about-prose p{line-break:strict;text-wrap:pretty;}
.about-sentence,.about-care__line{display:block;}
.about-phrase{white-space:nowrap;}
.about-phrase,.about-sentence,.about-care__line{font-synthesis:inherit;}
.about-page h1,.about-page [data-about-split]{white-space:nowrap;}
.about-page .about-care__heading{margin:0;font-size:24px;line-height:1.9;letter-spacing:.06em;font-weight:700!important;font-synthesis:weight;text-wrap:pretty;}
.about-text-link{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:30px;padding:16px 0;border-bottom:1px solid #d5b39c;font-size:16px;line-height:1.7;font-weight:500;text-decoration:none;}
.about-text-link span{font-size:24px;transition:transform .25s;}.about-text-link:hover span{transform:translateX(5px);}
.about-team__intro{max-width:860px;margin-left:66px;}
.about-team__members{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:56px 0 0 66px;}
.about-page .about-team__members .stat-card{padding:24px 0;border:0;border-top:2px solid #f4c6ac;border-radius:0;box-shadow:none;background:white;text-align:left;}
.about-page .stat-card__num{display:flex;align-items:baseline;gap:12px;font-size:48px;line-height:1.5;letter-spacing:.02em;color:#bb613e;font-weight:700!important;font-synthesis:weight;background:none;-webkit-text-fill-color:currentColor;}
.about-page .stat-card__num small{font-size:16px;letter-spacing:0;font-weight:500;}
.about-page .stat-card__label{display:block;margin-top:8px;font-size:16px;line-height:1.8;color:#352e29;letter-spacing:.03em;}
.about-outline__body{max-width:870px;margin-left:auto;}
.about-message__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start;margin-left:66px;}
.about-message__profile{margin:0;}
.about-message__photo{display:block;width:240px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:24px;}
.about-message__profile figcaption{margin-top:22px;}
.about-message__station{margin:0 0 8px;font-size:12px;line-height:1.8;}
.about-message__role{margin:0 0 5px;font-size:13px;line-height:1.8;}
.about-message__name{margin:0;font-size:24px;line-height:1.6;letter-spacing:.08em;font-weight:700!important;font-synthesis:weight;}
.about-page .about-message__text p+p{margin-top:24px;}
.about-page .about__info{margin:0;border:0;padding:0;background:transparent;}
.about-page .about__info-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;margin:0;padding:27px 0;border-bottom:1px solid #e5d7cd;}
.about-page .about__info-row:first-child{border-top:1px solid #e5d7cd;}
.about-page .about__info dt{margin:0;font-size:16px;line-height:2;letter-spacing:.06em;color:#352e29;font-weight:700!important;font-synthesis:weight;}
.about-page .about__info dd{margin:0;font-size:16px;line-height:2;letter-spacing:.06em;color:#352e29;overflow-wrap:anywhere;}
.about-related{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:48px!important;padding-bottom:72px!important;}
.about-related a{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 36px 28px 0;border-top:1px solid #d4ae94;border-bottom:1px solid #d4ae94;text-decoration:none;color:#352e29;}
.about-related small{font-size:14px;color:#b95e3a;line-height:1.6;}.about-related a>span{font-size:24px;font-weight:700!important;font-synthesis:weight;line-height:1.6;}.about-related i{position:absolute;right:0;top:50%;font-style:normal;font-size:26px;transition:transform .25s;}.about-related a:hover i{transform:translate(3px,-3px);}
.about-page .subpage-return{padding-top:0;}
.about-page a:focus-visible{outline:2px solid #b95e3a;outline-offset:6px;}
/* JSが動く場合だけ、画面内へ入った要素を短く立ち上げる。 */
[data-about-motion="ready"] .about-reveal{transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);}
[data-about-motion="ready"] .about-reveal:not(.is-visible){opacity:0;transform:translateY(24px);}
.about-title-char{display:inline-block;}
[data-about-motion="ready"] .about-reveal.is-visible .about-title-char{animation:about-title-in .55s both cubic-bezier(.22,1,.36,1);animation-delay:calc(var(--i)*35ms);}
@keyframes about-title-in{from{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){
 .about-page .subpage-main{padding-top:142px;}.about-hero__inner{column-gap:24px;min-height:340px;}.about-page h1{font-size:clamp(32px,4.6vw,38px);letter-spacing:.06em;}.about-hero__photo{height:280px;}.about-hero__rainbow{width:120px;left:0;}.about-localnav{gap:18px 20px;}.about-localnav a{font-size:13px;}.about-wish__grid,.about-care__grid{gap:40px;}.about-page .about-message{font-size:28px;}.about-kicker{font-size:20px;}.about-kicker span{font-size:11px;}.about-team__members{margin-left:0;gap:22px;}.about-page .stat-card__num{font-size:38px;}.about-page .stat-card__num small{font-size:13px;}.about-team__intro{margin-left:0;}.about-chapter{scroll-margin-top:130px;}
}
@media(max-width:700px){
 .about-page .subpage-main{padding-top:124px;}.about-page .container,.about-page .page-breadcrumb{padding-inline:24px;}.about-hero{padding:34px 0 72px;}.about-hero__inner{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;}.about-hero__copy{align-self:stretch;padding-bottom:28px;}.about-page .about-hero__label{font-size:12px;margin-bottom:8px;}.about-page h1{font-size:28px;letter-spacing:.08em;}.about-hero__visual{padding:0 0 18px;margin:0 0 44px;}.about-hero__photo{height:220px;border-radius:40px;object-position:50% 30%;}.about-hero__rainbow{width:105px;left:auto;right:-5px;bottom:0;}.about-localnav{grid-template-columns:max-content max-content;gap:20px 24px;}.about-localnav a{font-size:13px;gap:7px;}.about-localnav a>span{width:15px;height:15px;font-size:11px;}.about-hero__watermark{bottom:132px;font-size:80px;}.about-chapter{padding:66px 0;scroll-margin-top:128px;}.about-chapter+.about-chapter .container::before{top:-66px;left:24px;right:24px;}.about-page .about-section-title{gap:14px;font-size:24px;margin-bottom:40px;letter-spacing:.06em;}.about-section-icon{width:32px;}.about-wish__grid,.about-care__grid{grid-template-columns:1fr;gap:32px;}.about-kicker{font-size:18px;gap:12px;margin-bottom:16px;}.about-kicker span{font-size:11px;}.about-page .about-message{font-size:20px;letter-spacing:.12em;gap:5px;}.about-message>span{padding:2px 10px;}.about-page .about-prose p{font-size:16px;line-height:2;letter-spacing:.06em;}.about-page .about-care__heading{font-size:18px;line-height:1.9;}.about-text-link{font-size:14px;margin-top:24px;}.about-team__members{grid-template-columns:1fr 1fr;margin-top:30px;gap:18px 24px;}.about-page .about-team__members .stat-card{padding:18px 0;}.about-page .stat-card__num{font-size:36px;gap:9px;}.about-page .stat-card__num small{font-size:13px;}.about-page .stat-card__label{font-size:14px;}.about-page .about__info-row{grid-template-columns:1fr;gap:8px;padding:20px 0;}.about-page .about__info dt{font-size:14px;}.about-page .about__info dd{font-size:16px;}.about-related{grid-template-columns:1fr;gap:0;padding-top:16px!important;padding-bottom:42px!important;}.about-related a{padding:24px 36px 24px 0;border-bottom:0;}.about-related a:last-child{border-bottom:1px solid #d4ae94;}.about-related a>span{font-size:22px;}.about-related small{font-size:12px;}
}
@media(prefers-reduced-motion:reduce){
 html.about-scroll{scroll-behavior:auto;}
 [data-about-motion="ready"] .about-reveal{transition:none!important;opacity:1!important;transform:none!important;}
 .about-title-char{animation:none!important;}.about-related i,.about-text-link span{transition:none;}
}
@media(min-width:701px) and (max-width:1100px){.about-message__grid{grid-template-columns:200px minmax(0,1fr);gap:40px;margin-left:0;}}
@media(max-width:700px){
 .about-message__grid{grid-template-columns:1fr;gap:32px;margin-left:0;}
 .about-message__profile{width:100%;text-align:center;}
 .about-message__photo{width:180px;margin-inline:auto;border-radius:20px;}
 .about-message__profile figcaption{margin-top:18px;}
 .about-message__station{font-size:12px;}.about-message__name{font-size:22px;}
}
