@charset "UTF-8";
.cf-page{color:#252d37;background:#fff;padding-top:115px;line-height:1.9}
.cf-inner{max-width:1200px;margin:auto;padding:0 40px;box-sizing:border-box}
.cf-breadcrumb{max-width:1200px;margin:0 auto;padding:16px 40px 0;font-size:1.2rem;color:#666;box-sizing:border-box}
.cf-breadcrumb a{color:inherit}
.cf-hero{padding:35px 0 50px;text-align:center}
.cf-kicker{font-size:1.3rem;letter-spacing:.15em;font-weight:700;color:#b80000;margin:0 0 16px}
.cf-kicker>span{display:block;font-size:1.2rem;letter-spacing:.08em;color:#555;margin-top:3px}
.cf-hero h1{display:flex;align-items:center;justify-content:center;gap:22px;font-size:clamp(3rem,4.1vw,5.8rem);font-weight:700;letter-spacing:.025em;line-height:1.45;margin:0;color:#a90000}
.cf-hero h1 span{white-space:nowrap}
.cf-hero h1 b{font-size:1.2em;line-height:1}
.cf-hero-line{font-size:2.1rem;letter-spacing:.05em;margin:20px 0 30px;font-weight:700}
.cf-page figure{margin:0}
.cf-page img{display:block;width:100%;height:auto;object-fit:contain}
.cf-hero-art{border-radius:30px 0 30px 0;overflow:hidden}
.cf-balance{max-width:850px;display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;margin:30px auto 22px;gap:16px}
.cf-balance h2{font-size:2.2rem;color:#a90000;font-weight:700;margin-bottom:8px}
.cf-balance p{font-size:1.5rem;line-height:1.9}
.cf-balance>span{font-size:3.5rem;color:#b80000}
.cf-hero-note{font-size:1.6rem;font-weight:700}
.cf-nav,.cf-value-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.cf-nav a,.cf-value-links a{border:1px solid #ded8d2;border-radius:30px;padding:10px 24px;font-size:1.4rem;text-decoration:none;color:#a90000;background:#fff;transition:border-color .2s}
.cf-nav a:hover,.cf-value-links a:hover{border-color:#b80000}
.cf-page a:focus-visible{outline:2px solid #b80000;outline-offset:4px}
.cf-section{padding:85px 0;scroll-margin-top:110px}
.cf-warm{background:#fcfaf6}.cf-cool{background:#f3f4f8}
.cf-heading{text-align:center;margin-bottom:36px}
.cf-heading h2,.cf-story h2,.cf-next h2{font-size:3.8rem;font-weight:700;line-height:1.6;margin:0 0 20px;letter-spacing:.04em}
.cf-heading>p:not(.cf-kicker){font-size:1.6rem;margin:0}
.cf-story{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center}
.cf-story-image{min-width:0}
.cf-story-image img{border-radius:24px 0 24px 0}
.cf-story-copy>p:not(.cf-kicker){font-size:1.6rem;line-height:2}
.cf-story-copy .cf-emphasis{margin-top:24px;font-weight:700;color:#9e171b}
.cf-story--reverse .cf-story-image{order:2}
.cf-story--reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.cf-square-art{max-width:800px;margin:auto!important}
.cf-square-art img,.cf-culture-art img{border-radius:24px 0 24px 0}
.cf-values-details{max-width:900px;margin:28px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.cf-value-detail,.cf-details{font-size:1.4rem;border-top:1px solid #dcd7d1;padding:14px 0;scroll-margin-top:120px}
.cf-value-detail .cf-note-title,.cf-details .cf-note-title{color:#9e171b;font-weight:700;font-size:1.5rem;line-height:1.8;margin:0}
.cf-value-detail small{display:block;font-size:1.3rem;color:#555;font-weight:400;margin-left:0}
.cf-value-detail p,.cf-details p{color:#444;margin:14px 0 0;font-weight:400;font-size:1.4rem;line-height:1.9}
.cf-details{margin-top:28px}
.cf-culture-art{max-width:1050px;margin:auto!important}
.cf-culture-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}
.cf-culture-notes h3{font-size:1.8rem;font-weight:700;color:#a90000;margin-bottom:12px}
.cf-culture-notes p{font-size:1.4rem;line-height:1.9}
.cf-closing{text-align:center;font-size:1.7rem;line-height:2.2;margin:60px 0 0}
.cf-closing strong{font-size:2.3rem;color:#9e171b}
.cf-next{text-align:center}
.cf-next-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;text-align:left}
.cf-next-links a{position:relative;display:block;padding:24px 60px 24px 28px;background:#fff;border-radius:24px 0 24px 0;color:#252d37;text-decoration:none}
.cf-next-links strong{display:block;font-size:1.9rem;font-weight:700}
.cf-next-links span{display:block;font-size:1.3rem;color:#555;margin-top:3px}
.cf-next-links b{position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#b80000;font-size:2.2rem}
.cf-sp{display:none}
@media(max-width:1023px){.cf-story{gap:28px}.cf-story h2{font-size:3rem}.cf-inner{padding:0 28px}.cf-hero h1{gap:12px}}
@media(max-width:767px){
 .cf-page{padding-top:0}.cf-inner{padding:0 20px}.cf-breadcrumb{padding:12px 20px 0;font-size:1.1rem}
 .cf-hero{padding:24px 0 34px}.cf-kicker{font-size:1.2rem;margin-bottom:12px}
 .cf-hero h1{flex-direction:column;gap:3px;font-size:3.4rem;line-height:1.5}.cf-hero h1 b{font-size:2.7rem}
 .cf-hero-line{font-size:1.6rem;margin:16px 0 22px;letter-spacing:0}
 .cf-hero-line span{display:block}
 .cf-hero-art{margin-left:-20px!important;margin-right:-20px!important;border-radius:0}
 .cf-balance{grid-template-columns:1fr 22px 1fr;gap:4px;margin:22px auto 18px}
 .cf-balance h2{font-size:1.6rem;margin-bottom:8px}.cf-balance p{font-size:1.2rem;line-height:1.9}.cf-balance>span{font-size:2.4rem}
 .cf-hero-note{font-size:1.4rem}.cf-nav{gap:8px;margin-top:22px}.cf-nav a{padding:8px 14px;font-size:1.3rem}
 .cf-section{padding:48px 0;scroll-margin-top:85px}.cf-heading{margin-bottom:24px}
 .cf-heading h2,.cf-story h2,.cf-next h2{font-size:2.6rem;margin-bottom:16px}.cf-heading>p:not(.cf-kicker){font-size:1.4rem}
 .cf-story,.cf-story--reverse{grid-template-columns:1fr;gap:26px}.cf-story--reverse .cf-story-image{order:0}.cf-story-copy{padding:0 6px}
 .cf-story-copy h2 br{display:none}.cf-story-copy>p:not(.cf-kicker){font-size:1.4rem}.cf-story-copy .cf-emphasis{margin-top:18px}
 .cf-value-links{gap:8px;margin-top:20px}.cf-value-links a{padding:8px 14px;font-size:1.3rem}
 .cf-values-details{grid-template-columns:1fr;gap:0;margin-top:22px}.cf-value-detail{scroll-margin-top:90px}
 .cf-culture-notes{grid-template-columns:1fr;gap:20px;margin-top:24px}.cf-culture-notes>div{border-left:2px solid #b80000;padding-left:16px}
 .cf-culture-notes h3{font-size:1.7rem;margin-bottom:5px}.cf-culture-notes p{font-size:1.3rem}
 .cf-closing{font-size:1.4rem;margin-top:36px}.cf-closing strong{font-size:1.9rem}
 .cf-next-links{grid-template-columns:1fr;gap:14px;margin-top:25px}.cf-next-links a{padding:20px 50px 20px 22px}.cf-next-links strong{font-size:1.7rem}.cf-next-links span{font-size:1.2rem}
 .cf-sp{display:initial}
}

/* Material and inner fulfillment */
.cf-fulfillment-lead{font-size:1.5rem;margin:18px 0 0;line-height:2}
.cf-fulfillment-lead strong{color:#9e171b}
.cf-fulfillment-art{max-width:1040px;margin:auto!important}
.cf-fulfillment-art img{border-radius:24px 0 24px 0}
.cf-enrichment{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;gap:24px;max-width:1040px;margin:32px auto 0}
.cf-enrichment>div{align-self:stretch;background:#fff;border-radius:24px 0 24px 0;padding:24px 28px}
.cf-enrichment>span{font-size:3rem;color:#b80000;text-align:center}
.cf-enrichment-label{font-size:1.3rem;letter-spacing:.08em;color:#9e171b;font-weight:700;margin-bottom:8px}
.cf-enrichment h3{font-size:2rem;line-height:1.7;font-weight:700;margin-bottom:12px}
.cf-enrichment div>p:last-child{font-size:1.5rem;line-height:1.9}
.cf-cycle-return{text-align:center;font-size:1.6rem;line-height:2;margin:28px 0 0}
.cf-cycle-return strong{font-weight:700;color:#9e171b}
.cf-purpose-principle{text-align:center;font-weight:700;font-size:1.6rem;line-height:2;margin:22px 0 0}
.cf-purpose-note{max-width:1040px;margin:30px auto 0}
.cf-value-detail{padding:20px;background:#fcfaf6;border-top:2px solid #d6c3ba;border-radius:16px 0 16px 0}
@media(max-width:767px){
 .cf-fulfillment-lead{font-size:1.3rem;margin-top:16px}
 .cf-enrichment{grid-template-columns:1fr;gap:10px;margin-top:22px}
 .cf-enrichment>div{padding:20px}
 .cf-enrichment>span{font-size:2.4rem;line-height:1.2}
 .cf-enrichment h3{font-size:1.8rem;margin-bottom:8px}
 .cf-enrichment div>p:last-child{font-size:1.4rem}
 .cf-cycle-return,.cf-purpose-principle{font-size:1.4rem}
 .cf-value-detail{padding:18px;margin-top:12px}
}
