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

	TOP PC

---------------------------------------------- */
#top .content01 {
  overflow: hidden;
  margin-bottom: 100px;
}
#top .content01 .image {
  position: relative;
  padding-bottom: 29.7619047619%;
  background-image: url("../img/top/content01_bk.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
}
#top .content01 .image .imageLogo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 48%;
}
#top .content01 .image .imageLogo img {
  max-height: 18vw;
}
#top .content01 .image:before {
  content: "";
  display: block;
  position: absolute;
  background-image: url("../img/top/content01_bg.png");
  width: 100%;
  left: -48%;
  height: 160px;
  bottom: -160px;
}
#top .content01 .text {
  padding-top: 105px;
}
#top .content01 .text .inner {
  position: relative;
}
#top .content01 .text .textProduct {
  position: absolute;
  right: -66px;
  top: -275px;
}
#top .content01 .text .textDesc .textDescTitle {
  margin-bottom: 42px;
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.3333333333;
  text-indent: -0.58em;
  letter-spacing: 0.02em;
}
#top .content01 .text .textDesc p {
  letter-spacing: 0em;
  font-size: 1.8rem;
  line-height: 2;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
#top .content02 {
  background-image: url("../img/top/bg.jpg");
  overflow: hidden;
  padding-bottom: 133px;
}
#top .content02 .title {
  margin-bottom: 70px;
  padding-bottom: 28.5714285714%;
  background-image: url("../img/top/content02_bk.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
#top .content02 .inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row-revers;
          flex-direction: row-revers;
}
#top .content02 .imageWrap {
  padding-bottom: 85.9259259259%;
  width: 70.3125%;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 70.3125%;
          flex: 0 1 70.3125%;
  background-image: url("../img/top/content02_image.jpg");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  position: absolute;
  right: -207px;
  top: 0;
}
#top .content02 .textWrap {
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
}
#top .content02 p {
  margin-left: 25%;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  font-size: 19px;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.7894736842;
  max-height: 28em;
}
#top .content02 .textTitle {
  position: absolute;
  left: 0;
  top: -237px;
}
#top .content02 .textLink {
  width: 176px;
  margin-left: 25%;
  margin-top: 60px;
  padding-bottom: 20px;
  font-size: 20px;
  text-align: center;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 700;
  letter-spacing: 0.075em;
  background-image: url("../img/top/arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
#top .content02 .textImage {
  position: absolute;
  left: 6px;
  bottom: 23px;
}
#top .content03 {
  background-image: url("../img/top/bg.jpg");
  overflow: hidden;
  padding-bottom: 33px;
  margin-bottom: 107px;
}
#top .content03 .title {
  margin-bottom: 73px;
  padding-bottom: 28.5714285714%;
  background-image: url("../img/top/content03_bk.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
#top .content03 .inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#top .content03 .imageWrap {
  padding-bottom: 85.9259259259%;
  width: 70.3125%;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 70.3125%;
          flex: 0 1 70.3125%;
  background-image: url("../img/top/content03_image.jpg");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  position: absolute;
  left: -195px;
  top: 0;
}
#top .content03 .textWrap {
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
}
#top .content03 p {
  width: 100%;
  padding-right: 25%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  font-size: 19px;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.7894736842;
  height: 600px;
}
#top .content03 .textTitle {
  position: absolute;
  right: 11px;
  top: -99px;
}
#top .content03 .textLink {
  width: 175px;
  margin-left: auto;
  margin-right: 24.5%;
  margin-top: 31px;
  padding-bottom: 20px;
  font-size: 20px;
  text-align: center;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 700;
  letter-spacing: 0.075em;
  background-image: url("../img/top/arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
}
#top .content03 .textImage {
  position: absolute;
  right: -82px;
  bottom: -25px;
}
#top .news {
  margin-bottom: 57px;
}
#top .news .title {
  margin-bottom: 27px;
  font-size: 30px;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
}
#top .news .newsLine {
  right: 0;
  position: relative;
}
#top .news .newsLine:before, #top .news .newsLine:after {
  content: "";
  display: block;
  position: absolute;
  width: 15px;
  height: 1px;
  right: 0;
}
#top .news .newsLine:after {
  top: -1px;
  border-bottom: 1px solid #ffffff;
}
#top .news .newsLine:before {
  bottom: -1px;
  border-top: 1px solid #ffffff;
}
#top .news .newsArea {
  height: 500px;
  overflow: auto;
  border-bottom: 1px solid #c5c5c5;
  border-top: 1px solid #c5c5c5;
  /*スクロールバー全体*/
  /*スクロールバーの軌道*/
  /*スクロールバーの動く部分*/
}
#top .news .newsArea::-webkit-scrollbar {
  width: 5px;
  margin-left: 15px;
}
#top .news .newsArea::-webkit-scrollbar-track {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
}
#top .news .newsArea::-webkit-scrollbar-thumb {
  background-color: rgb(200, 201, 202);
  border-radius: 10px;
  -webkit-box-shadow: 0 0 0 1px rgb(200, 201, 202);
          box-shadow: 0 0 0 1px rgb(200, 201, 202);
}
#top .news ul {
  margin-right: 15px;
}
#top .news li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0 32px;
  border-bottom: 1px solid #c5c5c5;
}
#top .news li:last-of-type {
  border: none;
}
#top .news .newsDate {
  width: 132px;
  font-size: 1.6rem;
  letter-spacing: 0.025em;
}
#top .news .newsCategory {
  width: 109px;
}
#top .news .newsCategory span {
  display: inline-block;
  padding: 3px 18px;
  color: #ffffff;
  font-size: 1.2rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
