#top                    { max-width: 100vw; overflow-x: hidden; }
h1                      { font-size: 30px; }
video                   { max-width: 100%; }

#container              { display: grid; grid-template-columns: 1fr; grid-gap: 0; }
#container .inside      { display: contents; }
#main                   { display: contents; }
#left                   { display: contents; }

#header .nav            { position: fixed; top: 0; left: -110vw; height: 100vh; width: 90vw; transition: all .5s; z-index: 2000; }
#header .nav            { box-shadow: 0 0 10px rgba(0,0,0,0.3); text-align: left; padding: 50px 30px; background: var(--color-main); }
#header .nav            { line-height: 2.5; }
#header .nav.open       { left: 0; }
#header .nav li         { display: block; font-size: 18px; }
#header .nav a          { color: #fff; }
#header .nav .btn       { text-align: center; margin-top: 30px; }
#header .nav .btn a     { line-height: 40px; border-radius: 20px; }

#top.mview .nav         { position: absolute; width: 330px; height: 650px; }
.text, .select          { width: 100%; }
#container              { padding: 20px; display: block; }

.home.top #header .logo         { top: 80px; }
.home.top #header .logo img     { width: 70vw; }

#header h1                      { line-height: 1; font-size: 26px; margin-top: 20px; }
#header .logo                   { top: 17px; left: 50%; transform: translateX(-50%); }
#header .logo img               { width: 40vw; }
#header .mobile_btn             { color: #000; position: absolute; top: 23px; z-index: 20; display: block; }
#header .mobile_btn:before      { font-family: 'Font Awesome 5 Pro'; font-size: 32px; font-weight: 600; color: var(--color-main); }
#header .mobile_menu            { left: 30px; }
#header .mobile_menu:before     { content: '\f0c9'; }
#header .mobile_login           { right: 30px; }
#header .mobile_login:before    { content: '\f007'; }
#header .menu_close             { left: auto; right: 30px; top: 0; }
#header .menu_close:before      { content: '\f00d'; font-weight: 100; color: #fff; }

#main img                       { max-width: 100%; height: auto; }
#main .steps                    { display: block; margin: -20px -20px 20px -20px; text-align: center; }
#main .steps li                 { display: block; line-height: 2; }
#main .mod_register             { padding: 20px; }
#main .cte_text figure          { float: none; margin: 0 0 30px 0; }
#main .faq .inside              { padding: 0; }
#main .faq figure               { margin: 0 0 20px -20px; }
#main .cte_form form            { display: block; }
#main .cte_form                 { padding: 20px; }
#main .row input + label        { max-width: 90%; }
#main .cte_form .textarea       { padding: 0; }
#main .mod_login .split         { display: block; }
#main .mod_login .split > div   { margin-bottom: 30px; }
#main .block                    { grid-row: 3; }

#main .visual                   { padding: 20px; margin: 0 -20px; text-align: center; padding-top: 130px; }
#main .visual .inside           { height: auto; padding-left: 0; padding-right: 0; }
#main .visual h1                { width: 100%; margin: 30px 0 0 0; }
#main .visual p                 { max-width: 100%; }
#main .visual figure            { left: auto; right: -20px; bottom: 0; transform: none; position: relative; margin: 0; padding-top: 50px; }
#main .visual:before            { display: none; }
#main .visual:after             { display: none; }

#main .calculator .inside       { display: block; padding: 20px; }
#main .calculator .input ul     { gap: 0; }
#main .calculator .half         { display: none; }

#footer                         { margin-top: 50px; }
#footer .inside                 { display: block; text-align: center; }
#footer li                      { display: block; margin-bottom: 10px; }
#footer .left                   { text-align: center; margin-bottom: 30px; }