@charset "UTF-8";

@media print, screen and (min-width:1025px) {

#topHead {
position: fixed;
width: 100%;
height: 120px;
padding: 0;
line-height: 1;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
z-index: 1500;
}

#topHead a, #topHead {
color: #fff;
text-decoration: none;
}

#topHead #logo {
position: absolute;
background: url("../img/logo_tw.svg") no-repeat right;
background-size: contain;
width: 100px;
height: 400px;
top: 60px;
left: 60px;
z-index: 1501;
}

#topHead #logo a span {
display: block;
width: 100px;
height: 400px;
font-size: 0;
text-indent: -10000px;
}

#topHead .globalNav {
position: relative;
width: 100%;
margin: 0 auto;
padding: 38px 300px;
}

#topHead .globalNav li {
position: relative;
display: inline-block;
margin: 0 10px;
}

#topHead .globalNav li a {
font-family: 'Shippori Mincho', serif;
font-size: 1.6rem;
font-weight: 600;
color: #fff;
line-height: 1.3;
}

#topHead .globalNav li a:hover {
font-family: 'Shippori Mincho', serif;
font-size: 1.6rem;
font-weight: 600;
color: #fff;
line-height: 1.3;
}

ul.globalNavSecond {
text-align: left !important;
visibility: hidden;
opacity: 0;
}

.globalNav li a:hover {
transition: all .3s ease;
}

li.megaMenu ul.globalNavSecond {
position: absolute;
background: var(--themeColor);
width: 300px !important;
padding: 20px;
display: block;
top: 20px;
left: -30px;
transition: all 0.2s ease;
border: 2px solid #FFEDD0;
}

li.megaMenu:hover ul.globalNavSecond {
top: 29px;
visibility: visible;
opacity: 1;
}

li.megaMenu ul.globalNavSecond li {
width: 100% !important;
line-height: 1.5;
}

li.megaMenu ul.globalNavSecond li a {
font-size: 1.3rem !important;
text-align: left !important;
color: #fff !important;
}

#topHead #line,
#topHead #contact {
position: absolute;
font-family: 'Shippori Mincho', serif;
width: 160px;
height: 120px;
font-size: 1.5rem;
font-weight: 600;
color: #fff;
padding: 14px 0 0 0;
top: 0;
line-height: 1.4;
transition: .3s;
letter-spacing: 0;
}

#topHead #line {
background: #06c755;
right: 160px;
border-radius: 0 0 0 10px;
}

#topHead #contact {
background: #FF9600;
right: 0;
}

#topHead #line i,
#topHead #contact i {
font-size: 3rem;
font-weight: 400;
margin-bottom: 8px;
}

#topHead #line:hover {
background: #0FA715;
}

#topHead #contact:hover {
background: #F27A00;
}

/* transition */
#topHead,
#topHead #logoWrap,
#topHead #logo,
#topHead #logo a span,
#topHead #logoW,
#topHead .globalNav,
#topHead .globalNav ul li,
#topHead .globalNav ul li a,
#topHead #contact {
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
}

#topHead.fixed {
background: url("../img/main_bg.jpg") repeat center;
background-size: 2000px;
height: 100px;
}

#topHead.fixed #logo {
position: absolute;
background: url("../img/logo.svg") no-repeat;
background-size: 100%;
width: 340px;
height: 81px;
top: 8px;
left: 30px;
}

#topHead.fixed #logo a span {
display: block;
width: 340px;
height: 81px;
text-indent: -1000px;
}

#topHead.fixed .globalNav {
text-align: right;
padding: 38px 340px;
}

#topHead.fixed .globalNav  li a {
color: #000;
}

/* Underline From Left */
#topHead .globalNav li a {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
position: relative;
overflow: hidden;
padding-bottom: 3px;
}
#topHead .globalNav li a:before {
content: "";
position: absolute;
left: 0;
right: 100%;
bottom: 0;
background: #fff;
height: 1px;
-webkit-transition-property: right;
transition-property: right;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
z-index: 2;
}
#topHead .globalNav li a:hover:before, #topHead .globalNav li a:focus:before, #topHead .globalNav li a:active:before {
right: 0;
}
#topHead.fixed .globalNav li a {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
position: relative;
overflow: hidden;
padding-bottom: 3px;
}
#topHead.fixed .globalNav li a:before {
content: "";
position: absolute;
left: 0;
right: 100%;
bottom: 0;
background: var(--themeColor);
height: 1px;
-webkit-transition-property: right;
transition-property: right;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
z-index: 2;
}
#topHead.fixed .globalNav li a:hover:before, #topHead.fixed .globalNav li a:focus:before, #topHead.fixed .globalNav li a:active:before {
right: 0;
}

