@charset "utf-8";
.n-section-box{
	margin:0 auto;
    border:1px solid transparent;
}
.n-section-box .content-box{
	padding:3.5rem 0;
	max-width:var(--max-width);
	margin:0px auto;
    min-height:50vh;
    display:flex;
    flex-direction:column;
}
.n-section-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.75em;
    margin-bottom:2.5rem;
}
.n-section-title{
    font-family:var(--base-font);
    font-size:1.25rem;
}
.n-section-title h2{
    font-weight:700;
    font-size:2.5em;
}
.n-section-box{
     border-bottom:1px solid #dedede;
}
.n-section-box:nth-child(even){
    /* background-color:#f4f4f4;*/
 }

.n-bg-dark{
    background-color:#666666;
}

.n-section-content{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.map-box{
    width:100%;
    height:100%;
}
.map-box #map{
    height:100%;
}

.n-main-section-1{
    display:flex;
    align-items: stretch;    
    height:100vh;
}
.n-main-section-50{
    width:50%;
}
.company-nominee-box{
    position:relative;
    height:100%;
    overflow:hidden;
    border-radius:27px;
    box-shadow:45px 45px 0px #e9f8ff;
}
.company-nominee-box img{
    width:auto !important;
    max-width:100%;
    position:absolute;
}
.company-nominee-downloadbox{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    background-color:#0f2859;
    color:#ffffff;
    z-index:1;
    display:flex;
    padding:20px 30px;
    align-items: stretch;
    justify-content: space-between;    
}

.company-nominee-downloadbox a{
    color:rgba(255,255,255,0.45);
}
.company-nominee-downloadbox a:hover{
    color:rgba(255,255,255,1);
}
.company-nominee-downloadbox a span{
    font-size:5rem;
}
.n-company-box{
    padding:50px;
    margin-right:65px;
}
.company-nominee-downloadbox p{font-size:1.25rem;color:rgba(225,255,255,0.6);}
.company-nominee-downloadbox strong{font-size:2.375rem;font-weight:600;}
.n-main-section-f{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content: center;
    gap: 65px;    
}
.n-main-count-box{
    display:flex;
    flex-direction:column;
    gap:25px;
}
.n-main-count-group{
    border-radius:60px;
    background-color:#ffffff;
    box-shadow:0px 0px 9px rgba(0,0,0,0.2);
    display:flex;
    align-items:center;
    padding:15px 35px;
    justify-content:space-between;
}
.n-main-count-group > div{
    display:flex;
    align-items:center;
    gap:30px;
}
.n-main-count-icon{
    font-size:3.125rem;
    color:#3152a6;
}
.n-main-count-tit{
    font-weight:400;
    font-size:1.5625rem;
}
.count-num{
    font-size:2.1875rem;
    font-weight:600;
}
.n-main-content-top{
    display:flex;
    flex-direction:column;
    justify-content: center;
    align-items: center;
}
.n-main-content-top p{
    font-size:1.875rem;
}
.n-main-content-top .n-main-content-top-tit{
    font-size:3.125rem;
    font-weight:600;
    color:#3152a6;
}

.n-main-business-box {
    background-image:url(../img/main/section-bg-business.jpg);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
}
.n-section-business{
    position:relative;
    gap:1em;
}
.n-section-business{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
}
.n-section-business > div{
    flex:1;
}

.n-section-business > div img{
    display:block;
    width:100%;
}

.n-section-business-items{
    position:relative;
}

.n-section-business-items > h3{
    text-align:center;
    font-size:1.875rem;
    margin-bottom:30px;
    transition:all 0.5s;    
}


.n-section-business-img{
    border-radius:25px;
    overflow:hidden;
    width:100%;
    max-width:500px;
    aspect-ratio:500/470;
    position:relative;
}
.n-section-business-img > img{
    position:absolute;
    width:100%;
    aspect-ratio:500/470;
}

