/* CUSTOM NEW CSS ----------- By ESTAINS */
/*-----------------------------------------------------------------*/
/*                                                                 */
/*                          F O N T @ F A C E                      */
/*                                                                 */
/*-----------------------------------------------------------------*/
@font-face {
  font-family: "NotoSans";
  src: url("../fonts/NotoSansJP-Light.otf") format("opentype");
  font-weight: normal;
}
@font-face {
  font-family: "NotoSans";
  src: url("../fonts/NotoSansJP-Medium.otf") format("opentype");
  font-weight: bold;
}

/*-----------------------------------------------------------------*/
/*                                                                 */
/*                            C U S T O M                          */
/*                                                                 */
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
/*---  OVERALL
/*-----------------------------------------------------------------*/
* {
  font-family: "NotoSans", Helvetica;
}
body, p{
  font-size: 18px;
  color: #707070;
  font-size: 1rem;
  line-height: 1.45em;
}
html {
  overflow-x: hidden;
  /* scroll-behavior: smooth; */
}
img.full-width{
  width: 100%;
}
.loader {
  background: #205040;
}
a:hover{
  color: inherit;
  opacity: 0.8;
}
/*-----------------------------------------------------------------*/
/*---  GLOBAL
/*-----------------------------------------------------------------*/
/* ------- BACKGROUND */
.bg-full{
  position: relative;
  z-index: 1;
}
.bg-full:before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX( -50%);
  height: 100%;
  width: 100vw;
  z-index: -1;
}
.bg-full.bg-half:before{
  top: 200px;
  height: calc(100% - 130px);
  /* MUST BE 130px because it's top 200px and margin-top from data-block 70px */
}
.gray-bg:before{background: #F6F6F6;}
.blue-bg:before{background: #182141;}
.image-bg{
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}
/* ------- BUTTON */
[class^='btn']{
  transition:all 0.5s;
  padding: 1rem 2.5rem;
  display: inline-block;
  font-weight: bold;
}
[class^="btn"]:hover{
  opacity: 0.7;
}
.btn-curved{
  border-radius: 1rem;
}
.btn-orange{
  color: #fff;
  background: #ef8202;
}
.btn-orange-outline{
  padding: 0.1rem 0.8rem 0.3rem;
  background: transparent;
  border: solid 2px #ef8202;
  color: #ef8202;
  font-size: 0.75rem;
  position: relative;
}
.btn-orange-outline:hover{
  color: #182141;
  border-color: #182141;
  padding: 0.1rem 1.5rem 0.3rem 0.8rem;
}
.btn-orange-outline:hover:after{
  content:"\276F";
  color: #182141;
  font-size: 1.2rem;
  line-height: 0;
  position: absolute;
  top: 11px;
  right: 7px;
}
.btn-white-outline{
  border: solid 2px #fff;
  color: #fff;
  background: transparent;
}
/* ------- TEXT TYPOGRAPHIC */
.text-orange{
  color: #FF9800;
}
.text-white{
  color: #fff;
}
.text-gray{
  color: #707070;
}
.text-blue{
  color: #182141;
}
h2.header{
  font-size: 2.2rem;
  line-height: 2.75rem;
  margin-bottom: 1.2rem;
}
p.sub-header{
  font-size: 1.1rem;
  line-height: 1.85rem;
}
/*-----------------------------------------------------------------*/
/*---  NAV BAR
/*-----------------------------------------------------------------*/
.fixed-top {
  background-color: #fff !important;
}
.home-style .navbar-brand img{
  max-height: 45px;
}
.navbar-light .default-nav .navbar-nav .nav-link {
  font-weight: bold;
  color: #000;
  padding: 0;
  font-size: 15px;
}
.home-style-two .darkHeader.navbar-light .navbar-nav .nav-link,
.three .darkHeader.navbar-light .navbar-nav .nav-link {
  color: #205040;
}
.theme-nav .nav-item {
  padding: 20px 25px 20px 0;
}
.navbar-brand {
  z-index: 1;
}
.nav-link span {
  text-transform: capitalize;
  letter-spacing: 0.5px;
}
.darkHeader.theme-nav .nav-item {
  padding: 20px 25px 20px 0;
}
.three .navbar-light.darkHeader .default-nav .navbar-nav .nav-link.active{
  color: #FF9800;
}
/*-----------------------------------------------------------------*/
/*---  SLIDER BANNER
/*-----------------------------------------------------------------*/
.home {
  margin-top: 82px;
  padding-top: 0;
  background-image: url(../images/background.jpg);
}
.home-three {
  background-size: cover;
}
h2.title {
  color: #000;
  margin-bottom: 30px;
  letter-spacing: 1px;
  text-transform: inherit;
  line-height: 1.3em;
}
.sub-title {
  color: #205040;
}
h2.title.white,
.sub-title.white {
  color: #fff;
}
.tap-top {
  background: #000;
}
.price-carousel.owl-theme .owl-dots .owl-dot.active span,
.price-carousel.owl-theme .owl-dots .owl-dot span {
  background: #205040;
}
.box-slide {
  text-align: center;
  text-shadow: 1px 2px 10px #707070;
  display: flex;
  flex-direction: column;
  margin: 0;
  justify-content: center;
  height: 100vh;
}
.box-slide .text-caption p {
  font-size: 20px;
  color: #fff;
  margin-bottom: 15px;
}
.box-slide .text-header {
  padding-top: 10px;
}
.box-slide .text-header p {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 3px;
  line-height: 1.8em;
}
/*-----------------------------------------------------------------*/
/*--- OUR SERVICES
/*-----------------------------------------------------------------*/
.service-type .service-part{
  margin-top: 2rem;
}
.service-type .service-part:nth-child(1),
.service-type .service-part:nth-child(2){
  margin-top: 0;
}
.service-type .service-part h3{
  margin: 0.6rem 0 1rem;
  line-height: inherit;
  font-size: 1.125rem;
}
/*-----------------------------------------------------------------*/
/*--- OUR PLAN
/*-----------------------------------------------------------------*/
.plans-announce{
  padding: 6.25rem 2rem 6.25rem 15px;
}
.plans-image{
  position: absolute;
  top: 0;
  right: 0;
  left: 50%;
  height: 100%;
  width: 50vw;
}
/*-----------------------------------------------------------------*/
/*--- GOOGLE MAP
/*-----------------------------------------------------------------*/
.maps-module iframe{
  width: 100%;
  margin: -5px 0;
}
/*-----------------------------------------------------------------*/
/*--- WORK
/*-----------------------------------------------------------------*/
.work-item{
  border: solid 1px #000;
  background: #fff;
  border-radius: 4px;
}
.work-item .work-image{
  padding-top: 56.25%; /* Keep it ratio : 16:9 image ratio */
}
.work-item .work-info{
  padding: 0.5rem;
  text-align: left;
  border-radius: 6px;
  display: inline-block;
  width: 100%;
}
.work-item .info-title{
  margin: 0;
  padding-bottom: 0.3rem;
  font-size: 1.15rem;
}
.work-item .info-text{
  border-top: solid 1px #000;
  padding-top: 0.3rem;
  font-size: 0.9rem;
}
.work-item .work-info a.btn{
  margin: 10px 3px 3px;
  float: right;
}
/*-----------------------------------------------------------------*/
/*--- NEWS
/*-----------------------------------------------------------------*/
.news-content .news-list-module{
  padding: 0%;
  margin: 0%;
}
.news-content .news-list-module li{
  padding-bottom: 0.6rem;
}
.news-content .news-list-module a{
  display: flex;
  width: 100%;
}
.news-content .news-list-module a small{
  margin-right: 1.5rem;
  font-size: 0.8rem;
  letter-spacing: 1px;
}
.news-content .news-list-module a .content-wrap .news-title{
  font-size: 1.15rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.news-content .news-list-module a .content-wrap .news-text{
  margin: 0;
}
.news-content .news-list-module a:hover{
  color: #FF9800;
}
/*-----------------------------------------------------------------*/
/*--- CONTACT
/*-----------------------------------------------------------------*/
.contact-announce{
  padding: 5rem 3rem 5rem 15px;
}
.contact-announce form input::placeholder,
.contact-announce form textarea::placeholder {
  font-size: 0.8rem;
}
.contact-content{
  padding: 5rem 2rem;
  position: absolute;
  top: 0;
  right: 0;
  left: 50%;
  height: 100%;
  width: 50vw;
  background-color: #182141;
}
.contact-info-wrapper .contact-info{
  margin: 1rem 0;
  display: inline-block;
  width: 100%;
}
.contact-info .contactInfo-text{
  font-size: 1.5rem;
  line-height: 2rem;
}
.contact-info-wrapper .contact-info a{
  color: #fff;
  display: table;
}
.contact-info-wrapper .contact-info a:hover{
  color: #FF9800;
}

/*-----------------------------------------------------------------*/
/*--- FOOTER
/*-----------------------------------------------------------------*/
.footer{
  background: #202020;
  color: #fff;
  padding: 1rem 0;
}
.footer-additional{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  letter-spacing: 1px;
}
.footer-additional .copyright{
  display: inline-block;
}
.footer-additional .menu-list{
  float: right;
  display: block;
  margin: 0;
  padding: 0;
}
.footer-additional .menu-list li{
  float: left;
  margin: 0 1rem;
 
}
.footer-additional .menu-list li a{
  color: #fff;
  transition: all 0.5s;
}
.footer-additional .menu-list li a:hover{
  color: #FF9800;
}