.page-vision {
  margin-bottom: 80px; }
  .page-vision .vision-bg {
    background: url(../../images/top/sec01_bg.jpg);
    background-size: cover;
    background-position: center bottom; }
  .page-vision .c-page-kv {
    background-image: url(../../images/product/kv_bg.jpg);
    background-repeat: no-repeat; }
.page-vision .c-page-kv　h2,
.page-vision .c-page-kv　span {
  text-shadow: 3px 3px 6px rgba(0,0,0,0.3);}
  .page-vision .sec01 {
    width: 100%;
    padding: 0px 0; }
    .page-vision .sec01__content {
      width: 964px;
      height: 513px;
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
              justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
              align-items: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
              flex-direction: column;
      -webkit-flex-wrap: wrap;
              flex-wrap: wrap;
      background-size: 100%;
      position: relative;
      background: url(../../images/product/kv_out.svg);
      background-position: top;
      background-repeat: no-repeat; }
      .page-vision .sec01__content .other-on {
        display: none;
        position: absolute; }
    .page-vision .sec01 h3 {
      text-align: center;
      font-size: 28px;
      font-weight: bold;
      margin-bottom: 50px; }
    .page-vision .sec01 .c-sec-text {
      margin: 0 auto;
      max-width: 720px; }
  .page-vision .sec02 {
    background: none;
    padding-bottom: 0px; }
    .page-vision .sec02__content {
      width: 964px;
      margin: 20px auto 0; }
      .page-vision .sec02__content p {
        margin-bottom: 10px; }
      .page-vision .sec02__content .c-sec-text {
        margin: 0 auto;
        max-width: 720px; }
    .page-vision .sec02 h3 {
      text-align: center;
      font-size: 28px;
      font-weight: bold;
      margin-bottom: 50px; }
    .page-vision .sec02 .prof-box {
      text-align: center;
      padding-top: 0px; }
      .page-vision .sec02 .prof-box__text {
        font-size: 18px; }
      .page-vision .sec02 .prof-box__text2 img {
        margin-top: 10px;
        width: 128px;
        height: 40px; }
      .page-vision .sec02 .prof-box__img {
        margin-top: 30px;
        width: 720px;
        margin: 0px auto 0; }
      .page-vision .sec02 .prof-box__img img {
        display: block;
        vertical-align: bottom;
        width: 100%; }
  .page-vision #ceo {
    position: relative;
    top: -75px;
    display: block; }

@media screen and (max-width: 1023px) {
  .page-vision .sec01 {
    padding: 0px 0; }
    .page-vision .sec01__content {
      width: 88%;
      line-height: 1.8;
      padding: 30px 0; }
      .page-vision .sec01__content h3 {
        font-size: 18px;
        margin-bottom: 30px; }
  .page-vision .sec02 {
    margin-bottom: 40px; }
    .page-vision .sec02__content {
      width: 88%; }
      .page-vision .sec02__content h3 {
        font-size: 18px;
        margin-bottom: 30px; }
    .page-vision .sec02 .prof-box {
      padding-top: 0px; }
      .page-vision .sec02 .prof-box__text2 img {
        width: 108px;
        height: 32px; }
      .page-vision .sec02 .prof-box__img {
        width: 90%;
        min-width: 240px;
        margin: 0px auto 0; }
        .page-vision .sec02 .prof-box__img img {
          width: 100%; }
  .page-vision .inner .c-bot-menu {
    margin-top: 0px; } }

@media screen and (min-width: 600px) and (max-width: 1023px) {
  .sec01__content {
    background: none !important; }
    .sec01__content .other-on {
      display: block !important; }
    .sec01__content .out-01 {
      top: 0;
      bottom: 0;
      left: 0;
      width: 5%; }
    .sec01__content .out-02 {
      top: 0;
      bottom: 0;
      right: 0;
      width: 4%; }
    .sec01__content .out-03 {
      bottom: 0;
      left: 0;
      width: 4%; }
    .sec01__content .out-04 {
      bottom: 0;
      right: 0;
      width: 5%; } }

@media screen and (max-width: 599px) {
  .sec01__content {
    background: none !important; }
    .sec01__content:before {
      display: block;
      content: "";
      width: 100%;
      height: 64px;
      background: url(../../images/common/brackets_l_sp.svg);
      background-position: top;
      background-size: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .sec01__content:after {
      display: block;
      content: "";
      width: 100%;
      height: 64px;
      background: url(../../images/common/brackets_l_sp.svg);
      background-position: bottom;
      background-size: 100%;
      position: absolute;
      bottom: 0;
      left: 0; } }
