@charset "utf-8";

/* CSS Document */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  max-height: 900px;
}

#overlay:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 500vw;
  height: 500vh;
  margin: -100vh 0 0 -100vw;
  background-color: #FFF;
  content: " ";
  transition: 1s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

#overlay .opening_loader,
#overlay .opening_logo {
  position: absolute;
  top: 50%;
  transition: all .1s cubic-bezier(0.000, 0.000, 0.580, 1.000) .2s;
  overflow: hidden;
}

#overlay .opening_logo {
  left: 0;
  width: 100%;
  height: 55px;
  margin-top: -30px;
  text-align: center;
}

#overlay .opening_loader {
  left: 50%;
  width: 312px;
  height: 2px;
  margin: 38px 0 0 -154px;
}

#overlay .opening_loader div {
  position: relative;
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #1d9b8c;
  animation: openingLine 1.5s cubic-bezier(.25, .46, .45, .94) infinite;
}

@keyframes openingLine {
  0% {
    left: 0;
    width: 0
  }

  30%, 70% {
    left: 0;
    width: 100%
  }

  100% {
    left: 100%;
    width: 0
  }
}

#overlay.is_finish:before {
  transform: rotate(20deg) translateX(300vw)
}

#overlay.is_finish .opening_loader, #overlay.is_finish .opening_logo {
  opacity: 0;
}

@keyframes fadeLiftup {
  0% {
    transform: translateY(150px);
    opacity: 0
  }

  100% {
    transform: translateY(0);
    opacity: 1
  }
}

.fade-liftup {
  animation: fadeLiftup 1s cubic-bezier(.23, 1, .32, 1) both;
}

.inner {
  margin: auto;
  width: 980px;
}

h2 {
  text-align: center;
}

#main {
  position: relative;
  width: 100%;
  padding-top: 56.5%;
  background: url(../img/mainimg.jpg) center / cover no-repeat;
  overflow: hidden;
}
#main .mainBnr {
  position: absolute;
  bottom: 20px;
  right: 30px;
}
#main .mainBnr ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#main .mainBnr a {
  position: relative;
  bottom: 0;
  right: 0;
  display: inline-block;
  width: auto;
  line-height: 0;
  box-shadow: 0 0 10px rgba(0,0,0,.5);
  margin: 0;
}
#main .mainBnr li:first-child a {
  margin: 0 30px 0 0;
}

#main .cp {
  position: absolute;
  top: 50%;
  right: 50%;
  margin-right: -530px;
  margin-top: -180px;
}

#main video {
  position: absolute;
  left: 0;
  bottom: 0;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  opacity: 0.7;
  z-index: 0;
}

#cp1, #cp2, #cp3, #cp4, #cp5 {
  display: none;
}

#cp1, #cp2, #cp3, #cp4, #cp5 {
  position: absolute;
  top: 50%;
  right: 50%;
  margin-right: -580px;
  margin-top: -130px;
  background: url(../img/main_cp.png) no-repeat;
  background-size: 100%;
}

#cp1 {
  width: 650px;
  height: 90px;
}

#cp2 {
  width: 650px;
  height: 90px;
  background-position: 0 -90px;
}

#cp3 {
  width: 650px;
  height: 90px;
  background-position: 0 -176px;
}

#cp4 {
  width: 650px;
  height: 180px;
  background-position: 0 -262px;
}

#myCareer {
  padding: 50px 0 70px;
  background: url(../img/bg_green.png);
}

#myCareer h2 {
  margin-bottom: 35px;
}

#myCareer h2 img {
  margin: auto;
}

#myCareer p {
  margin: 0 auto 40px;
  width: 620px;
  color: #fff;
  font-size: 14px;
}

#interview h2 {
  margin-bottom: 5px;
}

#interview .stripe {
  padding: 80px 0 120px;
  background: url(../img/bg_stripe.png);
}

#interview .stripe p {
  margin: 0 auto 50px;
  width: 620px;
  font-size: 14px;
  text-align: center;
}

#interview .employee {
  margin: -90px auto 0;
  width: 980px;
  font-family: YuMincho, 'Yu Mincho', serif;
  font-size: 13px;
  letter-spacing: 0.05em;
}

#interview .employee li {
  margin: 0 21px;
  width: 202px;
  float: left;
}

#interview figure {
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  overflow: hidden;
}

#interview figure:before {
  background: #fff;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(-100%);
  transition: all .8s 0s ease;
  width: 100%;
  z-index: 1;
}

#interview figure.active:before {
  transform: translateX(100%);
}

#interview .employee li img {
  margin: 0 0 15px;
}

