/* 自動生成（scripts/build-columns.py）← columns/ecocute-lifespan/style.css（GPT の CSS そのまま。.col-gpt 配下にスコープしただけ） */

.col-gpt .life-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:12px;width:100%;aspect-ratio:3/2;margin:0 0 32px;padding:34px 32px 54px;overflow:hidden;border:1px solid #cfdee5;border-radius:16px;background:#fffaf0;color:#5d4c3d;min-height:0}
.col-gpt .life-hero::before{content:"";position:absolute;right:-165px;top:-90px;width:460px;height:660px;border-radius:48% 0 0 52%;background:#f3e9de;transform:rotate(-13deg);z-index:-1}
.col-gpt .life-hero-copy{position:relative;z-index:2;min-width:0}
.col-gpt .life-hero-kicker{font-size:15px;font-weight:500;letter-spacing:.045em;margin:0 0 19px}
.col-gpt .life-hero h1{margin:0;font-size:inherit;font-weight:500;line-height:1.4;letter-spacing:.025em;border:0;padding:0}
.col-gpt .life-hero-year{display:table;border:1px solid #a16c43;border-radius:999px;padding:4px 17px 7px;background:#ffffffc9;font-size:20px;line-height:1.4;color:#a16c43;margin:0 0 18px;font-weight:500}
.col-gpt .life-hero-heading{display:block;font-size:35px;line-height:1.5}
.col-gpt .life-hero-topic-line{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;color:#a16c43;line-height:1.5}
.col-gpt .life-hero-topic{font-size:56px;font-weight:600}
.col-gpt .life-hero-tail{font-size:29px;font-weight:500}
.col-gpt .life-hero-question{display:block;font-size:31px;line-height:1.6;margin-top:2px}
.col-gpt .life-hero-art{position:relative;z-index:2;min-width:0;height:290px;color:#a16c43}
.col-gpt .life-hero-art::before{content:"";position:absolute;left:2%;top:74px;width:245px;height:245px;border-radius:50%;border:1px solid #fff;background:#ffffff80}
.col-gpt .life-hero-bear{position:absolute;left:0;bottom:0;width:180px;height:auto}
.col-gpt .life-hero-pocket{position:absolute;right:0;bottom:-9px;width:78px;height:auto;transform:rotate(8deg)}
.col-gpt .life-hero-document{position:absolute;right:4%;top:10px;width:74px;height:74px;transform:rotate(7deg)}
.col-gpt .life-hero-wave{position:absolute;left:0;bottom:0;width:100%;height:62px;z-index:0}
@media(max-width:1199px) and (min-width:761px){.col-gpt .life-hero{padding-inline:30px;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.col-gpt .life-hero-topic{font-size:52px}.col-gpt .life-hero-tail{font-size:27px}.col-gpt .life-hero-heading{font-size:30px}.col-gpt .life-hero-question{font-size:27px}.col-gpt .life-hero-bear{width:175px}.col-gpt .life-hero-pocket{width:78px}.col-gpt .life-hero-art::before{width:220px;height:220px;top:98px}.col-gpt .life-hero-document{width:74px;height:74px;top:14px}}
@media(max-width:760px){.col-gpt .life-hero{grid-template-columns:minmax(0,1fr);width:100%;aspect-ratio:auto;gap:0;padding:24px 22px 29px;margin-bottom:24px;min-height:0}.col-gpt .life-hero::before{right:-145px;top:122px;width:410px;height:490px}.col-gpt .life-hero-kicker{font-size:12px;margin-bottom:16px;letter-spacing:.02em}.col-gpt .life-hero-year{font-size:16px;padding:3px 14px 5px;margin-bottom:14px}.col-gpt .life-hero-heading{font-size:26px}.col-gpt .life-hero-topic{font-size:48px}.col-gpt .life-hero-tail{font-size:24px}.col-gpt .life-hero-question{font-size:25px;margin-top:2px}.col-gpt .life-hero-art{height:176px;width:240px;max-width:100%;justify-self:end;margin-top:12px}.col-gpt .life-hero-art::before{top:14px;width:180px;height:180px;left:10px}.col-gpt .life-hero-bear{width:134px;left:12px;bottom:0}.col-gpt .life-hero-pocket{width:65px;right:3px;bottom:0}.col-gpt .life-hero-document{width:53px;height:53px;right:8px;top:0}.col-gpt .life-hero-wave{height:42px}}
@media(max-width:370px){.col-gpt .life-hero{padding-inline:20px}.col-gpt .life-hero-heading{font-size:24px}.col-gpt .life-hero-topic{font-size:42px}.col-gpt .life-hero-tail{font-size:19px}.col-gpt .life-hero-question{font-size:23px}}


.col-gpt .life-note,.col-gpt .life-alert{padding:18px 22px;margin:24px 0;background:#f8f2e9;border-left:3px solid #b58a61}
.col-gpt .life-alert{background:#fff5ee;border-left-color:#c18562}
.col-gpt .life-note p,.col-gpt .life-alert p{margin:0}
.col-gpt .life-terms{margin:24px 0}
.col-gpt .life-terms>div{border-top:1px solid #dddedb;padding:20px 0;display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px}
.col-gpt .life-terms>div:last-child{border-bottom:1px solid #dddedb}
.col-gpt .life-terms dt{font-size:17px;font-weight:500;line-height:1.8;color:#71533c}
.col-gpt .life-terms dd{margin:0;font-size:17px;line-height:1.9}
.col-gpt .life-table-wrap{margin:24px 0}
.col-gpt .life-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.9}
.col-gpt .life-table caption{text-align:left;font-size:14px;color:#536c7b;margin:0 0 12px}
.col-gpt .life-table th,.col-gpt .life-table td{text-align:left;vertical-align:top;padding:17px 16px;border-bottom:1px solid #dedfdc;overflow-wrap:anywhere}
.col-gpt .life-table thead th{background:#f6f0e8;font-weight:500;border-top:1px solid #dedfdc}
.col-gpt .life-table th:first-child{width:142px}
.col-gpt .life-table tbody th{font-weight:500;background:#fcfaf7}
.col-gpt .life-signs{margin:24px 0}
.col-gpt .life-signs section{padding:18px 0;border-top:1px solid #dedfdc}
.col-gpt .life-signs section:last-child{border-bottom:1px solid #dedfdc}
.col-gpt .life-signs h3{margin:0 0 10px;font-size:20px;font-weight:500;line-height:1.7}
.col-gpt .life-signs p{margin:0}
.col-gpt .life-checklist{list-style:none;padding:0;margin:24px 0;counter-reset:life-step}
.col-gpt .life-checklist>li{counter-increment:life-step;position:relative;padding:0 0 24px 48px;margin:0 0 0 17px;border-left:1px solid #e1cfb8}
.col-gpt .life-checklist>li:last-child{padding-bottom:0;border-left-color:transparent}
.col-gpt .life-checklist>li::before{content:counter(life-step);position:absolute;top:0;left:-18px;width:36px;height:36px;border-radius:50%;background:#f3e9de;color:#71533c;font-size:17px;font-weight:500;text-align:center;line-height:36px}
.col-gpt .life-checklist p{margin:6px 0 0}
.col-gpt .life-photos{background:#f7f8f7;padding:20px 24px 20px 44px;margin:24px 0}
.col-gpt .life-photos li{padding-bottom:6px}
.col-gpt .life-photos li:last-child{padding-bottom:0}
.col-gpt .life-faq details{border-top:1px solid #cfdee5;margin:0}
.col-gpt .life-faq details:last-child{border-bottom:1px solid #cfdee5}
.col-gpt .life-faq summary{position:relative;list-style:none;cursor:pointer;padding:21px 30px 21px 0;font-size:17px;font-weight:500;line-height:1.8;color:#204d65}
.col-gpt .life-faq summary::-webkit-details-marker{display:none}
.col-gpt .life-faq summary::after{content:'＋';position:absolute;right:0;top:21px;color:#5b899c}
.col-gpt .life-faq details[open] summary::after{content:'−'}
.col-gpt .life-faq details p{margin:0;padding:0 0 22px}
@media(max-width:760px){
 .col-gpt .life-note,.col-gpt .life-alert{padding:16px 18px}
 .col-gpt .life-terms>div{grid-template-columns:1fr;gap:7px;padding:18px 0}
 .col-gpt .life-terms dt,.col-gpt .life-terms dd{font-size:16px}
 .col-gpt .life-table{font-size:14px;line-height:1.85}
 .col-gpt .life-table th,.col-gpt .life-table td{padding:14px 10px}
 .col-gpt .life-table th:first-child{width:104px}
 .col-gpt .life-table caption{font-size:13px}
 .col-gpt .life-signs h3{font-size:18px}
 .col-gpt .life-faq summary{font-size:16px}
}

.col-gpt .life-hero-label{display:table;border:1px solid #a16c43;border-radius:999px;padding:4px 14px;margin:0 0 12px;background:#ffffffc9;color:#a16c43;font-weight:500}
.col-gpt .life-hero-topic{font-size:48px}.col-gpt .life-hero-tail{font-size:27px}.col-gpt .life-hero-question{font-size:24px;line-height:1.7}
@media(max-width:760px){.col-gpt .life-hero-topic{font-size:36px}.col-gpt .life-hero-tail{font-size:22px}.col-gpt .life-hero-question{font-size:22px}}
@media(max-width:370px){.col-gpt .life-hero-topic{font-size:30px}.col-gpt .life-hero-tail{font-size:18px}.col-gpt .life-hero-question{font-size:18px}}

.col-gpt .life-hero-topic{font-size:46px}@media(max-width:760px){.col-gpt .life-hero-topic{font-size:38px}}@media(max-width:370px){.col-gpt .life-hero-topic{font-size:32px}}
