@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


#topMv {
padding-top: 40px;
position: relative;
margin-bottom: 0;
overflow: hidden;
}
#topMv:before {
content: "";
background: #dcf0f5;
height: 90%;
width: 98%;
position: absolute;
display: block;
right: -100%;
top: 0;
z-index: -1;
transition: .8s;
}

#topMv.slideIn:before{
    right: 0;
}

.mvImg {
width: 90%;
max-width: 1600px;
position: relative;
}
.mvImg video{
    width: 100%;
}
.mvTxt01 {
position: absolute;
top: 10%;
right: 4%;
}

.mvTxt01 .en {
font-family: 'Montserrat', sans-serif;
font-size: 46px;
font-size: 4.6rem;
letter-spacing: 0;
}
.mvTxt01 .en strong{
font-size: 100px;
font-size: 10.0rem;
display: block;
}

.mvTxt01 .ja{
font-size: 26px;
font-size: 2.6rem;
}

#contents {
margin: 0 auto;
overflow: visible;
}

/*about us*/
#aboutSec {
/* margin-top: -150px; */
margin-top: 100px;
margin-bottom: 200px;
}
#aboutSec .asInr {
width: 90%;
max-width: 1200px;
margin: 0 auto;

}
#aboutSec .asCatch {
font-size: 48px;
font-size: 4.8rem;
}


#aboutSec .asCatch span {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    color: #fff;
    transition: .5s;
    overflow: hidden;
    padding: 0 20px;
}


#aboutSec .asCatch span strong{
position: relative;
z-index: 2;
    opacity: 0;
    -webkit-transition: all 2s;
    -moz-transition: all 2s;
    -o-transition: all 2s;
    -ms-transition: all 2s;
    transition: all 2s;
}
 
#aboutSec .asCatch span:before{
    content: "";
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #000;
    transition: .5s;
}
 

#aboutSec .asCatch span.active:before{
    left: 0;
}

#aboutSec .asCatch span.active.second:before{
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
}

#aboutSec .asCatch span.active.third:before{
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
}

#aboutSec .asCatch span.active strong {
opacity: 1;
	-moz-transition-delay:500ms;
	-webkit-transition-delay:500ms;
	-o-transition-delay:500ms;
	-ms-transition-delay:500ms;
}
#aboutSec .asCatch span.active.second strong {
	-moz-transition-delay:700ms;
	-webkit-transition-delay:700ms;
	-o-transition-delay:700ms;
	-ms-transition-delay:700ms;
}
#aboutSec .asCatch span.active.third strong {
	-moz-transition-delay:900ms;
	-webkit-transition-delay:900ms;
	-o-transition-delay:900ms;
	-ms-transition-delay:900ms;
}

#aboutSec .txtBox {
padding-top: 30px;
margin-bottom: 60px;
background-image: url("../images/bg_01.svg");
background-position: right 60px;
background-repeat: no-repeat;
}
#aboutSec .mainTxt {
font-size: 24px;
font-size: 2.4rem;
line-height: 2.5;
margin-bottom: 30px;
font-weight: bold;
}

#aboutSec .mainTxt strong{
font-size: 36px;
font-size: 3.6rem;
line-height: 1.7;
}

/*people*/
#peopleSec {
overflow: hidden;
}

#peopleSec .psInr {
width: 90%;
max-width: 1200px;
margin: 0 auto;
}

#peopleSec .title span {
display: block;
}
#peopleSec h2 {
font-size: 21px;
font-size: 2.1rem;
}

#peopleSec h2 span {
  font-family: 'Montserrat', sans-serif;
    color: #fff;
text-shadow:2px 2px 0 #4ec3d1, -2px -2px 0 #4ec3d1,
              -2px 2px 0 #4ec3d1, 2px -2px 0 #4ec3d1,
              0px 2px 0 #4ec3d1,  0 -2px 0 #4ec3d1,
              -2px 0 0 #4ec3d1, 2px 0 0 #4ec3d1;

  font-size: 210px;
  font-size: 21.0rem;
  display: block;
  margin-bottom: 20px;
}
#peopleSec h3.psCatch {
font-size: 48px;
font-size: 4.8rem;
padding: 50px 0;
}

