/* Loaded on every page, after the page-specific styles. */
.site-shell.tp-lower-footer-shell{max-width:1376px;margin-inline:auto;position:relative;overflow:clip;background:var(--paper,#fafaf8)}
.site-shell .contact-section,.site-shell .footer{--u:min(.1453488372vw,2px);--ink:#111;--yellow:#ffdc2d;box-sizing:border-box;color:#111;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
.site-shell .contact-section{display:flex;position:relative;align-items:center;justify-content:space-between;padding:calc(23 * var(--u)) calc(52 * var(--u)) calc(15 * var(--u)) calc(28 * var(--u));min-height:calc(112 * var(--u));margin:calc(17 * var(--u)) 0 0;gap:calc(16 * var(--u))}
.site-shell .contact-section h2{margin:0;font-size:calc(22 * var(--u));font-weight:900;line-height:1.4;letter-spacing:-.055em;color:#111}
.site-shell .contact-section .lets-make{margin:0;font-family:Arial,sans-serif;font-weight:900;font-size:calc(47 * var(--u));color:transparent;-webkit-text-stroke:calc(.7 * var(--u)) #858585;line-height:1.1;letter-spacing:-.035em;white-space:nowrap}
.site-shell .contact-section .contact-main{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;position:relative;width:calc(139 * var(--u));height:calc(42 * var(--u));min-height:0;padding:0;margin:0 0 0 auto;gap:calc(14 * var(--u));border:1px solid #111;border-radius:999px;background:var(--tp-button-background,#fff);color:var(--tp-button-text,#111);font-size:calc(11 * var(--u));font-weight:800;line-height:1;text-decoration:none;flex-shrink:0;box-shadow:none}
.site-shell .contact-section .contact-main:hover{background:var(--tp-button-hover-background,#ffdc2d);box-shadow:2px 3px 0 #111}
.site-shell .contact-section::after{content:'✦';position:absolute;right:calc(9 * var(--u));bottom:calc(10 * var(--u));width:calc(32 * var(--u));height:calc(36 * var(--u));font:calc(36 * var(--u))/1 Arial;color:#ffdc2d;-webkit-text-stroke:1px #111;background:none;transform:rotate(-12deg);pointer-events:none}
.site-shell .footer{margin:0 calc(12 * var(--u));border:0;border-top:calc(1 * var(--u)) dashed #777;min-height:calc(73 * var(--u));padding:calc(11 * var(--u)) calc(16 * var(--u)) calc(25 * var(--u));display:flex;align-items:center;gap:calc(38 * var(--u));position:relative}
.site-shell .footer .brand{display:block;flex-shrink:0;width:calc(138 * var(--u))}
.site-shell .footer .brand-logo{display:block;width:100%;height:calc(33 * var(--u));max-height:none;object-fit:contain;object-position:left center;transform:none!important}
.site-shell .footer nav{display:flex;position:static;visibility:visible;opacity:1;transform:none;gap:calc(14 * var(--u));font-size:calc(7 * var(--u));font-weight:600;white-space:nowrap;background:none;box-shadow:none;border:0;padding:0}
.site-shell .footer a{text-decoration:none;color:inherit}
.site-shell .footer .footer-social{display:flex;align-items:center;gap:calc(13 * var(--u));margin-left:auto}
.site-shell .footer .footer-social>span{font-size:calc(6 * var(--u));line-height:1.7;white-space:nowrap}
.site-shell .footer .social-links{border-left:1px solid #aaa;display:flex;align-items:center;gap:calc(10 * var(--u));padding-left:calc(11 * var(--u))}
.site-shell .footer .social-links a,.site-shell .footer .social-links span{font-size:calc(7 * var(--u));font-weight:700;white-space:nowrap}
.site-shell .footer .copyright{position:absolute;right:calc(24 * var(--u));bottom:calc(10 * var(--u));font-size:calc(5.5 * var(--u));color:#555}
@media(max-width:600px){
 .site-shell .contact-section,.site-shell .footer{--u:1px}
 .site-shell .contact-section{display:block;padding:32px 22px 35px;margin-top:10px;min-height:165px}
 .site-shell .contact-section h2{font-size:24px}
 .site-shell .contact-section .lets-make{font-size:min(48px,12.8vw)}
 .site-shell .contact-section .contact-main{margin:0;width:159px;height:45px;font-size:13px}
 .site-shell .contact-section::after{width:27px;height:32px;right:10px;bottom:12px;font-size:32px}
 .site-shell .footer{margin:0 14px;padding:16px 8px 29px;min-height:150px;gap:18px;flex-wrap:wrap;align-content:start}
 .site-shell .footer .brand{width:140px}
 .site-shell .footer .brand-logo{height:38px}
 .site-shell .footer nav{display:flex!important;order:3;gap:12px;flex-wrap:wrap;flex-direction:row;width:100%;margin:2px 0 0;font-size:9px}
 .site-shell .footer .footer-social{gap:8px}
 .site-shell .footer .footer-social>span{display:none}
 .site-shell .footer .social-links{gap:10px;padding-left:0;border:0}
 .site-shell .footer .copyright{font-size:8px;right:10px;bottom:12px}
}
