* {
    box-sizing: border-box;
    outline: none;
    font-style: normal;
    margin: 0 auto;
    padding: 0 0;
    font-weight: 600;
}

html, body {
    width: 100%;
    height: 100%;
}

body {
    font-family: 'Gothic A1', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}


/* main_meau */

.wrap {
    width: 100%;
    height: 107px;
    position: fixed;
    z-index: 999;
}

.menu_main {
    width: 100%;
    text-align: center;
    padding: 0px 38px;
    height: 107px;
    line-height: 107px;
    vertical-align: top;
    position: absolute;
    background-color: #fff;
    border-bottom: 1px solid #D1D1D1;
}

.menu_main > li {
    display: inline-block;
    padding: 0 39px;
}

.menu_main > li > a {
    color: #000;
    font-weight: 900;
    position: relative;
    font-size: 18px;
}
.menu_main > li > a:hover {
    color:#003BB5;
    font-weight: 900;

}
.menu_main > li > a:before {
    border-bottom: 3px solid #003BB5;
}

.menu_main > li > .menu_sub {
    width: 100%;
    background-color: #f5f5f5;
    top: 107px;
    left: 0;
    text-align: center;
    display: none;
    font-weight: 900;
    background-color: #F3F3F3;
}

.menu_main > li > .menu_sub > a {
    font-weight: 900;
    color:#474747;
    font-size: 14px;
}

 li:hover .menu_sub {
    display: block;
    width: 100%;
    position: absolute;
}

.menu_main > li > .menu_sub {
    background-color: #F3F3F3;
    width: 100%;
    height: 100px;
}
.menu_main > li > .menu_sub > li {
    padding: 0px 20px;
    display: inline-block;
    text-align: right;
}

.menu_main > li > .menu_sub > a:hover {
    color:#003BB5;
}

header h1 {
    position: absolute;
    top: 50%;
    left: 40px;
    margin-top: -16px;
    z-index: 999;
}

header h1 a {
    display: block;
}


.main_top {
    height: 950px;
    width: 100%;
    background: url(../img/main_01.jpg);
    background-size: cover;
}

.main_top_text {
    text-align: center;
    padding: 350px 0;
}

.main_top_text h2 {
    color:white;
    font-weight: 400;
    margin-top: 30px;
    padding: 25px 0;
}

.img_scroll {
    text-align: center;
    animation: bounce 2s infinite;
    position: relative;
}

.img_scroll img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}

.business_ares {
    width: 100%;
    height: 1000px;
    padding: 150px 50px;
}

.ares_text {
    text-align: center;
}

.business_ares span {
    font-family: 'Cairo', sans-serif;
    font-weight: 400;
    font-size: 40px;
    display: inline-block;
}

.business_ares p {
    font-size:20px;
}

.areas_bold {
    font-family: 'Cairo', sans-serif;
    font-weight: 600;
    font-size: 40px;
    display: inline-block;
    margin-left: 10px;
}

.business_ares_box {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding:0;
    z-index: 1;
}

.business_ares_box ul {
    width: 100%;
    max-width: 1820px;
    margin: 50px auto 0 auto;
    padding: 0;
}

.business_ares_box ul li {
    display: inline-block;
    width: calc(33%);
    margin-right: 1px;
    position: relative;
}



.about_osolit {
    width: 100%;
    height: 950px;
    background-image: url(../img/sastion_01.jpg);
    background-size: cover;
    text-align: center;
}

.about_contents {
    padding: 400px 0;
}

.about_osolit span {
    color: white;
    font-family: 'Cairo', sans-serif;
    font-weight: 400;
    font-size: 40px;
}

.about_osolit p {
    color: white;
    font-family: 'Cairo', sans-serif;
    font-weight: 400;
    font-size: 18px;
}

.button_box {
    position: relative;
    box-sizing: border-box;
    border:1px solid white;
    min-width: 120px;
    line-height: 50px;
    text-align: center;
    background-color: none;
    z-index: 1;
    margin-top: 10px;
    padding:6px 26px;
    color: white;
}

