@charset "utf-8";
 
@font-face {
    font-family: "OptimaLTPro-Roman";
    src: url("https://db.onlinewebfonts.com/t/b6718b05abed06cc4525f3a4ab71be65.eot");
    src: url("https://db.onlinewebfonts.com/t/b6718b05abed06cc4525f3a4ab71be65.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/b6718b05abed06cc4525f3a4ab71be65.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/b6718b05abed06cc4525f3a4ab71be65.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/b6718b05abed06cc4525f3a4ab71be65.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/b6718b05abed06cc4525f3a4ab71be65.svg#OptimaLTPro-Roman")format("svg");
}
 
 

 
@font-face {
  font-family: 'SukhumvitSet';
  src: url('./fonts/SukhumvitSet-Medium.woff2') format('woff2');
  font-weight: 400;  
  font-style: normal;
  font-display: swap;
}


 div#loadPage, div#loadPage_content {
   position: fixed;
   margin: auto;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   color: #000;
   background-color: #FFF;
   z-index: 500000000;
   text-align: center;
   opacity: .7;
   padding-top: 200px;
   vertical-align: middle;
   filter: alpha(opacity=70);
   display: none
 }
 /* ====== preload ========== */
 img {
   max-width: 100%;
 }
 html {
   width: 100%;
 }
 
 :root {
  --color-primary: #000000;
  --color-hover: #666666;
  --color-accent: #000000;
  --color-bg: #ffffff;
  --color-surface: #333333;
  --color-text:#000000;
  --color-text-muted: #B0B3C3;
  --color-border: #2C2C36;
  --border:#000;
}

/* Example usage */
body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: "OptimaLTPro-Roman" ,SukhumvitSet; 
}

  
.fade.in {
    opacity: 1
}

.background {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  overflow: hidden;
  z-index: -1;
}

 
.card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 1.5rem;
  transition: 0.3s ease;
}

.card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0 20px rgba(108, 99, 255, 0.2);
}

a {
  color: var(--color-accent);
  text-decoration: none;
}

a:hover {
  color: var(--color-hover);
}
  
 .stop-scrolling {
   /*overflow: hidden;*/
 }


.btn{
  display: block;
  background-color: #fff;
  border: solid 1px #333;
  width: 187px;
  padding: 14px 0;
  font-size: 15px;
  color: #333;
  text-align: center;
  line-height: 1;
  border-radius: 30px;
}

.btn:hover{
    background-color: #333;
    color: #fff;
    opacity: 1;
  }

 h1 {
   margin: 0;  
   padding: 0;  
   font-size: 36px;
   line-height: 120%;
   font-weight: normal;
   letter-spacing: 0px;
 }
 h2 {
   margin: 0;  
   padding: 0;    
   font-size: 2.865vw;
   line-height: 100%;
   font-weight: normal;
   letter-spacing: 1px;
 }
 h3 {
   margin: 0;  
   padding: 0;
   font-size: 24px;
   line-height: 100%;
   font-weight: normal;
   letter-spacing: 1px;
 }

 

 a, a:hover, a:link {
   text-decoration: none;
 }
 .bull {
   font-family: "sans-serif";
   width: 20px;
 }

 
.popup-dev {
  width: 100%;
  height: 100%;
  z-index: 999999;
  top: 0;
  bottom: 0;
  position: fixed;
  background: #fff;
  padding: 20px 0 0px 0;
  overflow: scroll;
  text-align: center;
  display: none;
}
 

input:focus::-webkit-input-placeholder {
    color: transparent;
}

 
 table {
  font-family: "OptimaLTPro-Roman" ,SukhumvitSet; 
 }


 table th {
   padding: 2px 0; vertical-align: top;
    }

 table td {
   padding: 2px 0;
   border: 0 !important;
 }
 table tr {
   border: 0 !important;
 }
 ul, li {}
 .header ul, .header li , .footer ul, .footer li {
   margin: 0;
   padding: 0;
   list-style: none;
 }
 
 .clear {
   clear: both;
 }
 
 .top5 {
   margin-top: 5px; 
 }
 .top10 {
   margin-top: 10px;
 }
 .top20 {
   margin-top: 20px;
 }
 
 .top40 {
   margin-top: 40px;
 }
 
 


 .webshow {}
 .mobileshow {
   display: none;
 }
 
 #load_popup img {
   /*	width: 100%;*/
 }
 area:focus {
   outline: 0;
 }

 
 .area_content {
   width: 94%;
   margin-left: auto;
   margin-right: auto;
   position: relative;
   max-width: 1100px;
   border: 0px #000 solid;
   text-align: left;  
 }
 .padding_page {
   padding: 60px 0;
 } 