#top .news .newsCategory .catNews {
  background-color: #e20012;
}
#top .news .newsCategory .catProcust {
  background: #e65300;
}
#top .news .newsDetaile {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#top .news .newsDetaile .newsTitle {
  margin-top: -5px;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.7647058824;
}
#top .news .newsDetaile .newsDesc {
  margin-top: 20px;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.7142857143;
}
#top .news .newsDetaile .newsDesc a {
  color: #e20012;
  font-weight: 700;
  padding-bottom: 3px;
  border-bottom: 1px solid #e20012;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  zoom: 1;
}
#top .news .newsDetaile .newsDesc a:hover {
  opacity: 0.7;
}
#top .news .newsDetaile .newsDesc .small {
  font-size: 1.2rem;
}
#top .bannerArea {
  margin-bottom: 107px;
}
#top .bannerArea .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#top .bannerArea .inner .banner {
  width: 48%;
}
#top .bannerArea .inner02 {
  width: 90%;
  max-width: 960px;
  margin: auto;
  padding: 40px 0 55px;
  border-top: 2px solid #000000;
  border-bottom: 2px solid #000000;
}
#top .bannerArea .inner02 .title {
  margin-bottom: 25px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
#top .bannerArea .inner02 .title.pc {
  display: block;
}
#top .bannerArea .inner02 .title.sp {
  display: none;
}
#top .bannerArea .inner02 .bannerWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#top .bannerArea .inner02 .banner {
  width: 48%;
}
#top .bannerArea .inner02 .banner img {
  height: 113px;
}
#top .company {
  margin-bottom: 107px;
}
#top .company .companyTitle {
  margin-bottom: 28px;
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
#top .company ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#top .company li {
  position: relative;
  width: 32.5%;
  padding-bottom: 23.9516129032%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
}
#top .company a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
}
#top .company span {
  color: #ffffff;
  font-size: 20px;
  position: absolute;
  font-weight: 400;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#top .company .companyAnnai {
  background-image: url("../img/top/company_about.jpg");
}
#top .company .companyRecruit {
  background-image: url("../img/top/company_reclute.jpg");
}
#top .company .companyPrivacy {
  background-image: url("../img/top/company_privacy.jpg");
}
#top .content04 .flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0 13%;
}
#top .content04 .flexBox .img {
  max-width: 48%;
  margin-left: 2%;
}
#top .content04 .flexBox .usuallyTitle {
  width: 89%;
  margin-bottom: 32px;
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: 600;
  line-height: 1.33;
}
#top .content04 .flexBox .textArea {
  max-width: 50%;
}
#top .content04 .flexBox .textArea > span {
  margin-bottom: 35px;
  display: block;
}
#top .content04 .flexBox .textArea p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 16px;
  letter-spacing: 0;
}
#top .content04 .flexBox .textArea p span.ltr_space_007 {
  letter-spacing: 0.07em;
}
#top .content04 .flexBox .textArea .more {
  margin-bottom: 0;
}
#top .content04 .flexBox .textArea a span {
  display: inline-block;
  position: relative;
  font-size: 0;
  width: 100%;
}
#top .content04 .flexBox .textArea a span:after {
  content: "";
  display: inline-block;
  background-image: url(/img/lp/arrow02.png);
  background-repeat: no-repeat;
  background-position: center right;
  max-width: 420px;
  width: 88%;
  height: 10px;
  margin-left: 11px;
}

