.visual{position: relative;}
.visual img{width: 100%;  height: 200px;
    object-fit: cover;
    object-position: center;}
.visual div{position: absolute; left: 50%; top: 62%; transform: translate(-50%,-50%);
    font-size: 1.71rem; font-weight: 600; color: #fff; text-align: center;}
.visual div span{display: block;}
.visual div span:nth-of-type(1){font-size: .86rem; font-weight: 500; font-family: "Montserrat", sans-serif;}

.title_area{padding: 60px 12px; position: relative;}
.title_area .line_map{font-size: .71rem; color: #666;}
.title_area .sub_title{display: flex; align-items: center; gap: 6px;}
.title_area .sub_title h2{font-size: 2rem; font-weight: 700; margin: 6px 0 15px;}
.title_area .sub_title span{font-size: 2.57rem; margin-bottom: 5px;}

.title_area .sub_nav{
    background: #fff; border-top: 1px solid #999;
    margin-bottom: 15px;
    padding-top: 5px;
    display: none;}
.title_area .sub_nav a{font-size: 1.2rem; padding: 5px 0; color: #888;}
.title_area .sub_nav a.current{font-weight: 500; color: #555;}

.title_area p{font-size: 1rem; height: 60px; font-weight: 500;}

.content_area{padding: 0 12px;}

.content_area .tab_menu{position: relative; padding-bottom: 25px;}
.content_area .tab_trigger{color: #fff; font-weight: 700; font-size: 1.14rem;
    position: relative; z-index: 20;
     background: #333; border-radius: 10px; padding: 8px 10px;
    display: flex; align-items: center; justify-content: space-between;}
.content_area .tab_trigger div{background: #fff; color: #333;
        width: 25px; height: 25px; border-radius: 50%; display: flex; align-items: center; justify-content: center;}
.content_area .tab_trigger div span{display: block;}

.content_area .tab_list{padding: 50px 10px 10px; background: #f7f7f7;
    position: absolute; top: 0; width: calc(100% - 20px);
    border-radius: 0 0 5px 5px;
    z-index: 10;
    display: none;}
.content_area .tab_list a{padding: 5px; font-weight: 500; color: #888;}
.content_area .tab_list a.current{font-weight: 600; color: #555;}