.popup{
    width: 100%;
  height: 100%;
  z-index: 999999;
  top: 0;
  bottom: 0;
  position: fixed;
  background: var(--color-surface); color: var(--color-text);
  padding: 20px 0 0px 0;
  overflow: scroll;
  text-align: center;
  display: none;
}
 
.fixed{
    position: fixed !important; width: 100%; z-index: 999;
}

 

.bg_head{
   background: #ffffff;   width: 100%; height: 100px;
}



.logo{
  margin: 30px 0 0;
}

.logo img{
  height: 40px !important;
}

 
 .toppage{
  padding-top: 100px;
 }
 

 

.head{
  display: flex;
  justify-content: space-between;
	position: fixed; 
	top: 0; 
	left: 0; 
	width: 100%;
	z-index: 999;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.head::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
  
  /*z-index: 100;*/
}
.head.hide{
  opacity: 0;
  pointer-events: none;
}
.head.hide a{
  pointer-events: none!important;
}
.head.active{
  opacity: 1;
  pointer-events: auto;
} 
@media all and (min-width: 769px) {
}
@media all and (min-width: 1021px) {
  .head::after{
    z-index: 1;
  }
}
 
@media all and (max-width: 1020px) {
  .head .container{
    margin: 0; max-width: 100%; min-width: 100%;
  }
  .head .col-sm-3 ,.head .col-sm-9{
min-width: 100%; max-width: none !important;  padding-left: 0; padding-right: 0;
margin-left: 0; margin-right: 0; 
  }
}

.menu-header{
     padding: 10px 0; text-align: right; position: relative; z-index: 99;
     display: block;
}

.menu-header li{
	display: inline-block; vertical-align: text-top;
	margin: 30px 30px 0;  font-size: 18px; line-height: 100%;
	 cursor: pointer;  transition:0.6s cubic-bezier(0.01, 1.69,    0.99, 0.94); 
} 
 
.menu-header li:hover{
	  
} 

.h-contact{
  background-color: #000; color: #fff; padding: 7px 40px;
  border-radius: 50px; margin-top: -10px;
}

.h-contact:hover , .dropdown2-title:hover{
  color: var(--color-hover) !important;
}

  


.dropdown2 {
  position: relative;   
}

.dropdown2-title{
  
}



.dropdown2-content {
	 display: none; 
  position: absolute;  z-index: 999 !important; 
  min-width: 320px;
	margin-left: -20px;
    z-index: 1; padding-top: 20px;  padding-bottom: 250px; padding-right: 50px;
}

.dropdown2:hover .dropdown2-content {
  display: block; 
}

.dropdown2-content .area{
   background-color: #ffffff;  
    box-shadow: -2px 6px 14px -6px rgba(0,0,0,0.75);
-webkit-box-shadow: -2px 6px 14px -6px rgba(0,0,0,0.75);
-moz-box-shadow: -2px 6px 14px -6px rgba(0,0,0,0.75);
	padding: 10px   ;  text-align: left;
   font-size: 16px; line-height: 120%;
}

.dropdown2-content .submenu{
    padding: 10px 0 10px 25px;
}
 
.dropdown2-content .submenu:hover{
  
}


.dropdown3 {
  position: relative; 
}

.dropdown3-content {
	  
  position: relative;  
	margin-left: 30px;   min-width: 300px;
    z-index: 1; padding-top: 0px;
}

.dropdown3:hover .dropdown3-content {
  display: block;
}

.dropdown3-content .area{
   background-color: #ffffff;  color: var(--color-text);
	padding: 5px  0 ;  text-align: left;
   font-size: 16px; line-height: 120%;
    box-shadow: none;
-webkit-box-shadow:none;
-moz-box-shadow: none;
}

.dropdown3-title{
  font-weight: bold;
}

.dropdown3-content .area div{
   
	 color: var(--color-text); 
	padding: 5px 0 5px 0px;
}
 
.dropdown3-content .area div a:hover{
	 border-bottom: 1px #000 solid !important;
}




@media all and (max-width: 1200px) {
.menu-header li{
	 
	margin: 30px 10px 0;  font-size: 18px; line-height: 100%; 
} 
 
}

@media all and (max-width: 1020px) {
 .logo{
    margin-left: 40px !important;
  }


 .menu-header{
    display: none; position: relative; text-align: left; background-color: #fff; height: 100%;
    margin-top: 0px; padding: 0;
  }

  .menu-header li{
	width: 100%;
	margin: 0;  font-size: 30px; line-height: 100%;
	padding: 10px 5%; border-bottom: 1px #000 solid;
} 


/* Icon 1 */

#nav-icon1 { 
  width: 40px;
  height: 40px;
  position: absolute; right: 0;
  margin: 10px 20px 0 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}

#nav-icon1 span {
  display: block;
  position: absolute;
  height: 1px ;
  width: 100%;
  background: #000 ;
  border-radius: 5px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon1 span:nth-child(1) {
  top: 0px;
}