#peopleSec .psTxt {
font-size: 18px;
font-size: 1.8rem;
font-weight: 400;
line-height: 2;
}
.peopleList {
width: 90%;
max-width: 1700px;
margin: 0 auto;
padding-top: 40px;
}
.peopleList .slide {
display: flex;
justify-content: space-between;
}
.peopleList li div.img{
position: relative;
	max-width: 393px;
}

.slick-prev::before, .slick-next::before {
    font-size: 50px!important;
    opacity: .9!important;
    color: #000!important;
}
.slick-prev, .slick-next {
    width: 50px!important;
    height: 50px!important;
}

.peopleList li:hover {
opacity: 0.6;
text-decoration: none;
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;	
}

.peopleList .category {
background: #000;
display: inline-block;
padding: 2px 15px 4px;
color: #fff;
font-size: 14px;
font-size: 1.4rem;
position: absolute;
left: 30px;
bottom: 0;
}

.peopleList .name {
font-size: 26px;
font-size: 2.6rem;
font-family: 'Montserrat', sans-serif;
margin-left: 30px;
}



/*joblist*/
#jobSec {
position: relative;
}

#jobSec:before {
content: "";
background: #f2f5f9;
height: 95%;
width: 77%;
position: absolute;
display: block;
left: 0;
top: 40px;
z-index: -1;
}

#jobSec .jsInr {
width: 90%;
max-width: 1200px;
margin: 0 auto;
}

#jobSec .jsInr h2 span {
font-family: 'Montserrat', sans-serif;
font-size: 80px;
font-size: 8.0rem;
display: block;
margin-bottom: 30px;
}
#jobSec .jsInr h2 {
font-size: 21px;
font-size: 2.1rem;
margin-bottom: 30px;
}

#jobSec .jsTxt {
font-size: 18px;
font-size: 1.8rem;
font-weight: 400;
}
.jobList {
padding-top: 60px;
}
.jobList ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.jobList ul li {
width: 47%;
margin-bottom: 80px;
}

.jobList ul li .jobImg {
width: 100%;
position: relative;
display: flex;
flex-direction: row-reverse;
background: #f2f5f9;
}

.jobList ul li .jobImg img {
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.jobList ul li .jobTitle {
background: #f2f5f9;
padding: 15px 0;
width: 220px;
text-align: center;
position: absolute;
bottom: 0;
left: 0;
}

.jobList ul li .jobTitle .number {
  font-family: 'Montserrat', sans-serif;
    color: #f2f5f9;
text-shadow:2px 2px 0 #4ec3d1, -2px -2px 0 #4ec3d1,
              -2px 2px 0 #4ec3d1, 2px -2px 0 #4ec3d1,
              0px 2px 0 #4ec3d1,  0 -2px 0 #4ec3d1,
              -2px 0 0 #4ec3d1, 2px 0 0 #4ec3d1;

  font-size: 180px;
  font-size: 18.0rem;
  margin-bottom: 10px;
  line-height: 1!important;
}

.jobList ul li .jobTitle h3 span  { 
  font-family: 'Montserrat', sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  display: block;
  font-weight: 400;
  margin-bottom: 10px;
}

.jobList ul li .jobTitle h3{
font-weight: 100;
margin-bottom: 20px;
}
.extendArrow {
text-align: left;
margin-left: 40%;
}
.jobList ul li .arrow {
 display: inline-block;
  width: 2.0em;
  height: 0.4em;
  transform: skewX(40deg);
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-left: 10px;
  vertical-align:middle;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.jobList ul li .blueTxt {
font-size: 21px;
font-size: 2.1rem;
color: #fff;
background: #4ec3d1;
padding: 20px 25px;
}

.jobList ul li a:hover {
text-decoration: none;
}

.jobList ul li a:hover img {
opacity: 0.5;
}

.jobList ul li a:hover .arrow {
  width: 100%;
 }

/*environment*/
#envSec {
margin-bottom: 30px;
}
.esInr {
width: 90%;
max-width: 1200px;
margin: 0 auto;
}

#envSec .esInr h2 span {
font-family: 'Montserrat', sans-serif;
font-size: 60px;
font-size: 6.0rem;
display: block;
margin-bottom: 30px;
}
#envSec .esInr h2 {
font-size: 21px;
font-size: 2.1rem;
margin-bottom: 30px;
}
#envSec .esTxt {
font-size: 18px;
font-size: 1.8rem;
font-weight: 400;
}
#envSec .esList {
padding: 60px 0;
}
#envSec .esList ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
#envSec .esList ul li {
width: 32%;
margin-bottom: 30px;
}

