@charset "UTF-8";

@media print, screen and (min-width:1200px) {

#topHead {
position: fixed;
background-color: #fff;
width: 100%;
height: 100px;
top: 0;
left: 0;
border-top: 5px solid var(--themeColor);
z-index: 500;
transition: .6s;
}

#topHead #logo {
position: absolute;
background: url("../img/logo_y.svg") no-repeat;
background-size: 230px;
width: 230px;
height: 35px;
top: 32px;
left: 35px;
opacity: 1;
}

#topHead #logo a span {
width: 230px;
height: 35px;
font-size: 0;
display: block;
text-indent: -10000px;
}

#topHead #globalNav ul,
#topHead #globalNavEn ul {
position: absolute;
display: flex;
justify-content: flex-end;
align-items: center;
white-space: nowrap;
line-height: 1.5;
top: -20px;
right: 0;
}

#topHead #globalNavEn ul {
top: 0;
bottom: 0;
right: 35px;
}

#topHead #globalNav ul li,
#topHead #globalNavEn ul li {
position: relative;
font-family: var(--font-mincho);
font-size: 1.4rem;
font-weight: 700;
margin-left: 32px;
transition: .6s;
}

#topHead #globalNav ul li a,
#topHead #globalNavEn ul li a {
text-decoration: none;
color: var(--txtColor);
display: block;
transition: .5s;
}

#topHead #globalNav ul li a span {
font-family: var(--font-literata);
font-size: 1rem;
font-weight: 400;
color: var(--themeColor);
display: block;
letter-spacing: -0.02em;
}

#topHead #globalNav ul li a::after,
#topHead #globalNavEn ul li a::after {
position: absolute;
background-color: var(--subColorInvert);
content: "";
width: 100%;
height: 1px;
bottom: -8px;
left: 0;
transform: scale(0, 1);
transform-origin: center top;
transition: all 0.5s ease;
}

#topHead #globalNav ul li a:hover::after,

#topHead #globalNavEn ul li a:hover::after {
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}

#topHead .jp {
position: relative;
}

#topHead .jp::after {
position: absolute;
content: "/";
color: var(--txtColor);
top: 0px;
right: -22px; 
}

#topHead #globalNav #navContact {
top: 0;
}

#topHead #globalNav #navContact i {
font-size: 3rem;
margin-bottom: 5px;
}

#topHead #globalNav #navContact a {
background-color: var(--subColor);
width: 130px;
height: 130px;
color: #fff;
padding-top: 35px;
transition: .3s;
border-left: 1px solid var(--subColor);
border-bottom: 1px solid var(--subColor);
}

#topHead #globalNav #navContact a span {
color: #fff;
}

#topHead #globalNav #navContact a::after {
display: none;
}

#topHead #globalNav #navContact a:hover {
background-color: var(--themeColor);
color: #fff !important;
border-left: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
}

#topHead #globalNav #navContact a:hover span {
color: var(--subColorInvert);
}

#topHead #globalNav #navContact a {
color: #fff;
display: block;
}

#topHead #globalNav #navContact a:hover {
color: var(--themeColor);
display: block;
}

.hamburger {
display: none !important;
}

}

@media print, screen and (max-width:1199px) {

#topHead {
position: fixed;
background-color: #fff;
width: 100%;
height: 60px;
top: 0;
left: 0;
z-index: 500;
transition: .6s;
}

#topHead #logo {
position: absolute;
top: 50px;
opacity: 0;
}

#topHead #logo {
background: url("../img/logo_y.svg") no-repeat;
background-size: 200px;
width: 200px;
height: 42px;
top: 15px;
left: 20px;
opacity: 1;
}

#topHead #logo a span {
width: 200px;
height: 42px;
font-size: 0;
display: block;
text-indent: -10000px;
}

.hamburger {
position: fixed;
display: block;
width: 52px;
right: 5px;
top: 10px;
height: 42px;
cursor: pointer;
text-align: center;
z-index: 1004;
transition: .5s;
}

.hamburger span {
position: absolute;
background-color: var(--themeColor);
display: block;
width: 30px;
height: 2px ;
left: 10px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
top: 10px;
}

.hamburger span:nth-child(2) {
top: 18px;
}

.hamburger span:nth-child(3) {
top: 26px;
}

.hamburger.active span:nth-child(1) {
top: 20px;
left: 10px;
background: #fff;
transform : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
top: 20px;
background: #fff;
transform : rotate(45deg);
}

#topHead #globalNav,
#topHead #globalNavEn {
position: fixed;
background-color: var(--themeColor);
z-index : 1001;
top: 0;
left: 0;
text-align: center;
width: 100%;
height: 100%;
transform: translateX(-100%);
transition: all 0.6s;
}

#topHead #globalNav.active,
#topHead #globalNavEn.active {
opacity: 1;
display: block;
transform: translateX(0%);
}

#topHead #globalNav ul,
#topHead #globalNavEn ul {
position: absolute;
margin: auto;
text-align: center;
display: block;
left: 0;
right: 0;
top: 40%;
transform: translateY(-40%) ;
}

#topHead #globalNav ul li,
#topHead #globalNavEn ul li {
position: relative;
font-family: var(--font-mincho);
font-weight: 700;
margin: 0 auto;
margin-bottom: 20px;
transition: .6s;
top: -8px;
}

#topHead #globalNav ul li a,
#topHead #globalNavEn ul li a {
font-size: 1.4rem;
text-decoration: none;
color: #fff;
display: block;
transition: .5s;
}

#topHead #globalNav ul li a span {
font-family: var(--font-literata);
font-size: 1rem;
font-weight: 400;
color: var(--subColorInvert);
display: block;
letter-spacing: -0.02em;
}

#topHead .jp,
#topHead .en {
position: relative;
display: inline-block !important;
margin: 0 10px !important;
}

#topHead .jp::after {
position: absolute;
content: "/";
color: #fff !important;
top: 2px;
right: -16px; 
}

#topHead #globalNav #navContact a {
padding-top: 0;
}

#topHead #globalNav #navContact i {
display: none;
}

}