/* ----------------------------------------  */
/* ---------------- TITLE -----------------  */
/* ----------------------------------------  */
.title_type1 {
    display: flex;
    align-items: flex-end;
}

.title_type1 h2 {
    font-size: 70px;
    font-family: serif;
    margin-right: 30px;
    font-family: 'caveat-regular';
}

.title_type1 p {
    font-family: serif;
    position: relative;
    top: -16px;
    color: #000;
    font-size: 14px;
}

@media screen and (max-width: 480px) {
    .title_type1 h2 {
        font-size: 40px;
        margin-right: 20px;
    }

    .title_type1 p {
        top: -7px;
        font-size: 10px;
    }
}

.title_type2 {
    position: relative;
    margin: 35px 0;
}

.title_type2:before {
    content: "";
    background: #eee;
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    top: 0;
    bottom: 0;
    top: 50%;
    transform: translate(0, -50%);
}

.title_type2 h2 {
    margin: 0;
    font-size: 37px;
    position: relative;
    font-weight: bold;
    display: inline-block;
    background: #fff;
    margin-left: 50px;
    padding: 0 20px;
}

@media screen and (max-width: 480px) {
    .title_type2 h2 {
        font-size: 26px;
        margin-left: 20px;
    }
}

.title_type3 {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 40px;
    text-align: center;
}

