:root{
  --setoda-bg:#f2f0e7;
  --setoda-paper:#f8f6ef;
  --setoda-green:#164b2d;
  --setoda-green-deep:#0d3420;
  --setoda-green-light:#dfe8dd;
  --setoda-ink:#16251c;
  --setoda-muted:#667168;
  --setoda-line:rgba(22,75,45,.20);
  --setoda-yellow:#d1bd45;
  --setoda-white:#fffef8;
  --setoda-sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
  --setoda-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --setoda-ease:cubic-bezier(.22,.61,.36,1);
}
.setoda-footer{position:relative;background:#f3f1e8;color:var(--setoda-green-deep);overflow:hidden}
.setoda-footer-contact{padding:clamp(105px,12vw,180px) var(--pad) clamp(85px,10vw,145px);border-bottom:1px solid var(--setoda-line)}
.setoda-footer-contact>header{display:grid;grid-template-columns:1fr 2fr;align-items:end;width:min(100%,1540px);margin:0 auto clamp(48px,6vw,82px)}
.setoda-footer-contact>header p{margin:0;color:var(--setoda-green);font:500 11px/1.4 var(--setoda-sans);letter-spacing:.16em}
.setoda-footer-contact>header h2{margin:0;color:var(--setoda-green-deep);font:400 max(var(--fab-font-minimum), clamp(42px,5.2vw,78px))/1.2 var(--setoda-serif);letter-spacing:.025em}
.setoda-footer-contact-links{width:min(100%,1540px);margin:auto;border-top:1px solid var(--setoda-line)}
.setoda-footer-contact-links a{display:grid;grid-template-columns:70px minmax(0,1fr) auto 28px;gap:25px;align-items:center;min-height:112px;border-bottom:1px solid var(--setoda-line);transition:padding .65s var(--setoda-ease),background .65s var(--setoda-ease)}
.setoda-footer-contact-links a:hover{padding-left:18px;background:rgba(255,255,255,.45)}
.setoda-footer-contact-links span{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.12em;color:var(--setoda-green)}
.setoda-footer-contact-links strong{font:400 max(var(--fab-font-minimum), clamp(17px,1.5vw,23px))/1.6 var(--setoda-serif);letter-spacing:.035em}
.setoda-footer-contact-links small{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.12em;color:var(--setoda-muted)}
.setoda-footer-contact-links i{font-style:normal;font-size:19px}
.setoda-footer-body{width:min(calc(100% - (var(--pad) * 2)),1540px);margin:auto;display:grid;grid-template-columns:1.05fr .85fr 1.1fr;grid-template-areas:"brand nav actions" "social nav letter";gap:clamp(35px,5vw,82px);padding:clamp(85px,10vw,145px) 0 clamp(75px,9vw,130px)}
.setoda-footer-brand-block{grid-area:brand}
.setoda-footer-logo{font:400 max(var(--fab-font-minimum), clamp(24px,2.4vw,38px))/1.4 var(--setoda-serif);letter-spacing:.09em}
.setoda-footer-brand-block p{margin:25px 0 0;color:var(--setoda-muted);font:400 12px/1.9 var(--setoda-sans);letter-spacing:.07em}
.setoda-footer-nav{grid-area:nav;display:grid;align-content:start;gap:14px}
.setoda-footer-nav a{width:max-content;font:400 14px/1.7 var(--setoda-serif);letter-spacing:.05em}
.setoda-footer-actions{grid-area:actions;display:grid;align-self:start;border-top:1px solid var(--setoda-line)}
.setoda-footer-action{display:flex;align-items:center;justify-content:space-between;min-height:78px;border-bottom:1px solid var(--setoda-line);font:500 13px/1.5 var(--setoda-sans);letter-spacing:.1em}
.setoda-footer-action i{font-style:normal;font-size:18px}
.setoda-footer-action-primary{color:#fff;background:var(--setoda-green);padding:0 24px;border:0;margin-bottom:12px}
.setoda-footer-social{grid-area:social;align-self:end;display:flex;gap:23px;align-items:center;font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.12em}
.setoda-footer-social span{color:var(--setoda-muted)}
.setoda-footer-letter{grid-area:letter;align-self:end;display:flex;justify-content:space-between;align-items:end;padding:26px 0;border-top:1px solid var(--setoda-line);border-bottom:1px solid var(--setoda-line)}
.setoda-footer-letter span{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.16em;color:var(--setoda-green)}
.setoda-footer-letter h3{margin:9px 0 5px;font:400 20px/1.5 var(--setoda-serif);letter-spacing:.05em}
.setoda-footer-letter p{margin:0;color:var(--setoda-muted);font:400 11px/1.7 var(--setoda-sans);letter-spacing:.04em}
.setoda-footer-letter>a{font-size:22px}
.setoda-footer-phrase{width:max-content;border-top:1px solid var(--setoda-line);border-bottom:1px solid var(--setoda-line);padding:24px 0 30px;overflow:hidden}
.setoda-footer-phrase div{font:400 max(var(--fab-font-minimum), clamp(60px,9.7vw,154px))/1 var(--setoda-serif);letter-spacing:-.025em;white-space:nowrap;animation:setodaFooterFlow 38s linear infinite}
@keyframes setodaFooterFlow{to{transform:translateX(-50%)}}
.setoda-footer-bottom{display:flex;justify-content:space-between;gap:25px;width:min(calc(100% - (var(--pad) * 2)),1540px);margin:auto;padding:26px 0 34px;color:var(--setoda-muted);font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.12em}
.setoda-footer-bottom div{display:flex;gap:25px}
@media(max-width:1040px){.setoda-footer-body{grid-template-columns:1fr 1fr;grid-template-areas:"brand actions" "nav letter" "social social"}
}
@media(max-width:760px){.setoda-footer-contact{padding:90px 20px 75px}
.setoda-footer-contact>header{display:block;margin-bottom:40px}
.setoda-footer-contact>header h2{font-size:40px;margin-top:22px}
.setoda-footer-contact-links a{grid-template-columns:38px 1fr 20px;gap:12px;min-height:105px;padding:18px 0}
.setoda-footer-contact-links small{grid-column:2}
.setoda-footer-contact-links i{grid-column:3;grid-row:1/3}
.setoda-footer-contact-links strong{font-size:16px}
.setoda-footer-body{width:calc(100% - 40px);grid-template-columns:1fr;grid-template-areas:"brand" "actions" "nav" "letter" "social";gap:48px;padding:80px 0 70px}
.setoda-footer-nav{grid-template-columns:1fr 1fr;gap:12px 20px}
.setoda-footer-social{align-self:start}
.setoda-footer-phrase{padding:19px 0 23px}
.setoda-footer-phrase div{font-size:64px}
.setoda-footer-bottom{width:calc(100% - 40px);flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.setoda-about-media img,.setoda-footer-phrase div{animation:none!important}
}