.about_contents .line {
    display: block;
    width: 1px;
    height: 33px;
    background-color: white;
    margin: 7px auto 20px auto;
    position: relative;
    z-index: 1;
}

.work {
    width: 100%;
    height: 950px;
}

.work .container_one {
    width: 40%;
    float: left;
    height: 950px;
    padding: 200px 200px;
}

.work .container_one span {
    color: #00365A;
    font-family: 'Cairo', sans-serif;
    font-weight: 600;
    font-size: 30px;
    margin: 0 0 5px;
}

.work .container_one p {
    color: #5E5E5E;
    font-weight: 500;
    font-size: 18px;
    margin: 4px 0px 5px 3px;
}

.work .container_one .line_two {
    display: block;
    width: 93px;
    height: 1px;
    background-color: #00365A;
    margin: 2px 0 40px 1px;
    position: relative;
    z-index: 1;
}

.work_list img {
    position:absolute;
    z-index: -1;
    margin: 300px 0 auto -27px;
}


.work .container_two {
    width: 60%;
    float: left;
    height: 950px;
}

.work_list h3 {
    font-size: 30px;
    color: #0f0f0f;
    font-weight: 600;
    margin: 0 0 20px 0;
}

.container_two img {
    width: 100%;
    height: 950px;
}


.under_bar {
    position: relative;
    z-index: 1;
    background-color: #041537;
    height: 70px;
    text-align: center;
    padding-top: 20px;
}

.under_bar button {
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 0.05em;
    color:white;
    font-family: 'Cairo', sans-serif;
    line-height: 100%;
    background: none;
    border:0;
}

.under_bar button::after {
    content: '';
    width: 12px;
    height: 6px;
    display: inline-block;
    background-image: url(../img/pass_top.png);
    margin-left: 10px;
}

.container_footer {
    width: 100%;
    height: 166px;
    background-color: #1D2B48;
}
.container_footer strong {
    color: #7D92A5;
    margin-right: 37px;
    margin-left: 48px;
}

.container_footer em {
    font-weight: 600;
    font-family: 'Cairo', sans-serif;
    color: #7D92A5;
    font-size:16px;
    margin: 0 43px 26px -1px;
}
.container_footer p {
    color:#C4CFD9;
    font-size: 14px;
    margin: 20px 51px 0;
}

.footer_one {
    padding: 30px 0px 30px 50px;
    float: left;
    width: 40%;
}
.footer_one span{
    margin: 10px 50px 0;
}

.footer_two {
    padding: 25px 200px 20px 200px;
    float: left;
    text-align: right;
    width: 60%;
}
.footer_two span {
}

.sub-visual.company {
    background-image: url(../img/sub_01.jpg);
    background-size:cover;
}

.sub-visual {
    width: 100%;
    height: 500px;
    background-repeat: no-repeat;
    background-position: 50% 107px;
    position: relative;
    padding-top: 107px;
    margin-bottom: 50px;
    background-attachment: fixed;
    overflow: hidden;
}

.sub-visual h1 {
    font-size: 40px;
    text-align: center;
    line-height: 100%;
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    color: white;
    margin-top: 147px;
}

.sub-two.company {
    background-image: url(../img/comm_main.jpg);
    background-size:cover;
}

.sub-two {
    width: 100%;
    height: 500px;
    background-repeat: no-repeat;
    background-position: 50% 106px;
    position: relative;
    padding-top: 107px;
    margin-bottom:50px;
    background-attachment: fixed;
    overflow: hidden;
}

.sub-two h1 {
    font-size: 40px;
    text-align: center;
    line-height: 100%;
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    color: white;
    margin-top: 147px;
    letter-spacing: 2px;
}

.sub-three h1 {
    font-size: 40px;
    text-align: center;
    line-height: 100%;
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    color: white;
    margin-top: 147px;
    letter-spacing: 2px;
}
.sub-three.company {
    background-image: url(../img/business_main.jpg);
    background-size:cover;
}