.title_type3:before {
    position: absolute;
    content: '';
    background: #D90000;
    width: 40px;
    height: 3px;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

.title_type3 h2 {
    font-size: 45px;
    font-weight: bold;
}

.title_type3 p {
    font-size: 16px;
    font-weight: bold;
    margin-top: 5px;
}

@media screen and (max-width: 480px) {
    .title_type3 h2 {
        font-size: 30px;
    }
}

.title_type4 {
    text-align: center;
}

.title_type4 h2 {
    font-size: 30px;
    margin-bottom: 50px;
    position: relative;
    font-family: serif;
    font-weight: bold;
}

.title_type4 h2:after {
    position: absolute;
    content: '';
    width: 80px;
    height: 3px;
    bottom: -30%;
    left: 50%;
    transform: translate(-50%, 0);
}

.title_type4 img {
    width: 250px;
}

@media screen and (max-width: 480px) {
    .title_type4 h2 {
        font-size: 22px;
    }
}

.title_type5 {
    text-align: center;
}

.title_type5 h2 {
    font-size: 80px;
    font-family: 'caveat-regular';
    font-weight: normal;
}

.title_type5 p {
    font-size: 20px;
    color: #8a8a8a;
    font-weight: bold;
}

.title_type5 .char1 {
    text-transform: capitalize;
}

@media screen and (max-width: 480px) {
    .title_type5 h2 {
        font-size: 60px;
    }
}

.title_type6 {
    display: flex;
    align-items: flex-end;
    border-bottom: 1px solid #2e1706;
}

.title_type6 h2 {
    font-size: 90px;
    font-family: serif;
    margin-right: 30px;
    font-family: 'Allura-Regular';
    position: relative;
    top: 18px;
}

.title_type6 p {
    font-family: serif;
    position: relative;
    top: -16px;
    color: #000;
    font-size: 14px;
}

@media screen and (max-width: 480px) {
    .title_type6 h2 {
        font-size: 40px;
        margin-right: 20px;
        top: 6px;
    }

    .title_type6 p {
        top: -7px;
        font-size: 10px;
    }
}

.title_type7 {
    font-size: 30px;
    border-left: 4px solid #D90000;
    padding-left: 20px;
}

.title_type7 h2 {
    text-transform: uppercase;
}

.title_type7 p {
    font-size: 19px;
    font-weight: bold;
}

.title_type8 {
    font-size: 30px;
    position: relative;
}

@media screen and (max-width: 480px) {
    .title_type8 {
        font-size: 26px;
    }
}

.title_type9 {
    font-family: 'arialbd';
    font-weight: bold;
}

.title_type9 h2 {
    font-size: 90px;
}

.title_type9 p {
    font-size: 25px;
}

@media screen and (max-width: 480px) {
    .title_type9 h2 {
        font-size: 50px;
    }

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

.title_type10 {
    text-align: center;
    overflow: hidden;
    font-style: italic;
}

.title_type10 h2 {
    font-size: 50px;
    display: inline-block;
    position: relative;
}

.title_type10 h2:before,
.title_type10 h2:after {
    position: absolute;
    content: '';
    background: url(../images/title_type10_item.png);
    background-size: 7px;
    width: 230px;
    height: 10px;
    top: 50%;
    transform: translate(0, -50%);
    z-index: -1;
}

.title_type10 h2:before {
    left: -250px;
}

.title_type10 h2:after {
    right: -250px;
}

.title_type10 p {
    font-size: 19px;
    color: #777;
}

.title_type10 .char1 {
    text-transform: capitalize;
}

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

    .title_type10 p {
        font-size: 16px;
    }
}

.title_type11 {
    font-size: 28px;
    text-align: left;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    text-shadow: 1px 1px 0px #fff;
    justify-content: center;
    line-height: 1;
    font-family: serif;
    font-weight: bold;
}

.title_type11 h2 {
    line-height: 0.8;
    font-family: '07YasashisaAntique';
    font-weight: normal;
}

.title_type11 p {
    font-size: 20px;
    margin-left: 20px;
    text-transform: capitalize;
}

@media screen and (max-width: 768px) {
    .title_type11 {
        font-size: 18px;
    }

    .title_type11 p {
        font-size: 16px;
        margin-left: 15px;
    }
}

.title_type12 {
    text-align: center;
    margin-bottom: 30px;
    overflow: hidden;
}

.title_type12 h2 {
    font-size: 45px;
    position: relative;
    display: inline-block;
    text-transform: uppercase;
}

.title_type12 h2:before,
.title_type12 h2:after {
    position: absolute;
    content: '';
    width: 90px;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
    background: #000;
}

.title_type12 h2:before {
    left: -110px;
}

.title_type12 h2:after {
    right: -110px;
}

.title_type12 p {
    font-size: 20px;
    margin-top: 5px;
}

@media screen and (max-width: 480px) {
    .title_type12 h2 {
        font-size: 40px;
    }

    .title_type12 h2:before,
    .title_type12 h2:after {
        width: 40px;
    }

    .title_type12 h2:before {
        left: -50px;
    }

    .title_type12 h2:after {
        right: -50px;
    }

    .title_type12 p {
        font-size: 17px;
    }
}

.title_type13 {
    text-align: center;
    font-family: serif;
    overflow: hidden;
}

.title_type13 h2 {
    position: relative;
    display: inline-block;
    font-size: 46px;
    font-weight: normal;
}

.title_type13 h2:before,
.title_type13 h2:after {
    position: absolute;
    content: '';
    width: 90px;
    height: 25px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
}

.title_type13 h2:before {
    left: -120px;
    background: url(../images/title_type13_item1.png) center / cover;
}

.title_type13 h2:after {
    right: -120px;
    background: url(../images/title_type13_item2.png) center / cover;
}

.title_type13 p {
    font-size: 16px;
    color: #333;
    font-family: serif;
}

.title_type13 h2 .char1 {
    text-transform: capitalize;
}

@media screen and (max-width: 480px) {
    .title_type13 h2 {
        font-size: 40px;
    }

    .title_type13 p {
        font-size: 15px;
    }

    .title_type13 h2:before,
    .title_type13 h2:after {
        width: 53px;
        height: 14px;
    }

    .title_type13 h2:before {
        left: -65px;
    }

    .title_type13 h2:after {
        right: -65px;
    }
}

/* ----------------------------------------  */
/* ---------------- TEXT ------------------  */
/* ----------------------------------------  */
.text_type1 {
    font-size: 60px;
}

.text_type1 span {
    font-size: 30px;
    display: block;
}

@media screen and (max-width: 480px) {
    .text_type1 {
        font-size: 40px;
    }

    .text_type1 span {
        font-size: 26px;
    }
}

.text_type2 {
    text-align: right;
    margin-top: 20px;
}

.text_type2 p {
    display: inline-block;
    color: #fff;
    padding: 5px 10px;
    font-size: 18px;
    font-weight: bold;
}

.text_type2 p i {
    margin-right: 4px;
}

.text_type3 p {
    display: inline-block;
    font-size: 20px;
    text-align: center;
    width: 100%;
}

.text_type3 p span {
    font-size: 30px;
    color: #97d5b0;
    font-weight: bold;
}

@media screen and (max-width: 480px) {
    .text_type3 p {
        font-size: 16px;
    }

    .text_type3 p span {
        font-size: 22px;
    }
}

.text_type4 p {
    margin-bottom: 10px;
    font-size: 17px;
    font-family: serif;
}

.text_type4 p span {
    font-size: 14px;
    background: #f88787;
    padding: 5px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 10px;
    color: #fff;
    margin-left: 10px;
}

.text_type5 {
    margin: 10px 0;
}

.text_type5 p {
    border: 2px solid;
    padding: 5px 15px;
    background: #fff;
    display: inline-block;
}

.text_type6 p {
    text-align: center;
}

.text_type7 p {
    font-weight: bold;
    font-size: 19px;
    margin: 20px 0;
    color: #7f9f80;
    font-family: serif;
}

.text_type8 {
    display: flex;
    justify-content: space-between;
    border-bottom: 2px solid #fae2f9;
    border-left: 5px solid #fae2f9;
    margin-bottom: 30px;
    padding: 7px 0 7px 15px;
    font-weight: bold;
    font-size: 18px;
}

.text_type8 span {
    font-weight: normal;
    font-size: 15px;
}

/* ----------------------------------------  */
/* ---------------- IMAGE -----------------  */
/* ----------------------------------------  */
.image_type1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
}

