:root {
    --color_white: #ffffff;
    --color_black: #010101;
    --color_red: #e13e43;
    --color_dark_blue: #41439a;
    --color_light_blue: #e1f3fd;
}

body {
    color: var(--color_black);
}

* {
    transition: all 0.2s linear;
}

img {
    vertical-align: middle;
    max-width: 100%;
}

.navbar-brand img {
    max-width: 350px;
    margin: 10px 0 0 0;
}

nav {
    padding: 0 0 50px 0 !important;
}

.navbar-expand-lg .navbar-nav .nav-link {
    font-weight: 700;
    color: var(--color_dark_blue);
}

.navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: var(--color_red);
}

nav .upper_zone, nav .upper_zone li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

nav .upper_zone {
    font-size: 25px;
    float: right;
    display: flex;
    margin-top: -10px;
}

nav .upper_zone li:first-child {
    margin-top: 15px;
}
nav .upper_zone li:first-child h1{
    margin: 0;
}
nav .upper_zone li .btn {
    background: var(--color_dark_blue);
    color: var(--color_white);
    margin-left: 20px;
    border-radius: 0;
    margin-top: 9px;
    padding: 10px 20px;
}

.full_size_block ul, .full_size_block ul li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.full_size_block ul {
    display: flex;
    justify-content: center;
}

.full_size_block ul li {
    width: 20%;
    position: relative;
}

.full_size_block ul li img {
    opacity: 0.5;
}

.full_size_block ul li h3 {
    margin: 0;
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 10px 0;
    background: var(--color_dark_blue);
    font-weight: 300;
    color: var(--color_white);
}

.full_size_block ul li a:hover img {
    opacity: 1;
}

.full_size_block ul li a:hover h3 {
    background: var(--color_red);
}

.reg_block {
    padding: 50px 0;
}

.reg_block .red_block {
    background: var(--color_red);
    color: var(--color_white);
    padding: 25px;
    border-radius: 10px 10px 80px 10px;
    left: -50px;
    position: relative;
}

.reg_block h2 {
    color: var(--color_dark_blue);
    font-size: 50px;
    margin: 0 0 40px 0;
}

.reg_block .lower_txt {
    color: var(--color_black);
    font-weight: 100;
    font-size: 25px;
    margin: 0;
}

.reg_block .red_block h4 {
    margin: 0 0 70px 0;
}

.thumb_cate_block {
    padding: 50px 0 0 0;
    background: var(--color_light_blue);
}

.thumb_cate_block h2 {
    color: var(--color_dark_blue);
    margin-bottom: 50px;
}

.thumb_cate_block ul, .thumb_cate_block ul li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.thumb_cate_block ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.thumb_cate_block ul li {
    box-sizing: border-box;
    padding: 10px 30px;
    border: 3px solid var(--color_dark_blue);
    margin: 4px 4px 30px 4px;
    flex: 0 1 calc(20% - 15px);
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    background: var(--color_white);
}

.thumb_cate_block ul li.spl_thumb h3 {
    margin: 20px 0 40px 0;
    color: var(--color_dark_blue);
}

.thumb_cate_block ul li.spl_thumb p {
    font-size: 20px;

}

.thumb_cate_block ul li p {
    margin: 10px 0 0 0;
    line-height: 25px;
    font-size: 23px;
    font-weight: 700;
    color: var(--color_dark_blue);
}

.thumb_cate_block ul li a {
    text-decoration: none;
    display: block;
    height: auto;
}

.thumb_cate_block ul li:hover {
    background: #bfdd97;
    border-color: #23408e;
}
.thumb_cate_block ul li img{
    max-width: 70%;
}
.thumb_cate_block ul li:hover h3, .thumb_cate_block ul li:hover p {
    color: var(--color_white);
}

.consultation_block {
    padding: 100px 0;
    background: var(--color_dark_blue);
    color: var(--color_white);
}

.consultation_block h3 {
    margin: 0;
}

.consultation_block .btn {
    background: var(--color_red);
    color: var(--color_white);
    font-size: 20px;
    padding: 15px 30px;
}

.consultation_block .btn:hover{
    background: var(--color_white);
    color: var(--color_red);
}

.facility_reg_block {
    padding: 50px 0;
}

.facility_reg_block h2 {
    margin: 0 0 60px 0;
    color: var(--color_dark_blue);
}

.facility_reg_block .thumb_list, .facility_reg_block .thumb_list li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.facility_reg_block .thumb_list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-bottom: 20px;
}
.facility_reg_block .thumb_list li{
    border: 2px solid transparent;
}
.facility_reg_block .thumb_list li:hover{
    border-color:#0f4c91;
}
.facility_reg_block .thumb_list p {
    margin: 20px 0 5px 0;
    text-align: center;
    font-size: 25px;
    line-height: 30px;
    font-weight: 300;
}

.facility_reg_block .thumb_list a {
    text-decoration: none;
    color: var(--color_black);
}

.facility_reg_block .normal_list {
    background: url("../img/back_logo.png") no-repeat center right;
    background-size: contain;
    padding: 80px 0 200px 0;
}

.facility_reg_block .normal_list li {
    list-style-type: none;
}

.facility_reg_block .normal_list li a {
    text-decoration: none;
    color: var(--color_dark_blue);
}
.facility_reg_block .normal_list li h2{
    font-size: 30px;
    margin-bottom: 20px;
    font-weight: 100;
    color: var(--color_dark_blue);
}
.facility_reg_block .normal_list li h2::before {
    content: "»";
    margin-right: 40px;
}

