@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

body {overflow-x: hidden;}
header  {position: relative;}
.site-header {display: flex; flex-wrap: wrap; align-items: center; font-family: "Noto Sans JP", system-ui;}
.site-header .site-logo .header-logo {margin-top: 0;}
.site-menu {margin-left: auto; display: flex; flex-wrap: wrap;}
.site-menu .primary-menu .navbar-nav {display: flex; flex-wrap: wrap; flex-direction: row;}
.site-menu .primary-menu .navbar-nav .nav-item {padding-right: 20px; position: unset; cursor: pointer;}
.site-menu .primary-menu .navbar-nav .nav-item .nav-link {font-size: 14px; line-height: 16px; font-weight: 700; color: #000; font-family: "Noto Sans JP", system-ui; padding-top: 30px; padding-bottom: 30px; padding-right: 10px; padding-left: 10px; transition: all 0.4s ease-in-out; border-bottom: 4px solid transparent; position: relative;}
.site-menu .primary-menu .navbar-nav .nav-item:hover .nav-link, .site-menu .primary-menu .navbar-nav .nav-item.active .nav-link {color: #FF5F00; border-color: #FF5F00; }
.site-menu .primary-menu .navbar-nav .nav-item .nav-link::after {display: none;}
.site-menu .primary-menu .navbar-nav .nav-item.dropdown .nav-link::before {position: absolute; content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #FF5F00; font-size: 16px; top: 50%; transform: translateY(-50%); right: -10px; transition: all 0.4s ease-in-out;}
.site-menu .primary-menu .navbar-nav .nav-item.dropdown:hover .nav-link::before {content: "\f077";}
.location-wrap-box {color: #000; font-family: "Noto Sans JP", system-ui; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; width: 145px; position: relative;}
.location-wrap-box::after {content: ""; position: absolute; top: 50%; transform: translateY(-50%); width: 1px; height: 50%; background-color: #000; left: 0;}
.language-dropdown {width: calc(100% - 20px);}
.location-wrap-box .dropdown  {position: unset;}
.location-wrap-box .icon {margin-right: 8px; color: #000; font-size: 16px;}
.location-wrap-box button#dropdownMenuButton {font-family: "Noto Sans JP", system-ui; font-size: 14px; line-height: 20px; font-weight: 400; color: #000; background-color: transparent; border: none; padding: 0 20px 0 0; width: auto; position: relative;}
.location-wrap-box button#dropdownMenuButton::after {display: none;}
.location-wrap-box button#dropdownMenuButton::before {position: absolute; content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #000; font-size: 16px; top: 50%; transform: translateY(-50%); right: -8px;}
.right-menu a {background-color: #FF5F00; color: #fff; font-size: 14px; line-height: 16px; font-weight: 700; font-family: "Noto Sans JP", system-ui; display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 20px;}
.right-menu a:hover{background: #000; color: #fff;}
.location-wrap-box #language-dropdown .dropdown-menu {background-color: #E5E5E5; border: 0; padding: 14px 0;}
.location-wrap-box #language-dropdown .dropdown-menu .dropdown-item {font-size: 14px; line-height: 16px; font-weight: 400; color: #000; font-family: "Noto Sans JP", system-ui; border: none; padding: 6px 14px 6px 30px;}
.location-wrap-box #language-dropdown .dropdown-menu .dropdown-item:hover {background-color: transparent; color: #FF5F00;}
.location-wrap-box #language-dropdown .dropdown-menu .dropdown-item::after {display: none;}
.location-wrap-box #language-dropdown .dropdown-menu .dropdown-item::before {content: ""; position: absolute; top: 50%; left: 15px; transform: translateY(-50%); height: 2px; width: 8px; background: #FF5F00; display: block; z-index: 11; }
/* .mega-menu::before, .mega-menu::after {position: absolute; content: ""; top: 0; width: 100%; left: 100%; background-color: #E5E5E5; height: 100%; display: block;}
.mega-menu::after {left: -100%;} */
.mega-menu .menu-title {font-family: "Noto Sans JP", system-ui; font-size: 24px; line-height: 35px; font-weight: 700; color: #000; margin-bottom: 28px;}
.mega-menu .menu-title a {font-family: "Noto Sans JP", system-ui; font-size: 24px; line-height: 35px; font-weight: 700; color: #000; display: flex; align-items: center; flex-wrap: wrap;}
.mega-menu .menu-title .icon {width: 24px; height: 24px; /*background-color: #FF5F00;*/ background:#FF5F00 url(../images/jp/arrow.svg) no-repeat center; margin-left: 8px; display: block;}
.mega-menu .menu-title a:hover{color:#FF5F00;}
/* .mega-menu .menu-title a:hover .icon{background-color:#000;} */
/*.mega-menu-box {padding: 0 15px;}*/
.mega-menu .mega-menu-box ul{display: flex; flex-wrap: wrap; margin: 0 -15px;}
.mega-menu .mega-menu-box ul li {margin-bottom: 20px; width: 25%; padding: 0 15px;}
.mega-menu .mega-menu-box ul li a {color: #000; font-size: 16px; line-height: 20px; font-weight: 700; font-family: "Noto Sans JP", system-ui;}
.mega-menu .mega-menu-box ul li:hover a {color: #FF5F00;}
@media(min-width:992px){
.site-menu .primary-menu .navbar-nav .nav-item.dropdown:hover .mega-menu {opacity: 1; visibility: visible;}
.mega-menu {position: absolute; top: 100%; background-color: #E5E5E5; padding: 60px 0; z-index: 2; width: 100%; left: 0; right: 0; visibility: hidden; opacity: 0; transition: all 0.4s ease-in-out;}
}
/*------------------------------
            Footer 
-------------------------------*/

footer {padding: 0; background: transparent; font-family: "Noto Sans JP", system-ui; color: #fff;}
.foooter-top {padding: 56px 0 62px; background-color: #212529;}
.foooter-top .site-logo a img {max-width: 150px; width: 100%; margin: 0 auto;}
.footer-menu .sub-title {color: #fff; font-size: 16px; line-height: 20px; font-weight: 700; font-family: "Noto Sans JP", system-ui; margin-bottom: 50px;}
.footer-menu h4 {color: #fff; font-size: 16px; line-height: 20px; font-weight: 700; font-family: "Noto Sans JP", system-ui; margin-bottom: 16px;}
.footer-menu p {margin-bottom: 0; font-size: 12px; line-height: 30px; font-weight: 400; font-family: "Noto Sans JP", system-ui; color: #fff;}
.footer-menu ul {padding: 0; margin: 0;}
.footer-menu ul li:last-child {margin-bottom: 6px;}
.footer-menu ul li {list-style: none;}
.footer-menu ul li a {font-size: 16px; line-height: 1.3; font-weight: 700; font-family: "Noto Sans JP", system-ui; color: #fff; margin: 0 0 5px; display: inline-block; }
.footer-menu ul li li a {font-size: 12px; line-height: 1.3; font-weight: 400;}
.footer-menu ul li:hover a {color: #FF5F00;}
.footer-menu .menu-link {padding: 14px 18px; background-color: #FF5F00; color: #fff; font-size: 14px; line-height: 16px; font-weight: 700; font-family: "Noto Sans JP", system-ui; max-width: 130px; width: 100%; margin-left: auto; display: block; margin-bottom: 30px; border: 1px solid transparent; text-align: center;}
.footer-menu .menu-link:hover {color: #FF5F00; border-color: #FF5F00; background-color: transparent;}
.footer-menu ul.social-links {display: flex; flex-wrap: wrap; justify-content: end;}
.footer-menu ul.social-links li a i {font-size: 35px; color: #fff;}
.footer-menu ul.social-links li:hover a i  {color: #FF5F00;}
.sub-menu-title {margin-bottom: 0; margin-top: 50px;}
.sub-menu-title a {color: #fff; font-size: 16px; line-height: 16px; font-weight: 700; font-family: "Noto Sans JP", system-ui; margin: 0 0 25px; display: inline-block; }
.sub-menu-title a:hover {color:#FF5F00;}
.footer-bottom {background-color: #4A4A4A; padding: 16px 0 24px;}
.footer-bottom-link  {padding: 0; margin: 0 0 12px 0; display: flex; align-items: center; justify-content: center;}
.footer-bottom-link  ul{display: inline-flex;}
.footer-bottom-link ul li {list-style: none; padding-right:12px; margin-right: 12px; border-right: 1px solid #646464; line-height: 0; }
/* .footer-bottom-link ul li:last-child {border: 0; padding-right: 0; margin-right: 0;}*/
.footer-bottom-link a {color: #fff; font-size: 14px; line-height: 16px; font-weight: 400; font-family: "Noto Sans JP", system-ui;}
.footer-bottom-link a:hover {opacity: 0.7;}
.copy-right {margin-bottom: 45px;}
.copy-right p {color: #9A9A9A; margin-bottom: 0; font-size: 12px; font-weight: 400; font-family: "Noto Sans JP", system-ui; text-align: center;}
.limited {text-align: right; display: block;}
.limited .footer-img {margin-bottom: 10px;}
.site-menu-inner {margin-left: auto; display: flex; flex-wrap: wrap;}

/*------------------------------
    Responsive
-------------------------------*/
@media only screen and (max-width: 1199px) {
    .mega-menu {padding: 40px 0;}
    .site-menu .primary-menu .navbar-nav .nav-item {padding-right: 10px;}
    .site-menu .primary-menu .navbar-nav .nav-item .nav-link {font-size: 12px; padding-right: 16px;}
    .site-menu .primary-menu .navbar-nav .nav-item.dropdown .nav-link::before {font-size: 12px; right: -4px;}
    .mega-menu .menu-title {margin-bottom: 18px;}
    .mega-menu .menu-title a {font-size: 18px; line-height: 30px;}
    .mega-menu .mega-menu-box ul li a {font-size: 14px; line-height: 20px;}
    .mega-menu .mega-menu-box ul li {margin-bottom: 12px;}
}

@media only screen and (max-width: 991px) {
    .footer-menu.bottom {margin-top: 50px;}
    .footer-menu .menu-link {padding: 14px; margin-bottom: 20px;}
    .footer-bottom-link a {font-size: 12px; line-height: 16px;}
}

@media only screen and (max-width: 767px) {
    .foooter-top .site-logo a img {max-width: 90px; margin: 0 auto 40px;}
    .footer-menu .sub-title {color: #fff; font-size: 14px; line-height: 20px; margin-bottom: 35px;}
    .footer-menu h4 {font-size: 14px; line-height: 20px; margin-bottom: 10px;}
    .footer-menu.bottom,
    .footer-menu {margin-top: 35px;}
    .sub-menu-title:not(:last-child) {margin-bottom: 30px; margin-top: 30px;}
    .footer-menu .menu-link {margin-left: 0; margin-bottom: 0;}
    .social {display: flex; flex-wrap: wrap; gap: 14px; align-items: center;}
    .footer-menu ul.social-links {justify-content: start;}
    .footer-menu ul.social-links li {margin-bottom: 0;}
    .footer-bottom-link {flex-direction: column; text-align: center;}
    .footer-bottom-link ul {flex-wrap: wrap; gap: 9px; text-align: center; justify-content: center; align-items: center; margin: 0 0 10px; max-width: 400px;}
    .copy-right {margin: 40px 0;}
    .limited {text-align: center;}

}


@media(min-width:992px){
    .mobile-visible{display: none;}
}
@media(max-width:991px){
.dialog-off-canvas-main-canvas header{position: absolute; left:0; top:0; z-index: 9; width: 100%;}
.dialog-off-canvas-main-canvas header .container{max-width: 100% !important;}
.site-header{display: flex; justify-content: space-between; padding-right: 67px;}
/* .site-header .site-logo{} */
.site-header .site-logo .header-logo{margin:0;}
.site-header .site-logo .header-logo  img {width: 72px; max-height: 45px; }
.mobile-visible .right-menu a {height: 90px; width: 134px; font-size: 16px; line-height: 24px; font-weight: bold; padding: 0; }
.open-menu{position:relative;/*right: 250px;*/overflow: hidden;}
.site{-webkit-transition:all 0.3s ease-in-out 0s;transition:all 0.3s ease-in-out 0s;position:relative;left:0;}
.mobile-icon{height: 50px;width: 50px;cursor:pointer;position: absolute;right: 15px;top: 22px;-ms-box-orient:horizontal;
display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;
display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;
-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-align-items: center;
-ms-flex-direction: center;align-items: center;}
.mobile-icon span {height: 2px;width: 20px;display: block;background: #FF5F00;margin: 2px 0px;position: relative;}
.site-menu{position:fixed;right: 0;top: 90px;height: 0;width: 100%;
    -webkit-transition:all 0.3s ease-in-out 0s;transition:all 0.3s ease-in-out 0s;z-index: -9;background: #E5E5E5;margin:0;opacity: 0;gap: 0; visibility: hidden;}
.open-menu .site-menu{height:calc(100% - 50px);z-index: 9999;opacity: 1; overflow-y: hidden; visibility: visible;}   
.site-menu .site-menu-inner{height: 100%; width: 100%; overflow-y: scroll; display: flex;  justify-content: flex-start;align-items: flex-start;flex-direction: column;flex-wrap: nowrap; text-align:left;padding: 20px; }
.open-menu .site-menu .mobile-icon{ display: flex; }
.mobile-icon.active span {transform: rotate(45deg); }
.mobile-icon.active span:last-child {transform: rotate(-45deg); right: 0px; top: -6px; }
.open-menu .header-block:after {content: ""; position: fixed; display: block; z-index:9; background:rgba(0,0,0,0.5); height:100vh; width:100%; top:0; left:0; }
.primary-menu{padding: 0;height: auto;}
.main-navigation{display:block;}
.site-menu .primary-menu .navbar-nav{padding:0;margin:0;float: left;display: block;width: 100%;}
.site-menu .primary-menu .navbar-nav .nav-item{display:block;padding: 0px 42px 12px 19px;width:100%;border-bottom: 1px solid #ccc;position: relative;margin: 0 0 13px;}
.site-menu .primary-menu .navbar-nav .nav-item .nav-link{font-size: 18px;line-height: 22px;font-weight: 700;color: #000;font-family: "Noto Sans JP", system-ui;padding: 0;transition: all 0.4s ease-in-out;display: block;border: 0 !important;}
.site-menu .primary-menu .navbar-nav .nav-item.dropdown .nav-link::before{display: none;}
.site-menu .right-menu a {height: 61px;font-size: 18px;line-height: 26px;margin: 25px 0 40px;}
.site-menu .primary-menu {order: 1;width: 100%;}
.site-menu .location-wrap-box {order: 3;width: 100%;}
.location-wrap-box::after{display:none}
.site-menu .right-menu {order: 2;width: 100%;}
.site-menu .primary-menu .navbar-nav .nav-item span.fl:after {content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #FF5F00; font-size: 16px; transition: all 0.4s ease-in-out; }
.site-menu .primary-menu .navbar-nav .nav-item span.fl{position: absolute;right: 0px;top: -7px;height: 40px;width: 40px;display: flex;justify-content: center;align-items: center;}
.open-menu .dialog-off-canvas-main-canvas header {position: fixed; top: 0; width: 100%; z-index:9; background: #fff; }
.mega-menu {padding: 20px 0 0; position: relative; top: inherit; left: inherit; right: inherit; display: none; }
.mega-menu.nav-open {display: block;}
.mega-menu .menu-title a {font-size: 14px; line-height: 25px; }
.mega-menu .mega-menu-box ul{margin: 0 -1%;}
.mega-menu .mega-menu-box ul li{display: block;width: 48%;padding: 0;margin: 0 1%; border-bottom: 1px dashed #ccc;margin-bottom: 13px;padding-bottom: 15px;}
.mega-menu-box {width: calc(100% + 42px);}

/**/

.location-wrap-box .dropdown {width: 100%; padding-left: 28px; margin: 0;}
.location-wrap-box #language-dropdown .dropdown-menu .dropdown-item {width: auto;display: inline-flex;padding: 4px 8px 7px 3px;}
.location-wrap-box .icon {margin-right: 8px; color: #000; font-size: 16px; position: absolute; top: 0; left: 0px; }
.location-wrap-box #language-dropdown .dropdown-menu {top: inherit !important; position: relative !important; width: calc(100% + 41px); transform: inherit !important; 
           left: -41px !important; }
.location-wrap-box #language-dropdown .dropdown-menu .dropdown-item::before{width: 1px; height: 15px; right: 0; left: inherit; background: #000; }
.language-switcher-language-url{padding: 0 3px !important;}
.location-wrap-box #language-dropdown .dropdown-menu {padding: 14px 13px;}
body{padding-top: 90px;}

.mega-menu .menu-title {
   display: none;
}

}

@media(max-width:767px){
body{padding-top: 50px;}    
.header-logo img {width: 72px; max-height: 45px; }
.mobile-visible .right-menu a {height: 50px;width: 96px;font-size: 14px;}
/*.mobile-icon {top: 3px;right: 8px;}*/
.mobile-icon {top: 0px; right: 0px;}
.site-header {padding-right: 50px;}
.site-menu {padding: 0;top: 50px;}
.site-menu .primary-menu .navbar-nav .nav-item .nav-link {font-size: 16px; line-height: 23px; }
.mega-menu .menu-title .icon { width: 15px; height: 15px; background-size: 6px;}
.site-menu .right-menu a {height: 50px; font-size: 16px; line-height: 24px; margin: 15px 0 23px; }
.mega-menu .menu-title a {font-size: 14px; line-height: 25px; }
.mega-menu .mega-menu-box ul{margin:0;}
.mega-menu .mega-menu-box ul li{display: block;width: 100%;padding: 0;}
.mega-menu .mega-menu-box ul li:last-child{border-bottom: 0;margin-bottom: 0;padding-bottom: 0;}
.mega-menu .mega-menu-box ul li:not(:last-child){border-bottom: 1px dashed #ccc;margin-bottom: 13px;padding-bottom: 15px;}

}


/* Amends by G1711 */
.footer-menu ul li:hover a {color: #FFFFFF;}
.footer-menu ul li a:hover  {color: #FF5F00;}
.footer-menu ul li a {font-weight:bold;}
.footer-menu ul li ul {padding-left:10px;}
.footer-menu ul li ul li a {font-weight:400;}