.image_type1 li {
    width: 48%;
    margin-bottom: 30px;
}

.image_type1 li img {
    width: 100%;
}

.image_type1 li canvas {
    height: 19vw;
}

.image_type1 li h3 {
    text-align: center;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .image_type1 li canvas {
        height: 30vw;
    }
}

@media screen and (max-width: 480px) {
    .image_type1 li {
        margin-bottom: 20px;
    }
}

.image_type2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.image_type2:after {
    content: '';
    width: 32%;
}

.image_type2 li {
    width: 32%;
    margin-bottom: 20px;
}

.image_type2 li img {
    width: 100%;
}

.image_type2 li canvas {
    width: 100%;
    height: 17vw;
}

@media screen and (max-width: 768px) {
    .image_type2 li canvas {
        height: 21vw;
    }
}

.image_type3 {
    display: flex;
    flex-wrap: wrap;
}

.image_type3 li {
    margin-bottom: 20px;
}

.image_type3 li img {
    height: 225px;
}

.image_type3 li:not(:last-child) {
    margin-right: 20px;
}

.image_type4 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.image_type4 li {
    width: 24%;
    margin-bottom: 15px;
}

@media screen and (max-width: 480px) {
    .image_type4 li {
        width: 32%;
        margin-bottom: 10px;
    }
}

.image_type5 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
}

.image_type5:after {
    content: '';
    width: 32%;
}

.image_type5>li {
    width: 32%;
    margin-bottom: 30px;
    border: 7px double #FF8210;
    box-shadow: 0 0 6px #ddd;
}

.image_type5>li>a {
    display: block;
    padding: 10px;
}

.image_type5>li img {
    width: 100%;
    box-shadow: 0 0 6px #ddd;
    border-radius: 10px;
}

.image_type5>li canvas {
    width: 100%;
    height: 17vw;
}

.image_type5>li h3 {
    text-align: center;
    margin-top: 10px;
    font-size: 19px;
}

.image_type5>li>a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 480px) {
    .top_service {
        padding: 130px 0 90px;
    }

    .image_type5>li {
        width: 100%;
        margin-bottom: 0;
    }

    .image_type5>li:not(:last-child) {
        margin-bottom: 20px;
    }

    .image_type5>li canvas {
        height: 60vw;
    }
}

/* ----------------------------------------  */
/* ------------------ UL ------------------  */
/* ----------------------------------------  */
.ul_type1 li {
    position: relative;
    display: flex;
}

.ul_type1 li:not(:last-child) {
    margin-bottom: 10px;
}

.ul_type1 li:before {
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: relative;
    border-radius: 50px;
    margin-right: 10px;
    display: block;
    font-size: 24px;
    color: #57AEFF;
}

.ul_type2 {
    border: 3px solid #57AEFF;
    padding: 30px 40px;
    width: 100%;
    margin: 10px auto 20px;
    box-sizing: border-box;
    box-shadow: 0 0 5px #e5e5e5;
}

.ul_type2 li {
    font-weight: bold;
    display: flex;
    align-items: center;
}

.ul_type2 li:not(:last-child) {
    margin-bottom: 12px;
}

.ul_type2 li:before {
    font-family: "Font Awesome 5 Free";
    content: '\f058';
    font-weight: 900;
    margin-right: 10px;
    font-size: 18px;
    vertical-align: middle;
    color: #57AEFF;
}

@media screen and (max-width: 480px) {
    .ul_type2 {
        padding: 30px 20px;
    }
}

.ul_type3 li {
    position: relative;
    display: flex;
}

.ul_type3 li:not(:last-child) {
    margin-bottom: 5px;
}

.ul_type3 li:before {
    position: relative;
    content: '●';
    border-radius: 50px;
    font-size: 11px;
    margin-right: 10px;
    display: block;
}

.ul_type4 {
    counter-reset: number;
    margin-bottom: 40px;
}

.ul_type4 li {
    font-weight: bold;
    display: flex;
    align-items: center;
}

.ul_type4 li:not(:last-child) {
    margin-bottom: 10px;
}

.ul_type4 li span {
    margin-right: 30px;
    color: #b8a281;
    font-style: italic;
}

.ul_type4 li span:after {
    counter-increment: number;
    content: counter(number);
    font-size: 27px;
    margin-left: 5px;
}

