body {
  min-height: 100vh;
  background-attachment: fixed;
  background-size: cover;
  background-image: url("../images/pc-top_bg.jpg");
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  body::before {
    background: url("../images/pc-top_bg.jpg") no-repeat center;
    background-size: cover;
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
  }
  .case .w1200 {
    padding: 0 3vw;
  }
}

/*---------------------.first-view*/
.case .first-view {
  background-image: url("../images/case/pc-top_fv.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  height: 545px;
  position: relative;
}

.case .first-view h1 {
  font-size: 48px;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-weight: normal;
  width: 100%;
}

.case .first-view h1 span {
  font-size: 37px;
  display: inline;
}

.case .first-view h1 .sp {
  display: none;
}

.case .first-view h1 .pc {
  font-weight: bold;
}

.case .first-view h1 .img {
  display: block;
}

.case .first-view h1 .creative {
  font-weight: bold;
  display: inline;
}

.case .first-view h1 .title {
  display: block;
  color: #040000;
}

.case .first-view h1 .gray {
  color: #4c4b4c;
}

@media screen and (max-width: 768px) {
  .case .first-view {
    margin-top: 56px;
    background-image: url("../images/case/sp-top_fv.jpg");
    height: 335px;
  }
  .case .first-view h1 {
    font-size: 26px;
  }
  .case .first-view h1 img {
    width: 60px;
    height: 60px;
  }
  .case .first-view h1 .sp {
    display: inline;
    font-size: 18px;
    font-weight: bold;
  }
  .case .first-view h1 .pc {
    display: none;
  }
  .case .first-view h1 .title {
    font-size: 27px;
  }
}

/*---------------------.story*/
.case .story {
  margin: 112px 0;
  background-image: url("../images/case/pc-case_bg01.png");
  background-repeat: no-repeat;
  background-position: top 0 right 0;
}

.case .story .line-ttl {
  margin-top: 34px;
  margin-bottom: 44px;
}

.case .story .m-text {
  margin-bottom: 44px;
}

@media screen and (max-width: 768px) {
  .case .story {
    background-image: initial;
    margin: 35px auto 35px;
  }
  .case .story .m-text {
    margin-bottom: 0;
  }
  .case .story .line-ttl {
    margin-top: 20x;
    margin-bottom: 8px;
    padding-left: 24px;
  }
  .case .story .line-ttl:before {
    left: 0;
  }
  .case .future .line-ttl, .case .initiatives .line-ttl {
    padding-left: 24px;
  }
  .case .future .line-ttl:before, .case .initiatives .line-ttl:before {
    left: 0;
  }
}

/*---------------------.situation*/
.case .situation {
  background-image: url("../images/case/pc-case_bg02.jpg");
  background-repeat: no-repeat;
  background-position: center;
  padding: 88px 0 84px;
}

.case .situation h2 {
  padding-top: 76px;
  font-size: 46px;
  position: relative;
}

.case .situation h2:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 120px;
  height: 3px;
  background-color: #d34e15;
  content: "";
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.case .situation h2 span {
  font-size: 30px;
  display: block;
}

.case .situation .w1200 {
  background-color: #fff;
}

.case .situation .m-text {
  margin: 56px 0;
}

.case .situation .text {
  padding: 0 70px 108px;
}

@media screen and (max-width: 768px) {
  .case .situation {
    padding: 100px 10px 20px;
    background-color: #aeaeae;
    background-image: initial;
  }
  .case .situation h2 {
    padding-top: 25px;
    font-size: 27px;
  }
  .case .situation h2 span {
    font-size: 20px;
  }
  .case .situation .m-text {
    margin: 24px 0 24px;
  }
  .case .situation .text {
    padding: 0 0 30px;
  }
}

/*---------------------.warry*/
.case .warry {
  margin: 140px 0 116px;
}

.case .warry .line-ttl {
  margin: 46px 0 14px;
}

.case .warry ul {
  margin-top: 70px;
}

.case .warry li {
  background-color: #fff;
  margin-bottom: 16px;
  padding: 32px 32px 50px;
}

.case .warry li .text {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .case .warry {
    margin: 35px 0;
  }
  .case .warry .w1200 {
    padding: 0 10px;
  }
  .case .warry .line-ttl {
    margin-top: 20px;
    margin-bottom: 8px;
    padding-left: 24px;
  }
  .case .warry .line-ttl:before {
    left: 0;
  }
  .case .warry ul {
    margin: 30px 0 0;
  }
  .case .warry li {
    padding: 20px 5.2vw 24px;
  }
}

/*---------------------.strength*/
.case .strength {
  background-image: url("../images/case/pc-case_bg03.jpg");
  background-repeat: no-repeat;
  background-position: top 0 center;
  background-size: cover;
}

.case .strength h2 {
  padding: 118px 0 36px;
}

.case .strength .point {
  text-align: center;
}

.case .strength .point span {
  background-image: url("../images/case/pc-square_bg.png");
  font-size: 26px;
  font-weight: bold;
  padding: 10px 45px;
  background-repeat: no-repeat;
  background-position: center;
}

.case .strength .m-text {
  padding-top: 20px;
  padding-bottom: 90px;
  text-align: center;
}

.case .strength ul {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 94px;
}

.case .strength li {
  background-color: #fff;
  width: 24%;
  margin-bottom: 12px;
  position: relative;
  font-weight: bold;
  font-size: 20px;
  height: 138px;
}

.case .strength li:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 108px;
  height: 80px;
  content: "";
  z-index: 10;
  background-repeat: no-repeat;
}