#interview .employee span {
  font-size: 18px;
}

#column {
  position: relative;
  padding: 134px 0 65px 90px;
  margin: 60px auto 135px;
  width: 888px;
  border: 1px solid #1d9b8c;
}

#column .frame {
  position: absolute;
  top: 5px;
  left: 4px;
  width: 980px;
  height: 461px;
  border: 1px solid #d2ebe8;
}

#column h2 {
  position: absolute;
  top: 28px;
  left: -20px;
}

#column p.notes {
  position: absolute;
  top: 56px;
  right: 80px;
  font-size: 13px;
}

.columnist li {
  position: relative;
  float: left;
  width: 440px;
}

.columnist p {
  position: absolute;
  bottom: 14px;
  left: 260px;
  font-family: YuMincho, 'Yu Mincho', serif;
  font-size: 13px;
  letter-spacing: 0.05em;
}

.columnist p span {
  font-size: 18px;
}

#growup {
  background: #f1eab9;
}

#growup .inner {
  padding: 260px 0 5px;
  position: relative;
}

#growup h2 {
  position: absolute;
  top: -55px;
  left: -85px;
}

#growup h3 {
  margin: auto;
  text-align: center;
  font-size: 24px;
  color: #a37815;
  letter-spacing: 0.05em;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
}
#growup h3 span {
  font-size: 28px;
}

#growup .prize {
  padding: 50px 0 0 20px;
  margin: 30px auto;
  background: #fff;
}

#growup .icon-gold,
#growup .icon-silver {
  margin-top: -18px;
  padding: 0 41px 0 20px;
  float: left;
}

#growup li {
  margin-bottom: 24px;
  float: left;
  height: 178px;
  display: flex;
  align-items: flex-start;
}

#growup li:nth-child(1), #growup li:nth-child(2) {
  margin-bottom: 34px;
}

#growup .logo {
  display: table-cell;
  text-align: center;
  width: 156px;
}

#growup .logo img {
  max-width: 140px;
}

#growup .logo p {
  margin: 0 auto 15px;
  padding: 2px 5px;
  display: inline-block;
  min-width: 100px;
  max-width: 127px;
}

#growup .info {
  display: table-cell;
  max-width: 170px;
  font-size: 12px;
  line-height: 1.9;
}

#growup p.cn {
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
}

#growup .info a {
  position: relative;
  margin-top: 12px;
  display: inline-block;
  padding: 5px 25px 5px 14px;
  color: #fff;
  background: #7d7d7d;
  text-decoration: none;
}

#growup .info a:after {
  position: absolute;
  top: 8px;
  right: 10px;
  content: '';
  width: 10px;
  height: 14px;
  background: url(../img/arrow.svg);
}

.btn_link {
  margin: 20px auto 0;
  text-align: center;
}

#movie {
  padding-top: 80px;
  padding-bottom: 112px;
  position: relative;
  background: #f1eab9;
  overflow: hidden;
}

#movie h2 img {
  margin: auto;
  width: 980px;
}
#movie h3 {
  font-size: 28px;
}

#movie .movie-cnt {
  position: absolute;
  top: 127px;
  left: 50%;
  margin-left: -290px;
  width: 580px;
  height: 330px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

#movie p.head {
  text-align: center;
  color: #a37815;
}

#movie .movie-cnt img {
  width: 100%;
}

#movie .movie-cnt>a {
  margin: 0 auto;
  display: block;
  width: auto;
}

#movie-list {
  margin: 40px auto 0;
  width: 980px;
}

#movie-list>li {
	position: relative;
	display: inline-block;
	margin: 0 20px 45px 0;
	width: 309px;
	box-shadow: 0 0 10px rgb(0 0 0 / 20%);
	background: #fff;
	vertical-align: top;
}

#movie-list>li:nth-child(3n) {
	margin-right: 0;
}

#movie-list>li>div.detail {
  padding: 20px 20px 10px;
}

#movie-list .movie {
  position: relative;
  padding-top: 56.25%;
}

#movie-list .movie>* {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

#movie-list .prize-name {
  font-size: 14px;
  font-weight: 600;
  min-height: 23px;
  line-height: 1.2;
}

#movie-list span.gold {
  display: inline-block;
  margin: 10px 0 0px;
  padding: 2px 12px;
  color: #fff;
  font-weight: normal;
  background: #b6a133;
  font-size: 12px;
}

#movie-list span.inov {
  display: inline-block;
  margin: 10px 0 0px;
  padding: 2px 12px;
  color: #fff;
  font-weight: normal;
  background: #06365c;
  font-size: 12px;
}