#topHead.fixed li.megaMenu ul.globalNavSecond li a {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
position: relative;
overflow: hidden;
padding-bottom: 3px;
}
#topHead.fixed li.megaMenu ul.globalNavSecond li a:before {
content: "";
position: absolute;
left: 0;
right: 100%;
bottom: 0;
background: #fff;
height: 1px;
-webkit-transition-property: right;
transition-property: right;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
z-index: 2;
}
#topHead.fixed li.megaMenu ul.globalNavSecond li a:hover:before,
#topHead.fixed li.megaMenu ul.globalNavSecond li a:focus:before,
#topHead.fixed li.megaMenu ul.globalNavSecond li a:active:before {
right: 0;
}

}

@media print, screen and (max-width:1024px) {

#topHead {
position: fixed;
background: url("../img/main_bg.jpg") repeat center;
background-size: 2000px;
width: 100%;
height: 70px;
padding: 0;
line-height: 1;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
z-index: 1500;
}

#topHead #logo {
position: absolute;
background: url("../img/logo.svg") no-repeat;
background-size: 100%;
width: 200px;
height: 47px;
top: 8px;
left: 10px;
}

#topHead #logo a span {
display: block;
width: 200px;
height: 47px;
font-size: 0;
text-indent: -10000px;
}

#topHead #line,
#topHead #contact {
position: absolute;
font-family: 'Shippori Mincho', serif;
width: 50%;
height: 80px;
font-size: 1.2rem;
font-weight: 600;
color: #fff;
padding: 10px 0 0 0;
top: 70px;
line-height: 1.4;
transition: .3s;
letter-spacing: 0;
}

#topHead #line {
background: #06c755;
left: 0;
}

#topHead #contact {
background: #FF9600;
right: 0;
}

#topHead #line i,
#topHead #contact i {
font-size: 2rem;
font-weight: 400;
margin-bottom: 3px;
}

#navToggle {
position: fixed;
width: 60px;
height: 50px;
top: 10px;
right: 0;
cursor: pointer;
transition: all 1.5s ease;
-webkit-transition: all 1.5s ease;
-moz-transition: all 1.5s ease;
-o-transition: all 1.5s ease;
}
#navToggle > div {
position: absolute;
width: 28px;
height: 26px;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
#navToggle span {
width: 100%;
height: 2px;
right: 0;
display: block;
background: var(--themeColor);
position: absolute;
-webkit-transition: top .5s ease, -webkit-transform .3s ease-in-out;
transition: top .5s ease, -webkit-transform .3s ease-in-out;
transition: transform .3s ease-in-out, top .5s ease;
transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
/* #navToggle close */
}
#navToggle span:nth-child(1) {
top: 4px;
}
#navToggle span:nth-child(2) {
width: 22px;
top: 10px;
}
#navToggle span:nth-child(3) {
width: 24px;
top: 16px;
}
/*
#navToggle:hover span:nth-child(1) {
top: 4px;
}
#navToggle:hover span:nth-child(3) {
top: 23px;
}
*/

.open #navToggle span:nth-child(1) {
background: #fff;
width: 28px;
top: 9px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.open #navToggle span:nth-child(2) {
top:9px;
width: 0;
left: 50%;
}
.open #navToggle span:nth-child(3) {
background: #fff;
width: 28px;
top: 9px;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.open #navToggle {
}

#navToggle {
z-index: 1501;
}

#container {
z-index: 900;
}

.globalNav nav {
z-index: 999;
}

.globalNav {
background: var(--themeColor);
position: fixed;
width: 100%;
height: 100%;
color: #fff;
text-align: left;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow-y: scroll;
z-index: 20000;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
-webkit-box-pack: center;
justify-content: center;
padding-left: 0;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.open .globalNav {
padding: 30px;
-webkit-transform: translateX(0);
transform: translateX(0);
transition: all .7s ease;
opacity: 1;
}

.globalNav a {
font-size: 1.2rem;
font-weight: 600;
color: #fff;
margin: 0;
padding: 0;
line-height: 1.7;
}

.globalNav a:hover {
text-decoration: none;
}

.globalNav li > ul {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
margin-left: 16px;
border-bottom: 0;
}

.globalNav li > ul li {
width: 100%;
}

}