.inner h2{
	margin: 0px!important;
}
.form_box{
    max-width: 100%;
}
.flexbox20{
	display: flex;
	gap: 20px;
	flex-direction: column;
}
.flexbox24{
	display: flex;
	gap: 24px;
	flex-direction: column;
}
.flexbox50{
	display: flex;
	gap: 50px;
	flex-direction: column;
}
.flexbox130{
	display: flex;
	gap: 130px;
	flex-direction: column;
}
.flexbox55{
	display: flex;
	gap: 55px;
	flex-direction: column;
}
.flexbox65{
	display: flex;
	gap: 65px;
	flex-direction: column;
}
.value_box{
	margin: 0px;
}
p,span{
	font-family: "Times New Roman";
}
h1,h2,h3,h4,h5{
	font-family: "Arial";
}
#overview p{
	text-align: left;
	font-size: 35px;
	font-family: "Times New Roman";
	font-style: normal;
	font-weight: 400;
	line-height: 1.3;
	margin: 0px;
}

/* --- HERO BANNER STYLES --- */
.hero-section {
  position: relative;
  width: 100%;
  height: 870px;
  background: url('../images/top/vi/top_hero.webp') no-repeat center center/cover;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-title {
  	color: #FFF;
	text-align: center;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.50);
	font-family: Arial;
	font-size: 48px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0px;
	margin-top: 120px;
}

.hero-title .highlight {
  	color: #FF0;
	font-family: Arial;
	font-size: 48px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.50);
}

.hero-description {
  	color: #FFF;
	text-align: center;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.50);
	font-family: Arial;
	font-size: 40px;
	font-style: normal;
	font-weight: bold;
	line-height: 56px;
	max-width: 1250px;
	margin-top: 150px;
}

#value::before {
  background: url(../images/top/vi/value_bg.webp) center bottom / cover no-repeat;
}

.value-overlay{
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.4);
    z-index: 1;
}

.value_content{
	position: relative;
	z-index: 2;
}

h2 span{
	font-family: Arial;
}

.value_content .value_box ul{
	background: rgba(255, 255, 255, 0.70);
	padding: 24px;
	max-width: 520px;
}

.value_box h4{
	line-height: normal;
	font-family: Arial;
}
.value_box p{
	font-size: 18px;
	font-family: Arial;
}

#strengths{
	padding: 80px 0px;
}

.listbox_strenths{
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
}
#strengths .strenthsCard{
	margin: 0px;
	left: 0px;
}

#strengths .boxdes{
	font-family: Arial;
	font-size: 16px;
}
#strengths .strenthsCard .text>p{
	font-size: 14px;
	font-family: Arial;
	line-height: normal;
}

#strengths .strenthsCard .number{
	font-family: Arial;
}

#services{
	padding: 80px 0px;
}

.service_box{
	display: flex;
	max-width: 1080px;
	padding: 60px;
	flex-direction: column;
	justify-content: center;
	gap: 40px;
	background: #FFF;
	box-shadow: 0 10px 50px 0 rgba(0, 0, 0, 0.20);
}

.intro{
    display:flex;
    gap:40px;
    align-items:center;
}

.intro-image{
    flex:0 0 330px;
}

.intro-image img{
    width:100%;
    display:block;
}

.intro-text{
    flex:1;
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.intro-text p{
    font-size:16px;
    font-family: Arial;
}


.section-title{
    display:flex;
    border-bottom:1px solid #333;
    width: 100%;
}

.title-bar{
    min-width:10px;
    background:#9D9D9D;
    margin-right:10px;
}

.section-title h3{
    font-size:20px;
    font-weight:700;
    font-family: Arial;
}

hr{
    width: 100%;
    border:none;
    border-top:5px solid #EAE4E4;
    margin: 0px;
}

section .desc{
	font-size: 16px;
	font-family: Arial;
}

/*=========================
    List
==========================*/

.group{
    margin-bottom:15px;
}

.group h3{
    font-size:26px;
    margin-bottom:10px;
}

.group ul{
    list-style:none;
}

.group li{
    position:relative;
    padding-left:15px;
    font-size:16px;
    margin-bottom:6px;
    font-family: Arial;
}

.group li::before{
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: #000;
}
.group li:first-child{
	padding-left: 15px;
}
.group li:first-child::before{
    content: "\25A0";
}

#recruit{
	padding: 80px 0px;
	background: #EFEDE9;
}

