/*
Theme Name: V-Lead
Text Domain: V-Lead
Version: 1.0
Descritpion: Responsive website
Tags: responsive
Author: uGraphix
Author URI: https://ugraphix.mn/
*/

@font-face {
    font-family: Akrobat-B;
    src: url(assets/font/Akrobat-ExtraBold.otf);
}

html {
    scroll-behavior: smooth;
}
html, body{
    font-family: 'Noto Sans JP', sans-serif;
}
a:hover{
    text-decoration: none;
    opacity: 0.7;
}
p, h1, h2, h3, h4, h5{
    margin-bottom: 0px;
}
header{
    position: sticky;
    top: 0px;
    left: 0px;
    z-index: 99;
    width: 100%;
    display: flex;
    padding: 15px 30px;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
}
.header-logo{
    width: 180px;
}
.header-logo img{
    width: 100%;
	height: auto;
}
header nav{
    display: flex;
    align-items: center;
}
header nav ul{
    display: flex;
    padding: 0px;
    margin: 0px;
}
header nav ul li{
    list-style-type: none;
    margin: 0px 20px;
}
header nav ul li a{
    color: #000;
}
header nav ul li a:hover{
    color: #000;
}
header .header-contact{
    background-color: #CF2D1E;
    color: #fff;
    padding: 5px 15px;
    border-radius: 20px;
    margin-left: 100px;
}
header .header-contact i{
    margin-right: 5px;
}
.section-1{
    position: relative;
}
.section-1-text{
    position: absolute;
    z-index: 10;
    width: 40%;
    top: 50%;
    transform: translateY(-50%);
    left: 5%;
}
.section-1-link{
    position: absolute;
    z-index: 10px;
    width: 18%;
    left: 8%;
    bottom: 10%;
}
.section-2{
    display: flex;
}
.section-2-img{
    width: 50%;
    padding-right: 50px;
}
.section-2-body{
    width: 50%;
}
.section-2-body-title{
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 30px;
    letter-spacing: 2px;
}
.section-2-body-text{
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 30px;
    margin-bottom: 50px;
}