.case .strength li p {
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 20%;
  top: 50%;
}

.case .strength li:nth-of-type(1):before {
  background-image: url("../images/case/pc_no01.png");
}

.case .strength li:nth-of-type(2):before {
  background-image: url("../images/case/pc_no02.png");
}

.case .strength li:nth-of-type(3):before {
  background-image: url("../images/case/pc_no03.png");
}

.case .strength li:nth-of-type(4):before {
  background-image: url("../images/case/pc_no04.png");
}

.case .strength li:nth-of-type(5):before {
  background-image: url("../images/case/pc_no05.png");
}

.case .strength li:nth-of-type(6):before {
  background-image: url("../images/case/pc_no06.png");
}

.case .strength li:nth-of-type(7):before {
  background-image: url("../images/case/pc_no07.png");
}

.case .strength li:nth-of-type(8):before {
  background-image: url("../images/case/pc_no08.png");
}

.case .strength li:nth-of-type(9):before {
  background-image: url("../images/case/pc_no09.png");
}

.case .strength li:nth-of-type(10):before {
  background-image: url("../images/case/pc_no10.png");
}

.case .strength li:nth-of-type(11):before {
  background-image: url("../images/case/pc_no11.png");
}

.case .strength li:nth-of-type(12):before {
  background-image: url("../images/case/pc_no012.png");
}

.case .strength li:nth-of-type(13):before {
  background-image: url("../images/case/pc_no13.png");
}

.case .strength li:nth-of-type(14):before {
  background-image: url("../images/case/pc_no14.png");
}

.case .strength li:nth-of-type(15):before {
  background-image: url("../images/case/pc_no15.png");
}

.case .strength li:nth-of-type(16):before {
  background-image: url("../images/case/pc_no16.png");
}

@media screen and (max-width: 768px) {
  .case .strength {
    background-size: contain;
    background-color: #e5d6c9;
  }
  .case .strength h2 {
    padding-top: 20px;
    padding-bottom: 10px;
  }
  .case .strength .point span {
    font-size: 17px;
    padding: 10px 20px;
    background-size: contain;
  }
  .case .strength .m-text {
    padding: 4px 0 30px;
  }
  .case .strength ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding-bottom: 30px;
  }
  .case .strength li {
    width: 49%;
    height: 68px;
    font-size: 14px;
  }
  .case .strength li:before {
    position: absolute;
    top: 50%;
    left: 4px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    color: #d34e15;
    font-size: 17px;
    font-weight: 500;
    height: auto;
    width: auto;
    letter-spacing: -0.05em;
    font-size: 14px;
  }
  .case .strength li:nth-of-type(1):before {
    content: '01';
    background-image: none;
  }
  .case .strength li:nth-of-type(2):before {
    content: '02';
    background-image: none;
  }
  .case .strength li:nth-of-type(3):before {
    content: '03';
    background-image: none;
  }
  .case .strength li:nth-of-type(4):before {
    content: '04';
    background-image: none;
  }
  .case .strength li:nth-of-type(5):before {
    content: '05';
    background-image: none;
  }
  .case .strength li:nth-of-type(6):before {
    content: '06';
    background-image: none;
  }
  .case .strength li:nth-of-type(7):before {
    content: '07';
    background-image: none;
  }
  .case .strength li:nth-of-type(8):before {
    content: '08';
    background-image: none;
  }
  .case .strength li:nth-of-type(9):before {
    content: '09';
    background-image: none;
  }
  .case .strength li:nth-of-type(10):before {
    content: '10';
    background-image: none;
  }
  .case .strength li:nth-of-type(11):before {
    content: '11';
    background-image: none;
  }
  .case .strength li:nth-of-type(12):before {
    content: '12';
    background-image: none;
  }
  .case .strength li:nth-of-type(13):before {
    content: '13';
    background-image: none;
  }
  .case .strength li:nth-of-type(14):before {
    content: '14';
    background-image: none;
  }
  .case .strength li:nth-of-type(15):before {
    content: '15';
    background-image: none;
  }
  .case .strength li:nth-of-type(16):before {
    content: '16';
    background-image: none;
  }
}