@media screen and (max-width: 480px) {
    .ul_type4 li {
        flex-wrap: wrap;
    }

    .ul_type4 li span {
        width: 100%;
        border-bottom: 1px solid;
        margin-bottom: 5px;
        margin-right: 0;
    }
}

.ul_type5 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.ul_type5 li {
    width: 48%;
    margin-bottom: 40px;
    background: #fff;
    color: #57AEFF;
    text-align: center;
    border: 3px solid;
    border-radius: 10px;
}

.ul_type5 li a {
    padding: 60px 30px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.ul_type5 li:nth-child(1),
.ul_type5 li:nth-child(1) a {
    color: #57AEFF;
    border-color: #57AEFF;
}

.ul_type5 li:nth-child(2),
.ul_type5 li:nth-child(2) a {
    color: #F8C42B;
    border-color: #F8C42B;
}

.ul_type5 li:nth-child(3),
.ul_type5 li:nth-child(3) a {
    color: #FF8486;
    border-color: #FF8486;
}

.ul_type5 li:nth-child(4),
.ul_type5 li:nth-child(4) a {
    color: #68D09B;
    border-color: #68D09B;
}

.ul_type5 li h3 {
    font-size: 30px;
    margin-top: 20px;
}

.ul_type5 li i {
    font-size: 100px;
}

@media screen and (max-width: 768px) {
    .ul_type5 li a {
        padding: 50px 10px;
    }

    .ul_type5 li h3 {
        font-size: 20px;
    }

    .ul_type5 li i {
        font-size: 70px;
    }
}

.ul_type6>li {
    padding: 20px 0;
}

.ul_type6>li:not(:last-child) {
    border-bottom: 2px dotted #eee;
}

/* ----------------------------------------  */
/* ------------------- H2 -----------------  */
/* ----------------------------------------  */
.h2_type1 {
    position: relative;
    font-weight: bold;
    font-size: 36px;
    text-align: center;
    margin-bottom: 50px;
}

.h2_type1:after {
    position: absolute;
    content: '';
    width: 50px;
    height: 3px;
    bottom: -10px;
    left: 50%;
    transform: translate(-50%, 0);
    background: #FF8210;
}

@media screen and (max-width: 480px) {
    .h2_type1 {
        font-size: 28px;
    }
}

.h2_type2 {
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 20px;
    border-bottom: 4px double #eee;
    text-align: center;
}

@media screen and (max-width: 480px) {
    .h2_type2 {
        font-size: 21px;
    }
}

.h2_type3 {
    position: relative;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    font-family: serif;
    color: #D90000;
    line-height: 1;
}

@media screen and (max-width: 480px) {
    .h2_type3 {
        font-size: 20px;
        line-height: 1.3;
    }
}

/* ----------------------------------------  */
/* ------------------- H3 -----------------  */
/* ----------------------------------------  */
.h3_type1 {
    font-weight: bold;
    font-size: 23px;
    text-align: center;
    border-bottom: 2px solid #D90000;
    font-family: serif;
    display: inline-block;
}

.h3_type2 {
    font-size: 26px;
    border-bottom: 4px double #eee;
    margin-bottom: 20px;
    font-weight: bold;
    font-family: serif;
}

.h3_type2 span {
    font-size: 17px;
    color: #000;
    margin-left: 20px;
    display: inline-block;
    position: relative;
    bottom: 2px;
}

@media screen and (max-width: 480px) {
    .h3_type2 {
        font-size: 20px;
    }
}

.h3_type3 {
    color: #fff;
    padding: 10px;
    font-weight: bold;
    font-size: 22px;
    background: #D90000;
    text-align: center;
    line-height: 1.3;
}

.h3_type4 {
    font-size: 25px;
    font-weight: bold;
    border-left: 8px solid #D90000;
    border-bottom: 2px solid #D90000;
    padding-left: 18px;
}

@media screen and (max-width: 480px) {
    .h3_type4 {
        font-size: 20px;
    }
}

.h3_type5 {
    background: #ffffef;
    padding: 20px 30px;
    text-align: center;
    font-weight: bold;
}

.h3_type6 {
    position: relative;
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    margin-bottom: 50px;
    font-family: serif;
}

.h3_type6:after {
    position: absolute;
    content: '';
    width: 50px;
    height: 2px;
    bottom: -10px;
    left: 50%;
    transform: translate(-50%, 0);
    background: #000;
}

@media screen and (max-width: 480px) {
    .h3_type6 {
        font-size: 20px;
    }
}

.h3_type7 {
    font-weight: bold;
    font-size: 24px;
    text-align: center;
}

@media screen and (max-width: 480px) {
    .h3_type7 {
        font-size: 20px;
    }
}

.h3_type8 {
    font-size: 22px;
    font-weight: bold;
    border-bottom: 2px solid #D90000;
    margin-bottom: 15px;
}

@media screen and (max-width: 480px) {
    .h3_type8 {
        font-size: 20px;
    }
}

.h3_type9 {
    position: relative;
    font-weight: bold;
    font-size: 21px;
    font-family: serif;
    text-align: center;
}

.h3_type9:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 2px;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
}