#nav-icon1 span:nth-child(2) {
  top: 7px;
}

#nav-icon1 span:nth-child(3) {
  top: 14px;
}

#nav-icon1.open span:nth-child(1) {
  top: 18px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

#nav-icon1.open span:nth-child(2) {
  opacity: 0;
  left: -60px;
}

#nav-icon1.open span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}


.h-contact{
   background-color: #fff; color: #000;  margin: 0; padding: 0;
}

.h-contact:hover , .dropdown2-title:hover{
  color: var(--color-text) !important;
}


.dropdown2-content {
	 display: none; 
  position: relative;  z-index: 999 !important; 
  min-width: 100%;
	margin-left: 0;
    z-index: 1; padding:0;
}

.dropdown2-content .area{
   background-color: #ffffff;  
    box-shadow: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
	padding: 10px 0  ;  text-align: left;
   font-size: 16px; line-height: 120%;
}


}

@media all and (max-width: 768px) {
  .logo{
    margin: 25px 0 !important; text-align: center;
  }

.logo img{
	 height:40px !important;
} 	

.bg_head{
   background: #ffffff;   width: 100%; height: 90px;
}


.bg_head .col-12{
  padding: 0; 
}

  .toppage{
  padding-top: 90px;
 }
 




}

 
.banner{
  position: relative; 
}

.banner img{
  width: 100%;
}

.banner::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}

 

.ttl{
  color:var(--color-text) !important;
}

.dark-modal .modal-content {
    background-color: #333;
    color: #fff;
    border: none;
}

.dark-modal .modal-header {
    border-bottom: 1px solid #444;
}

.dark-modal .btn-close {
    filter: invert(1); /* ปุ่ม X เป็นสีขาว */
}


.foot{
  position: relative;
  background-color: #fff; padding: 0 !important;
  z-index: 2;   margin: 0 !important;
}

.foot-social img{
  width: 30px; margin-right: 5px;
}
.foot .logo{
   
  padding: 0px 60px 40px;
  font-size: 0;
}
.foot .foot-nav{
  display: flex;
  position: relative;
}
.foot .foot-nav::before,
.foot .foot-nav::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.foot .foot-nav::before{
  top: 0;
}
.foot .foot-nav::after{
  bottom: 0;
}
.foot .foot-nav .nav-box{
  position: relative;
  width: 50%;
  padding: 60px;
  box-sizing: border-box;
}
.foot .foot-nav .nav-box:first-child::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background: #333;
  width: 1px;
  height: 100%;
  z-index: 1;
  transform: scaleY(var(--border));
  transform-origin: 50% 0;
}
.foot .foot-nav .nav-box > p{
  display: inline-block;
  margin-right: 50px;
}
.foot .foot-nav .nav-box > p:last-child{
  margin-right: 0;
}
.foot .foot-nav .nav-box a{
  font-size: 15px;
  color: #333;
  line-height: 2.6;
  white-space: nowrap;
}

.foot p{
  margin: 0; padding: 0;
}
.foot .copyright{
  padding: 30px 60px 30px;
  font-size: 11px; margin: 0 !important;
  line-height: 1;   position: relative;
}
.foot .foot-nav .nav-box > p.none{
  pointer-events: none;
}
.foot .foot-nav .nav-box .none a {
  color: #ccc;
}
@media all and (max-width: 1490px){
  .foot .foot-nav .nav-box:first-child{
    display: flex;
    flex-wrap: wrap;
  }
  .foot .foot-nav .nav-box:first-child > p{
    width: 135px;
  }
}
@media all and (max-width: 768px){
  .foot .logo{
   text-align: center;
    padding: 10px 0;
    margin: 0 auto;
  }
  .foot .foot-nav .nav-box{
    padding: 10.417% 30px;
  }
  .foot .foot-nav .nav-box > p{
    display: block;
    width: auto;
  }
  .foot .foot-nav .nav-box > p + p{
    margin-left: 0;
    margin-top: 10.417%;
  }
  .foot .foot-nav .nav-box a{
    font-size: 3.125vw;
    line-height: 1.6;
  }

  .foot-social img{
  width: 25px; margin-right: 5px;
}
   
}



.totop{
  position: absolute;
  bottom: 0px;   height: 100%; 
  right: 0px;  width: 60px;
}
.totop::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: #333;
  width: 1px;
  height: 100%;
  z-index: 1;
  transform: scaleY(var(--border));
  transform-origin: 50% 0;
} 
 
.totop img{
  display: block;  padding: 18px;  
}