.sub-three {
    width: 100%;
    height: 500px;
    background-repeat: no-repeat;
    background-position: 50% 106px;
    position: relative;
    padding-top: 107px;
    margin-bottom:50px;
    background-attachment: fixed;
    overflow: hidden;
}

.sub-threeh1 {
    font-size: 40px;
    text-align: center;
    line-height: 100%;
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    color: white;
    margin-top: 70px;
    letter-spacing: 2px;
}


.sub-nav.meau {
    max-width: 600px;
}

.sub-nav.meau a {
    width: calc(100% / 3);
}

.sub-nav {
    width: 100%;
    font-size: 0;
    text-align: center;
    margin:0 auto;
    position: absolute;
    bottom:0;
    left:50%;
    transform: translateX(-50%);
}

.sub-nav a.active {
    background-color: white;
    color:#1A1311;
    font-weight: 600;
}

.sub-nav a {
    display: inline-block;
    font-size: 18px;
    height: 76px;
    line-height: 76px;
    background-color: #003A70;
    opacity: 80%;
    color:white;
    font-weight: 600;
}

.content_company_osol {
    height: 900px;
    width: 100%;
}

.company_img {
    width: 50%;
    float: left;
    padding: 50px 215px;
}

.company_img img {
    margin: 0 0 0px 40%;
}

.company_img p {
    margin: 0 0 0px 40%;

}

.company_img span {
    width: 1px;
    height: 519px;
    background-color: #E2E2E2;
    margin: 2px 0 40px 1px;
}

.company_text {
    width: 50%;
    float: left;
    padding: 88px 40px;
    letter-spacing: 1px;
}

.company_text span{
    margin-top: 40px;
    font-weight: 900;
} 

.content_company_osol_two {
    width: 100%;
    height: 1300px;
}

.content_company_osol_two {
    text-align: center;
    width: 100%;
    height: 1100px;
    margin-top: 83px;
}

.content_company_osol_two .warp_company {
    font-size: 22px;
    color: #0F0F0F;
    font-weight: 800;
    float: left;
}

.content_company_osol_two span {
    font-size: 18px;
    color: #0F0F0F;
    font-weight: 700;
    font-family: 'Cairo', sans-serif;
}

.content_company_osol_two em {
    color:#615D5D;
    font-weight: 500;
    font-size: 18px;   
}

.warp_company {
    width: 100%;
}

.warp_company::before {
    content: '';
    display: block;
    background-color: #EBEBEB;
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
}

.warp_company .content_company_osol_text_1 {
     text-align: left;
}

.warp_company .content_company_osol_text_2 {
    text-align: left;
    padding:10px 0;
}

.warp_company .content_company_osol_text_3 {
    text-align: left;
    padding:10px 0;
}

.comapny_work {
    width: 50%;
    float: left;
    text-align: right;
    padding:0 50px;
    margin-top: 40px;
}

.comapny_work p {
    float: right;
}


.company_work_text {
    width: 50%;
    float: left;
    padding:0 50px;
    margin-top: 40px;
}

.company_work_text p {
    margin: 0px 0;
    padding: 0 8px 8px 0;
}

.company_work_text::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border:5px solid #02003A;
    background-color: white;
    position: relative;
    top: 25px;
    left: -59px;
}

 
.recruit_content {
    width: 100%;
    height: 1047px;
    text-align: center;
}

.recruit_content img {
    text-align: center;
    margin-top: 150px;
}

.recruit_content p {
    margin-top: 60px;
    font-weight: 600;
    color: #444444;
}


.sub_container {
    width: 100%;
}

.content_table {
    width: 100%;
    text-align: center;
    padding: 100px 200px;
}

.table_top {
    background-color: #F1F1F1;
    height: 58px;
    font-size: 16px;
    font-weight: 600;
}

.table_box tr td {
    border-bottom: 1px solid #E2E2E2;
    padding: 15px 10px;
}

.table_box tr td a {
    color: #000;
    font-weight: 600;
}

.table_box table {
    width: 100%;
}

.number_page {
    display: block;
    text-align: center;
    margin-bottom: 80px;
}