#envSec .esList ul li a {
display: block;
width: 100%;
text-align: center;
border: 10px solid #dcf0f5;
padding: 30px 0;
}

#envSec .esList ul li a:hover {
background: #dcf0f5;
text-decoration: none;
}

#envSec .esList ul li .esImg {
width: 70%;
margin: 0 auto 30px;
}
#envSec .esList ul li h3 {
font-size: 21px;
font-size: 2.1rem;
}

/*muse*/


#museSec .msInr {
display: flex;
width: 100%;
margin: 0 auto;
justify-content: flex-start;
align-items: center;
}
#museSec .msImg {
width: 75%;
max-width: 1328px;
}
#museSec .msInfo {
width: 18%;
position: relative;
} 
#museSec .msInfo .msBox {
    position: absolute;
    z-index: 2;
    width: 190%;
    max-width: 464px;
    right: 38%;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

#museSec .msInfo .msBox h3 {
font-size: 26px;
font-size: 2.6rem;
padding: 30px 0;
}

#museSec .msInfo .msBox .msTxt {
font-size: 18px;
font-size: 1.8rem;
font-weight: 400;
margin-bottom: 60px;
}

/*company*/
#companySec{
background: url("../images/bg_02.jpg") center 76px no-repeat;
background-size:cover;
padding-bottom: 130px;
margin-bottom: 0;
}

#companySec h2 {
width: 90%;
max-width: 1200px;
margin: 0 auto;
/* font-family: 'Montserrat', sans-serif; */
font-family: "Prompt", sans-serif;
  text-stroke: 1px #000;
  -webkit-text-stroke: 2px #4ec3d1;
font-size: 150px;
font-size: 15.0rem;
display: block;
margin-bottom: 80px;
color: #fff;
  background: -webkit-linear-gradient(top, #ffffff 0%, #ffffff 50%, #dbeff3 51%, #dbeff3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@supports (-ms-ime-align: auto) {
#companySec h2 {
    color: #fff;
text-shadow:2px 2px 0 #4ec3d1, -2px -2px 0 #4ec3d1,
              -2px 2px 0 #4ec3d1, 2px -2px 0 #4ec3d1,
              0px 2px 0 #4ec3d1,  0 -2px 0 #4ec3d1,
              -2px 0 0 #4ec3d1, 2px 0 0 #4ec3d1;
background: none;

}
}


  
  
  
.companyList {
width: 90%;
max-width: 1650px;
margin: 0 auto;
}
.companyList ul {
display: flex;
}

.companyList ul li {
width: 25%;
}

.companyList ul li .clImg {
position: relative;
overflow: hidden;
width: 100%;
height: 100%;
background: #fff;
}

.companyList ul li h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  z-index: 2;
  color: #fff;
}
.companyList ul li h3 span {
font-family: 'Montserrat', sans-serif;
font-size: 26px;
font-size: 2.6rem;
margin-bottom: 15px;
display: block;
}

.companyList ul li h3 {
font-size: 16px;
font-size: 1.6rem;
text-align: center;
font-weight: 500;
}

.companyList ul li .clImg img {
display: block;
transition-duration: 0.5s;
}

.companyList ul li a:hover img{
transform: scale(1.5);
transition-duration: 0.5s;
opacity: 0.6;
}


@media only screen and (max-width: 1500px) {
#museSec .msInfo .msBox {
    right: 10%;
}
}

@media only screen and (max-width: 1366px) {
.peopleList .category {
    font-size: 15px;
    font-size: 1.5rem;
}
.peopleList .name {
    font-size: 20px;
    font-size: 2.0rem;
}

.jobList ul li .blueTxt {
    font-size: 18px;
    font-size: 1.8rem;
}

}

