@media screen and (min-width: 769px) {
  main .page_headline {
    background: linear-gradient(180deg, rgba(0, 140, 214, 0.9), rgba(29, 76, 145, 0.9)), url(../img/company/mv.jpg) center center/cover no-repeat;
  }
  main .vision {
    position: relative;
    width: 100%;
    padding: 70px 0 200px 0;
    text-align: center;
    background-color: #f5f5f5;
  }
  main .vision h3 {
    position: relative;
    margin-top: 40px;
    font-size: 3.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #3b4043;
  }
  main .vision p {
    position: relative;
    margin: 40px 0;
    font-size: 1.6rem;
    color: #777777;
    line-height: 3;
  }
  main .vision .bg_white {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 160px);
    height: 1060px;
    background-color: #ffffff;
  }
  main .vision .bg_bluegrey {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(100% - 160px);
    height: 628px;
    background-color: #dde4ef;
  }
  main .message {
    padding: 80px 200px 160px 200px;
    background-color: #f5f5f5;
  }
  main .message h3 {
    position: relative;
    margin-top: 40px;
    font-size: 3.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #3b4043;
    text-align: center;
  }
  main .message .text {
    margin-top: 40px;
    font-size: 1.6rem;
    color: #777777;
    line-height: 2;
  }
  main .message .sign {
    text-align: right;
    margin-top: 40px;
  }
  main .message .sign span {
    font-weight: bold;
    color: #3b4043;
  }
  main .message .sign span:nth-child(1) {
    font-size: 1.5rem;
  }
  main .message .sign span:nth-child(2) {
    margin-left: 20px;
    font-size: 2rem;
  }
  main .management {
    position: relative;
    padding: 120px 160px 0 160px;
    background-color: #f5f5f5;
  }
  main .management .bg_bluegrey {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(calc(calc(100vw - 1440px) / 2) + 1120px);
    height: 2210px;
    background-color: #dde4ef;
  }
  main .management .articles {
    display: flex;
    position: relative;
    justify-content: center;
    margin-top: 80px;
  }
  main .management .articles + .articles {
    margin-top: 95px;
  }
  main .management .articles article {
    position: relative;
    width: 540px;
  }
  main .management .articles article + article {
    margin-left: 40px;
  }
  main .management .articles article .image {
    position: relative;
    z-index: 1;
    width: 500px;
    height: 308px;
    border-radius: 10px;
    margin: 0 auto;
  }
  main .management .articles article .image img {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    -o-object-fit: cover;
    object-fit: cover;
  }
  main .management .articles article .content {
    position: relative;
    z-index: 0;
    width: 540px;
    height: 406px;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 120px 70px 65px 70px;
    background-color: #ffffff;
    margin-top: -70px;
  }
  main .management .articles article .content .post {
    font-size: 1.2rem;
    font-weight: 600;
    color: #222222;
  }
  main .management .articles article .content h4 {
    margin-top: 10px;
  }
  main .management .articles article .content h4 span:nth-child(1) {
    font-size: 2rem;
    font-weight: bold;
    color: #1d4c91;
  }
  main .management .articles article .content h4 span:nth-child(2) {
    font-size: 1.2rem;
    font-weight: bold;
    color: #777777;
    margin-left: 20px;
  }
  main .management .articles article .content .text {
    margin-top: 20px;
    font-size: 1.3rem;
    color: #3b4043;
    line-height: 1.75;
  }
  main .overview {
    padding: 160px 160px 120px 160px;
    background-color: #f5f5f5;
  }
  main .overview .table {
    box-sizing: border-box;
    background-color: #ffffff;
    padding: 80px 40px;
    margin-top: 80px;
    border-radius: 10px;
  }
  main .overview .table .row {
    display: flex;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid #cdd6dd;
  }
  main .overview .table .row .label {
    width: 200px;
    font-size: 1.6rem;
    color: #222222;
    line-height: 1.75;
  }
  main .overview .table .row .value {
    font-size: 1.6rem;
    color: #777777;
    line-height: 1.75;
  }
  main .access {
    padding: 120px 160px;
  }
  main .access .maps {
    display: flex;
    justify-content:center;
    margin-top: 80px;
  }
  main .access .maps .map {
    width: 485px;
  }
  main .access .maps .map + .map {
    margin-left: 20px;
  }
  main .access .maps .map .text {
    margin-top: 40px;
  }
  main .access .maps .map .text p {
    font-size: 1.8rem;
    line-height: 1.75;
  }
  main .access .maps .map .text p:nth-child(1) {
    color: #1d4c91;
  }
  main .access .maps .map .text p:nth-child(2) {
    color: #222222;
  }
}

