@charset "utf-8";

/*PC・タブレット・スマホ(全端末)共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*メイン画像
---------------------------------------------------------------------------*/
body {
  position: relative;
}

#mainimg {
  padding: 0;
  width: 100%;
  height: 686px;
  position: relative;
  overflow: hidden;
  filter: opacity(0.7);
}

.main-img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-animation: anime 18s 0s infinite;
  animation: anime 18s 0s infinite;
}

.main-img:nth-of-type(2) {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

.main-img:nth-of-type(3) {
  -webkit-animation-delay: 12s;
  animation-delay: 12s;
}
/* .main-img:nth-of-type(4) {
  -webkit-animation-delay: 18s;
  animation-delay: 18s;
} */

@keyframes anime {
  0% {
    opacity: 0;
  }

  16% {
    opacity: 1;
  }

  33% {
    opacity: 1;
  }

  66% {
    opacity: 0;
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
  }
}

/* .main-a {
  background-image: url(../../images/index/TOP1.png);
} */

.main-b {
  background-image: url(../../images/index/TOP2.png);
}

.main-c {
  background-image: url(../../images/index/TOP3.png);
}

.main-d {
  background-image: url(../../images/about/gathered.jpeg);
}

.main-inner {
  width: 1300px;
  height: 686px;
  margin: 0 auto;
  position: relative;
}

.index-sns-box {
  position: absolute;
  right: 39%;
  bottom: 60px;
  display: flex;
}

/*キャッチコピー
----------*/
.cach {
  width: 430px;
  padding-top: 29px;
  position: relative;
  font-size: 35px;
  font-weight: 600;
  top: 70px;
  left: 5%;
  line-height: 1.6;
}

.leave-small {
  background-image: url(../../images/index/leave-small.png);
  background-repeat: no-repeat;
  width: 45.64px;
  height: 114.25px;
  position: absolute;
  top: 0;
  right: 90px;
  opacity: 0;
  -webkit-animation: small 2s 0s;
  animation: small 2s 0s;
  animation-fill-mode: forwards;
}

@keyframes small {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    opacity: 1;
  }
}

.leave-big {
  background-image: url(../../images/index/leave-big.png);
  background-repeat: no-repeat;
  width: 153px;
  height: 160.19px;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  -webkit-animation: big 3s 0.5s;
  animation: big 3s 0.5s;
  animation-fill-mode: forwards;
}

@keyframes big {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    opacity: 1;
  }
}

/*SNSボタン
----------*/
.index-sns-box a {
  display: block;
  width: 28px;
  height: 28px;
  padding-right: 18px;
}

.index-sns-box a:last-child {
  padding-right: 0;
}

.index-sns-area-sp {
  display: none;
}

/*お知らせ
----------*/
.top-info {
  position: absolute;
  bottom: 42px;
  right: 5%;
  width: 383px;
  height: 36px;
  background: #fff;
  color: #000;
  border: 3px solid #000;
  display: flex;
  align-items: center;
  padding: 14px 15px;
}

.top-info-more {
  position: absolute;
  font-size: 8px;
  width: 41px;
  height: 20px;
  line-height: 20px;
  background: #000;
  text-align: center;
  top: 0;
  right: 0;
  color: white;
}

.top-info-more a {
  color: #fff;
  display: block;
}