.number_page a {
    display: inline-block;
    margin-left: 10px;
    line-height: 30px;
    height: 30px;
    margin: 0 7px;
    color: #444444;
    padding:0 5px 8px 0;
    font-weight: 500;
    font-family: 'Cairo', sans-serif;
}

.number_page a.active {
    font-weight: bold;
    color: #000;
}

.number_page button {
    width: 35px;
    height: 35px;
    border:1px solid #ddd;
    position: relative;
    background-color: white;
}

.number_page button img {
    margin-top: 3px;;
}

.sub_container_osol {
    width: 100%;
    padding:100px 200px;
}

.sub_container_osol_title {
    height: 58px;
    background-color: #f1f1f1;
    
}

.sub_container_osol_title p {
    font-size: 16px;
    font-weight: 600;
    padding: 18px 20px;
}

.sub_container_osol_name {
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
}

.sub_container_osol_name p {
    display: inline-block;
    padding: 5px 20px;
    font-weight: 600;
    color: #999999;
    font-size: 14px;
}

.sub_container_text {
    padding: 5px 20px;
}

.text_content {
    height: 100%;
    width: 100%;
    min-width: 470px;
}
.text_main p {
    font-weight: 600;
    font-size: 16px;
    color: #4D4D4D;
    min-height: 450px;
    margin-top: 20px;
}

.sub_container_file {
    border: 1px solid #E2E2E2;
    margin-top: 30px;
}
.text_content .sub_container_file p {
    padding: 12px 20px;
    color:#4D4D4D;
    font-weight: 600;
    font-size: 14px;
}

.sub_container_under {
    margin-top: 27px;
    height: 60px;
    border-top:1px solid #444444;
    border-bottom:1px solid #E2E2E2;
}

}
.text_content .sub_container_under p {
   display: inline-block; 
   padding: 5px 20px;
   color: #444444;
   font-weight: 600;
}

.sub_container_under strong {
    display: inline-block;
    font-weight: 600;
    color:#999999;
    margin-top: 20px;
}

.sub_container_under span {
    display: inline-block;
    font-family: 'Cairo', sans-serif;
    font-weight: 500;
    float: right;
    padding: 5px 20px;
    margin-top: 10px;
    font-size: 16px;
    color: #999999;
    letter-spacing:1px;
}

.sub_container_list button {
    background-color: #003A70;
    height: 36px;
    width: 66px;
    border:none;
    margin-top: 20px;
    float: right;
}

.sub_container_list button a {
    color: white;
}

.form_sub_content_us {
    width: 100%;
    height: 1742px;
    padding: 100px 200px;
}

.form_content_us p {
    font-size: 14px;
    color:#444444;
    font-weight: 600;
}

.form_content_box {
    border-top: 1px solid #707070;
}

.form_content_box table {
    width: 100%;
}

.form_content_box table tr td {
    padding: 15px 27px;
    color:#444444;
    font-weight: 600;
    border-bottom: 1px solid #E2E2E2;
}

.form_content_box table tr td span {
    font-size: 12px; 
    color:#999999;
    font-weight: 500;
    margin: 20px auto;
    padding:0;
    
}

.form_content_box table tr td:first-child {
    width: 20%;
    background-color: #F9F9F9;
}
.form_content_box table tr td:nth-child(2) {
    width: 80%;
}

.form_content_box table tr td input {
    box-sizing: border-box;
    border:1px solid #E2E2E2;
    padding: 12px 10px;
    color:#999999;
    width: 279px;
    font-weight: 500;
}

.form_content_box table tr td textarea {
    box-sizing: border-box;
    border:1px solid #E2E2E2;
    color:#999999;
    width: 1014px;
    height: 200px;
    margin-top: 5px;
    font-family: 'Gothic A1', sans-serif;
    font-size: 14px;
    padding: 12px 10px;
    font-weight: 500;
}

.form_agree {
    margin-top: 68px;
}

.form_agree span {
    font-size: 16px;
    color: #444444;
    font-weight: 600;
}

.form_agree p {
    font-size: 14px;
    color: #CCCCCC;
    font-weight: 500;
}

