.js .main-wrap::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;background:rgba(0,0,0,0.3);}
.search{padding:3em;}
.js .search{position:fixed;z-index:1000;top:0;left:100%;overflow:hidden;width:100%;height:100vh;background:#fff;}
.js .search::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;}
.btn-search-close{margin:0;padding:0;cursor:pointer;border:none;background:none;position:absolute;font-size:2em;z-index:1001;top:1.25em;right:1.25em;}
.btn-search-close .icon{display:block;width:1.5em;height:1.5em;margin:0 auto;fill:currentColor;}
.search_input{font-family:inherit;font-size:6vw;line-height:1;display:inline-block;box-sizing:border-box;width:50%;padding:0.05em 0;color:#969696;border-bottom:2px solid;}
.search_input::-webkit-search-cancel-button,
.search_input::-webkit-search-decoration{-webkit-appearance:none;}
.search_input::-ms-clear{display:none;}
.search_info{font-size:90%;font-weight:bold;display:block;width:50%;padding:0.85em 0;color:#000;}
.search_related{display:flex;width:35%;padding:4em 0 0 0;pointer-events:none;}
.search_suggestion h3{font-size:1.35em;margin:0;}
.search_suggestion h3::before{content:'\21FE';display:inline-block;padding:0 0.5em 0 0;}
.search_suggestion p{font-size:1.15em;line-height:1.4;margin:0.75em 0 0 0;color:#ff4848;}
.js .main-wrap::after{transition:opacity 0.3s;transition-timing-function:ease-out;}
.js .main-wrap-overlay::after{opacity:1;transition-delay:0s;}
.js .search{pointer-events:none;transition:transform 0.3s;transition-delay:0.4s;transition-timing-function:ease-out;}
.js .search-open{pointer-events:auto;transform:translate3d(-100%,0,0);transition-delay:0s;}
.js .search::after{transition:transform 0.3s;transition-timing-function:ease-out;}
.js .search-open::after{transform:translate3d(100%,0,0);transition-delay:0.4s;}
.js .btn-search-close{transition:opacity 0.1s;transition-delay:0.3s;}
@media screen and (max-width:40em){.btn-search-close{font-size:1.25em;}
.search_related{font-size:80%;width:75%;}
.search_input{font-size:2em;width:90%;}
.search_info{width:90%;}
}