.top-info-title {
  height: 36px;
  line-height: 36px;
  border-right: 1px solid #000;
  padding-right: 1em;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.top-info-txt {
  padding-left: 15px;
  line-height: 1.5;
  font-size: 12px;
}

.top-info + img {
  width: 5%;
  height: auto;
  position: absolute;
  bottom: 42px;
  right: 5%;
  display: flex;
  align-items: center;
  padding: 0 15px;
  margin-right: -6%;
}
/* 吉澤追加アニメーション */

.info-new {
  color: red !important;
  animation: blinking 0.8s ease-in-out infinite alternate;
}
@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*フォント
---------------------------------------------------------------------------*/
h2 {
  display: block;
  width: 217px;
  margin: 85px auto 10px;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.3em;
  line-height: 1.7;
  background-image: url(../../images/index/h2.png);
  background-repeat: no-repeat;
  background-position: center bottom;
}

h2 span.sub {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.3em;
}

h2 span.blue {
  color: #007ccd;
}

p.discript {
  font-size: 28px;
  font-family: YuMincho, /* Mac用 */ "Yu Mincho",
    /* Windows用 Android用*/ "Noto Serif JP", serif;
  padding-bottom: 40px;
  line-height: 1.6;
}

h3 {
  font-size: 24px;
  font-weight: 600;
  padding: 25px 0;
  font-family: "メイリオ", sans-serif;
}

/*コンテンツ
---------------------------------------------------------------------------*/
.br-sp {
  display: none;
}

/*総務事業*/
.cont1 {
  height: 514px;
  background-image: url(../../images/index/cont1.png);
  background-repeat: no-repeat;
  background-position: left top;
}

.cont1-inner {
  width: 651px;
  margin: 0 auto;
  padding-top: 80px;
  text-align: left;
}

.cont1-box {
  width: 542px;
  height: 194px;
  border: 3px solid #000;
  padding: 12px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.cont1-left {
  width: 331px;
  margin-left: 19px;
  line-height: 1.6;
}

.cont1-left p {
  font-size: 16px;
}

/*研修事業*/
.cont2 {
  margin-top: 30px;
  height: 387px;
  background-image: url(../../images/index/cont2.png);
  background-repeat: no-repeat;
  background-position: right top;
}

.cont2-inner {
  width: 651px;
  margin: 0 auto;
  padding-top: 40px;
  text-align: right;
}

.cont2-box {
  width: 542px;
  height: 194px;
  float: right;
  border: 3px solid #000;
  padding: 12px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.cont2-right {
  width: 331px;
  line-height: 1.6;
  margin-right: 19px;
}

/*SS事業*/
.cont3 {
  margin-top: 30px;
  height: 481px;
  background-image: url(../../images/index/cont3.png),
    url(../../images/index/cont3-ten.png);
  background-repeat: no-repeat, no-repeat;
  background-position: left top, right bottom;
}

.cont3-inner {
  width: 651px;
  margin: 0 auto;
  padding-top: 80px;
  text-align: left;
}

.cont3-box {
  width: 542px;
  height: 194px;
  border: 3px solid #000;
  padding: 12px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.cont3-left {
  width: 331px;
  margin-left: 19px;
  line-height: 1.6;
}

.cont3-left p {
  font-size: 16px;
}

/*STREAM教育、職業紹介事業*/
.cont4 {
  margin-top: 70px;
  height: 387px;
  background-image: url(../../images/index/cont4-1.png),
    url(../../images/index/cont4-2.png);
  background-repeat: no-repeat, no-repeat;
  background-position: right top, left bottom; /*変更箇所*/
}

.cont4-inner {
  width: 830px;
  margin: 0 auto;
  padding-top: 40px;
  text-align: right;
}

.cont4-box-a {
  width: 370px;
  height: 194px;
  float: left;
  border: 3px solid #000;
  padding: 1px 12px 12px;
  margin-right: 30px;
  background: #fff;
  position: relative;
}

.cont4-box-b {
  width: 370px;
  height: 194px;
  float: left;
  border: 3px solid #000;
  padding: 1px 12px 12px;
  background: #fff;
  position: relative;
}

.cont4-right {
  width: 331px;
  line-height: 1.6;
  margin-right: 19px;
}

.cont5 {
  text-align: left;
  margin-left: 10px;
}

/*MOREボタン*/
span.more {
  display: block;
  width: 62px;
  height: 30px;
  background: #000;
  line-height: 30px;
  text-align: center;
  position: absolute;
  bottom: 0;
  right: 0;
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.2em;
}

/*採用について*/
.recruit {
  margin-top: 50px;
  margin-bottom: 160px;
  height: 461px;
  background-image: url(../../images/index/recruit.png);
  background-repeat: no-repeat;
  background-position: left top;
}

.recruit-inner {
  float: right;
  width: 393px;
  text-align: right;
}

#recruit-btn {
  width: 220px;
  height: 52px;
  margin-top: 38px;
  float: right;
  border-radius: 26px;
  line-height: 52px;
  background: #f8718c;
  text-align: center;
  position: relative;
}

#recruit-btn a {
  display: block;
  font-size: 16px;
  color: #fff;
}

.re-arrow {
  position: absolute;
  top: 0;
  right: 23px;
  width: 5px;
  height: 10px;
}

.intern {
  padding-top: 57px;
  padding-bottom: 122px;
}

.intern a {
  color: #17a3de;
  font-weight: bold;
}

.intern img {
  padding-left: 1em;
}

p.bosyu {
  font-size: 32px;
  font-family: YuMincho, /* Mac用 */ "Yu Mincho",
    /* Windows用 Android用*/ "Noto Serif JP", serif;
  padding-top: 100px;
  padding-bottom: 60px;
  line-height: 1.8;
  text-align: right;
  animation: fadeIn 0.2s ease 0.3s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.clear {
  clear: both;
}

/*画面幅1220px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1220px) {
  .contents {
    width: 80%;
  }

  .intern {
    padding-top: 27px;
    padding-bottom: 80px;
  }

  /*採用について*/
  .recruit {
    margin-top: 50px;
    margin-bottom: 160px;
    background-image: url(../../images/index/recruit.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 750px auto;
  }

  p.bosyu {
    font-size: 30px;
    line-height: 1.7;
    padding-bottom: 0;
  }
}

/*画面幅1100px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1100px) {
  /*採用について*/
  .recruit {
    margin-top: 40px;
    margin-bottom: 200px;
    height: auto;
    background-size: 80%;
  }

  .recruit-inner {
    float: none;
    width: 90%;
    margin: 0 auto;
    padding-top: 530px;
    text-align: center;
  }

  #recruit-btn {
    width: 220px;
    height: 52px;
    margin: 0 auto;
    float: none;
    border-radius: 26px;
    line-height: 52px;
  }

  #recruit-btn a {
    display: block;
    font-size: 16px;
    color: #fff;
  }

  .re-arrow {
    position: absolute;
    top: 0;
    right: 23px;
    width: 5px;
    height: 10px;
  }

  .intern {
    padding-top: 27px;
    padding-bottom: 20px;
  }

  .intern a {
    color: #17a3de;
    font-weight: bold;
    font-size: 16px;
  }

  .intern img {
    padding-left: 1em;
  }

  p.bosyu {
    font-size: 24px;
    padding-bottom: 40px;
    line-height: 1.6;
    text-align: center;
  }
}