@media screen and (max-width: 768px) {
  main .page_headline {
    background: linear-gradient(180deg, rgba(0, 140, 214, 0.9), rgba(29, 76, 145, 0.9)), url(../img/company/mv_sp.jpg) center center/cover no-repeat;
  }
  main .vision {
    position: relative;
    width: 100%;
    padding: 13.33333vw 30px 60px 30px;
    box-sizing: border-box;
    background-color: #f5f5f5;
  }
  main .vision h3 {
    position: relative;
    margin-top: 20px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #3b4043;
    text-align: center;
  }
  main .vision p {
    text-align: left;
    position: relative;
    margin-top: 10px;
    font-size: 1.5rem;
    color: #777777;
    line-height: 1.75;
  }
  main .vision .bg_white {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 10px);
    height: calc(100% - 20px);
    background-color: #ffffff;
  }
  main .vision .bg_bluegrey {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(100% - 30px);
    height: 100%;
    background-color: #dde4ef;
  }
  main .message {
    padding: 40px 30px 90px 30px;
    background-color: #f5f5f5;
  }
  main .message h3 {
    position: relative;
    margin-top: 20px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #3b4043;
    text-align: center;
  }
  main .message .text {
    margin-top: 40px;
    font-size: 1.5rem;
    color: #777777;
    line-height: 2;
  }
  main .message .sign {
    text-align: right;
    margin-top: 20px;
  }
  main .message .sign span {
    font-weight: bold;
    color: #3b4043;
  }
  main .message .sign span:nth-child(1) {
    font-size: 1.3rem;
  }
  main .message .sign span:nth-child(2) {
    margin-left: 10px;
    font-size: 1.5rem;
  }
  main .management {
    position: relative;
    padding: 40px 20px 0 20px;
    background-color: #f5f5f5;
  }
  main .management .bg_bluegrey {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 10px);
    height: 1726px;
    background-color: #dde4ef;
  }
  main .management .articles {
    position: relative;
    margin-top: 20px;
  }
  main .management .articles article {
    position: relative;
    margin: 0 auto;
  }
  main .management .articles article + article {
    margin-top: 20px;
  }
  main .management .articles article .image {
    position: relative;
    z-index: 1;
    width: calc(100% - 20px);
    height: 191px;
    border-radius: 10px;
    margin: 0 auto;
  }
  main .management .articles article .image img {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    -o-object-fit: cover;
    object-fit: cover;
  }
  main .management .articles article .content {
    position: relative;
    z-index: 0;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 70px 20px 20px 20px;
    background-color: #ffffff;
    margin-top: -50px;
  }
  main .management .articles article .content .post {
    font-size: 1.2rem;
    font-weight: 600;
    color: #222222;
  }
  main .management .articles article .content h4 {
    margin-top: 10px;
  }
  main .management .articles article .content h4 span:nth-child(1) {
    font-size: 1.6rem;
    font-weight: bold;
    color: #1d4c91;
  }
  main .management .articles article .content h4 span:nth-child(2) {
    font-size: 1.3rem;
    font-weight: bold;
    color: #777777;
    margin-left: 10px;
  }
  main .management .articles article .content .text {
    margin-top: 14px;
    font-size: 1.3rem;
    color: #3b4043;
    line-height: 1.75;
  }
  main .overview {
    padding: 80px 10px 40px 10px;
    background-color: #f5f5f5;
  }
  main .overview .table {
    box-sizing: border-box;
    background-color: #ffffff;
    padding: 20px;
    margin-top: 20px;
  }
  main .overview .table .row {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid #cdd6dd;
  }
  main .overview .table .row .label {
    width: 100px;
    max-width: 100px;
    font-size: 1.2rem;
    color: #222222;
    line-height: 1.5;
  }
  main .overview .table .row .value {
    width: calc(100% - 100px);
    color: #777777;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  main .access {
    padding: 44px 30px 80px 30px;
  }
  main .access .maps {
    margin-top: 30px;
  }
  main .access .maps .map {
    width: 100%;
  }
  main .access .maps .map + .map {
    margin-top: 40px;
  }
  main .access .maps .map iframe {
    border-radius: 10px;
    width: 100% !important;
  }
  main .access .maps .map .text {
    margin-top: 10px;
  }
  main .access .maps .map .text p {
    font-size: 1.4rem;
    line-height: 1.75;
  }
  main .access .maps .map .text p:nth-child(1) {
    color: #1d4c91;
  }
  main .access .maps .map .text p:nth-child(2) {
    color: #222222;
  }
  .mission {
    margin-bottom: 30px
  }
}
