/* ==========================================================================
   parts
   ========================================================================== */
/* ==========================================================================
   modules
   ========================================================================== */
.m-person {
  background: url("/strategy/message/img/img-person.png"), -webkit-gradient(linear, left top, right top, from(#f5f6f9), to(#e1e2ea));
  background: url("/strategy/message/img/img-person.png"), linear-gradient(to right, #f5f6f9, #e1e2ea);
  background-position: bottom 0px right 9.49%, 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: auto, 100%;
}

@media print, screen and (min-width: 769px) {
  .m-person {
    min-height: 410px;
  }
}

@media only screen and (max-width: 768px) {
  .m-person {
    background-image: url("/strategy/message/img/img-person_sp.jpg");
    background-position: top center;
    background-size: cover;
  }
}

@media print, screen and (min-width: 769px) {
  .m-person .m-person-speech {
    padding-top: 30px;
  }
}

.m-person .m-person-name {
  font-weight: normal;
}

@media only screen and (max-width: 768px) {
  .m-person .m-person-name {
    padding-top: 60px;
  }
  .m-person .m-person-name img {
    width: 100px;
  }
}

@media print, screen and (min-width: 769px) {
  .m-person .m-person-name {
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .m-person .m-person-name {
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 769px) {
  .m-msgParaWrap {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .m-msgParaWrap {
    margin-bottom: 60px;
  }
}

.m-msgParaWrap > .p-txt + .p-txt {
  margin-top: 1.75em;
}

@media only screen and (max-width: 768px) {
  .m-msgParaWrap > .p-txt + .p-txt {
    margin-top: 1.5em;
  }
}

.m-ttlInElm.-block {
  display: block;
}

.m-auther .m-auther-term,
.m-auther .m-auther-description {
  text-align: right;
}

.m-auther .m-auther-term {
  font-size: 1.6rem;
  line-height: 1.75;
}

@media print, screen and (min-width: 769px) {
  .m-auther .m-auther-term {
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .m-auther .m-auther-term {
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 768px) {
  .m-auther .m-auther-term {
    line-height: 1.5;
  }
}

.m-promise {
  margin-bottom: 10px;
}

@media print, screen and (min-width: 769px) {
  .m-promise {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.m-promise .m-promise-ttl {
  font-weight: bold;
  width: 350px;
}

@media print, screen and (min-width: 769px) {
  .m-promise .m-promise-ttl {
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .m-promise .m-promise-ttl {
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 769px) {
  .m-promise .m-promise-txt {
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .m-promise .m-promise-txt {
    font-size: 1.4rem;
  }
}

/* ==========================================================================
   components
   ========================================================================== */
.c-main-ttl {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 769px) {
  .c-main-ttl {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-main-ttl {
    width: 92%;
  }
}

@media print, screen and (min-width: 769px) {
  .c-main-ttl {
    margin: 0 auto 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-main-ttl {
    margin: 0 auto 60px;
  }
}

.c-main-mv {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 769px) {
  .c-main-mv {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-main-mv {
    width: 92%;
  }
}

@media print, screen and (min-width: 769px) {
  .c-main-mv {
    margin: 0 auto 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-main-mv {
    margin: 0 auto 60px;
  }
}

.c-messageContainer {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-messageContainer {
    width: 100%;
  }
}

@media print, screen and (min-width: 769px) {
  .c-messageContainer {
    margin: 0 auto 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-messageContainer {
    width: 92%;
    margin: 0 auto 40px;
  }
}

.c-messageContainer .c-messageContainer-promise {
  padding: 50px 0;
}