.youtube_area .wrap {
  margin-bottom: 120px;
}
.youtube_area .wrap .title h2 {
  margin-bottom: 32px;
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.33;
}
.youtube_area .wrap .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube_area .wrap .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* ---------------------------------------------

	TOP TB

---------------------------------------------- */
@media screen and (max-width: 800px) {
  #top .header {
    background: none;
  }
  #top .header .logo {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  #top .content01 .text .textProduct {
    width: 280px;
  }
}
/* ---------------------------------------------

	TOP SP

---------------------------------------------- */
@media screen and (max-width: 767px) {
  #top .content01 {
    margin-bottom: 45px;
  }
  #top .content01 .image {
    padding-bottom: 146.2666666667%;
  }
  #top .content01 .image .imageLogo {
    top: 50%;
  }
  #top .content01 .image .imageLogo img {
    max-height: none;
    height: auto;
  }
  #top .content01 .text {
    padding-top: 20.3125vw;
  }
  #top .content01 .text .textProduct {
    width: 55%;
    right: 0;
    top: -54.4vw;
  }
  #top .content01 .text .textDesc .textDescTitle {
    margin-bottom: 29px;
    text-align: center;
    font-size: 2.1rem;
    line-height: 1.5;
  }
  #top .content01 .text .textDesc p {
    text-align: justify;
    font-size: 1.4rem;
  }
  #top .content02 {
    padding-bottom: 102px;
  }
  #top .content02 .title {
    margin-bottom: 26px;
    padding-bottom: 75.2%;
    background-image: url("../img/top/content02_bk_sp.jpg");
  }
  #top .content02 .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #top .content02 .imageWrap {
    width: 100%;
    position: static;
  }
  #top .content02 .textWrap {
    margin-bottom: 80px;
    position: relative;
  }
  #top .content02 .textTitle {
    left: 50px;
    top: -100px;
    width: 70px;
    margin-right: 5.3333333333vw;
  }
  #top .content02 p {
    font-size: 1.4rem;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-right: 5.3333333333vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #top .content02 .textLink {
    width: 120px;
    padding-right: 5.3333333333vw;
    margin-left: auto;
    margin-right: 0;
    margin-top: 50px;
    font-size: 1.5rem;
  }
  #top .content02 .textImage {
    width: 100px;
    bottom: -6.9333333333vw;
    left: 13.3333333333vw;
  }
  #top .content03 {
    margin-bottom: 47px;
  }
  #top .content03 .title {
    margin-bottom: 26px;
    padding-bottom: 75.2%;
    background-image: url("../img/top/content03_bk_sp.jpg");
  }
  #top .content03 .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #top .content03 .imageWrap {
    width: 100%;
    position: static;
  }
  #top .content03 .textWrap {
    margin-bottom: 56px;
    position: relative;
  }
  #top .content03 .textTitle {
    right: 11.2vw;
    top: -136px;
    width: 90px;
  }
  #top .content03 p {
    font-size: 1.4rem;
    width: auto;
    margin-left: 5.3333333333vw;
    margin-right: 0;
    padding-right: 5.3333333333vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
  }
  #top .content03 .textLink {
    width: 130px;
    padding-left: 0;
    margin-left: 5.3333333333vw;
    margin-right: auto;
    margin-top: 27px;
    font-size: 1.5rem;
  }
  #top .content03 .textImage {
    width: 230px;
    bottom: 8.5333333333vw;
    right: -9.0666666667vw;
  }
  #top .news {
    margin-bottom: 49px;
  }
  #top .news .title {
    font-size: 2.4rem;
  }
  #top .news .newsArea {
    height: auto;
  }
  #top .news ul {
    margin-right: 0;
  }
  #top .news li {
    padding: 27px 0 32px;
    display: block;
  }
  #top .news .newsDate {
    margin-top: 3px;
    float: left;
  }
  #top .news .newsCategory {
    float: left;
    width: calc(100% - 100px);
    text-align: left;
  }
  #top .news .newsDetaile {
    clear: both;
  }
  #top .news .newsDetaile .newsTitle {
    letter-spacing: 0.05em;
  }
  #top .bannerArea {
    margin-bottom: 47px;
  }
  #top .bannerArea .inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #top .bannerArea .inner .banner {
    width: 100%;
    text-align: center;
  }
  #top .bannerArea .inner .banner:first-of-type {
    margin-bottom: 30px;
  }
  #top .bannerArea .inner02 .title {
    font-size: 20px;
  }
  #top .bannerArea .inner02 .bannerWrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #top .bannerArea .inner02 .title.pc {
    display: none;
  }
  #top .bannerArea .inner02 .title.sp {
    display: block;
  }
  #top .bannerArea .inner02 .banner {
    width: 100%;
    text-align: center;
  }
  #top .bannerArea .inner02 .banner:first-of-type {
    margin-bottom: 30px;
  }
  #top .bannerArea .inner02 .banner img {
    height: auto;
  }
  #top .factory {
    margin-bottom: 47px;
  }
  #top .company {
    margin-bottom: 47px;
  }
  #top .company .companyTitle {
    font-size: 2.4rem;
  }
  #top .company ul {
    display: block;
  }
  #top .company li {
    width: 100%;
    margin: auto;
    padding-bottom: 22.3880597015%;
    margin-bottom: 10px;
  }
  #top .company .companyAnnai {
    background-image: url("../img/top/company_about_sp.jpg");
  }
  #top .company .companyRecruit {
    background-image: url("../img/top/company_reclute_sp.jpg");
  }
  #top .company .companyPrivacy {
    background-image: url("../img/top/company_privacy_sp.jpg");
  }
  #top .company span {
    font-size: 1.5rem;
  }
  #top .content04 .inner {
    width: 80%;
  }
  #top .content04 .flexBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 46px;
  }
  #top .content04 .flexBox .img {
    max-width: 100%;
  }
  #top .content04 .flexBox .usuallyTitle {
    width: 100%;
    font-size: 2.1rem;
  }
  #top .content04 .flexBox .textArea {
    max-width: 100%;
    padding-top: 38px;
  }
  #top .content04 .flexBox .textArea p {
    max-width: 100%;
    padding-top: 38px;
  }
  #top .content04 .flexBox .textArea a span:after {
    width: 83%;
    margin-left: 12px;
  }
  #top .youtube_area .wrap {
    margin-bottom: 60px;
  }
  #top .youtube_area .wrap .title h2 {
    margin-bottom: 32px;
    font-size: 21px;
    font-size: 2.1rem;
  }
}/*# sourceMappingURL=top.css.map */