.h3_type9 span {
    background: #fff;
    position: relative;
    z-index: 1;
    padding: 0 20px;
}

@media screen and (max-width: 480px) {
    .h3_type9 {
        font-size: 18px;
    }
}

/* ----------------------------------------  */
/* ------------------- H4 -----------------  */
/* ----------------------------------------  */
.h4_type1 {
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 21px;
    color: #fe80a3;
}

.h4_type2 {
    font-size: 18px;
    border-left: 5px solid #D90000;
    padding-left: 10px;
    margin-bottom: 5px;
    font-weight: bold;
}

.h4_type3 {
    border-bottom: 2px solid #74d1b8;
    display: inline-block;
    margin-bottom: 6px;
    font-size: 18px;
}

.h4_type4 {
    display: inline-block;
    border-bottom: 3px dotted #ffd7f0;
    margin-bottom: 10px;
}

/* ----------------------------------------  */
/* ------------------- H5 -----------------  */
/* ----------------------------------------  */
.h5_type1 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
    border-bottom: 2px solid #D90000;
    padding-bottom: 2px;
    display: inline-block;
}

.h5_type2 {
    font-size: 18px;
    color: #97c594;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 10px;
}

.h5_type3 {
    font-size: 16px;
    color: #97c594;
    margin-bottom: 5px;
}

/* ----------------------------------------  */
/* ------------------- P ------------------  */
/* ----------------------------------------  */
.p_type1 {
    border-left: 6px solid;
    padding-left: 20px;
    font-weight: bold;
}

.p_type2 {
    background: #d9ebf8;
    padding: 20px;
}

.p_type3 {
    font-weight: bold;
    font-size: 15px;
    text-decoration: underline;
    margin-top: 5px;
}

.p_type4 {
    font-weight: bold;
    color: #b8a281;
    border-bottom: 2px dotted;
    margin-top: 15px;
    margin-bottom: 12px;
}

.p_type5 {
    font-weight: bold;
    color: #ffc2ba;
    font-size: 19px;
    margin-bottom: 5px;
}

/* ----------------------------------------  */
/* ----------------- SPAN -----------------  */
/* ----------------------------------------  */
.span_type1 {
    color: #7bcfc7;
    font-weight: bold;
    border-bottom: 1px dashed #7bcfc7;
}

.span_type2 {
    color: #d2bf77;
    font-weight: bold;
    border-bottom: 1px dashed #d2bf77;
}

.span_type3 {
    color: #fff;
    padding: 7px 20px;
    display: inline-block;
    font-weight: bold;
    font-size: 20px;
}

@media screen and (max-width: 480px) {
    .span_type3 {
        font-size: 14px;
        padding: 7px 10px;
    }
}

/* ----------------------------------------  */
/* ---------------- TABLE -----------------  */
/* ----------------------------------------  */
.table_type1 {
    width: 100%;
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse;
    border: 1px solid #333;
}

.table_type1 tr:not(:last-child) {
    border-bottom: 1px solid #333;
}

.table_type1 tr th {
    background: #deb957;
    width: 15%;
    padding: 35px 0;
    font-weight: normal;
}

.table_type1 tr td {
    padding-left: 20px;
}

@media screen and (max-width:1024px) {
    .table_type1 tr th {
        width: 30%;
    }
}

.table_type2 {
    width: 100%;
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse;
}

.table_type2 tr:not(:last-child) {
    border-bottom: 1px solid #333;
}

.table_type2 tr th {
    width: 7%;
    padding: 35px 0;
    font-weight: normal;
    text-align: left;
    color: #deb957;
}

.table_type2 tr td {
    padding-left: 20px;
}

@media screen and (max-width:1024px) {
    .table_type2 tr th {
        width: 20%;
    }
}

.table_type3 {
    width: 100%;
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse;
    border: 1px solid #333;
}

.table_type3 tr:not(:last-child) {
    border-bottom: 1px solid #333;
}

.table_type3 tr th {
    background: #deb957;
    color: #fff;
    font-size: 14px;
    width: 25%;
    padding: 35px 0;
    font-weight: bold;
}

.table_type3 tr td {
    padding: 30px 20px;
}

@media screen and (max-width:1024px) {
    .table_type3 tr th {
        width: 30%;
    }

    .table_type3 tr td {
        padding: 30px 18px;
    }
}

.table_type4 {
    width: 100%;
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse;
    border: 1px solid #e5e5e5;
}

.table_type4 tr:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}