@media all and (max-width: 768px) {
  .totop{
   display: none;
    width: 11.286%;
    height: 0;
    padding-bottom: 11.286%;
  }
  .totop a{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 35.789%;
    height: 42.105%;
    padding: 28.9475% 32.1055%;
  }
}

 @media screen and (max-width: 1400px) {}
 @media screen and (max-width: 1300px) {}
 @media screen and (max-width: 70em) {
  
     
}

 @media screen and (max-width: 50em) {
  body ,html{
    width: 100%; position: relative; overflow-x: hidden;
  }
     .logo{
          
     }
   
	
.area_content{
	width:90%;  margin-left: auto; margin-right: auto;
}
	 	
.webshow{
		display: none;
	}

	.mobileshow{
		display: block;
	}
	
	
 .head-memeber2{
         display: block; position: absolute; right: 0;
      margin: 20px 70px 0 0;
     }
     
     .head-memeber2 li{
         display: inline-block; vertical-align: top;
     }
     	
     .head-lang{
        min-width: 20px; text-align: left;
      padding: 0px 0px; border-radius: 0px;
}
     
    
     
     .head-memeber2 img{
         width: 25px; margin-top: 5px;
     }
     
     .head-lang select{
         border: 0; margin: 0;
     }
      
    .bg_header .container{
        min-width: 100%; padding: 0; margin: 0;
    }
    
    .col-md-2,.col-md-10 ,.col-md-6{
        min-width: 100%;   
        
    }
	 
    
	 
 
     
     
}

 @media screen and (max-width: 40em) {
      
 
 h1 {
   font-size: 36px;
   line-height: 120%;
 }
 h2 {
   font-size: 30px;
   line-height: 100%;
 }
 h3 {
   font-size: 24px;
   line-height: 100%;
 } 

 
     
}

/* 📱 Responsive */
  @media (max-width: 1024px) {
    .slide {
      flex: 0 0 50%;
      min-width: 50%; /* Tablet แสดง 2 รูป */
    }
    .slider-container::before,
    .slider-container::after {
      width: 25%; /* เงาปรับตามสัดส่วน */
    }
  }

  @media (max-width: 600px) {
    .slide {
      flex: 0 0 100%;
      min-width: 100%; /* Mobile แสดง 1 รูป */
      padding: 0 0.25rem;
    }
    .slide img {
      height: 220px;
    }
    .slider-container::before,
    .slider-container::after {
      display: none; /* มือถือไม่ต้องใช้เงา */
    }
  }


  .home-ads{

  }

    .home-ads img{
    width: 100%;
  }

  
/* The container */
.container2 {
  margin-top: 20px;
  display: inline-block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


/* Hide the browser's default checkbox */
.container2 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
    border: 1px #aaaaaa solid;
}

/* On mouse-over, add a grey background color */
.container2:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.container2 input:checked ~ .checkmark {
  background-color: var(--color-primary);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.container2 input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.container2 .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


h2.page_title{
  display: flex; font-size: 2.865vw; color: var(--color-text);
  justify-content: space-between;
  align-items: baseline;
  position: relative; 
  letter-spacing: -0.02em;
  line-height: 1;
}
h2.page_title::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}





h2.page_title .jp{ 
  letter-spacing: 0.04em;
}
@media all and (min-width: 769px) {
  h2.page_title{
    padding: 40px 11.905% ;
    font-size: 110px;
  }
  h2.page_title .jp{
    font-size: 19px;
  }
}
@media all and (max-width: 768px) {
  h2.page_title{
    padding: 9.895% 5.208% 7.292%;
    font-size: 12.5vw;
  }
  h2.page_title .jp{
    font-size: 2.604vw;
  }
}


  h3.hd{
  position: relative;
  padding: 62px 0;
  font-size: 48px;
  text-align: center;
  line-height: 1;
}
h3.hd span{
  display: block;
  margin-top: 14px;
  font-size: 16px;
}

@media all and (min-width: 769px) and (max-width: 1040px){
h3.hd{
  font-size: 36px; line-height: 120%; 
}
}

@media all and (max-width: 768px) {
h3.hd{
  font-size: 30px; line-height: 120%; 
}
}

.breadcrumb{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 15px 60px 0;
}
.breadcrumb::before,
.breadcrumb::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.breadcrumb::before{
  top: 0;
}
.breadcrumb::after{
  bottom: 0;
}
.breadcrumb p{
  font-size: 13px;
  color: #aaa;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
.breadcrumb p + p::before{
  content: '/';
  display: inline-block;
  margin: 0 14px;
  font-size: 13px;
  color: #333;
}
.breadcrumb a{
  font-size: 13px;
  color: #333;
}
@media all and (min-width: 769px) {
}
@media all and (max-width: 768px) {
  .breadcrumb{
    padding: 5.208%;
  }
  .breadcrumb p{
    font-size: 2.604vw;
  }
  .breadcrumb p + p::before{
    margin: 0 2.604vw;
    font-size: 2.604vw;
  }
  .breadcrumb a{
    font-size: 2.604vw;
  }
}
