/* トップ（会社の顔）だけの様式。共通は /common.css */
.top .wrap{max-width:1120px}
.top h2{margin-top:.3em}
.top .lead{color:var(--sub)}
/* 最初の画面 */
.top-hero{padding:clamp(56px,8vw,112px) 0 clamp(64px,9vw,120px)}
.top-hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,5vw,72px);align-items:center}
.top-hero h1{font-weight:600;font-size:clamp(30px,2.2vw + 14px,44px);line-height:1.5;letter-spacing:.06em;color:var(--green);text-wrap:balance}
.top-hero .lead{max-width:30em;font-size:clamp(15px,.4vw + 11px,17px)}
.top-hero .actions{margin-top:clamp(24px,3vw,32px)}
.photo{position:relative;margin:0 24px 24px 0}
.photo::before{content:"";position:absolute;inset:28px -24px -24px 28px;background:#e6ece7;z-index:0}
.photo picture,.photo img.main{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:2px}
.photo .mark{position:absolute;right:-12px;bottom:-12px;width:64px;height:64px;z-index:2}
@media(max-width:900px){.top-hero .wrap{grid-template-columns:1fr}.photo{margin:0 20px 20px 0}.photo::before{inset:20px -20px -20px 20px}.photo .mark{width:52px;height:52px}}
/* テンマインドとは */
.about .wrap{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,5vw,64px)}
.about .body p+p{margin-top:1.3em}
.about .close{margin-top:1.6em;font-weight:600;color:var(--green);font-size:1.1em}
.ideal{border-left:1px solid var(--brass);padding-left:22px;margin-top:clamp(24px,3vw,40px)}
.ideal .kicker{margin-bottom:6px}.ideal p{font-size:clamp(16px,.4vw + 13px,18px);color:var(--green);line-height:1.8}
@media(max-width:900px){.about .wrap{grid-template-columns:1fr}}
/* 三つの道 */
.ways{background:#fff;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:clamp(28px,4vw,40px)}
.card{border:1px solid #5a7566;border-radius:2px;padding:clamp(22px,2.4vw,30px) clamp(20px,2.2vw,28px) 24px;background:var(--paper);transition:border-color .2s}
.card:hover{border-color:var(--green)}
.card .kicker{font-size:11px}
.card h3{font-weight:600;font-size:clamp(19px,.6vw + 15px,21px);color:var(--green);margin-top:10px;letter-spacing:.04em}
.card p{margin:10px 0 20px;font-size:.95em;color:var(--sub);min-height:4.4em}
.card a{font-family:var(--sans);font-size:14px;color:var(--green);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:3px;letter-spacing:.04em}
.card a:hover{color:var(--brass2)}
.sub{margin-top:clamp(28px,4vw,40px);padding-top:24px;border-top:1px solid var(--ivory-sub);display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:28px;align-items:baseline}
.sub h3{font-weight:600;font-size:17px;color:#5a7566;letter-spacing:.04em}.sub p{font-size:.95em;color:var(--sub)}
.sub a{font-family:var(--sans);font-size:13px;color:#5a7566;text-decoration:none;border-bottom:1px solid var(--ivory-sub);padding-bottom:3px}
@media(max-width:900px){.cards{grid-template-columns:1fr}.card p{min-height:0}.sub{grid-template-columns:1fr;gap:10px}}
/* やる／やらない */
.nd{margin-top:clamp(28px,4vw,40px);border-top:1px solid var(--green);font-size:.97em}
.nd thead th{font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--brass2);padding:14px 0 10px;width:auto;border-bottom:1px solid var(--hair)}
.nd td{padding:20px 24px 20px 0;vertical-align:top;line-height:1.9;border-bottom:1px solid var(--hair)}
.nd td:first-child{color:var(--green);font-weight:600}
.nd td:last-child{color:var(--sub);padding-right:0}
.nd td:last-child::before{content:"やらない　";font-family:var(--sans);font-size:11px;letter-spacing:.16em;color:var(--brass2);display:none}
@media(max-width:640px){.nd thead{display:none}.nd tr{display:block;padding:14px 0;border-bottom:1px solid var(--hair)}.nd td{display:block;border:0;padding:4px 0}.nd td:last-child::before{display:inline}}
/* 代表（深緑の暗い地） */
.founder{background:var(--green);color:var(--ivory)}
.founder .kicker{color:var(--brass-lt)}
.founder h2{color:#fff}
.founder .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.founder p{color:var(--ivory-sub)}
.founder .body p+p{margin-top:1.2em}
.founder .sign{margin-top:1.8em;letter-spacing:.1em}
.founder .sign small{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.08em;color:var(--brass-lt)}
.founder .sign b{font-weight:600;font-size:1.25em;letter-spacing:.2em;color:#fff}
.founder .more{color:#fff;border-bottom-color:var(--brass-lt)}
.founder .more:hover{color:var(--brass-lt)}
@media(max-width:900px){.founder .wrap{grid-template-columns:1fr}}
/* 会社概要 */
.company table{max-width:860px}
/* お問い合わせ */
.contact .box .meta{font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:.6em}