.form_agree_list p {  
    margin-top: 49px;
    font-size: 16px;
    color: #444444;
    font-weight: 600;
}

.form_agree_content_box {
    margin-top: 22px;
    box-sizing: border-box;
    width: 100%;
    height: 145px;
    border:none;
    border-bottom: 1px solid #707070;
    text-align: center;
}
.form_agree_content_box table {
    width: 100%;
    height: 145px;
}

.form_agree_content_box table tr:nth-child(1) {
    background-color: #F9F9F9;
    width: 100%;
    height: 66px;
    color:#444444;
    font-weight: 600;
    font-size: 16px;
}

.form_agree_content_box table tr:nth-child(2) {
    width: 100%;
    color:#444444;
    font-weight: 500;
    font-size: 16px;
}

.form_agree_text p {
    margin-top: 28px;
    color:#444444;
    font-size: 14px;
    font-weight: 500;
}

.agree {
    margin-top: 58px;
    font-size: 16px;
    color: #444444;
    font-weight: 600;
}

.agree input {
    float: right;
    
}

input[id=checkbox] {
    width: 30px;
    height: 30px;
    border:1px solid #E2E2E2;
    background-color: #1D2B48;
}

.checkbox_button_agree {
    text-align: center;
    margin-top: 107px;
}

.checkbox_agree {
    background-color: #003A70;
    box-sizing: border-box;
    border:none;
    width: 153px;
    height: 60px;
    color: white;
}

.business {
    text-align: center;
}

.business_one {
    height: 900px;
    width: 100%;
}

.main_text {
    margin-top: 160px;
    width: 100%;
}

.main_text h2 {
    font-size: 40px;
    margin: 0 auto;
    padding: 0;
}

.main_text p {
    font-size: 20px;
    color: #333333;
}

.sub_architecture {
    position: relative;
    margin-top: 160px;
}


.sub_architecture_box_one {
    float: left;
    width: 50%;
    background: url(../img/sub_business_img.png)no-repeat;
    background-attachment: fixed;
    background-size: cover;
    height: 500px;
}

.sub_architecture_box_two {
    float: left;
    width: 50%;
    background-color: #041537;
    height: 500px;
    margin-top: 60px;
}

.sub_architecture_box_two p {
    text-align: left;
    color: white;
    font-size: 20px;
    padding: 11px 90px;
}

.sub_architecture_box_two h3 {
    text-align:left;
    color: white;
    font-size: 37px;
    font-weight: 600;
    padding: 20px 90px;
    margin-top: 78px;
}

.sub_architecture_box_two span{
    font-family: 'Cairo', sans-serif;
    font-size: 136px;
    opacity: 5%;
    color: white;
    font-weight: bolder;
    position: relative;
    float: right;
}.menu_main > li > a

.sub_architecture_box_two span::before {
    content: '';
    display: block;
    background-color: #EBEBEB;
    width: 30px;
    height: 20px;
    opacity: 10%;
    position: absolute;
}

.sub_text {
    margin-top: 40px;
    height: 1042px;
}

.sub_text .line {
    display: block;
    width: 1px;
    height: 90px;
    background-color: #8F8F8F;
    margin: 7px auto 50px auto;
    position: relative;
    z-index: 1;
    text-align: center;
}

.sub_text p {
    color: #0F0F0F;
    font-weight: 600;
    font-size: 40px;
    margin-top: 80px;
}

.architecture_and_bigdata {
    width: 100%;
    height: 580px;
}


.architecture_big_text {
    font-size: 20px;
    color:#0F0F0F;
    font-weight: 500;
}

.next_osol {
    animation: bounce 2s infinite;
    position: relative;
}

.next_osol img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}

.busiess_ososlit {
    text-align: center;
    padding: 100px 0;
}

.busiess_ososlit button {
    border:none;
    background-color: white;
    font-size: 16px;
    color:#000;
    padding:30px 20px;
    border:1px solid #000;
}


