body {
  font-family: 'Noto Sans JP', 'Noto Sans SC', sans-serif;
  line-height: 1; }

h1 {
  font-size: 42px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 1.5px;
  text-align: center;
  line-height: 1.6; }
  @media screen and (max-width: 767px) {
    h1 {
      font-size: 28px; } }

h2 {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  color: #0A318F;
  line-height: 1.5; }
  h2 span {
    display: block;
    font-size: 24px;
    margin-bottom: 15px; }
    h2 span::before {
      content: '';
      display: inline-block;
      width: 50px;
      height: 1px;
      background: #0A318F;
      margin-right: 15px;
      vertical-align: middle; }
    h2 span::after {
      content: '';
      display: inline-block;
      width: 50px;
      height: 1px;
      background: #0A318F;
      margin-left: 15px;
      vertical-align: middle; }
  h2 br {
    display: none; }
  @media screen and (max-width: 767px) {
    h2 {
      font-size: 22px; }
      h2 span {
        font-size: 15px; }
      h2 br {
        display: block; } }

h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 25px;
  color: #0A318F;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    h3 {
      font-size: 18px;
      margin-bottom: 15px; } }

p {
  letter-spacing: 1px; }

sup {
  top: -0.3em; }

.story {
  padding-top: 122px; }
  @media screen and (max-width: 767px) {
    .story {
      padding-top: 90px; } }
  .story-kv {
    position: relative;
    width: 100%;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(/cn/special/mrhistory/img/mrhistory_mv.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .story-kv {
        height: 216px; } }
  .story-entire {
    background: url(/cn/special/mrhistory/img/square_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: 0;
    overflow: hidden;
    min-width: 768px; }
    @media screen and (max-width: 767px) {
      .story-entire {
        background: url(/cn/special/mrhistory/img/square_bg_sp.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position-x: center;
        background-position-y: -182px;
        min-width: 320px; } }
  .story-no1, .story-no2, .story-no3 {
    padding: 80px 20px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .story-no1, .story-no2, .story-no3 {
        padding: 35px 20px 50px; } }
  .story-no2 {
    background: rgba(10, 49, 143, 0.03); }
  .story-area {
    max-width: 1000px;
    margin: 0 auto; }
  .story-top {
    display: flex;
    flex-wrap: wrap;
    margin-top: 80px; }
    @media screen and (max-width: 767px) {
      .story-top {
        margin-top: 35px; } }
  .story-conts {
    width: calc(50% - 30px); }
    .story-conts:first-of-type {
      margin-right: 60px; }
    .story-conts:nth-of-type(2) {
      margin-top: 150px; }
    .story-conts:nth-of-type(3) {
      margin-top: -300px; }
    .story-conts.conts-en {
      margin-top: -455px; }
    .story-conts img {
      width: 100%; }
    @media screen and (max-width: 767px) {
      .story-conts {
        width: 100%; }
        .story-conts:first-of-type {
          margin: 0; }
        .story-conts:nth-of-type(2) {
          margin: 0; }
        .story-conts:nth-of-type(3) {
          margin: 0; }
        .story-conts:not(:first-of-type) {
          margin-top: 50px; } }
  .story-txt {
    font-size: 14px;
    margin-bottom: 60px;
    line-height: 25px; }
    @media screen and (max-width: 767px) {
      .story-txt {
        margin-bottom: 30px; }
        .story-txt.mb20 {
          margin-bottom: 20px; } }
  .story-bottom {
    margin-top: 80px; }
    .story-bottom h3 {
      text-align: center; }
    @media screen and (max-width: 767px) {
      .story-bottom {
        margin-top: 50px; }
        .story-bottom h3 {
          text-align: left; } }
  .story-person {
    display: flex; }
    @media screen and (max-width: 767px) {
      .story-person {
        flex-direction: column-reverse; }
        .story-person .story-person-name {
          margin-left: 40px;
          line-height: 25px; } }
  .story-pic img {
    width: 180px;
    height: auto; }
  @media screen and (max-width: 767px) {
    .story-pic {
      display: flex;
      align-items: center; }
      .story-pic img {
        width: 120px;
        height: auto; } }
  .story-person-area {
    font-size: 14px;
    font-weight: 700;
    margin-left: 30px;
    color: #0A318F; }
    .story-person-area .story-txt {
      font-weight: 400;
      color: #000000;
      margin-bottom: 20px; }
    .story-person-area .person-icon {
      display: inline-block;
      font-size: 60px;
      font-weight: 700;
      line-height: 1; }
    .story-person-area .story-person-txt {
      margin: -15px 0 20px;
      line-height: 25px; }
    .story-person-area .story-person-name {
      text-align: right;
      font-weight: 400;
      color: #000000;
      line-height: 25px; }
    @media screen and (max-width: 767px) {
      .story-person-area {
        margin-left: 0; }
        .story-person-area .story-person-txt {
          margin: -15px 0 30px; } }
  .story-imgTxt {
    font-size: 14px;
    text-align: right;
    color: #707070;
    margin-top: 10px;
    line-height: 18px; }
    @media screen and (max-width: 767px) {
      .story-imgTxt {
        line-height: 25px; } }
  .story-semiVisual {
    position: relative;
    width: 100%;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(/cn/special/mrhistory/img/mrhistory_11.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: 40px;
    z-index: -1; }
    .story-semiVisual::before {
      position: absolute;
      content: '';
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: #fff;
      opacity: .1; }
    @media screen and (max-width: 767px) {
      .story-semiVisual {
        max-width: 767px;
        min-width: 320px;
        height: 216px;
        background: url(/cn/special/mrhistory/img/mrhistory_11_sp.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover; } }
  .story-semiVisual-txt {
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    color: #0A318F;
    z-index: 1;
    text-align: center;
    margin: 0 20px;
    max-width: 1000px; }
    @media screen and (max-width: 767px) {
      .story-semiVisual-txt {
        font-size: 14px;
        line-height: 21px;
        margin: 0 15px; } }

.is-pc {
  display: block; }
  @media screen and (max-width: 767px) {
    .is-pc {
      display: none; } }

.is-sp {
  display: none; }
  @media screen and (max-width: 767px) {
    .is-sp {
      display: block; } }