.table_type4 tr th {
    background: #57AEFF;
    padding: 10px 0;
    font-weight: bold;
    border-right: 1px solid #e5e5e5;
    color: #fff;
    text-align: center;
}

.table_type4 tr td {
    padding: 10px 30px;
    border-right: 1px solid #e5e5e5;
    background: #fff;
    font-size: 15px;
    width: 70%;
}

.table_type4 .c1 {
    background: #f3f8ff;
}

@media screen and (max-width: 480px) {
    .table_type4 tr th {
        font-size: 11px;
        padding: 7px 5px;
    }

    .table_type4 tr td {
        padding: 10px;
        font-size: 10px;
    }
}

.table_type5 {
    width: 100%;
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse;
    border: 1px solid #555;
}

.table_type5 tr th {
    background: #2763a2;
    padding: 10px 0;
    font-weight: bold;
    border-right: 1px solid #555;
    color: #fff;
    text-align: center;
}

.table_type5 tr:not(:last-child) th {
    border-bottom: 1px solid #fff;
}

.table_type5 tr td {
    padding: 14px 20px;
    text-align: center;
    border-right: 1px solid #555;
    background: #fff;
    font-size: 15px;
}

.table_type5 tr:not(:last-child) td {
    border-bottom: 1px solid #555;
}

@media screen and (max-width: 480px) {
    .table_type5 tr th {
        font-size: 11px;
        padding: 7px 5px;
    }

    .table_type5 tr td {
        padding: 7px 5px;
        font-size: 10px;
    }
}

/* ----------------------------------------  */
/* ---------------- BUTTON ----------------  */
/* ----------------------------------------  */
.button_type1 {
    width: 100%;
    font-weight: bold;
    position: relative;
    transition: 0.3s;
}

.button_type1 a {
    text-align: center;
    padding: 18px 90px;
    color: #fff;
    display: inline-block;
    border-radius: 100px;
    overflow: hidden;
    position: relative;
    background: #D90000;
    transition: 0.3s;
    border: 1px solid #D90000;
}

.button_type1 a:before {
    position: absolute;
    content: '';
    background: #fff;
    width: 100%;
    height: 100%;
    top: 100%;
    left: 0;
    transition: 0.3s;
}

.button_type1 a:after {
    content: '>';
    z-index: 2;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
}

.button_type1 a span {
    position: relative;
    z-index: 2;
}

.button_type1 a:hover {
    color: #D90000;
}

.button_type1 a:hover:before {
    top: 0;
}

@media screen and (max-width: 480px) {
    .button_type1 a {
        padding: 20px 35px 20px 20px;
    }

    .button_type1 a:after {
        right: 15px;
    }
}

.button_type2 {}

.button_type2 a {
    padding: 30px 60px;
    box-sizing: border-box;
    display: block;
    text-align: center;
    position: relative;
    z-index: 1;
    background: #D90000;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
}

.button_type2 a:after {
    content: '>';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
}

.button_type2 a:hover {
    opacity: 0.7;
}

.button_type3 a {
    padding: 13px 70px;
    text-align: center;
    display: inline-block;
    border: 1px solid;
    position: relative;
    font-weight: bold;
}

.button_type3 a:after {
    content: '>';
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translate(0, -50%);
    transition: 0.2s;
}

.button_type3 a:hover:after {
    transform: translate(5px, -50%);
}

.button_type4 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    position: relative;
    border-radius: 50px;
    border: 1px solid;
    transition: 0.3s;
    box-sizing: border-box;
    overflow: hidden;
}

.button_type4:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 10px;
    transform: scale3d(0, 0, 1);
    transition: 0.3s;
}

.button_type4 a {
    display: block;
    width: 100%;
    padding: 8px 10px 8px 10px;
    text-align: center;
    position: relative;
    z-index: 1;
    font-size: 16px;
    font-family: serif;
}

.button_type4 span {
    color: #fff;
}

.button_type4 span:after {
    font-family: "Font Awesome 5 Free";
    content: '\f061';
    font-weight: 900;
    margin-left: 20px;
}

.button_type4:hover span,
.button_type4:hover i {
    position: relative;
    z-index: 1;
}

.button_type4:hover:after {
    transform: scale3d(1.02, 1, 1);
}

.button_type4 i {
    font-size: 30px;
    padding-left: 20px;
}

.button_type5 {
    text-align: right;
}

.button_type5 a {
    padding-right: 60px;
    display: inline-block;
    border-bottom: 1px solid;
    position: relative;
    font-weight: bold;
    font-size: 21px;
}

.button_type5 a:after {
    position: absolute;
    content: '';
    width: 30px;
    height: 1px;
    background: #000;
    bottom: 5px;
    right: -2px;
    z-index: 4;
    transform: rotateZ(25deg);
}