.architecture .circle {
    font-size: 0;
    text-align: center;
    white-space:nowrap;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.architecture .circle li {
    width: calc((100% / 3) + 56px);
    padding: 200px 100px;
    display: inline-block;
    border-radius: 50%;
    background-color: #F9F9F9;
    margin-right: 50px;
    margin-top: 30px;
}

.architecture .circle li strong {
    font-size: 30px;
    font-weight: 600;
    color:#000;
    display: block;
}


@import;
:root {
  --d: 600ms;
  --e: cubic-bezier(0.30, 1, 0.40, 1);
  --font-family: 'Gothic A1', sans-serif;
}

.page-content {
  display: grid;
  grid-gap: 2rem;
  padding: 1rem;
  max-width: 1920px;
  margin: 0 auto;
  font-family: var(--font-sans);
}
@media (min-width: 600px) {
  .page-content {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 800px) {
  .page-content {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 60px;
  }
}

.card {
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 1rem;
  width: 100%;
  text-align: center;
  color: whitesmoke;
  background-color: whitesmoke;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1), 0 4px 4px rgba(0, 0, 0, 0.1), 0 12px 12px rgba(0, 0, 0, 0.1);
}
@media (min-width: 600px) {
  .card {
    height: 410px;
  }
}
.card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 110%;
  background-size: cover;
  background-position: 0 0;
  transition: transform calc(var(--d) * 1.5) var(--e);
  pointer-events: none;
}
.card:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
  pointer-events: none;
  background-image: linear-gradient(to bottom, rgba(2, 0, 17, 0) 0%, rgba(2, 0, 17, 0) 11.7%, rgba(2, 0, 17, 0) 22.1%, rgba(0, 0, 0, 0.072) 31.2%, rgba(0, 0, 0, 0.123) 39.4%, rgba(0, 0, 0, 0.182) 46.6%, rgba(0, 0, 0, 0.249) 53.1%, rgba(0, 0, 0, 0.32) 58.9%, rgba(0, 0, 0, 0.394) 64.3%, rgba(0, 0, 0, 0.468) 69.3%, rgba(0, 0, 0, 0.54) 74.1%, rgba(0, 0, 0, 0.607) 78.8%, rgba(0, 0, 0, 0.668) 83.6%, rgba(0, 0, 0, 0.721) 88.7%, rgba(0, 0, 0, 0.762) 94.1%, rgba(0, 0, 0, 0.79) 100%);
  transform: translateY(-50%);
  transition: transform calc(var(--d) * 2) var(--e);
}
.card:nth-child(1):before {
  background-image: url(../img/BUSINESS\ AREAS_01.jpg)
}
.card:nth-child(2):before {
  background-image: url(../img/BUSINESS\ AREAS_02.jpg);
}
.card:nth-child(3):before {
  background-image: url(../img/BUSINESS\ AREAS_03.jpg);
}

.content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 1rem;
  transition: transform var(--d) var(--e);
  z-index: 1;
}
.content > * + * {
  margin-top: 2rem;
}



.copy {
    font-family: var(--font-serif);
    font-size: 22PX;
    line-height: 1.35;
  }
  
  @media (hover: hover) and (min-width: 600px) {
    .card:after {
      transform: translateY(0);
    }
  
    .content {
      transform: translateY(calc(100% - 10rem));
    }
    .content > *:not(.title) {
      opacity: 0;
      transform: translateY(1rem);
      transition: transform var(--d) var(--e), opacity var(--d) var(--e);
    }
    .card:hover,
  .card:focus-within {
      align-items: center;
    }
    .card:hover:before,
  .card:focus-within:before {
      transform: translateY(-4%);
    }
    .card:hover:after,
  .card:focus-within:after {
      transform: translateY(-50%);
    }
    .card:hover .content,
  .card:focus-within .content {
      transform: translateY(0);
    }
    .card:hover .content > *:not(.title),
  .card:focus-within .content > *:not(.title) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: calc(var(--d) / 8);
    }
  
    .card:focus-within:before, .card:focus-within:after,
  .card:focus-within .content,
  .card:focus-within .content > *:not(.title) {
      transition-duration: 0s;
    }
  }