/*画面幅789px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 789px) {
  /*メイン画像
---------------------------------------------------------------------------*/
  .main-inner {
    width: 100%;
    height: 685px;
  }

  #mainimg {
    padding: 0;
    width: auto;
    height: 400px;
    position: relative;
    overflow: hidden; 
  }

  .main-a {
    background-image: url(../../images/index/TOP1.png);
    width:400px;
    height: auto;
  }

  .main-b {
    background-image: url(../../images/index/TOP2.png);
    width:400px;
    height: auto;
  }

  .main-c {
    background-image: url(../../images/index/TOP3.png);
    width:400px;
    height: auto;
  }

  .cach {
    width: 80%;
    padding-top: 29px;
    position: relative;
    font-size: 25px;
    font-weight: 600;
    top: 30px;
    left: 3%;
    line-height: 1.6;
  }

  .leave-small {
    width: 30px;
    height: 100px;
    background-size: contain;
    right: 63px;
  }

  .leave-big {
    width: 100px;
    height: 117px;
    background-size: contain;
  }

  .index-sns-area-sp {
    display: block;
    width: 97%;
    position: relative;
  }

  .index-sns-box {
    position: absolute;
    bottom: 130px;
    right: 0;
    left: 0;
    margin: auto;
    display: flex;
    width: 80px;
  }

  .index-sns-box a {
    width: 25px;
    height: 25px;
    display: block;
    padding-right: 9px;
    padding-left: 9px;
  }

  .index-sns-box a:last-child {
    padding-left: 9px;
  }

  .top-info {
    width: 80%;
    height: 50px;
    bottom: 30px;
    right: 0;
    left: 0;
    margin: auto;
  }

  .top-info-title {
    height: 50px;
    line-height: 50px;
  }

  /*フォント
---------------------------------------------------------------------------*/
  h2 {
    width: 60%;
    margin: 35px auto 45px;
    font-size: 26px;
    line-height: 1.5;
  }

  p.discript {
    font-size: 20px;
    padding-bottom: 16px;
    line-height: 1.5;
    font-family: YuMincho, /* Mac用 */ "Yu Mincho",
      /* Windows用 Android用*/ "Noto Serif JP", serif;
  }

  h3 {
    font-size: 18px;
    padding: 0 0 10px;
  }

  /*コンテンツ
---------------------------------------------------------------------------*/
  .br-sp {
    display: block;
  }

  /*総務事業*/
  .cont1 {
    height: 360px;
    background-position: left -130px top;
    background-size: 100% 80%;
  }

  .cont1-inner {
    width: 90%;
    margin: 0 auto;
    padding-top: 50px;
    text-align: right;
  }

  .cont-link:hover {
    color: black;
  }

  .cont1-box {
    width: 90%;
    height: 115px;
    margin: 0 auto;
    border: 2px solid #000;
    padding: 12px;
    display: block;
    text-align: left;
  }

  .cont1-box img {
    display: none;
  }

  .cont1-left {
    width: 100%;
    margin-left: 0;
    line-height: 1.6;
  }

  .cont1-left p {
    font-size: 14px;
  }

  /*研修事業*/
  .cont2 {
    margin-top: 0;
    height: 290px;
    background-size: 60% 100%;
  }

  .cont2-inner {
    width: 90%;
    margin: 0 auto;
    padding-top: 30px;
    text-align: left;
  }

  .cont2-box {
    width: 90%;
    height: 115px;
    margin: 0 auto;
    float: none;
    border: 2px solid #000;
    padding: 12px;
    display: block;
  }

  .cont2-box img {
    display: none;
  }

  .cont2-right {
    width: 100%;
    line-height: 1.6;
    margin-right: 0;
  }

  .cont2-right p {
    font-size: 14px;
  }

  /*SS事業*/
  .cont3 {
    margin-top: 30px;
    height: 280px;
    background-position: left -100px top, right -150px bottom;
    background-size: 80%, 70%;
  }

  .cont3-inner {
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
    text-align: right;
  }

  .cont3-box {
    width: 90%;
    height: 115px;
    margin: 0 auto;
    border: 2px solid #000;
    padding: 12px;
    display: block;
    text-align: left;
  }

  .cont3-box img {
    display: none;
  }

  .cont3-left {
    width: 100%;
    margin-left: 0;
    line-height: 1.6;
  }

  .cont3-left p {
    font-size: 14px;
  }

  /*STREAM教育、職業紹介事業*/
  .cont4 {
    margin-top: 20px;
    height: 410px;
    background-image: none;
    background-repeat: no-repeat;
    background-size: 90%;
    background-position: right -100px top;
  }

  .cont4-inner {
    width: 90%;
    margin: 0 auto;
    padding-top: 20px;
    text-align: right;
  }

  .cont4-box-a {
    width: 90%;
    height: 115px;
    float: none;
    border: 2px solid #000;
    padding: 12px 12px 12px;
    margin: 0 auto 22px;
    position: relative;
    text-align: left;
  }

  .cont4-box-b {
    width: 90%;
    height: 115px;
    float: none;
    border: 2px solid #000;
    padding: 12px 12px 12px;
    margin: 0 auto;
    position: relative;
    text-align: left;
  }

  .cont4-right {
    width: 100%;
    line-height: 1.6;
    margin-right: 0;
  }

  .cont4-right p {
    font-size: 14px;
  }

  .cont5 {
    text-align: left;
    margin-left: 0;
  }

  /*MOREボタン*/
  span.more {
    top: 0;
    height: 30px;
    line-height: 30px;
  }

  /*採用について*/
  .recruit {
    margin-bottom: 100px;
  }

  .recruit-inner {
    float: none;
    width: 100%;
    margin: 0 auto;
    padding-top: 150px;
    text-align: center;
  }

  p.bosyu {
    padding-top: 30px;
  }
}

/*画面幅580px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 580px) {
}