.n-section-business-items.on > h3{
    font-size:0 !important;
    transition:all 0.5s;
    margin-bottom:0;
}
.n-section-business-items .n-section-business-content{
    position:absolute;
    opacity:1;
    width:100%;
    height:100%;
    z-index:1;
    background-color:rgba(0,0,0,0.25);
    color:#ffffff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;    
    gap:35px;
}
.n-section-business-items.on .n-section-business-content{
    opacity:1;
    transition:all 0.5s;
}
.n-section-business-items .n-section-business-content > h3 {
    text-align:center;
    font-size:2rem;
    transition: transform 0.3s ease, opacity 0.3s ease;    
}

.n-section-business-items.on .n-section-business-content > h3{
    text-align:center;
    font-size:2rem;
    transform: translateY(20px);
    opacity: 0;
    animation: slideH3Down 0.4s ease forwards;     
 }
 
.n-section-business-content > div {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    width: 100%;
    transition: opacity 0.5s ease;
}

.n-section-business-items.on .n-section-business-content > div {
    opacity: 1;
    visibility: visible;
    position: relative;
    text-align:center;
    transform: translateY(-20px);    
    animation: slideH3Down 0.4s ease forwards;      
}

 
 @keyframes slideH3Down {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.n-section-business-items.on .n-section-business-content > div > p{
    line-height:1.4;
    margin:5px 0;
}
.n-section-business-items .n-section-business-img > img{
    transform:scale(100%);
    transition:all 0.5s;
}
.n-section-business-items.on .n-section-business-img > img{
    transform:scale(120%);
    transition:all 0.5s;
}

.n-section-content .pic_lt{
    width:100%;
}

.n-latest-wrap{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}
.n-latest-tab{
    background-color:transparent;
    border:1px solid #d3d3d3;
    height:50px;
    padding:0 60px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content: center;
    transition:all 0.35s;
}
.n-latest-tab.on{
    background-color:#1c2f5f;
    border-color:#1c2f5f;
    color:#ffffff;
    transition:all 0.35s;
}
.n-latest-tabs{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:1.5rem;
}
.n-latest-wrap .n-latest-box{display:none;}
.n-latest-wrap .n-latest-box.on{display:block;}


.n-section-latest .lt_more_flexbox{
    text-align:center;
    padding:2.5rem 0 0 0;
}
.n-section-latest .lt_more{
    position:relative !important;
    border:1px solid #ccc;
    border-radius:4px;
    padding:10px 40px;
    transition:all 0.35s;    
}
.n-section-latest .lt_more:before{
    content:'+';
    margin-right:6px;
}

.n-section-latest .lt_more:hover{
    background-color:var(--n-color-base);
    color:#ffffff;
    border-color:var(--n-color-base);
    transition:all 0.35s;
}

.n-main-inquiry-bg{
    background-image:url('../img/main/section-bg-support.jpg');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:right top;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.n-main-inquiry-box{
    max-width:700px;
    width:100%;
    display:flex;
    justify-content:center;
}
.n-main-inquiry{
    flex:1;
    max-width:460px;
}

.n-main-inquiry h2{
    color:#ffffff;
    font-size:1.875rem;
}

.n-main-inquiry ::placeholder{
    color:#ffffff80;
}

input.n-form-white{
    background:transparent;
    border:1px solid #ffffff;
    border-radius:4px;
    color:#ffffff !important;
    width:100%;
    padding:10px;
}

textarea.n-form-white{
    background:transparent;
    border:1px solid #ffffff;
    border-radius:4px;
    color:#ffffff !important;
    width:100%;
    padding:10px;
    min-height:100px;
}
.n-main-inquiry form#contactForm{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.contact-submit-btn{
    padding:10px 0px;
    flex:0 0 auto;
    width:70px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:4px;
    border:0;
    background-color:#ffffff;
    margin:0 auto;
}

.design-checkbox{
    display:none;
}
.design-checkbox + label{
    color:#ffffff;
    display:flex;
    align-items:center;
}
.design-checkbox + label:before{
    content:'';
    display:inline-flex;
    width:20px;
    height:20px;
    border:1px solid #ffffff;
    border-radius:4px;
    margin-right:5px;
}
.design-checkbox:checked + label:before{
    content:'';
    display:inline-flex;
    width:20px;
    height:20px;
    border:1px solid #ffffff;
    border-radius:4px;
    background-color:#ffff80;
}
.show-privacy{
    background:#ffffff;
    border:0;
    width:2.5rem;
    height:2.5rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    border-radius:50%;
}

.privacy-content-box{
    display:none;
    position:fixed;
    z-index:1002;
    top:50%;
    left:50%;
    width:80%;
    max-width:768px;
    transform:translate(-50%,-50%);
    box-shadow:0px 0px 25px rgba(0,0,0,0.35);
}

.privacy-content-box .privacy-head{
    background-color:#242424;
    color:#ffffff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0.5rem;
}
.privacy-content-box .privacy-head .privacy-close{
    background-color:transparent;
    border:0;
    color:#ffffff;
}
.privacy-content-box .privacy-content{
    min-height:250px;
    max-height:40vh;
    overflow-y:auto;
    background-color:#ffffff;
    border:1px solid #ddd;
    padding:1rem;
}

.privacy-content-box .privacy-content {
    line-height:1.8;
}

.privacy-content-box .privacy-content p,.privacy-content-box .privacy-content ul{
    margin-bottom:25px;
}

.n-locations-box{
    height:450px;
}
.n-location-item{
    width:50%; 
    height:100%;
}
@media(max-width:1600px){
    .n-section-box{
        padding-left:1.5rem;
        padding-right:1.5rem;
    }
}
@media(max-width:1024px){
    .n-main-section-1 {
        display: flex;
        flex-direction:column-reverse;
        align-items: stretch;
        height:auto !important;
    }
    .n-main-section-50{
        width:100%;
        height:150px;
    }
    .n-company-box {
        margin-top: 25px;
        padding:15px;
        margin-right:0px;
    }
    .company-nominee-box{
        height:100px;
        box-shadow: 15px 15px 0px #e9f8ff;        
    }
    .n-main-section-f{
        padding-left:25px;
        padding-right:25px;
        gap:45px;
    }
    .n-locations-box{
        flex-direction:column;
        flex:0 0 auto !important;
        width:100%;
        height:100vh;
    }
    .n-section-business > div{
        width:100%;
        max-width:350px;
        margin:0 auto;
    }
    .n-location-item{
        width:100%;
    }    
    .n-main-inquiry-box{
        padding:1.25rem;
    }
    .n-main-inquiry-box,.n-main-inquiry {
        flex: 1;
        max-width:100%;
    }
}

@media(max-width:900px){
    .n-section-business {
        display: flex;
        flex-direction:column;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
}

@media(max-width:768px){
    .n-main-content-top p {
        font-size: 1.45rem;
    }
    .n-main-content-top .n-main-content-top-tit {
        font-size: 2rem;
    }
    
    .company-nominee-downloadbox strong{
        font-size:1.85rem;
    }
    .n-section-title{
        font-size:1rem;
    }
}
@media(max-width:500px){
    .n-latest-tab{
        height:45px;
        padding:0 50px;
    }
    .n-main-content-top p {
        font-size: 1.3rem;
    }
    .n-main-content-top .n-main-content-top-tit {
        font-size: 1.85rem;
    }
    
    .company-nominee-downloadbox strong{
        font-size:1.55rem;
    }
    .notice.ft_cnt{
        padding: 15px 25px;
    }
    .n-main-count-tit {
        font-size: 1.325rem;
    }
    .count-num{
        font-size: 1.5rem;
    }
    .n-main-count-group {
        padding: 10px 25px;
    }
}