.classification_block {
    padding: 50px 0;
    background: var(--color_light_blue);
}

.classification_block h2 {
    margin: 0 0 30px 0;
    color: var(--color_dark_blue);
}

.classification_block ul, .classification_block ul li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.classification_block ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;

}

.classification_block ul li {
    text-align: center;
    background: var(--color_white);
    box-sizing: border-box;
    position: relative;
    border: 2px solid var(--color_dark_blue);

    overflow: hidden;
}

.classification_block ul li:after {
    content: "";
    position: absolute;
    right: -11px;
    bottom: -11px;
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
    background: var(--color_dark_blue);
}

.classification_block ul li p {
    padding: 10px 0 30px 0;
    font-size: 25px;
    font-weight: 300;
    line-height: 35px;
    margin: 0;
}

.classification_block ul li a {
    color: var(--color_black);
    text-decoration: none;
    height: 100%;
    display: block;
}

.other_block {
    margin: 100px 0;
}

.other_block h1 {
    margin: 0 0 60px 0;
    color: var(--color_dark_blue);
}

.other_block ul, .other_block ul li {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.other_block ul li {
    list-style-type: none;
    font-size: 30px;
    margin-bottom: 20px;
    font-weight: 100;
    color: var(--color_dark_blue);
}

.other_block ul li a {
    text-decoration: none;
    color: var(--color_dark_blue);
}

footer {
    padding: 50px 0 100px 0;
    background: var(--color_black);
    color: var(--color_white);
}

footer img {
    max-width: 250px;
}

footer ul, footer ul li {
    padding: 0;
    margin: 0;
    list-style-type: none;

}

footer ul {
    font-size: 20px;
    margin-top: 30px;
    font-weight: 100;
}

footer ul li {
    margin-bottom: 15px;
}

footer ul li a {
    color: var(--color_white);
    text-decoration: none;
}

footer ul li a:hover {
    color: var(--color_red);
}

@media screen and (min-width: 1200px) and (max-width: 1230px) {
    .reg_block .red_block {
        left: 0;
    }
}

@media screen and (max-width: 1199px) {
    .reg_block h2 {
        font-size: 35px;
    }

    .full_size_block ul li h3 {
        font-size: 20px;
    }
    .classification_block ul {
        display: block;
    }

    .classification_block ul li {
        width: calc(20% - 10px);
        float: left;
        height: 330px;
        margin:5px;
    }

}

@media screen and (max-width: 1042px) {
    .reg_block .red_block {
        left: 0;
    }
}

@media screen and (min-width: 992px) and (max-width: 1062px) {
    .navbar-brand img {
        max-width: 250px;
        top: 5px;
        position: relative;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-top: 0;
        padding-bottom: 0;
    }

    nav .upper_zone {
        font-size: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {

    .reg_block h2 {
        font-size: 32px;
    }
    .navbar-brand img {
        max-width: 250px;
    }
}

@media screen and (max-width: 991px) {
    nav {
        padding: 0 0 10px 0 !important;
    }

    nav .upper_zone {
        margin: 20px auto;
        float: none;
    }

    nav .upper_zone li .btn, nav .upper_zone li:first-child {
        margin-top: 0;
    }

    .navbar-nav {
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .reg_block h2 {
        margin-top: 20px;
    }

    .thumb_cate_block ul {
        display: block;
    }

    .thumb_cate_block ul li {
        float: left;
        width: calc(50% - 10px);
        height: 280px;
    }

    .consultation_block .btn {
        margin-top: 10px;
    }

    .facility_reg_block .thumb_list li {
        margin-bottom: 20px;
    }

    .facility_reg_block .thumb_list p {
        font-size: 20px;
        line-height: 25px;
    }

    .facility_reg_block .normal_list li {
        font-size: 25px;
    }

    .facility_reg_block .normal_list li::before {
        margin-right: 20px;
    }

    .facility_reg_block .normal_list {
        padding: 0;
    }

    .classification_block ul li {
        width: calc(50% - 20px);
        float: left;
        height: 330px;
        margin-bottom: 20px;
    }

    .classification_block ul li:nth-child(odd) {
        margin-right: 10px;
    }

    .classification_block ul li:nth-child(even) {
        margin-left: 10px;
    }

    .other_block ul li {
        font-size: 20px;
    }

    footer img {
        margin: 0 0 40px 0;
        text-align: center;
    }

    footer ul {
        font-size: 15px;
    }

    footer ul li {
        margin-bottom: 5px;
    }

    .other_block {
        margin: 50px 0;
    }
    .navbar-light .navbar-toggler{
        margin: 0 auto;
    }
    .navbar-brand img {
        max-width: 300px;
    }
}

@media screen and (max-width: 710px) {
    .full_size_block ul {
        display: block;
    }

    .full_size_block ul li {
        width: 50%;
        float: left;
    }

    .full_size_block ul li:last-child {
        width: 100%;
    }
}

@media screen and (max-width: 576px) {


    footer {
        text-align: center;
        padding: 30px 0;
    }

    .classification_block ul li:nth-child(n), .facility_reg_block .thumb_list li {
        margin: 0 0 10px 0 !important;
        width: 100%;
        height: auto;
    }

    .facility_reg_block .thumb_list li img {
        margin: 0 auto;
        display: block;
    }

    nav .upper_zone {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    .consultation_block {
        padding: 50px 0;
    }

    .thumb_cate_block ul li {
        width: 100%;
        height: auto;
        float: none;
    }
}