#recruit .new {
		background: linear-gradient(90deg, #F16767 0%, rgba(0, 0, 0, 0.00) 100%), url(../images/top/vi/office_banner.webp) lightgray 0px 0px / 100% 100% no-repeat;
    border-radius: 20px;
    max-width: 520px;
    width: 100%;
    height: 250px;
    position: relative;
    display: flex;
    align-items: center;

}

#recruit .career {
	background: linear-gradient(90deg, #F16767 0%, rgba(0, 0, 0, 0.00) 100%), url(../images/top/vi/recruit_banner.webp) lightgray 0px 0px / 100% 100% no-repeat;
    border-radius: 20px;
    max-width: 520px;
    width: 100%;
    height: 250px;
    position: relative;
    display: flex;
    align-items: center;
}

#recruit .new p,
#recruit .career p {
    line-height: 50px;
    padding-left: 30px;
    font-size: 36px;
    font-weight: bold;
    color: var(--white);
    font-family: Arial;
}

#recruit .new::before,
#recruit .career::before {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 35px;
    width: 60px;
    /* 横幅 */
    height: 60px;
    /* 高さ */
    border-radius: 50%;
    /* 角の丸み */
    background: var(--white);
}

#recruit .new::after,
#recruit .career::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 58px;
    width: 20px;
    height: 20px;
    border-top: 5px solid var(--red);
    border-right: 5px solid var(--red);
    transform: rotate(45deg);
}

#recruit .new:hover {
	background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%), url(../images/top/vi/office_banner.webp) lightgray 0px 0px / 100% 100% no-repeat;
}

#recruit .career:hover {
	background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%), url(../images/top/vi/recruit_banner.webp) lightgray 0px 0px / 100% 100% no-repeat;
}

#recruit .new p:hover,#recruit a:hover p,
#recruit .career p:hover {
    color: var(--red);
}

#recruit .new:hover:before,
#recruit .career:hover:before {
    background: var(--red);
}

#recruit .new:hover:after,
#recruit .career:hover:after {
    border-top: 5px solid var(--white);
    border-right: 5px solid var(--white);
}

#recruit a:hover{
	opacity: 1;
}

#entry_form{
	padding: 80px 0px;
	background: #fff;
}

.contact_form{
	margin-top: 0px;
}

.front-page footer{
	padding-top: 0px;
}
footer p{
	margin: 0px auto;
	font-family: Arial;
	font-style: normal;
	font-weight: 400;
	font-size: 12px;
}
.form_box {
    border: 5px solid #EAE4E4;
    display: flex;
		padding: 80px 66px;
		flex-direction: column;
		gap: 65px;
 }
.form_box input{
	height: 60px;
	background-color: #EAE4E4;
}
 .form_box .title p{
 	font-size: 16px;
 	font-family: Arial;
 }
.form_box .title span{
	width: max-content;
	white-space: nowrap;
	font-size: 16px;
	font-family: Arial;
}
.form_box .title span{
	padding: 2px 5px;
	font-family: Arial;
	font-size: 14px;
	height: auto;
}

.form_box .title p {
    width: auto;
}

.form_box .title,.form_box textarea{
	height: 60px;
}
.form_box textarea {
    background-color: #EAE4E4;
}
.form_box table tr{
	gap: 24px;
	margin-bottom: 0px;
}
.wpcf7-radio{
	display: flex;
}
.wpcf7-radio .wpcf7-list-item{
	display: flex;
}
.wpcf7-not-valid-tip{
    display: none;
}
.tabform tbody{
	display: flex;
	flex-direction: column;
	gap: 35px;
}
.input.resume {
    vertical-align: top;
    display: flex;
    flex-direction: column;
}