@media only screen and (max-width: 1200px) {
.mvTxt01 .en {
    font-size: 40px;
    font-size: 4.0rem;
}
.mvTxt01 .en strong {
    font-size: 110px;
    font-size: 11.0rem;
}
.mvTxt01 .ja {
    font-size: 22px;
    font-size: 2.2rem;
}
#aboutSec {
    /* margin-top: -110px; */
    margin-top: 70px;
}
#aboutSec .asCatch {
    font-size: 38px;
    font-size: 3.8rem;
}
#aboutSec .mainTxt {
    font-size: 20px;
    font-size: 2.0rem;
}
#aboutSec .txtBox {
    background-size: 50% auto;
}
#peopleSec h2 span {
    font-size: 180px;
    font-size: 18.0rem;
}
#peopleSec h3.psCatch {
    font-size: 40px;
    font-size: 4.0rem;
}
.jobList ul li .jobTitle .number {
    font-size: 130px;
    font-size: 13.0rem;
}
.jobList ul li .jobTitle h3 span {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-size: 2.2rem;
}
.jobList ul li .jobTitle h3 {
    font-size: 16px;
    font-size: 1.6rem;
}
#museSec .msInfo .msBox .msTxt {
    font-size: 16px;
    font-size: 1.6rem;
}
#museSec .msImg {
    width: 80%;
}
.jobList ul li .blueTxt {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 20px 15px;
}
}

@media only screen and (max-width: 1024px) {
#aboutSec .asCatch {
    font-size: 32px;
    font-size: 3.2rem;
}

#aboutSec {
    /* margin-top: -30px; */
    margin-top: 60px;
}

#aboutSec .mainTxt {
    font-size: 18px;
    font-size: 1.8rem;
}
#aboutSec .mainTxt strong {
    font-size: 32px;
    font-size: 3.2rem;
}
#peopleSec h2 span {
    font-size: 150px;
    font-size: 15.0rem;
}

.peopleList .name {
    font-size: 16px;
    font-size: 1.6rem;
    padding-top: 10px;
}
.peopleList .category {
    padding: 2px 9px 2px;
}
.jobList ul li {
    width: 49%;
}
.jobList ul li .jobTitle .number {
    font-size: 110px;
    font-size: 11rem;
}
#museSec .msInfo .msBox {
    right: 5%;
    width: 193%;
}
#museSec .msInfo .msBox .msTxt {
    margin-bottom: 30px;
}
}

@media only screen and (max-width: 900px) {
#topMv::before {
    height: 90%;
}
#aboutSec .asCatch span {
    display: block;
    width: fit-content;
    margin-bottom: 20px;
}
#aboutSec {
    /* margin-top: -65px; */
    margin-top: 20px;
    margin-bottom: 100px;
}
#topMv {
    padding-top: 180px;
}
.peopleList {
    width: 100%;
}
/*.slick-prev::before, .slick-next::before {
    font-size: 50px!important;
    opacity: .9!important;
    color: #000!important;
}
.slick-prev, .slick-next {
    width: 50px!important;
    height: 50px!important;
}*/
.jobList ul li .blueTxt {
    padding: 10px 20px;
    font-size: 2.0rem;
    font-size: 20px;
}
#envSec .esList ul li {
    width: 49%;
}
#museSec {
margin-bottom: 100px;
}
#museSec .msInr {
    display: block;
}
#museSec .msImg {
    width: 90%;
}
#museSec .msInfo .msBox {
    width: 100%;
    max-width: 100%;
    position: inherit;
    right: inherit;
    top: inherit;
transform: inherit;
text-align: right;
}
#museSec .msInfo {
    width: 90%;
    margin: -27% auto 0;
    position: inherit;
}
#museSec .msInfo .msBox h2 img{
width: 50%!important;
}

#companySec h2 {
font-size: 100px;
font-size: 10.0rem;
}
#companySec {
    background-position: center 51px;
}
.companyList ul li {
    width: 50%;
}
.companyList ul {
    display: flex;
    flex-wrap: wrap;
}
#footer {
    margin: 0;
}

}