@media screen and (max-width: 414px) {
  .case .strength li {
    font-size: 12px;
  }
  .case .strength li p {
    white-space: nowrap;
    overflow-x: hidden;
  }
}

@media screen and (max-width: 374px) {
  .case .strength li:before {
    font-size: 12px;
  }
  .case .strength li {
    font-size: 10px;
  }
}

/*---------------------.initiatives*/
.case .initiatives {
  margin-top: 120px;
  padding-top: 40px;
  padding-bottom: 90px;
  background-image: url("../images/case/pc-case_bg04.jpg");
  background-repeat: no-repeat;
  background-position: top 0 right 0;
  background-size: 50%;
}

.case .initiatives h2 {
  padding-bottom: 18px;
}

.case .initiatives .m-text {
  padding-bottom: 50px;
}

.case .initiatives .text {
  width: 78.5%;
  max-width: 942px;
}

@media screen and (max-width: 768px) {
  .case .initiatives {
    width: auto;
    background-color: #fff;
    background-image: none;
    margin-top: 0;
    padding-top: 48px;
    padding-bottom: 35px;
  }
  .case .initiatives h2 {
    padding-bottom: 0;
  }
  .case .initiatives .line-ttl {
    margin-top: 20px;
    margin-bottom: 8px;
  }
  .case .initiatives .m-text {
    padding-bottom: 24px;
  }
  .case .initiatives .text {
    width: auto;
  }
}

/*---------------------.future*/
.case .future {
  display: block;
  background-image: url("../images/case/pc-case_bg05.jpg");
  background-repeat: no-repeat;
  background-position: top 0 left 0;
  background-size: 50%;
  margin-top: 120px;
}

.case .future h2 {
  padding-bottom: 18px;
}

.case .future .m-text {
  padding-bottom: 50px;
}

.case .future .future-wrap {
  padding: 128px 0 188px;
  width: 79.33333%;
  max-width: 952px;
  margin: 0 0 0 auto;
}

@media screen and (max-width: 768px) {
  .case .future {
    background-image: none;
    background-color: #fff;
    padding-bottom: 44px;
  }
  .case .future .future-wrap {
    padding: 0;
    width: auto;
  }
  .case .future .line-ttl {
    margin-top: 20px;
    margin-bottom: 8px;
    padding-bottom: 0;
  }
  .case .future .m-text {
    padding-bottom: 24px;
  }
}

/*---------------------.link*/
.case .link {
  background-image: url("../images/case/pc-case_bg06.jpg");
  background-position: center;
  background-repeat: no-repeat;
  max-width: 1500px;
  width: 78.125%;
  margin: 90px auto 170px;
  background-size: cover;
}

.case .link a {
  padding: 118px 0 108px;
  text-align: center;
  color: white;
}

.case .link .m-text {
  display: block;
  padding-bottom: 30px;
}

.case .link .text {
  padding: 10px 30px 010px 4px;
  border-bottom: 3px solid white;
  position: relative;
}

.case .link .text:after {
  position: absolute;
  top: 50%;
  right: 4px;
  width: 14px;
  height: 14px;
  background-image: url("../images/case/pc-white_arrow.png");
  background-repeat: no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}

@media screen and (max-width: 768px) {
  .case .link {
    width: 100%;
    height: 150px;
    margin-top: 0;
  }
  .case .link a {
    padding: 44px 0 44px;
  }
  .case .link .m-text {
    padding-bottom: 0;
  }
}
/*# sourceMappingURL=case.css.map */