/* Style Cocoon's own footer markup and preserve its links and hooks. */
.zzyzx-site #footer .menu-footer li:hover{margin:0;padding:0;transform:none}
@media(max-width:767px){.zzyzx-site #footer .menu-footer a:hover{min-height:44px;font-size:11px;letter-spacing:.025em}}
.zzyzx-site #footer .footer-bottom-logo{grid-column:1;grid-row:1;order:0}.zzyzx-site #footer #navi-footer{grid-column:2;grid-row:1;order:0}.zzyzx-site #footer .copyright{grid-row:2;order:0}
@media(max-width:767px){.zzyzx-site #footer #navi-footer{grid-column:1;grid-row:2}.zzyzx-site #footer .copyright{grid-row:3}}
.zzyzx-site #footer{background:#233e43;color:#edece3;margin-top:0;padding:64px 0 24px;border-top:3px solid #b9907c;font-family:"Yu Gothic",Meiryo,sans-serif}
.zzyzx-site #footer-in{width:calc(100% - 112px);max-width:1200px;margin:auto;padding:0}
.zzyzx-site #footer .footer-bottom{display:grid;grid-template-columns:280px minmax(0,1fr);column-gap:85px;row-gap:42px;align-items:start;margin:0;padding:0}
.zzyzx-site #footer .footer-bottom:after,.zzyzx-site #footer .footer-bottom:before{display:none}
.zzyzx-site #footer .footer-bottom-logo{position:static;display:block;float:none;width:auto;margin:0;padding:0}
.zzyzx-site #footer .logo-footer{display:block;text-align:left;padding:0;margin:0}
.zzyzx-site #footer .site-name{display:flex;flex-direction:column;align-items:flex-start;color:#f3eee5;text-decoration:none;line-height:1.5;padding:0}
.zzyzx-site #footer .site-name:before{content:"ZZYZX";font:36px/1.2 Georgia,serif;letter-spacing:.24em}
.zzyzx-site #footer .site-name-text{font-size:10px;letter-spacing:.34em;margin-top:12px}
.zzyzx-site #footer .footer-bottom-content{display:contents;float:none;width:auto}
.zzyzx-site #footer #navi-footer{width:100%;margin:0;padding:0;text-align:left}
.zzyzx-site #footer .menu-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;list-style:none}
.zzyzx-site #footer .menu-footer li{float:none;display:block;width:auto;margin:0;padding:0;border:0!important;text-align:left}
.zzyzx-site #footer .menu-footer a,.zzyzx-site #footer .menu-footer a:hover{display:flex;align-items:center;min-height:40px;padding:6px 0;margin:0;transform:none;text-indent:0;font-size:12px;line-height:1.8;letter-spacing:.06em;text-decoration:none;white-space:normal;background:transparent;transition:color .2s ease}
.zzyzx-site #footer .menu-footer a{color:#e0e7e2}
.zzyzx-site #footer .menu-footer a:hover{color:#e6b9a4}
.zzyzx-site #footer .copyright{grid-column:1/-1;margin:0;padding:23px 0 0;border-top:1px solid #82989445;font:10px/1.8 Georgia,serif;letter-spacing:.08em;text-align:left;color:#b6c5c2}
.zzyzx-site #footer a:focus-visible{outline:2px solid #edc3ac;outline-offset:5px}
@media(min-width:768px) and (max-width:1050px){.zzyzx-site #footer-in{width:calc(100% - 64px)}.zzyzx-site #footer .footer-bottom{grid-template-columns:200px minmax(0,1fr);column-gap:35px}.zzyzx-site #footer .menu-footer{gap:8px 16px}}
@media(max-width:767px){.zzyzx-site #footer{padding:42px 0 24px}.zzyzx-site #footer-in{width:calc(100% - 48px)}.zzyzx-site #footer .footer-bottom{grid-template-columns:1fr;gap:30px}.zzyzx-site #footer .site-name:before{font-size:30px}.zzyzx-site #footer .site-name-text{font-size:9px;margin-top:9px}.zzyzx-site #footer .menu-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 18px}.zzyzx-site #footer .menu-footer a{min-height:44px;font-size:11px;letter-spacing:.025em}.zzyzx-site #footer .copyright{padding-top:20px;font-size:9px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.zzyzx-site #footer a{transition:none}}
@media(max-width:767px){.zzyzx-site #footer .menu-footer a:hover{min-height:44px;font-size:11px;letter-spacing:.025em}}



/* Quiet page-top control matched to the site's ivory link buttons. */
.zzyzx-site .grecaptcha-badge{visibility:hidden!important}
.zz-recaptcha-note{font-size:10px!important;line-height:1.9!important;color:#84918a;margin-top:22px!important}
.zzyzx-site #go-to-top{right:24px;bottom:24px}
.zzyzx-site #go-to-top .go-to-top-button{position:relative;width:54px;height:68px;min-width:54px;min-height:68px;padding:0;border:1px solid #b7c6bd;border-radius:27px;background:#fcfbf7;color:#506b65;box-shadow:0 3px 14px #344e5610;opacity:1;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.zzyzx-site #go-to-top .go-to-top-button span{display:none}
.zzyzx-site #go-to-top .go-to-top-button:before{content:"";position:absolute;left:19px;top:15px;width:14px;height:22px;background:currentColor;clip-path:polygon(46% 100%,46% 12%,5% 40%,0 34%,50% 0,100% 34%,95% 40%,54% 12%,54% 100%);transition:transform .2s ease}
.zzyzx-site #go-to-top .go-to-top-button:after{content:"TOP";position:absolute;left:0;right:0;bottom:11px;font:8px/1.3 Arial,sans-serif;letter-spacing:.16em;text-align:center}
.zzyzx-site #go-to-top .go-to-top-button:hover{background:#f2e8de;border-color:#b9907c;color:#986e58}
.zzyzx-site #go-to-top .go-to-top-button:hover:before{transform:translateY(-2px)}
.zzyzx-site #go-to-top .go-to-top-button:focus-visible{outline:2px solid #b9907c;outline-offset:4px}
@media(max-width:767px){.zzyzx-site #go-to-top{right:16px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.zzyzx-site #go-to-top .go-to-top-button,.zzyzx-site #go-to-top .go-to-top-button:before{transition:none}}