@media only screen and (max-width: 480px) {
#topMv:before {
    width: 90%;
}
.mvImg {
    width: 100%;
}
.mvImg img {
    object-fit: cover;
    width: 100%;
    height: 50vh;
    object-position: 100% 100%;
}
.mvImg video{
    width: 100%;
    object-fit: cover;
}
.mvTxt01 {
    top: 5%;
    right: 4%;
}
.mvTxt01 .en {
    font-size: 20px;
    font-size: 2.0rem;
}
.mvTxt01 .en strong {
    font-size: 50px;
    font-size: 5.0rem;
}
.mvTxt01 .ja {
    font-size: 13px;
    font-size: 1.3rem;
}
#aboutSec .txtBox {
    background-size: 73% auto;
	margin-bottom: 30px;
}
#aboutSec .asCatch {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
}
#aboutSec .asCatch span {
    padding: 6px 10px;
    margin-bottom: 10px;
}
#aboutSec {
    margin-bottom: 60px;
    margin-top: 10px;
}	
#aboutSec .mainTxt {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 200%;
}		
#aboutSec .mainTxt strong {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 120%;
}		
#aboutSec .mainTxt:last-child {
    margin-bottom: 0;
}		
#peopleSec {
margin-bottom: 80px;
}
#peopleSec h2 {
    font-size: 14px;
    font-size: 1.4rem;
}
#peopleSec h2 span {
    font-size: 70px;
    font-size: 7.0rem;
}
#peopleSec h3.psCatch {
    font-size: 26px;
    font-size: 2.6rem;
}
#peopleSec .psTxt {
    font-size: 15px;
    font-size: 1.5rem;
}
.peopleList .name {
    font-size: 14px;
    font-size: 1.4rem;
}
.peopleList .category {
    font-size: 10px;
    font-size: 1.0rem;
}	
#jobSec {
margin-bottom: 80px;
}
#jobSec .jsInr h2 span {
    font-size: 40px;
    font-size: 4.0rem;
}
#jobSec .jsInr h2 {
   font-size: 14px;
    font-size: 1.4rem;
}
#jobSec .jsTxt {
    font-size: 15px;
    font-size: 1.5rem;
}

.jobList ul li .jobImg img {
height:230px!important;
width: auto!important;
}

.jobList {
overflow-x: scroll;
padding-left: 5%;
}
#jobSec .jsInr {
    width: 100%;
}

#jobSec .spWidth {
width: 90%;
margin: 0 auto;

}

.jobList ul {
    flex-wrap: nowrap;
    width: 1000px;
}
.jobList ul li {
    width: 24%;
    margin-bottom: 30px;
}
.jobList ul li .jobTitle .number {
    font-size: 50px;
    font-size: 5.0rem;
}
.jobList ul li .jobTitle h3 {
    font-size: 10px;
    font-size: 1rem;
    margin-bottom: 0;
}
.jobList ul li .jobTitle h3 span {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
}
.jobList ul li .jobTitle {
    width: 50%;
    background: #fff;
}
.extendArrow {
display: none;
}
.jobList ul li .jobImg {
    background: inherit;
}
.jobList ul li .blueTxt {
    font-size: 1.3rem;
    font-size: 13px;
    font-weight: 900;
}

.jobList ul li .jobTitle .number {
color: #fff;
text-shadow:none;
-webkit-text-stroke: 1px #4ec3d1;
  text-stroke: 1px #4ec3d1;
  font-weight: 700;
}
.jobList ul li a:hover img {
opacity: 1;
}
#jobSec .bscBtn01 {
width: 90%;
margin: 0 auto;
}
#jobSec:before {
    top: 20px;
}
#envSec .esInr h2 span {
    font-size: 38px;
    font-size: 3.8rem;
}
#envSec .esInr h2 {
   font-size: 14px;
    font-size: 1.4rem;
}

#envSec .esTxt {
    font-size: 15px;
    font-size: 1.5rem;
}
#envSec .esList ul li h3 {
    font-size: 16px;
    font-size: 1.6rem;
}
#envSec .esList ul li a {
    border: 5px solid #dcf0f5;
    padding: 20px 0;
}
#envSec .esList {
    padding: 30px 0;
}
#envSec .esList ul li {
    margin-bottom: 10px;
}
#envSec .esList ul li .esImg {
    width: 80%;
    margin: 0 auto;
}
#museSec .msInfo .msBox h2 img {
    width: 74%!important;
}
#museSec .msInfo .msBox h3 {
    font-size: 20px;
    font-size: 2.0rem;
    padding: 10px 0;
}
#museSec .msInfo .msBox .msTxt {
    font-size: 15px;
    font-size: 1.5rem;
}
#museSec .msInfo {
    margin: -15% auto 0;
}
#companySec h2 {
    font-size: 50px;
    font-size: 5.0rem;
    margin-bottom: 40px;
}
#companySec {
    background-position: center 24px;
}
.companyList ul li h3 span {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 5px;
}
.companyList ul li h3 {
    font-size: 12px;
    font-size: 1.2rem;
}
#topMv {
    padding-top: 81px;
}
#contents {
    padding-top: 30px;
}
#aboutSec .txtBox {
    padding-top: 20px;
}

}