#movie-list .company-name {
  padding-bottom: 15px;
  margin-top: 16px;
  margin-bottom: 20px;
  line-height: 22px;
  height: 40px;
  font-size: 18px;
  border-bottom: 1px solid #b6a133;
}

#movie-list a.btn,
#movie-list a.pdf {
  margin-bottom: 10px;
  position: relative;
  display: block;
  font-size: 14px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 5px;
  background: #7d7d7d;
}

#movie-list a.btn:before {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 14px;
  height: 14px;
  background: url(../img/windowopen.svg) no-repeat;
}

#movie-list a.pdf:before {
  content: "";
  position: absolute;
  top: 8px;
  right: 6px;
  width: 23px;
  height: 23px;
  background: url(../img/icon_pdf.png) no-repeat;
}

#award {
  padding: 50px 0 0;
}

#award h2 {
  margin-bottom: 15px;
}

#award p {
  margin: 0 auto 40px;
  width: 620px;
  font-size: 14px;
  text-align: center;
}

#award ul {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

#award li a {
  position: relative;
  margin-left: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  overflow: hidden;
  width: 325px;
  height: 350px;
  color: #fff;
  text-decoration: none;
}
#award li a.box {
  border: #fff double 5px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  background: #1d9b8c;
}
#award li a.box p {
  margin-bottom: 0;
  font-size: 18px;
  letter-spacing: 0.05em;
}

#award li a img {
  height: 100%;
}

#award li h3 {
  margin-bottom: 21px;
  font-size: 20px;
}

#award li a span {
  padding: 6px 21px;
  border: 1px solid #fff;
  display: block;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
}
#award li a:hover span {
  background: #fff;
  color: #333;
}

#award li.award1 {
  background: url(../img/award_1.jpg) no-repeat;
}

#award .award2 {
  background: url(../img/award_2.jpg) no-repeat;
}

#award .award3 {
  background: url(../img/award_3.jpg) no-repeat;
}

#report {
  padding: 93px 0 80px;
  background: url(../img/bg_black.png);
}

#report h2 {
  margin-bottom: 15px;
}

#report p {
  color: #fff;
  text-align: center;
}

#report ul {
  margin: 50px auto 0;
  width: 980px;
}

#report li {
  margin-left: 1px;
  margin-bottom: 40px;
  float: left;
  text-align: left;
  color: #fff;
  width: 302px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

#report li span {
  display: block;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width:787px) {

  #report li:nth-child(2),
  #report li:nth-child(5),
  #report li:nth-child(8) {
    margin: 0 35px;
  }
}

#report li h3 {
  margin-top: 5px;
  margin-bottom: 15px;
  font-size: 15px;
  letter-spacing: 0;
}

#report li h3.smalltext {
  font-size: 13px;
}

#report li a {
  padding: 6px 21px;
  border: 1px solid #fff;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
}

#report li span:before {
  background: #333;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  transform: translateX(-100%);
  transition: all .5s 0s ease;
  width: 100%;
  z-index: 1;
}

#report li.active span:before {
  transform: translateX(100%);
}

#info {
  padding: 90px 0 200px;
}

#info h2 {
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #1d9b8c;
  font-size: 28px;
  letter-spacing: 0.15em;
}

#info dl {
  margin: 15px auto 0;
  width: 800px;
  font-size: 14px;
  position: relative;
  border-top: 1px solid #555555;
}

#info dt {
  padding: 18px 0;
  position: absolute;
  left: 0;
}

#info dd a {
  color: #1d9b8c;
}

#info dt span {
  display: inline-block;
  margin-left: 20px;
  padding: 5px 21px;
  background: #555;
  color: #fff;
  line-height: 1;
}

#info dd {
  padding: 18px 0;
  padding-left: 150px;
  border-bottom: 1px solid #555555;
}

#support {
  padding: 80px 0;
  background: url(../img/support_bg.jpg) no-repeat;
  background-size: cover;
}

#support h2 img {
  margin: auto;
}

#support ul {
  margin: 50px auto 0;
  width: 980px;
}

#support li {
  margin: 0 35px;
  float: left;
  text-align: center;
  color: #fff;
  width: 256px;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

#support li img {
  margin: 0 auto 20px;
  display: block;
  width: 90px;
}

#support li h3 {
  margin-top: 5px;
  margin-bottom: 12px;
  font-size: 16px;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

#support li h3 span {
  font-size: 13px;
}

#support li p {
  min-height: 126px;
  text-align: left;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

#support li:nth-child(3) p {
  min-height: 98px;
}

#support li a {
  padding: 6px 21px;
  border: 1px solid #fff;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
}