.section-3{
    background-color: #F6F6F6;
}
.section-3-header{
    display: flex;
    align-items: center;
    padding: 0px 50px;
    justify-content: space-between;
    margin-bottom: 50px;
}
.section-3-card{
    position: relative;
    margin-bottom: 30px;
}
.section-3-card-body{
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    padding: 20px;
}
.section-3-card-body-title{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.section-3-card-body-title h3{
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 3px;
}
.section-3-card-body-title a img{
    width: 35px;
}
.section-3-card-body hr{
    border: none;
    border-top: 2px solid #fff;
}
.section-3-card-body-text{
    color: #fff;
    letter-spacing: 1px;
}
.section-4-title{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: baseline;
    width: 100%;
    margin-bottom: 30px;
}
.section-4-title h2{
    font-weight: 600;
    letter-spacing: 4px;
    background-color: #fff;
    padding: 0px 20px;
}
.section-4-title h2 span{
    font-size: 5rem;
    font-family: Akrobat-B;
    margin: 0px 10px;
    color: #CF2D1E;
}
.section-4-title hr{
    position: absolute;
    width: 100%;
    bottom: 10px;
    left: 0px;
    z-index: -1;
    border: none;
    border-top: 3px solid #000;
}



.section-4-carousel {
	overflow: hidden;
	width: 100%;
}

.section-4-carousel-track {
	display: flex;
	align-items: center;
	gap: 40px;
	will-change: transform;
}

.section-4-carousel img {
	height: 120px;
	width: auto;
	object-fit: contain;
}

footer{
    background-color: #F6F6F6;
    padding: 100px 0px;
}
.footer-desc-logo{
    width: 200px;
}
.footer-desc-title h3{
    font-weight: 600;
    letter-spacing: 2px;
    margin: 20px 0px;
}
.footer-desc-text{
    letter-spacing: 2px; 
    font-size: 16px;
    line-height: 30px;
}
.footer-contact{
    background-color: #fff;
    border-radius: 30px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
}
.footer-contact-body{
    min-width: fit-content;
}
.footer-contact-body-text{
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 25px;
    margin-top: 15px;
}
.footer-contact-link{
    min-width: 35px;
    max-width: 35px;
}
.footer-social{
    min-width: fit-content;
}
.footer-social img{
    height: 45px;
    width: auto;
    margin: 0px 10px;
}
footer nav ul{
    display: flex;
    padding: 0px;
    margin: 0px;
}
footer nav ul li{
    list-style-type: none;
    margin: 0px 20px;
}
footer nav ul li a{
    color: #000;
}
.footer-copyright{
    background-color: #CF2D1E;
    padding: 5px 0px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    letter-spacing: 2px;
}



/* contact */
.contact-section-1{
    background-color: #F6F6F6;
}
.contact-section-1-text{
    letter-spacing: 1px;
    line-height: 30px;
    font-weight: 600;
}
.contact-section-2-min-title{
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 20px;
}
.contact-section-2-min-title span{
    background-color: #F4B83F;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    letter-spacing: 1px;
}
.contact-section-2-title h3{
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 15px;
}
.contact-section-2-table{
    background-color: #F6F6F6;
    padding: 50px;
}
.contact-section-2-table hr{
    border: none;
    border-bottom: 1px solid #CCCCCC;
    margin: 15px 0px;
}
.contact-section-2-table-col{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.contact-section-2-table-col-title{
    width: 25%;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
}
.contact-section-2-table-col-title span{
    background-color: #F4B83F;
    color: #fff;
    padding: 0px 10px;
    font-size: 16px;
    border-radius: 5px;
    letter-spacing: 1px;
}
.contact-section-2-table-col-input{
    width: 65%;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.contact-section-2-table-col-text{
    width: 75%;
    display: flex;
    flex-wrap: wrap;
}

.contact-section-2-table-col-input input{
    border: 1px solid #CCCCCC;
    font-size: 14px;
    padding: 5px 10px;
    margin: 5px 0px;
    height: 40px;
}
.contact-section-2-table-col-input button{
    background-color: #888888;
    border: none;
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
    margin-left: 15px;
    padding: 3px 10px;
    font-weight: 600;
}
.contact-section-2-table-col-input-1{
    width: 40%;
}
.contact-section-2-table-col-input-2{
    width: 30%;
}
.contact-section-2-table-col-input-3{
    width: 60%;
}
.contact-section-2-table-col-input-4{
    width: 100%;
}
.contact-section-2-table-col-text textarea{
    border: 1px solid #CCCCCC;
    font-size: 16px;
    padding: 10px;
    aspect-ratio: 6/2;
}
.contact-section-2-desc{
    text-align: center;
    margin-top: 50px;
    font-size: 18px;
    letter-spacing: 2px;
    font-weight: 600;
    line-height: 40px;
}
.contact-section-2-desc a{
    text-decoration: underline;
}
.contact-section-2-desc input{
    margin-right: 10px;
}
.contact-section-2-submit{
    font-size: 20px;
    color: #fff;
    background-color: #CF2D1E;
    border: none;
    padding: 15px 40px;
    border-radius: 30px;
    letter-spacing: 2px;
    font-weight: 600;
    margin-top: 20px;
}


/* company */
.company-section-2-body{
    width: 70%;
    margin: 0px auto;
}
.company-section-2-body-col{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.company-section-2-body-col-title{
    width: 30%;
    font-weight: 800;
    letter-spacing: 2px;
}
.company-section-2-body-col-text{
    width: 70%;
    line-height: 30px;
    font-weight: 400;
}

/* custom */
.admin-bar-top{
	padding-top: 30px;
}
.sp{
    display: none;
}
.section-title{
    display: flex;
}
.section-title-dott{
    font-size: 14px;
    color: #CF2D1E;
    margin-right: 10px;
    line-height: 30px;
}
.section-title-dott-2{
    font-size: 14px;
    color: #CF2D1E;
    margin-right: 10px;
    line-height: 30px;
    margin-top: 10px;
}
.section-title-jp{
    color: #000;
    font-weight: 800;
    letter-spacing: 2px;
}
.section-title-en{
    font-size: 14px;
    color: #CCCCCC;
    font-family: Akrobat-B;
    letter-spacing: 1px;
}
.section-button-1{
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    width: fit-content;
    padding: 15px 30px;
    border-radius: 30px;
    color: #000;
}
.section-button-1 img{
    width: 30px;
    margin-left: 30px;
}
.top-space{
    padding-top: 100px;
}
.bottom-space{
    padding-bottom: 100px;
}
.background-color-white{
    background-color: #fff;
}
.background-color-gray{
    background-color: #F6F6F6;
}
.background-1{
    height: 300px;
    background: linear-gradient(
        169deg,
        #fff 50%,
        #F6F6F6 50%
    );
}
@media only screen and (max-width: 1200px) {
    header nav ul li a{
        font-size: 14px;
    }
    header .header-contact{
        font-size: 14px;
        margin-left: 30px;
    }
    .header-logo{
        width: 130px;
    }
    header nav ul li{
        margin: 0px 10px;
    }
    .section-3-card-body{
        padding: 15px;
    }
    .section-3-card-body-text{
        font-size: 14px;
    }
    .section-3-card-body hr{
        margin: 10px 0px;
    }
    footer nav ul li{
        margin: 0px 10px;
    }
    footer{
        padding: 50px 0px;
    }
}
@media only screen and (max-width: 991px) {
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
    header .menu-button{
        padding: 10px;
        top: 15px;
        right: 15px;
        position: fixed;
    }
    .menu-icon {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 30px;
		height: 25px;
		cursor: pointer;
	}

	header .menu-icon .bar {
		width: 100%;
		height: 4px;
		background-color: #CF2D1E;
		transition: all 0.4s ease-in-out;
	}

	.menu-icon.active .bar:nth-child(1) {
		transform: translateY(10.5px) rotate(45deg);
	}
	.menu-icon.active .bar:nth-child(2) {
		opacity: 0;
	}
	.menu-icon.active .bar:nth-child(3) {
		transform: translateY(-10.5px) rotate(-45deg);
	}
    header nav{
        display: block;
        padding-bottom: 20px;
    }
    header nav ul{
        flex-wrap: wrap;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    header nav ul li{
        width: 100%;
        margin: 10px 15px;
    }
    header nav ul li a{
        font-size: 16px;
    }
    header .header-contact{
        font-size: 16px;
        padding: 10px 15px;
        margin: 10px 15px;
    }
    .section-2-img{
        width: 30%;
    }
    .section-2-body{
        width: 70%;
    }
    /* contact */
    .contact-section-2-table{
        padding: 30px;
    }
    /* company */
    .company-section-2-body{
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    .top-space{
        padding-top: 50px;
    }
    .bottom-space{
        padding-bottom: 50px;
    }
    .section-title-dott-2{
        margin-top: 0px;
    }
    header{
        padding: 10px 15px;
    }
    header .menu-button{
        padding: 0px;
    }
    .header-logo{
        width: 115px;
    }
    header nav ul li{
        margin: 10px 0px;
    }
    header .header-contact{
        margin: 0px;
    }
    .section-2{
        flex-wrap: wrap;
        justify-content: center;
    }
    .section-2-img{
        width: 50%;
        padding-right: 0px;
    }
    .section-2-body{
        width: 100%;
    }
    .section-2-body-title{
        font-size: 20px;
        margin-bottom: 15px;
        margin-top: 30px;
    }
    .section-2-body-text{
        font-size: 14px;
        line-height: 25px;
        margin-bottom: 30px;
    }
    .section-button-1{
        padding: 10px 20px;
        font-size: 14px;
    }
    .section-button-1 img{
        width: 20px;
        margin-left: 15px;
    }
    .background-1{
        height: 150px;
    }
    .section-3-header{
        padding: 0px;
    }
    .section-3-card-body-text{
        font-size: 12px;
    }
    .section-4-title{
        margin-bottom: 10px;
    }
    .section-4-title h2{
        font-size: 20px;
    }
    .section-4-title h2 span{
        font-size: 3rem;
    }
    .section-4-title hr{
        bottom: 0px;
    }
    .section-4-carousel img{
        height: 70px;
    }
    .footer-desc-title h3{
        margin: 10px 0px;
        font-size: 22px;
    }
    .footer-desc-text{
        font-size: 14px;
        letter-spacing: 1px;
    }
    .section-title-jp{
        font-size: 24px;
    }
    .footer-contact{
        margin-top: 20px;
        padding: 20px;
    }
    .footer-contact-link{
        min-width: 30px;
        max-width: 30px;
    }
    footer nav ul{
        flex-wrap: wrap;
        justify-content: center;
    }
    footer nav ul li{
        margin: 5px 15px;
    }
    /* contact */
    .contact-section-1-text{
        font-size: 12px;
        line-height: 25px;
    }
    .contact-section-2-table{
        padding: 15px;
    }
    .contact-section-2-title h3{
        font-size: 22px;
    }
    .contact-section-2-min-title{
        font-size: 12px;
    }
    .contact-section-2-min-title span{
        letter-spacing: 0px;
        padding: 2px 5px;
    }
    .contact-section-2-table-col-title{
        width: 100%;
        margin-bottom: 10px;
        font-size: 16px;
    }
    .contact-section-2-table-col-text{
        width: 100%;
    }
    .contact-section-2-table-col-input{
        width: 100%;
    }
    .contact-section-2-table-col-title span{
        font-size: 12px;
        padding: 0px 5px;
    }
    .contact-section-2-table-col-input input{
        width: 100%;
    }
    .contact-section-2-table-col-input-2{
        width: 50% !important;
    }
    .contact-section-2-desc{
        margin-top: 30px;
        font-size: 14px;
        line-height: 25px;
    }
    .contact-section-2-submit{
        font-size: 16px;
        padding: 10px 30px;
    }
    /* company */
    .company-section-2-body-col-title{
        width: 100%;
        margin-bottom: 15px;
    }
    .company-section-2-body-col-text{
        width: 100%;
    }
}