/* animation */

.mvFadein {
	opacity : 0;
	transform : translate(-500px, 0);
	transition : all 1400ms;
	}

.mvFadein.fadeIn {
	opacity : 1;
	transform : translate(0, 0);
	}
    
    
.txtFadein{
	opacity : 0;
	transform : translate(100px, 0);
	transition : all 1400ms;
}
.txtFadein.fadeIn {
	opacity : 1;
	transform : translate(0, 0);
	}
    
.fadeInUp {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1000ms;
	}

.fadeInUp.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}
    
.pcfadeInUp {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1000ms;
}
.pcfadeInUp.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}
@media only screen and (max-width: 480px) {
.pcfadeInUp {
	opacity : 1;
	transform : translate(0, 0);
	}
}
    
@-webkit-keyframes passingBar{
	0% {
		left: 0;
		right: auto;
		width: 0;
	}
	50% {
		left: 0;
		right: auto;
		width: 100%;
	}
	51% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}
@keyframes passingBar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@-webkit-keyframes passingTxt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passingTxt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}

.passing .passingBar {
	position: relative;
	display: inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.passing .passingBar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #4ec3d1;
}
.passing .passingTxt {
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.passing.move .passingBar:before {
	-webkit-animation: passingBar 1s ease 0s 1 normal forwards;
	animation: passingBar 1s ease 0s 1 normal forwards;
}
.passing.move .passingTxt {
	-webkit-animation: passingTxt 0s ease .5s 1 normal forwards;
	animation:passingTxt 0s ease .5s 1 normal forwards;
}

.museFadein {
	opacity : 0;
	transform : translate(-500px, 0);
	transition : all 1400ms;
	}

.museFadein.fadeIn {
	opacity : 1;
	transform : translate(0, 0);
	}
    
#header {
	opacity : 0;
	transition : all 500ms;
	}

#header.fadeIn {
	opacity : 1;
	}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
#companySec h2 {
	background: none;
	font-family: 'Montserrat', sans-serif;
    color: #fff;
	text-stroke: 1px #000;
    -webkit-text-stroke: 2px #4ec3d1;
    text-shadow: 2px 2px 0 #4ec3d1, -2px -2px 0 #4ec3d1, -2px 2px 0 #4ec3d1, 2px -2px 0 #4ec3d1, 0px 2px 0 #4ec3d1, 0 -2px 0 #4ec3d1, -2px 0 0 #4ec3d1, 2px 0 0 #4ec3d1;
    display: block;
}
}

#modal-content{
    width:80%;
    margin:0;
    padding:0;
    background:#fff;
    position:fixed;
    display:none ;
    z-index:99999;
}
#modal-content .inner{
    position:relative;
    width:100%;
    padding-top:56.25%;
    overflow:hidden;
}
#modal-content .inner #player{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}
#modal-overlay{
    z-index:9999;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba( 0,0,0, 0.75 );
}

/* header調整 */
@media (max-width: 1500px) {
    #header {
        height: 96px;
    }
    #header .logo a img{
        width: 270px;
    }
    #gNav ul li a.normal {
        font-size: 1.2rem;
    }
    #gNav ul li:last-child {
        height: 96px;
    }
    #gNav ul li a.official {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding: 0 15px;
    }
    #gNav ul li a.entry {
        display: flex;
        height: 100%;
        padding: 0 25px;
        font-size: 1.3rem;
        justify-content: center;
        align-items: center;
    }
    #gNav ul li:nth-last-of-type(2){
        height: 96px;
    }
    #gNav ul li a.official span {
        font-size: 1.3rem;
    }
}

@media only screen and (max-width: 1350px){
    #gNav ul li:last-child a, #gNav ul li a.entry {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 1140px){
    #gNav ul li:last-child a, #gNav ul li a.entry {
        padding: 0 12px;
    }
    #gNav a.requirements {
        font-size: 1.2rem;
    }
}