.button_type6 {
    font-weight: bold;
    position: relative;
    transition: 0.5s;
    box-sizing: border-box;
    overflow: hidden;
    /* border-radius: 10px; */
    pointer-events: all;
}

.button_type6 a {
    text-align: center;
    color: #fff;
    background: #D90000;
    position: relative;
    display: inline-block;
    padding: 17px 40px;
    overflow: hidden;
}

.button_type6 a:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: translateX(-100%);
    transition: 0.3s;
    z-index: 1;
    pointer-events: none;
}

.button_type6 a:hover {
    color: #D90000;
}

.button_type6 a:hover:after {
    transform: translateX(0);
}

.button_type6 span {
    position: relative;
    z-index: 2;
}

.button_type6 span:after {
    content: '>';
    font-weight: 900;
    font-size: 25px;
    padding-left: 20px;
    vertical-align: middle;
}

@media screen and (max-width: 480px) {
    .button_type4 a {
        font-size: 14px;
    }

    .button_type4 span:after {
        margin-left: 10px;
    }

    .button_type5 a {
        font-size: 17px;
    }

    .button_type6 a {
        padding: 10px;
        font-size: 14px;
    }

    .button_type6 span::after {
        padding-left: 10px;
        font-size: 20px;
    }
}

/* ----------------------------------------  */
/* ---------------- DL --------------------  */
/* ----------------------------------------  */
.dl_type1>dl:not(:last-child) {
    margin-bottom: 10px;
}

.dl_type1>dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border: 1px solid;
}

.dl_type1>dl>dt {
    padding: 20px;
    width: 25%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid;
    font-weight: bold;
    color: #fff;
    background: #000;
    font-size: 18px;
}

.dl_type1>dl>dd {
    width: 75%;
    padding: 20px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 480px) {
    .dl_type1>dl>dt {
        width: 100%;
        font-size: 16px;
        padding: 10px;
        border-right: none;
    }

    .dl_type1>dl>dd {
        width: 100%;
        font-size: 16px;
    }

    .dl_type1>dl .t1 {
        text-align: center;
    }
}

.dl_type2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.dl_type2>dl {
    width: 32%;
    margin-bottom: 30px;
    background: #fff;
    box-shadow: 0px 0px 10px #999;
}

.dl_type2>dl>dt {
    font-weight: bold;
    padding: 60px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #c30b0b;
    color: #fff;
    font-size: 26px;
}

.dl_type2>dl>dd {
    padding: 30px;
    text-align: center;
}

.dl_type2>dl>dd h3 {
    margin-bottom: 10px;
}

.dl_type2>dl>dd .t1 {
    font-size: 24px;
    font-weight: bold;
    color: #2e93f7;
}

.dl_type2>dl>dd .t1 span {
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .dl_type2>dl {
        width: 100%;
    }

    .dl_type2>dl>dt {
        font-size: 23px;
    }
}

.dl_type3 {}

.dl_type3>dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.dl_type3>dl:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.dl_type3>dl>dt {
    font-weight: bold;
    display: flex;
    align-items: center;
    width: 20%;
    color: #D90000;
}

.dl_type3>dl>dd {
    width: 78%;
    font-size: 15px;
}

@media screen and (max-width: 480px) {
    .dl_type3>dl>dt {
        width: 100%;
    }

    .dl_type3>dl>dd {
        width: 100%;
    }
}

.dl_type4>dl:not(:last-child) {
    margin-bottom: 20px;
}

.dl_type4>dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.dl_type4>dl>dt {
    font-size: 20px;
    padding: 10px 15px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #000;
    font-weight: bold;
}

.dl_type4>dl>dd {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid;
    background: rgba(255, 255, 255, 0.8);
}

.dl_type5 {
    margin: 15px 0;
}

.dl_type5>dl {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 0;
    border-bottom: 1px solid #333;
}

.dl_type5>dl:first-child {
    border-top: 1px solid #333;
}

.dl_type5>dl>dt {
    display: flex;
    align-items: center;
    width: 20%;
    font-weight: bold;
}

.dl_type5>dl>dd {
    width: 80%;
    font-size: 15px;
}

@media screen and (max-width: 480px) {
    .dl_type5>dl>dt {
        width: 100%;
    }

    .dl_type5>dl>dd {
        width: 100%;
    }
}

.dl_type6 {
    margin-bottom: 30px;
}

.dl_type6>dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 2px dotted #eee;
    padding: 5px 0;
    font-size: 18px;
}

.dl_type6>dl:not(:last-child) {
    margin-bottom: 10px;
}

.dl_type6>dl>dt {
    width: 73%;
    border-left: 9px solid #D90000;
    padding-left: 10px;
}

.dl_type6>dl>dd {
    width: 25%;
    text-align: right;
}

