/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 2021/12/27, 10:48:35
    Author     : 15X03Y1
*/
.main {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* 業務内容のmain */
.main-works {
  position: relative;
  width: 100%;
}

/* 業務内容のsubページ */
.sub-works {
  position: relative;
  width: 100%;
}

/* 製品情報のmain */
.main-priducts {
  position: relative;
  width: 100%;
}

/* 製品情報のsubページ */
.sub-products {
  position: relative;
  width: 100%;
}

/* 製品カタログ一覧ページ */
.catalogs {
  position: relative;
  width: 100%;
}

/* 会社情報のmain */
.main-company {
  position: relative;
  width: 100%;
}

/* 会社情報の企業理念 */
.policy {
  position: relative;
  width: 100%;
}

/* 会社情報の社長挨拶 */
.greeting {
  position: relative;
  width: 100%;
}

/* 会社情報のアクセス */
.access {
  position: relative;
  width: 100%;
}

/* 採用情報 */
.main-recruit {
  position: relative;
  width: 100%;
}

/* お問い合わせ */
.main-contact {
  position: relative;
  width: 100%;
}

/* お問い合わせ確認 */
.contact-confirm {
  position: relative;
  width: 100%;
}

/* お問い合わせ確認 */
.contact-thanks {
  position: relative;
  width: 100%;
}

/* プライバシーポリシー */
.privacypolicy {
  position: relative;
  width: 100%;
}

.content {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 5% 10%;
}

.left {
  position: relative;
  width: 100%;
  height: 100%;
}

.right {
  position: relative;
  width: 100%;
  height: 100%;
}

.content-title {
  display: flex;
  justify-content: space-between;
  /*border-bottom: 1px solid #898989;*/
  align-items: flex-end;
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

.content-middle-title {
  text-align: left;
  font-size: 2.6rem;
  padding: 3.0rem 0 1.5rem 0;
  line-height: 3.0rem;
  font-weight: bold;
  color: #0066bf;
  letter-spacing: 0.1rem;
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

.title-matter {
  position: relative;
  width: 100%;
  height: auto;
  margin: 75px 0 0 0;
  overflow: hidden;
}

.title-matter>.content {
  padding: 5% 10% 5%;
  margin: 8% 0 0;
}

.title-matter img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  object-fit: cover;
  opacity: 0.7;

}

fixed {
  position: fixed;
}

/* 各サブページのタイトル */
.sub-title {
  position: relative;
  width: 100%;
  padding: 10% 20% 0% 20%;
}

.title-matter-content {
  position: relative;
  width: 80%;
  height: 100%;
  margin: 5vh auto 0 auto;
  padding: 10% 0 0 0;
  background-color: #fff;
}

.title-matter .title-matter-content h2.title-jap2 {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  color: #000;
  padding: 0 10%;
}

.title-matter .title-matter-content .content-sentence {
  padding: 0.5rem 5% 1.0rem 5%;
}

table.-visible,
.content-title.-visible,
.content-title2.-visible,
.content-middle-title.-visible,
.content-sentence.-visible,
.detail-link.-visible,
.multiple.-visible,
.grind-contaner.-visible,
.sub-works-explain.-visible,
.activities-title-matter .content-sub.-visible,
.main-works-link.-visible,
.main-products-link.-visible,
.jobs-content.-visible,
.interview-content.-visible,
.catalog-content-sentence.-visible,
.content-title3.-visible {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transition-delay: 0.2s;
}

.workflow-content.-visible {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
}

.content-title2 {
  align-items: flex-end;
  text-align: center;
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

.content-title2-non-appear {
  align-items: flex-end;
  text-align: center;
}

h1.title-jap2 {
  display: inline-block;
  font-size: 1.4rem;
  margin: 0;
  line-height: 2.0;
  color: #FFF;
  /*border-bottom: 1px solid #898989;*/
  letter-spacing: 0.05em;
}

h2.title-jap2 {
  display: inline-block;
  font-size: 1.2rem;
  margin: 0;
  line-height: 2.0;
  /*border-bottom: 1px solid #898989;*/
  letter-spacing: 0.05em;
}

h2.title-eng2 {
  font-size: 4.0rem;
  line-height: 1.0;
  margin: 0;
  font-weight: bold;
  color: #898989;
  letter-spacing: 0.05em;
  font-family: "Teko";
}

h2.title-jap {
  font-size: 4rem;
  line-height: 3.6rem;
  font-weight: 700;
  color: #000;
  padding: 0 10%;
  letter-spacing: 0.2rem;
}

h2.title-eng {
  font-size: 7.2rem;
  font-weight: 700;
  margin: 0;
  padding: 0;
  color: #898989;
  letter-spacing: 0.2rem;
  font-family: "Teko";
  line-height: 3.6rem;
}

h1.title-jap {
  display: inline-block;
  font-size: 4rem;
  line-height: 5rem;
  font-weight: 700;
  color: #000;

  padding: 0 auto;
  letter-spacing: 0.2rem;
}

.title-jap-sup {
  font-size: 1.8rem;
  line-height: 1rem;
  font-weight: 200;
  color: #000;
  padding: 0 10%;
  letter-spacing: 0.2rem;
  margin: 0;
}

.title-matter h2.title-jap2 {
  color: #fff;
  /* font-size: 2.4rem; */
}

.title-matter h2.title-eng2 {
  color: #f8f8f8;
  /* font-size: 7.2rem; */
  /* font-weight: 700; */
}

.content-sentence {
  text-align: center;
  font-size: 0.875rem;
  padding: 4.0rem 5% 3.0rem 5%;
  line-height: 2.0;
  font-weight: 400;
  letter-spacing: 0.05em;
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

.detail-link {
  text-align: right;
  padding: 0% 5% 0% 5%;

  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}


.picture-mask {
  width: 100%;
  height: 100%;
  background: black;
}

/* テーブル関係 */
table {
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

table tr {
  border-bottom: 1px solid #898989;
}

table tr:first-child {
  border-top: 1px solid #898989;
}

table ul {
  margin: 0;
}

table th {
  white-space: nowrap;
  text-align: left;
  padding: 1% 0;
  width: 25%;
}

table td {
  padding: 1% 0;
}

.nonlist {
  list-style: none;
}

.nonpadding {
  padding: 0;
}

.listpadding {
  padding-inline-start: 20px;
}

.justify li {
  display: flex;
  justify-content: space-between;
}

/* END テーブル関係 */

/* サブページのタイトルのマスク */
.title-matter>.picture-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
}


/* main-recruit */
.main-recruit .title-matter img {
  object-position: 50% 80%;
}

.jobs {
  position: relative;
  width: 100%;
  padding: 0;
}

.jobs-contaner {
  padding: 0 8% 5%;
  align-items: center;
}

.jobs-content {
  list-style: none;
  position: relative;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 0% 0% 8% 0%;
  padding: 0;
  display: -webkit-box;
  /* old Android */
  display: -webkit-flex;
  /* Safari etc. */
  display: -ms-flexbox;
  /* IE10        */
  display: flex;
  gap: 15px 20px;
  /* 折り返し */
  -webkit-flex-wrap: wrap;
  /* Safari etc. */
  -ms-flex-wrap: wrap;
  /* IE10        */
  flex-wrap: wrap;
  background-color: #EFEFEF;
  align-items: center;
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

.jobs-sentence {
  display: block;
  width: 100%;
  height: auto;
  padding: 0 5% 0 5%;
  font-size: 0.875rem;
  line-height: 2.0;
  letter-spacing: 0.05em;

}

.jobs-sentence h3.title-jap {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 1% 0;
}

.jobs-sentence span {
  display: inline-block;
  /* inline-blockを入れることでmargin-topが効くようになる */
  margin-top: 1%;
  margin-bottom: 3%;
  font-weight: 400;
}

.jobs-content-img {
  position: relative;
  width: 100%;
  height: 250px;
  /* padding: 0%; */
  text-align: center;
  overflow: hidden;
  opacity: 1;
  /* margin: 0 auto; */
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

.jobs-content-img.-img-toright {
  opacity: 1;
  transition: opacity .3s ease-out;
}

.jobs-content-img.-img-toright::before {
  background: #EFEFEF;
}

#jobs01 {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

#jobs02 {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

#jobs03 {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

.interview {
  position: relative;
  width: 100%;
  padding: 2% 0;
  background-color: #F1F4F7;
}

.interview>.content {
  padding: 5% 10% 0% 10%;
}

.interview-contaner {
  padding: 0% 8% 0%;
  align-items: center;
}

.interview-content {
  list-style: none;
  position: relative;
  justify-content: start;
  width: 100%;
  height: auto;
  margin: 15% 0% 5% 0%;
  display: -webkit-box;
  /* old Android */
  display: -webkit-flex;
  /* Safari etc. */
  display: -ms-flexbox;
  /* IE10        */
  display: flex;
  -webkit-align-items: flex-end;
  /* Safari etc. */
  -ms-align-items: flex-end;
  /* IE10        */
  align-items: flex-end;
  gap: 15px 0;
  /* 折り返し */
  -webkit-flex-wrap: wrap;
  /* Safari etc. */
  -ms-flex-wrap: wrap;
  /* IE10        */
  flex-wrap: wrap;
  opacity: 0;
  transform: translate(0%, 10px);
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity linear 0.8s;
}

.interview-sentence {
  display: block;
  width: 100%;
  height: auto;
  font-size: 1.2rem;
  letter-spacing: 0.08rem;
  margin-top: 5%;
}

.interview-title {
  display: block;
  width: 100%;
  height: auto;
  padding-left: 30%;
}

.interview-title h3.title-jap {
  font-size: 1.0rem;
  line-height: 2.0;
  margin: 1% 0;
  font-weight: normal;
  border-bottom: solid 1px #898989;
}

.interview-sentence h4 {
  font-size:1.4rem;
  line-height: 2.0;
  letter-spacing: 0.05em;
  margin: 1% 0 1%;
}

.interview-sentence span {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 2.0;
  letter-spacing: 0.05em;
  /* inline-blockを入れることでmargin-topが効くようになる */
  margin-top: 2%;
  margin-bottom: 6%;
  font-weight: 400;
}

.interview-content-img {
  position: absolute;
  width: 17vw;
  height: 17vw;
  top: -4.5vw;
  left: 0%;
  background: #FFF;
  text-align: center;
  border: solid 1px #898989;
  border-radius: 50%;

}

#interview01 {
  position: relative;
  width: 11vw;
  left: -3px;
  top: 2px;
  object-fit: cover;
}

#interview02 {
  position: relative;
  width: 11vw;
  top: 2px;
  object-fit: cover;
}

.jobdescription {
  position: relative;
  width: 100%;
  padding: 2% 0;
  align-items: center;
}

.jobdescription .content{
  padding: 5% 0;
}

.jobdescription-content {
  position: relative;
  width: 100%;
  padding: 2% 8% 5%;
}

.jobdescription-table {
  border-collapse: collapse;
  width: 100%;
  padding: 10% 0;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2.0;
}

.non-margin {
  margin: 0;
}


/* .img-frame{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
} */
/* @media screen and (max-width: 767px){
.img-frame{
  width: 100%;
  height: 200px;
} */
.img-01, .img-02, .img-03, .img-04, .img-05, .img-06,.img-07{
  position: absolute;
  width: 100%;
  height: 250px;
  /* background-size: cover;
  background-repeat: no-repeat; */
  object-fit: cover;
  display: block;
  overflow: hidden;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.img-01{
  animation: slide-animation-01 48s infinite;
}
.img-02{
  animation: slide-animation-02 48s infinite;
}
.img-03{
  animation: slide-animation-03 48s infinite;
}
.img-04{
  animation: slide-animation-04 48s infinite;
}
.img-05{
  animation: slide-animation-05 48s infinite;
}
.img-06{
  animation: slide-animation-06 48s infinite;
}
.img-07{
  animation: slide-animation-07 48s infinite;
}
@keyframes slide-animation-01 {
   0% {opacity: 1; transform: scale(1.0);}
 13% {opacity: 1;}
 23% {opacity: 0; transform: scale(1.15);}
 90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
   0% {opacity: 0;}
 13% {opacity: 0; transform: scale(1.1);}
 23% {opacity: 1;}
 26% {opacity: 1;}
 36% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
   0% {opacity: 0;}
 26% {opacity: 0;  transform: scale(1.0);}
 36% {opacity: 1;}
 39% {opacity: 1;}
 49% {opacity: 0; transform: scale(1.1);}
 100% {opacity: 0; transform: scale(1.1);}
}
@keyframes slide-animation-04 {
  0% {opacity: 0;}
39% {opacity: 0; transform: scale(1.1);}
49% {opacity: 1;}
52% {opacity: 1;}
62% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-05 {
  0% {opacity: 0;}
52% {opacity: 0;  transform: scale(1.0);}
62% {opacity: 1;}
65% {opacity: 1;}
75% {opacity: 0; transform: scale(1.1);}
100% {opacity: 0; transform: scale(1.1);}
}
@keyframes slide-animation-06 {
  0% {opacity: 0;}
65% {opacity: 0; transform: scale(1.1);}
75% {opacity: 1;}
78% {opacity: 1;}
88% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-07 {
  0% {opacity: 0;}
78% {opacity: 0;  transform: scale(1.0);}
88% {opacity: 1;}
90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}



/* END main-recruit */


/* タブレット用css */
@media screen and (min-width: 489px) and (max-width: 960px) {
  .br-sp {
    display: none;
  }

  h1.title-jap {
    display: inline-block;
    font-size: 6rem;
    line-height: 7rem;
    font-weight: 700;
    color: #000;
    padding: 0 auto;
    letter-spacing: 0.2rem;
  }

  h2.title-jap {
    font-size: 6rem;
  }

  h2.title-jap-sup {
    font-size: 2rem;
  }

  .title-matter img {
    height: 400px;
  }

  .title-matter>.picture-mask {
    height: 400px;
  }

  .title-matter>.content {
    padding: 10% 10% 5%;
    margin: initial;
  }

  .title-matter {
    margin: 75px 0 0 0;
  }

  h2.title-jap2 {
    /* font-size: 1.2rem; */
  }

  h2.title-eng2 {
    /* font-size: 3.0rem; */
    /* font-weight: 700; */
  }

  .title-matter-content {
    margin: 10% auto 0 auto;
    padding: 6% 10% 0 10%;
  }

  .title-matter .title-matter-content h2.title-jap2 {
    /* font-size: 3.2rem; */
  }

  /* main-recruit */
  .jobs-contaner {
    padding: 0 8% 5%;
  }

  .jobs-content {
    gap: 0;
  }

  .jobs-content-img {
    height: 360px;
    /* padding: 0 0 0 3%; */
  }
  .img-01, .img-02, .img-03, .img-04, .img-05, .img-06,.img-07{
    height: 360px;
  }
  #jobs01 {
    height: 360px;
  }
  
  #jobs02 {
    height: 360px;
  }
  
  #jobs03 {
    height: 360px;
  }
  .jobs-sentence h3.title-jap {
    /* font-size: 2.0rem; */
    /* line-height: 2.4rem; */
    margin: 4% 0 0;
  }

  .jobs-sentence span {
    /* font-size: 1.4rem; */
    /* letter-spacing: 0.1rem; */
    /* line-height: 3.0rem; */
  }

  .interview-title h3.title-jap {
    /* font-size: 1.6rem; */
    /* letter-spacing: 0.12rem; */
    /* line-height: 2.2rem; */
  }
  
  .interview-sentence{
    margin-top: 7%;
  }

  .interview-sentence span {
    /* margin-top: 2%; */
    margin-bottom: 4%;
    /* font-size: 1.4rem; */
    /* letter-spacing: 0.1rem; */
    /* line-height: 3.0rem; */
  }

  .jobdescription-content {
    padding: 2% 8% 5%;
  }

  .jobdescription-table {
    /* font-size: 1.4rem; */
    /* line-height: 2.6rem; */
  }

  /* END main-recruit */


}

/* PC用css */
@media screen and (min-width: 961px) {
  .br-sp {
    display: none;
  }

  h1.title-jap {
    display: inline-block;
    font-size: 6rem;
    line-height: 7rem;
    font-weight: 700;
    color: #000;
    padding: 0 auto;
    letter-spacing: 0.2rem;
  }

  h2.title-jap {
    font-size: 6rem;
  }

  h2.title-jap-sup {
    font-size: 2rem;
  }

  h2.title-jap2 {
    font-size: 1.4rem;
  }

  h2.title-eng2 {
    font-size: 6.0rem;
    /* font-weight: 700; */
  }

  .content-sentence {
    font-size: 1.0rem;
    /* line-height: 2.8rem; */
    /* letter-spacing: 0.12rem; */
  }

  .title-matter img {
    height: 400px;
  }

  .title-matter>.picture-mask {
    height: 400px;
  }

  .title-matter>.content {
    padding: 7% 10% 5%;
    margin: initial;
  }

  .title-matter {
    margin: 120px 0 0 0;
  }

  .title-matter-content {
    margin: 0 auto 0 auto;
    padding: 3% 10% 0 10%;
  }

  .title-matter .title-matter-content h2.title-jap2 {
    font-size: 2.4rem;
  }

  /* main-recruit */
  .jobs .content {
    padding: 3% 10% 0%;
  }

  .jobs-contaner {
    padding: 0 15% 5%;
  }

  .jobs-content {
    gap: 0;
    padding: 2% 0;
    margin: 2% 0 2% 0;
  }

  .jobs-sentence {
    width: 60%;
    height: 100%;
  }

  .jobs-sentence h3.title-jap {
    /* font-size: 2.4rem; */
    /* line-height: 4.0rem; */
    margin: 5% 0;
  }

  .jobs-sentence span {
    font-size: 1.0rem;
    /* letter-spacing: 0.16rem; */
    /* line-height: 3.2rem; */

  }

  .jobs-content-img {
    position: relative;
    width: 40%;
    height: 360px;
    /* padding: 0 0 0 3%; */
  }

  #jobs01 {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
  }

  #jobs02 {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
  }

  #jobs03 {
    width: 100%;
    height: 360px;
    object-fit: cover;
    display: block;
  }
  .img-01, .img-02, .img-03, .img-04, .img-05, .img-06,.img-07{
    height: 360px;
  }

  .interview .content {
    padding: 5% 10% 0%;
  }

  .interview-content {
    margin: 5% 0% 5% 0%;
  }

  .interview-contaner {
    padding: 0% 20% 0%;
  }

  .interview-sentence {
    padding-left: 30%;
    margin-top: 0%;
  }

  .interview-sentence span {
    margin-top: 2%;
    margin-bottom: 5%;
    font-size: 1.0rem;
    /* letter-spacing: 0.16rem; */
    /* line-height: 3.2rem; */

  }

  .interview-title h3.title-jap {
    font-size: 1.2rem;
    /* line-height: 3.6rem; */
  }

  .interview-content-img {
    position: absolute;
    width: 13vw;
    height: 13vw;
    top: 0%;
    left: 0%;

  }

  #interview01 {
    width: 8vw;
    left: -10px;
    top: 20px;
  }

  #interview02 {
    width: 8vw;
    top: 3px;
    top: 20px;
  }

  .jobdescription .content {
    padding: 5% 10% 0%;
  }

  .jobdescription-content {
    padding: 2% 10% 5%;
  }

  .jobdescription-table {
    font-size: 1.0rem;
    /* letter-spacing: 0.1rem; */
    /* line-height: 3.2rem; */
    width: 80%;
    margin: 0 auto;
  }

  .jobdescription-table ul li ul {
    line-height: 2.6rem;
  }

  .jobdescription-table th {
    padding: 1% 0 1% 3%;
  }

  .jobdescription-table td {
    padding: 1% 0 1% 5%;
  }

  /* END main-recruit */

}