@charset "UTF-8";
/* CSS Document */
/* タイトル共通パーツ */
.sec_container {
  width: 100%;
}
/*
.sec_container h2:before {
  content: "";
  display: inline-block;
  background: url(../img/common/h_logo.png) 100% 100% / cover;
  background-repeat: no-repeat;
  width: 40px;
  height: 30px;
  margin: 0 0 4% 0;
  position: relative;
}
.sec_container h2:before {
  left: 13%;
}
.sec4 .sec_container h2:before {
  left: 8.5%;
}
.sec6 .sec_container h2:before {
  left: 11%;
}
*/
.sec_container h2 {
  width: 100%;
  height: auto;
  font-size: 3vw;
  color: #011538;
  text-align: center;
  font-weight: 900;
}
.sec_container h2 img{
    width: 3%;
    display: block;
    margin: 0 auto;
}
.sec_container h2 span {
  display: block;
  font-size: 1.25vw;
  margin:0 auto;
}
.sec_container p {
  margin: 3% 0;
  text-align: center;
}
/* ファーストビュー */
/* ここから */
.mv {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  top: -100px;
  z-index: -100;
}
.mv-wrap {
  position: relative;
  height: 50vw;
}
video {
  display: block;
  width: 100%;
  height: 50vw;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
/* セクション1*/
main {
  position: relative;
  top: -100px;
}
.sec1 {
  background: url("../img/top/sec1_bg.jpg") no-repeat;
  background-size: contain;
  width: 100%;
  height: auto;
  padding-top: 5%;
}
.sec1 h2 {
  position: absolute;
  top: 17vw;
  left: 0;
  font-size: 4vw;
  font-weight: bold;
  transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  color: #fff;
  opacity: 0.3;
}
.profile_wrap {
  width: 100%;
  height: auto;
}
.profile {
  background: url("../img/top/sec1_pic.jpg") no-repeat;
  height: 900px;
  background-position: top 7vw right;
  background-size: 45%;
}
.sec1 h3 {
  color: #fff;
  font-size: 3vw;
  font-weight: 900;
  margin: 0 0 2% 20%;
}
.profile_txt p {
  color: #fff;
  width: 32%;
  margin: 0 0 1% 20%;
}
.sec1_btn a.btn_paint {
  top: 9vw;
}
/* セクション2 */
.sec2 li {
  width: 33.3333%;
  height: 45vw;
  float: left;
  color: #fff;
}
.sec2 li.technology_left {
  background: url("../img/top/technology01.jpg") no-repeat center center;
  background-size: cover;
}
.sec2 li.technology_center {
  background: url("../img/top/technology02.jpg") no-repeat center center;
  background-size: cover;
}
.sec2 li.technology_right {
  background: url("../img/top/technology03.jpg") no-repeat center center;
  background-size: cover;
}
.sec2 li a, .sec4 li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.sec2 li a::before, .sec4 li a:before {
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 21, 56, 0.4);
  content: "";
  transition: 0.5s;
}
.sec2 li .btn_detail {
  border: 1px solid #fff;
  color: #fff;
  margin: 5% 10%;
  padding: 1% 0;
}
.sec2 .def_info {
  z-index: 101;
  position: absolute;
  top: 20%;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  transition: 0.5s;
}
.sec2 .def_info h3 {
  position: relative;
  width: 100%;
  padding-bottom: 35px;
  font-size: 2vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.sec2 .def_info h3:after {
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-left: -10px;
  background: #fff;
  content: "";
}
.sec2 .def_info h4, .sec4 .def_info h4 {
  position: relative;
  width: 100%;
  padding-bottom: 35px;
  font-size: 1.25vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.sec2 .over_info, .sec4 .over_info {
  display: none;
  transition: 0.5s;
}
.sec2 li a:hover, .sec4 li a:hover {
  opacity: 1;
}
.sec2 li a:hover:before {
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 21, 56, 0.8);
  content: "";
  transition: 0.5s;
}
.sec2 li a:hover .over_info {
  display: inherit;
  z-index: 101;
  position: absolute;
  top: 45%;
  width: 100%;
  text-align: center;
  animation: fadeup 1s ease 0s 1 normal;
  -webkit-animation: fadeup 1s ease 0s 1 normal;
}
@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(10%);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.sec2 li a:hover .over_info h3 {
  position: relative;
  width: 100%;
  margin-bottom: 35px;
  font-size: 1.5vw;
  font-weight: 300;
  letter-spacing: 1px;
  line-height: 1;
  color: #fff;
}
.sec2 li a:hover .over_info .txt, .sec4 li a:hover .over_info .txt {
  margin: 0 10% 5%;
  font-size: 0.9vw;
  line-height: 1.7;
  text-align: left;
  color: #fff;
}
.sec2 li a:hover .def_info, .sec4 li a:hover .def_info {
  transition: 0.5s;
}
/* セクション3 */
.sec3 {
  margin-top: 60%;
}
.tsr_wrap {
  width: 100%;
  height: 22vw;
  background-image: url("../img/top/sec3_bg.jpg");
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: space-between;
}
.evaluation {
  width: 50vh;
  height: 22vw;
  margin-left: 20%;
  background: #fff;
  padding-top: 5%;
}
.evaluation p {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
.evaluation p:before {
  content: "";
  display: block;
  background: url("../img/top/sec3_star.png") 100% 100% / contain;
  background-repeat: no-repeat;
  width: 50%;
  height: 30px;
  margin: 0 auto 10% auto;
  position: relative;
  text-align: center;
}
.evaluation span {
  color: #133F71;
  font-weight: bold;
}
.sec3 .graf img {
  width: 65%;
}
/* セクション4 */
.sec4 {
  margin-top: 10%;
}
.sec4 li {
  width: 50%;
  height: 25vw;
  float: left;
  color: #fff;
}
.sec4 li.efforts_left_top {
  background: url("../img/top/efforts1.jpg") no-repeat center center;
  background-size: cover;
}
.sec4 li.efforts_right_top {
  background: url("../img/top/efforts2.jpg") no-repeat center center;
  background-size: cover;
}
.sec4 li.efforts_left_btm {
  background: url("../img/top/efforts3.jpg") no-repeat center center;
  background-size: cover;
}
.sec4 li.efforts_right_btm {
  background: url("../img/top/efforts4.jpg") no-repeat center center;
  background-size: cover;
}
.sec4 .def_info {
  z-index: 101;
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
  transition: 0.5s;
}
.sec4 .def_info h3 {
  position: relative;
  width: 100%;
  padding: 35px 0;
  font-size: 2vw;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #fff;
}
.sec4 .def_info h3:after {
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-left: -10px;
  background: #fff;
  content: "";
}
.sec4 li a:hover .def_info {
  display: none;
}
.sec4 li a:hover .over_info {
  display: inherit;
  z-index: 101;
  position: absolute;
  top: 20%;
  width: 100%;
  text-align: center;
  margin: 0 auto;
  animation: fadeup 1s ease 0s 1 normal;
  -webkit-animation: fadeup 1s ease 0s 1 normal;
}
@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(10%);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.sec4 li a:hover .over_info h3 {
  position: relative;
  width: 70%;
  margin: 0 auto 35px auto;
  font-size: 1.5vw;
  font-weight: 300;
  letter-spacing: 1px;
  line-height: 1;
  color: #fff;
}
.sec4 li a:hover:before {
  display: block;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 21, 56, 0.8);
  content: "";
  transition: 0.5s;
}
.sec4 li a:hover .over_info .txt {
  width: 70%;
  margin: 0 auto;
}
.sec4 li .btn_detail {
  width: 70%;
  border: 1px solid #fff;
  color: #fff;
  margin: 5% auto;
  padding: 1% 0;
}


/* セクション5 */
.sec5 {
  margin-top: 65%;
  background: url("../img/top/recruit_top_bg.jpg") no-repeat;
  background-position: center bottom;
  background-size: 100%;
  height: 90%;
  color: #fff;
  padding-bottom: 3%;
}
.sec5 .recruit_img img {
  width: 80%;
}
.sec5 .recruit_img {
  -webkit-transition: 1.2s ease-in-out;
  -moz-transition: 1.2s ease-in-out;
  -o-transition: 1.2s ease-in-out;
  transition: 1.2s ease-in-out;
  transform: translateX(-40px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.sec5 .recruit_img.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}
.sec5 .recruit_container {
  width: 60%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.sec5 h2 {
  width: 100%;
  height: auto;
  font-size: 3vw;
  color: #fff;
  text-align: left;
  font-weight: 900;
  margin-top: 2%;
}
.sec5 h2 span {
  display: block;
  font-size: 1.25vw;
}
.sec5_btn {
  margin-top: 28%;
  width: 80%;
}
.sec5 .recruit_container_tit {
  width: 45%;
}
.sec5 .recruit_container_txt {
  width: 55%;
  margin-top: 3%;
}
.sec5 .recruit_container_txt p {
  margin-bottom: 20px;
}
/* セクション6 */
.sec6 {
  margin-top: 10%;
}
.sec6 .feed{
    margin-top: 5%;
}
/* セクション7 */
.sec7 {
  margin-top: 10%;
}
.sec7 ul {
  width: 60%;
  margin: 5% auto 2% auto;
  color: #011538;
}
.sec7 ul li {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #011538;
  align-items: center;
}
.sec7 ul li a {
  color: #011538;
  text-decoration: none;
}
.sec7 ul li a:hover {
  color: #8DB0EF;
  text-decoration: underline;
}
.sec7 .day {
  width: 20%;
  text-align: left;
}
.sec7 .category{
  width: 15%;
  background: #011538 !important;
  color: #fff !important;
  padding: 1px 15px;
  margin-right: 5%;
  text-align: left;
}
.sec7 .news {
  width: 70%;
  text-align: left;
}
.sec7_btn {
  width: 20%;
  margin: 0 auto !important;
}

/* セクション8 */

.sec8 {
  margin-top: 10%;
}
.sec8 ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
}
.sec8 ul li{
    width: 32%;
}
.sec8 ul li img{
    width: 100%;
    margin-top: 10%;
}
.player{
    margin-top: 10%!important;    
}
.yrc-thumb img {
    width: 100%!important;
}
.yrc-pagination{
    display: none!important;
}
@media screen and (max-width: 1500px) {
  .sec2 {
    margin-top: -10%;
  }
}
@media screen and (max-width: 1400px) {
  .sec1 h2 {
    left: -8%;
  }
  .sec1 h3 {
    margin: 0 0 2% 10%;
  }
  .profile_txt p {
    width: 40%;
    margin: 0 0 1% 10%;
  }
  .sec5 .recruit_img img {
    width: 90%;
  }
  .sec5 .recruit_container {
    width: 80%;
  }
  .sec5_btn {
    margin-top: 20%;
    width: 80%;
  }
  .sec7 ul {
    width: 80%;
  }
}
@media screen and (max-width: 1300px) {
  .sec2 {
    margin-top: -20%;
  }
}
@media screen and (max-width: 1100px) {
  .sec2 {
    margin-top: -30%;
  }
}
@media screen and (max-width: 1050px) {
  .mv {
    top: 0;
  }
  .mv-wrap {
    position: static;
    height: 50vw;
  }
  /* 共通*/
  .sec_container h2 {
    width: 90%;
    margin: 0 auto 3% auto;
    font-size: 4vw;
  }
  .sec_container h2 span {
    display: block;
    font-size: 2vw;
  }
  .sec_container h2:before {
    left: 18%;
  }
  .sec4 .sec_container h2:before {
    left: 12%;
  }
  .sec6 .sec_container h2:before {
    left: 15.5%;
  }
  .sec_container p {
    width: 90%;
    margin: 0 auto 5% auto;
    font-size: 14px;
  }
  /* セクション1*/
  main {
    position: static;
    top: 0px;
  }
  .sec1 h2 {
    display: none;
  }
  .profile {
    height: 900px;
    background-position: top 40vw center;
    background-size: 90%;
  }
  .sec1 {
    background-size: cover;
    padding: 5% 0;
  }
  .sec1 h3 {
    width: 90%;
    color: #fff;
    font-size: 4vw;
    font-weight: 900;
    margin: 0 auto 20px auto;
    text-align: center;
  }
  .profile_txt p {
    color: #fff;
    width: 90%;
    margin: 0 auto;
    line-height: 2em;
    font-size: 14px;
  }
  .sec1_btn a.btn_paint {
    top: 5vw;
  }
  /* セクション2*/
  .sec2 {
    margin: 10% 0 13% 0;
  }
  .sec2 li, .sec4 li {
    width: 100%;
    height: auto;
    float: none;
  }
  .sec2 li a, .sec4 li a {
    padding: 25% 0;
  }
  .sec2 .def_info h3 {
    padding-bottom: 3%;
    font-size: 4vw;
    font-weight: 900;
    margin-top: 30%;
  }
  .sec2 .def_info h4, .sec4 .def_info h4 {
    font-size: 2vw;
    font-weight: 900;
  }
  .sec2 .def_info h3::after, .sec4 .def_info h3::after {
    bottom: 10px;
  }
  .sec2 .def_info .sub, .sec4 .def_info .sub {
    font-size: 3.47vw;
  }
  .sec2 li a:hover::before, .sec4 li a:hover::before {
    background: rgba(1, 21, 56, 0.4);
  }
  .sec2 li a:hover .over_info, .sec4 li a:hover .over_info {
    display: none;
  }
  .sec2 li a:hover .def_info, .sec4 li a:hover .def_info {
    display: inherit;
  }
  /* セクション3 */
  .sec3 {
    margin-top: 20%;
  }
  .tsr_wrap {
    height: 22vw;
    flex-direction: column;
  }
  .evaluation {
    width: 100%;
    height: 100vw;
    margin: 0 auto 0 auto;
    padding: 5% 0;
  }
  .evaluation p {
    width: 80%;
    margin: -5% auto 5% auto;
    text-align: center;
  }
  .evaluation p:before {
    width: 100%;
    height: 30px;
    margin: 0 auto 2% auto;
    left: -40%;
  }
  .evaluation span {
    color: #133F71;
    font-weight: bold;
  }
  .sec3 .graf img {
    width: 100%;
    margin-top: -10%;
  }
  /* セクション4 */
  .sec4 {
    margin-top: 50%;
  }
　.sec4 .def_info h3 {
    margin-top: 0%;
  }
    
/* セクション5 */
.sec5 {
  margin-top: 10%;
  background-position: center;
  background-size: cover;
  height: auto;
}
.sec5 .recruit_img img {
  width: 100%;
}
.sec5 .recruit_container {
  width: 100%;
  margin: 0 auto;
  flex-direction:column;
    align-items: center;
}
.sec5 h2 {
  width: 100%;
  font-size: 4vw;
  text-align: center;

}
.sec5 h2 span {
  display: block;
  font-size: 2vw;
}
.sec5_btn {
  margin: 5% auto 0 auto;
  width: 100%;
}
.sec5 .recruit_container_tit {
  width: 90%;
}
.sec5 .recruit_container_txt {
  width: 90%;
}
.sec5 .recruit_container_txt p {
    font-size: 14px;
}
/* セクション7 */
.sec7 {
  margin-top: 20%;
}
.sec7 ul {
  width: 90%;
  margin: 5% auto 2% auto;
  color: #011538;
}
.sec7 ul li {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #011538;
  align-items: left;
    padding: 5% 0 0 0;
}
.sec7 .day {
  width: 15%;
    margin-right: 2%;
}
.sec7 .category {
  width: 20%;
  margin-right: 5%;
  text-align: left;
}
.sec7 .news {
  width: 50%;
  text-align: left;
    margin-right: 2%;
}
    .sec7 .news_link{
        width: 5%;
        
    }
.sec7_btn {
  width: 80%;
  margin: 0 auto !important;
}
    .sec8 ul{
        flex-direction:column;
    }
    .sec8 ul li{
    width: 100%;
}
}
@media screen and (max-width: 970px) {
  .profile {
    background-position: top 50vw center;
  }
  .evaluation p:before {
    left: -39%;
  }
}
@media screen and (max-width: 760px) {
    .sec_container h2 img{
    width: 5%;
    }
  .profile {
    height: 900px;
    background-position: top 70vw center;
  }
  .evaluation p:before {
    left: -35%;
  }
}
@media screen and (max-width: 630px) {
  .profile {
    background-position: top 90vw center;
  }
  .evaluation p:before {
    left: -30%;
  }
.sec2 .def_info h3, .sec4 .def_info h3 {
    font-size: 20px;
}
.sec2 .def_info h4, .sec4 .def_info h4 {
    font-size: 14px;
}
/* セクション7 */

.sec7 ul li {
    flex-wrap: wrap; 
    align-items: center;
}
.sec7 .day {
  width: 43%;
    margin: 0%;
}
.sec7 .category {
  width: 45%;
  margin: 0%;
  text-align: left;
}
.sec7 .news {
  width: 95%;
  text-align: left;
    margin: 0;
}
 .sec7 .news_link{
        width: 5%;
     padding-top: 5%;
     vertical-align: bottom;
        
    }
}
@media screen and (max-width: 500px) {
  .profile {
    background-position: top 120vw center;
  }
  .sec1 h3 {
    font-size: 16px;
  }
  .evaluation p:before {
    left: -25%;
  }
}
@media screen and (max-width: 420px) {
  .profile {
    background-position: top 150vw center;
  }
}
@media screen and (max-width: 360px) {
  .profile {
    background-position: top 200vw center;
  }
  .evaluation p:before {
    left: -25%;
  }
}