@CHARSET "UTF-8";


.monav_btn{display: none}


/*mobile nav*/

.mnav_open{position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: #242421; z-index: 9999; opacity: 0; visibility: hidden; transition-duration: .5s}
.mnav_open.on{visibility: visible; opacity: 1; transition-duration: .5s}
.mnav_open .mnav_open_top{height: 80px; padding: 0 3rem;display: flex;
    align-items: center;
    justify-content: flex-end; position: absolute; width: 100%; left: 0; top: 0}

.monav_are {
    height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.monav_are a{font-size: 18px; color: #fff; display: block}



@media (max-width: 1620px) {
	header{padding: 0 3rem}
	.work{padding: 100px 3rem 0}
	.work_list a img{width: 100%}
	.contact_main .inare{padding: 0 3rem}
	.contact_main .map iframe{max-height: 60vh}
	
	.footer{padding:40px 3rem }
	
	
	.sub .inner{
    padding: 0 3rem;}
    
    
.main_work .masonry-item:nth-child(1) {grid-row-end: span 220;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 356;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 220;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 356;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 356;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 356;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 220;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 220;}



.sub .pseudo-img{position:relative;
  padding-bottom:56.25%;}
.sub .pseudo-img iframe	{position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;}
  
.sub .pseudo-img.onlyimg{padding: 0}  

.masonry-item{margin-bottom: 5px}


.work_list a, .sub .work_list a {
    border: 1px solid #515151;
    padding-bottom: 25px;
    width: calc(25% - 15px); flex:none}
    
    .sub .masonry-item {height: 400px;}
    .sub .masonry-item:nth-child(5n) {height: 860px;}

    
	
}


@media (max-width: 1460px) {
	
	#vimeoWrap iframe, #vimeoWrap object, #vimeoWrap embed, video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 180%;
    height: 180%;
    z-index: -1;
    transform: translate(-50%, -50%);}
    
    .masonry-item{
    grid-row-end: span 300;}
    .masonry-item.videobox {
    grid-row-end: span 180;}
    
    
    .main_work .masonry-item:nth-child(1) {grid-row-end: span 195;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 300;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 195;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 300;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 300;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 300;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 195;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 195;}

.sub .masonry-item {height: 400px;}
    .sub .masonry-item:nth-child(5n) {height: 760px;}
	
	
}



 
@media (max-width: 1280px) {
	
	img{max-width: 100%}
	
	.title_intro {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 100%;
    padding: 5rem 0;}
	.title_intro h3{font-size: 20px}
	.title_intro h3 b{font-size: 25px}
	
	#my-nav{display: none}
	.title_pf h3{font-size: 60px}
	
	
	.title_pf{gap:10px; padding: 5rem 0}
	
	.play_btn span{font-size: 16px; line-height: 25px}
	.play_btn img{max-width: 25px}
	
	.tab-content{margin-top: 30px;}
	
	.map_text span{font-size: 13px;}
	
	.map_btn a {
    font-size: 16px;
    color: #fff;
    height: 40px;
    padding: 0 25px;
    line-height: 40px;
    border: 1px solid #fff;
    border-radius: 5px;}
    
    
    
    .sub_visual {
    height: 400px;}
    .sub_visual_in h2{font-size: 30px}
    
    .go_contact{height: 40px; font-size: 16px; padding: 0 30px}
    
    
    .sub_title h2 {
    font-size: 30px;
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 40px;}
    
    
    .contact_flex .box h2 {
    color: #fff;
    font-size: 18px;
    line-height: 30px;
    font-weight: 600;}
    
    .contact_flex .box p {
    color: #fff;
    font-size: 14px;
    line-height: 21px;
    font-weight: 300;
    margin-top: 10px;}
    
    .contact_flex .box img{max-width: 30px}
    
    
    .form_are p {
    font-size: 16px;
    color: #fff;
    line-height: 40px;
    width: 110px;
    padding: 0 15px;}
    
    .form_are input[type="text"] {
    height: 40px;
    border-radius: 0px;
    border: 0px solid #dfdfdf;
    padding: 0 15px;
    font-size: 15px;
    width: calc(100% - 60px);
    line-height: 40px;
    background: transparent;
    color: #fff; font-weight: 400}
    
    .form_are input[type="radio"] + label{height: 40px; line-height: 38px; font-size: 12px}
    
    
    .form_flex .right p {
    padding: 10px 15px;
    font-size: 16px;
    color: #fff;
    line-height: 40px;
    border-bottom: 1px solid #fff;}
    
    .form_flex .right textarea {
    border: 0;
    padding: 15px;
    font-size: 16px;
    background: transparent;
    height:200px;
    color: #fff;}
    
    .file_flex span {
    color: #8D8D8D;
    font-size: 16px;
    line-height: 40px;}
    
    
    .file_flex input[type="file"] + label {
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #3A3A3A;
    color: #fff;
    font-size: 14px;
    padding: 0 25px;}
    
    
    .pre_agree input + label{font-size: 15px}
    
    
    .contact_btn button {
    border: 0;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background: #1792A3;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 500;
    padding: 0 60px;
    color: #fff;}
    
    .contact_btn a {
    border: 0;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background: #1792A3;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 500;
    padding: 0 60px;
    color: #fff;}
    
    
    .masonry-item{
    grid-row-end: span 260;}
    .masonry-item.videobox {
    grid-row-end: span 160;}
    
    
      .main_work .masonry-item:nth-child(1) {grid-row-end: span 160;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 260;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 160;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 260;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 260;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 260;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 160;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 160;}


.sub .masonry-item {height: 280px;}
    .sub .masonry-item:nth-child(5n) {height: 660px;}
    
    
	
}









@media (max-width: 1024px) {
	
	
	 .main_work .masonry-item:nth-child(1) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 250;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 250;}
	
	
	
	.masonry-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, 50%);
    grid-auto-rows: 1px;}
	
	
	.logo{max-width:20px}
    header .inner .nav li a{font-size: 16px}
    .title_intro{height: 100vh}
    
    header .inner{height: 80px}
    
    .title_pf h3 {
    font-size: 40px;}
    
    .play_btn {
    display: flex;
    border-radius: 50px;
    background: #1792A3;
    gap: 20px;
    padding: 8px 20px;
    justify-content: center;
    align-items: center;}
    
    .play_btn span {
    font-size: 14px;
    line-height: 22px;}
    
    .play_btn img {
    max-width: 18px;}
    
    .main_title_item p{font-size: 14px}
    .main_title_item h2{font-size: 25px}
    ul.tabs li{height: 40px; line-height: 40px; font-size: 14px}
    
    .work_list{gap:10px}
    
    .work_list a span.tag {
    margin: 10px;
    line-height: 25px;
    height: 25px;
    font-size: 12px;
    color: #B6B6B6;
    border: 1px solid #B6B6B6;
    border-radius: 5px;
    display: inline-block;
    padding: 0 10px;}
    
    
    .work_list a span.work_title{font-size: 16px; margin: 10px 10px 0 10px; font-weight: 500}
    
    .work {
    padding: 80px 3rem 0;}
    
    .contact_main {
    height: 100vh;
    padding: 80px 0 0 0;}
    
    .partner_slide .slick-slide img{max-width: 150px}
    
    .footer {
    padding: 20px 3rem;
    height: 200px;}
    
    .footer .infoot{height: 100%}
    .footer .infoot img{max-width: 50px}
    .footer .infoot .foot_link{margin-bottom: 15px}
    .footer .infoot .foot_link a{font-size: 14px}
    .footer .infoot .foot_copy p{font-size: 14px; word-break: keep-all}
    .footer .infoot .foot_copy p + p {
    margin-top: 0px;}
    
    
    #vimeoWrap iframe, #vimeoWrap object, #vimeoWrap embed, video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 250%;
    height: 250%;
    z-index: -1;
    transform: translate(-50%, -50%);}
    
    .title_pf{height: 100vh}
    
    
    .work_list a span.work_title img {
    max-width: 16px;}
    
    .work_list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;}
    
    .work_list a, .sub .work_list a {
    border: 1px solid #515151;
    padding-bottom: 25px;
    width: calc(50% - 5px); flex:none}
    
    .work_list{gap:10px}
    
    .pop-layer .pop-container{width: 90%}
    
    a.btn-layerClose {
    position: absolute;
    right: 0%;
    top: -40px;
    z-index: 9999;}
    
    
    .sub .masonry-item {height: 240px;}
    .sub .masonry-item:nth-child(5n) {height: 520px;}
    
}

@media (max-width:1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	
	
	.contact_main .inare {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    gap: 50px;}
	
	.contact_main{padding-top: 150px}
	.contact_main .map {
    width: 100%;}
	
	.contact_main .map iframe {
    max-height: 100%;
    /* height: calc(100vh - 500px - 150px); */
    height: 150px ;
    }
		
	
	
}


.web_view{ display: inline-block !important;  }
.mo_view{ display: none !important;  }
 
@media (max-width: 768px) {
	.submap iframe{ height: 350px }
	   
	
.mo_view{ display: inline-block !important;  }
.web_view{ display: none !important;  }
 
	
	
	header .inner .nav{display: none}
	.monav_btn{display: block}
	
	.work {
    padding: 80px 3rem; min-height: auto !important}
    .contact_main{
    padding: 80px 0rem; min-height: auto !important}
	.footer_main{min-height: auto !important}
	
	.masonry-container {
    grid-template-columns: repeat(auto-fill, 50%);}
    
    
    .work .fp-overflow{max-height: none}
    .contact_main .fp-overflow{max-height: none}
    .footer_main .fp-overflow{max-height: none}
    
    .main_title_item {
    text-align: center; width: 100%}
    
    ul.tabs {
    margin: 0px;
    padding: 0px;
    list-style: none;
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin-top: 25px;}
	
	.map_text {
    display: flex;
    gap: 10px;
    margin: 30px 0;
    justify-content: center;
    align-items: center;}
    
    .map_btn {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;}
	
	.contact_main {
    padding: 80px 0rem 0;
    min-height: auto !important;}
    
    .contact_flex .box img {
    max-width: 30px;
    height:25px;
    position: relative;
    top: 0;
    right: 0; margin-bottom: 15px}
    
    .contact_flex .box{text-align: center}
    .form_flex{gap:30px}
	.radio_flex{gap: 5px}
	
	
	 .main_work .masonry-item:nth-child(1) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 190;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 190;}



.sub .masonry-item{width: 50%; height: 190px}
.sub .masonry-item:nth-child(5n){width: 100%; height: 330px}


	
}



@media (max-width: 600px) {
	.sub .work_list a img{ height: 350px; } 
	
	
	#vimeoWrap{padding: 0}
	
	#vimeoWrap iframe, #vimeoWrap object, #vimeoWrap embed, video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 400%;
    height: 100%;
    z-index: -1;
    transform: translate(-50%, -50%);
    }
    
    .title_intro {
    height: 100vh;
    text-align: center;
    padding: 0 1rem 3rem;}
    
    .title_intro h3 {
    font-size: 18px;
    line-height: 32px;
    word-break: keep-all;}
    .title_intro h3 b{font-size: 22px}
    
    header {
    padding: 0 1rem;}
    .mnav_open .mnav_open_top {
    padding: 0 1rem;}
    
    .work {
    padding: 80px 1rem;
    min-height: auto !important;}
    
    .contact_main .inare {
    padding: 0 1rem;}
    
    
    .footer {
    padding: 30px 1rem;
    height: auto;}
    
    
    .footer .infoot {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    flex-direction: column;}
    
    
    .go_contact {
    height: auto;
    font-size: 14px;
    padding: 5px 20px;
    line-height: 30px;
    gap: 15px; margin-top: 15px}
    
    
    .sub {
    padding: 50px 0;}
    
    
    .sub .inner {
    padding: 0 1rem;}
    
    
    .sub_title h2 {
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 30px;}
    
	.sub ul.tabs{gap:10px; flex-wrap: wrap;}
	
	.work_list a, .sub .work_list a{padding-bottom: 15px}
	
	
	.contact_flex {
    display: flex;
    max-width: 1620px;
    margin: 0 auto;
    padding: 0 1rem;
    flex-direction: column;
    align-items: center;
}
	.contact_flex .box {
    text-align: center;
    width: 100%;
    padding: 30px 1rem;}
    
    
    .contact_flex .box + .box {
    border-left: 0px solid #8E8E8E; border-top: 1px solid #8E8E8E;}
    
    
    .form_flex {
    display: flex;
    gap: 0px;
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;}
	
	
	  .main_work .masonry-item:nth-child(1) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 100;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 100;}
	
	
	.work .fp-overflow {
    max-height: none;
    overflow-y: hidden;
}
	
	
.sub .pseudo-img{position:relative;
  padding-bottom:56.25%;}
.sub .pseudo-img iframe	{position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;}
  
.sub .pseudo-img.onlyimg{padding: 0}  

.masonry-item{margin-bottom: 5px}
	
	
	
	
	.file_are .file-label em { padding: 0 12px; font-size: 12px;  }
	.file_are .file-label span { margin-left: 5px; font-size: 12px;  }
	.pre_txt_box h2{ font-size: 17px;  }
	.pre_txt_box .box p{font-size: 13px; }
	.contact_btn a, .contact_btn input, .contact_btn span{ font-size: 16px;  }
	
	#mapDiv{ height: 200px;  }
.main_title_item{ margin-top: 0px !important; }



.sub .masonry-item{width: 50%; height: 160px}
.sub .masonry-item:nth-child(5n){width: 100%; height: 190px}

	
}



@media (max-width: 450px) {
	.masonry-item{margin: 0}
		  .main_work .masonry-item:nth-child(1) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(2) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(3) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(4) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(5) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(6) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(7) {grid-row-end: span 90;}
.main_work .masonry-item:nth-child(8) {grid-row-end: span 90;}
	
	.work_list a img{ height: 200px; } 
	
	.sub .masonry-item{width: 50%; height: 90px; padding: 2px; margin: 0}
.sub .masonry-item:nth-child(5n){width: 100%; height: 200px}

.masonry-item img{height: 100%;     object-fit: cover; display: block; width: 100% }
	
}