.dl_type6>dl>dd span {
    display: inline-block;
    width: 100px;
    text-align: right;
}

@media screen and (max-width: 480px) {
    .dl_type6>dl>dt {
        width: 100%;
        margin-bottom: 10px;
    }

    .dl_type6>dl>dd {
        width: 100%;
        text-align: left;
    }

    .dl_type6>dl>dd span {
        width: 90px;
        display: inline-block;
    }
}

.dl_type7 {
    background: #FDFFEE;
    padding: 40px;
}

.dl_type7>dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 2px dotted #eee;
    padding-bottom: 15px;
}

.dl_type7>dl:not(:last-child) {
    margin-bottom: 30px;
}

.dl_type7>dl>dt {
    width: 52%;
    font-weight: bold;
}

.dl_type7>dl>dt h3 {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 18px;
}

.dl_type7>dl>dt p {
    font-size: 14px;
}

.dl_type7>dl>dd {
    width: 45%;
    text-align: right;
}

.dl_type7>dl>dd span {
    display: inline-block;
    width: 100px;
    text-align: right;
}

@media screen and (max-width: 480px) {
    .dl_type7 {
        padding: 30px;
    }

    .dl_type7>dl>dt {
        width: 100%;
        margin-bottom: 10px;
    }

    .dl_type7>dl>dt h3 {
        font-size: 16px;
    }

    .dl_type7>dl>dt p {
        font-size: 13px;
    }

    .dl_type7>dl>dd {
        width: 100%;
        text-align: left;
    }

    .dl_type7>dl>dd span {
        width: 90px;
        display: inline-block;
    }
}


/* ----------------------------------------  */
/* ---------------- ITEM ------------------  */
/* ----------------------------------------  */
.item_type1 img {
    position: absolute;
    height: auto;
    z-index: -1;
    opacity: 0.5;
}

.item_type1 img:nth-child(1) {
    top: 20px;
    left: 30px;
    width: 170px;
    /* transform: rotate(85deg); */
}

.item_type1 img:nth-child(2) {
    bottom: 20px;
    right: 20px;
    width: 170px;
    /* transform: rotate(85deg); */
}

@media screen and (max-width: 768px) {
    .item_type1 img:nth-child(1) {
        width: 110px;
        top: 0;
        left: 0;
    }

    .item_type1 img:nth-child(2) {
        width: 110px;
        bottom: -40px;
    }
}

.item_type2 img {
    position: absolute;
    height: auto;
    z-index: 1;
    top: -150px;
    left: 140px;
    width: 150px;
    height: auto;
    /* transform: rotate(-25deg); */
    opacity: 1;
}

.item_type3 img {
    position: absolute;
    height: auto;
    z-index: 1;
    bottom: -160px;
    right: 70px;
    width: 170px;
    /* transform: rotate(-5deg); */
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .item_type2 img {
        top: -155px;
    }

    .item_type3 img {
        right: 30px;
        bottom: -100px;
        width: 140px;
    }
}

@media screen and (max-width: 480px) {
    .item_type2 img {
        top: -50px;
        left: 20px;
        width: 75px;
    }

    .item_type3 img {
        width: 120px;
        bottom: -110px;

    }
}

/* ----------------------------------------  */
/* --------------- BORDER -----------------  */
/* ----------------------------------------  */
.border_type1 {
    border: 3px dotted #e5e5e5;
    padding: 20px;
    margin-bottom: 40px;
}

.border_type2 {
    border-bottom: 5px double #e5e5e5;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

/* ----------------------------------------  */
/* --------------- FLEX -----------------  */
/* ----------------------------------------  */
.flex_type1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.flex_type1>div:first-child {
    width: 35%;
}

.flex_type1>div:first-child img {
    width: 100%;
}

.flex_type1>div:last-child {
    width: 60%;
}

@media screen and (max-width: 480px) {
    .flex_type1>div:first-child {
        width: 100%;
        margin-bottom: 20px;
    }

    .flex_type1>div:last-child {
        width: 100%;
    }
}

.flex_type2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 120px;
    position: relative;
}

.flex_type2>div:first-child {
    width: 65%;
    background: #fff;
    z-index: 1;
    border-radius: 25px;
    box-shadow: 4px 4px 4px #ccc;
    padding: 80px 60px;
}

.flex_type2>div:last-child {
    width: 51%;
    position: absolute;
    top: 0;
    right: 0;
}

.flex_type2.reverse>div:last-child {
    top: 0;
    right: auto;
    left: 0;
}

@media screen and (max-width: 768px) {
    .flex_type2 {
        padding-top: 250px;
    }

    .flex_type2>div:first-child {
        width: 95%;
        margin-bottom: 20px;
        padding: 80px 30px;
    }

    .flex_type2>div:last-child {
        width: 100%;
    }
}