.file-upload-wrapper {
    position: relative;
    width: 100%;
    height: 60px;
    margin-bottom: 12px;
}


.file-upload-wrapper input[type="file"] {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.file-dummy-btn {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    border: 2px solid #C40018;
    color: #C40018;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-family: "Noto Sans JP";
    font-weight: 600;
    box-sizing: border-box;
    z-index: 1;
    transition: all 0.2s ease-in-out;
    pointer-events: none;
}

.file-upload-wrapper:hover .file-dummy-btn {
    background-color: #fff5f6;
}

.file-note {
    font-size: 16px;
    color: #000;
    font-family: "Noto Sans JP";
    font-weight: 400;
    margin: 0;
    padding-left: 2px;
    line-height: 1.4;
    text-align: left;
    width: 100%;
}

/* 1. Thanh phân cách hồng nhạt trên cùng */
.policy-divider {
    width: 100%;
    height: 6px;
    background-color: #f1e6e6; /* Màu hồng nhạt */
    margin: 40px 0 30px 0;
}

/* 2. Container bọc toàn bộ khối chính sách */
.policy-section {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: #333333;
    line-height: 1.6;
}

/* Tiêu đề "Chính sách bảo mật" */
.policy-title {
    text-align: center;
    font-family: Arial;
	font-size: 24px;
    font-weight: 700;
    color: #333
}


.policy-content-box {
    border: 1px solid #333;
    padding: 16px;
    height: 400px;
    overflow-y: scroll;
    background-color: #ffffff;
}

.policy-content-box p,.policy-meta span{
    font-family: "Noto Sans JP";
}

.policy-content-box::-webkit-scrollbar {
    width: 10px;
}
.policy-content-box::-webkit-scrollbar-track {
    background: transparent;
}
.policy-content-box::-webkit-scrollbar-thumb {
    background-color: #8c8c8c;
    border-radius: 5px;
    border: 2px solid #ffffff;
}

/* 4. Định dạng văn bản chi tiết */
.policy-meta {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #444444;
    flex-wrap: wrap;
    gap: 10px;
}

.policy-intro {
    font-size: 14px;
    color: #333333;
}


.policy-item-title {
    font-size: 20px;
    font-family: Arial;
    font-weight: 700;
    color: #333;
}
.policy-section .title-bar{
    margin-right: 10px;
}


.policy-item-text {
    font-size: 14px;
    color: #333333;
    margin: 0;
}
.custumcheck{margin-right: 20px}
.policy_box{
	margin: 0px;
}
.submit_btn_area{margin-top: 0px}
.error_box{
	padding: 0px!important;
	margin: 0px!important;
	font-family: Arial;
}
span.hissu {
    padding: 2px 5px;
    font-family: Arial;
    font-size: 14px!important;
    background-color: var(--red);
    color: #fff;
    border-radius: 5px;
    width: auto!important;
    line-height: 22px;
    display: inline-block;
    height: auto!important;
}

span.wpcf7-list-item-label{
    font-family: Arial;
    font-size: 16px;
}

.file-status-container{
    width: 100%;
    padding-top: 5px;
}

.file-name-txt{
    color: #016D98;
    font-family: Arial;
    font-size: 16px;
}
.file-size-txt{
    color: #444242;
    font-family: Arial;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
}


.btn-remove-file {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 10px;
  width: 18px;
  height: 18px;
  background-color: #f1f1f1;
  color: #888;
  border-radius: 50%;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: bold;
}

.btn-remove-file:hover {
  background-color: #ff4d4d;
  color: #ffffff;
}

.xacnhan_tbl p.tieude{
    color: #3B4043;
    font-family: Arial;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
}
.khung{margin-top: 0px}
.xacnhan_tbl p.noidung{
    color: #333;
    font-family: Arial;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px
}

.file-error{
    font-family: Arial;
    font-size: 16px;
    color: #F50505;
}

.sent_success{
    color: #00C11A;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 28.8px; /* 120% */
}
.hero-description br.sp{
    display: none;
}

@media screen and (max-width: 980px) {
    .value_content .value_box ul{
    max-width: 100%;
    }
    span.hissu{
        white-space: nowrap;
    }
    span.hissu,.form_box .title span{
        font-size: 13px!important;
    }
    .policy_box{
        display: flex;
        justify-content: center;
        gap: 20px;
        align-items: center;
    }
    .custumcheck{
        text-align: left;
        font-size: 14px;
        line-height: normal;
        margin-right: 0px;
        padding-left: 40px;
    }
    #contactForm .flexbox65{
        gap: 40px;
    }
    .file-upload-wrapper{
        height: 48px;
    }
    .file-dummy-btn{
        font-size: 14px;
    }
    #services .inner{
        align-items: center;
    }
    .policy-content-box{
        padding: 16px 8px;
    }
    .policy-item-title{
        font-size: 16px;
        line-height: 18px;
    }
    .policy-title{
        font-size: 20px;
    }
    .file-note {
        font-size: 13px;
    }
    .form_box table tr{
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .form_box .title{
        height: auto;
        border-bottom: 1px solid #EAE4E4;
        padding: 11px 0px;
    }
    .form_box{
        padding: 80px 16px;
    }
    section .desc{
        font-size: 14px;
    }
    #recruit .new::before, #recruit .career::before{
        right: 15px;
    }
    #recruit .new::after, #recruit .career::after{
        right: 40px;
    }
    #recruit .new p, #recruit .career p{
        font-size: 24px;
        line-height: 50px;
        padding-left: 20px;
    }
    #recruit .inner .inner{
        padding: 0px;
    }
    #recruit .inner{
        gap: 40px;
    }
    #recruit .new,#recruit .career{
        height: 150px;
    }
    #recruit{
        padding: 10px 0 80px 0;
    }
    .intro{
        flex-direction: column;
    }
    .section-title h3 {
        font-size: 16px;
        line-height: 18px;
    }
    .service_box{
        width: 100%;
        padding: 60px 16px;
    }
    .listbox_strenths{
        gap: 130px;
    }
    .listbox_strenths{
        align-items: center;
    }
    #strengths .strenthsCard{
        max-width: 300px;
    }
    #strengths {
        padding: 10px 0 80px 0;
    }
    #strengths .boxdes{
        font-size: 14px;
    }
    .value_box h4, .value_box p{
        text-align: left;
    }
    .value_box p{
        font-size: 14px;
        line-height: 32px;
    }
    #overview p{
        font-size: 20px;
        padding-bottom: 0px;
    }
    #overview h2{
        text-align: left;
        font-size: 32px;
        padding-top: 0px;
    }
    .hero-description br.sp{
        display: block;
    }
    .hero-description br{
        display: none;
    }
    #overview{
        margin: 0px;
    }
    .hero-section{
        height: 315px;
    }
    .hero-description{
        font-size: 16px;
        line-height: 24px;
        margin-top: 20px;
    }
    .hero-title,.hero-title .highlight{
        font-size: 18px;
    }
    .hero-title{
        margin-top: 100px;
    }
    .value_content .value_box ul{
        width: auto;
    }

    .form_box .input{
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    #strengths .strenthsCard {
        max-width: 330px;
        width: 100%;
    }
    .submit_btn_area{
        flex-wrap: wrap;
        gap: 20px;
    }

    nav .sp_nav {
        bottom: 0px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1170px) {
    .value_content .value_box ul{
    max-width: 100%;
    }
    #recruit .inner .inner{
        padding: 0px;
    }
    #recruit .inner{
        gap: 40px;
        justify-content: center;
    }
}