@charset "utf-8";

/*______________________________________スマホ用CSS_______________________________________________*/
@media print, screen and (max-width: 750px) {
  /*ウィンドウ幅が最大750pxまでの場合に適用*/
  .pc_content {
    display: none !important;
  }
  .sp_content {
    display: block !important;
  }

  /*ハンバーガーメニュー*/
  nav.NavMenu {
    position: fixed; /*表示位置を固定*/
    z-index: 9998; /*重ね順を変更*/
    top: 0; /*表示位置を指定*/
    right: 0; /*表示位置を指定*/
    background: #2f4784; /*背景を白にする*/
    color: #fff; /*文字色を黒にする*/
    text-align: center; /*テキストを中央揃え*/
    width: 100%; /*全幅表示*/
    height: 100vh;
    transform: translateX(100%); /*ナビを上に隠す*/
    transition: all 0.6s; /*アニメーションの時間を指定*/
  }
  nav.NavMenu ul {
    width: 100%;
    margin: 0 auto;
    padding: 100px 0 0;
  }

  nav.NavMenu ul li {
    font-size: 1em;
    list-style-type: none;
    padding: 0;
    width: 100%;
    font-size: 24px;
  }

  nav.NavMenu ul li:last-child {
    padding-bottom: 0;
    border-bottom: none; /*最後のメニュー項目のみ下線を消す*/
  }

  nav.NavMenu ul li a {
    display: block; /*クリックできる領域を広げる*/
    color: #fff;
    padding: 0.5em 0;
    text-decoration: none;
  }

  nav.NavMenu.active {
    transform: translateX(0); /*ナビを表示する*/
  }

  .Toggle {
    display: block !important;
    position: fixed; /* bodyに対しての絶対位置指定 */
    right: 7%;
    top: 25px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 9999;
  }

  .Toggle span {
    display: block;
    position: absolute;
    width: 60px;
    border-bottom: solid 3px #2f4784;
    -webkit-transition: 0.35s ease-in-out; /*変化の速度を指定*/
    -moz-transition: 0.35s ease-in-out; /*変化の速度を指定*/
    transition: 0.35s ease-in-out; /*変化の速度を指定*/
    left: 6px;
  }

  .Toggle span:nth-child(1) {
    top: 9px;
  }

  .Toggle span:nth-child(2) {
    top: 22px;
  }

  .Toggle span:nth-child(3) {
    top: 35px;
  }

  /* 最初のspanをマイナス45度に */
  .Toggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-color: #fff;
  }

  /* 2番目透過 */
  .Toggle.active span:nth-child(2) {
    opacity: 0;
    border-color: #0c743f;
  }
  /* 3番目のspanを45度に */
  .Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    border-color: #fff;
  }

  body {
    background-color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 2em;
    color: #2f4784;
  }
  body.margin_top {
    margin-top: 16.667vw;
  }

  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  a img {
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
  }
  a img:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
  }
  .bold {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
  }

  /*header*/

  header {
    position: relative;
    padding: 0;
    width: 100%;
    height: 16.667vw;
    line-height: 16.667vw;
    background-color: #fff;
    z-index: 3;
  }
  #logo {
    float: left;
    width: 14vw;
    margin: 2.667vw 0 0 6vw;
  }
  header.scroll {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    height: 16.667vw;
    line-height: 11.667vw;
  }
  header.scroll #logo {
    float: left;
    width: 10vw;
    margin: 2.667vw 0 0 6vw;
  }

  .pc_NavMenu {
    display: none;
  }

  #main_wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 150vh;
    background-color: #2f4784;
    overflow: hidden;
  }
  #main_wrapper .fv_haikei_line {
    position: absolute;
    bottom: 10%;
    right: 5%;
    width: 126.167vw;
  }
  #main_wrapper .orange_line {
    position: absolute;
    top: 0;
    left: -100vw;
    height: 5.833vw;
    width: 158.333vw;
    background-color: #ea4403;
  }
  #main_wrapper .fv_copy_wrap {
    position: relative;
    width: 100%;
    max-width: 216.667vw;
    margin: 0 auto;
  }
  #main_wrapper .fv_copy {
    position: absolute;
    top: -6.167vw;
    left: 8.333vw;
    width: 85.5vw;
  }

  /*Slider*/
  .slide-items {
    position: relative;
    width: 100%;
    height: 55vh;
  }
  .slide-items img {
    width: 100%;
    height: 55vh;
    object-fit: cover;
  }

  /*Toppage News*/
  .top_news_wrap {
    position: relative;
    width: 90%;
    margin: 43% auto 0;
    max-width: none;
  }
  .top_news {
    width: 100%;
    border-top: 1px solid #ddd;
    /*border-bottom: 1px solid #ddd;*/
    padding: 20px 0 17px;
  }
  .top_news_midashi {
    color: #fff;
    font-size: 5vw;
    margin-bottom: 10px;
  }
  .top_news th {
    display: block;
    color: #fff;
    width: 120px;
    padding: 0 20px 0 0;
    white-space: nowrap;
    vertical-align: top;
    text-align: left;
    font-size: 4vw;
  }
  .top_news td {
    display: block;
    font-size: 3.5vw;
    margin-bottom: 1%;
  }
  .top_news td a {
    color: #fff;
    width: 100%;
    text-decoration: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
  .news_index_btn_wrap {
    width: 100%;
    text-align: right;
  }
  a.news_index_btn {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    border: 1px solid #fff;
    font-size: 3.5vw;
    height: 34px;
    line-height: 30px;
    padding: 0 10px;
  }
  a.news_index_btn:hover {
    background-color: #fff;
    color: #2f4784;
  }

  /*Strength*/
  #strength {
    position: relative;
    width: 90%;
    padding-top: 28.333vw;
    margin: -0.333vw 5% 0;
  }
  #inner_strength {
    position: absolute;
    bottom: -50vw;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 10% 8%;
    max-width: 200vw;
    height: auto;
    width: 100%;
    background-color: #f7fbff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.3);
  }
  #inner_strength h2 {
    width: 49.333vw;
    margin: 0 auto;
    text-align: center;
  }
  #inner_strength h2 img {
    width: 100%;
  }
  #inner_strength h2 span {
    display: block;
    position: relative;
    top: -0.5vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #inner_strength .txt01 {
    font-family: "Noto Serif JP", serif;
    font-size: 6vw;
    line-height: 1.3em;
    width: 100%;
    text-align: center;
    margin: 6% 0 0 0;
  }
  #inner_strength .txt02 {
    font-weight: 400;
    margin: 3.1% 0 0 0;
    line-height: 1.5em;
    font-size: 4vw;
  }
  /*Service*/
  #service {
    height: 375.833vw;
    background-image: url(../img/service_bg.png);
    background-size: 200%;
    background-position: center 490px;
    overflow: hidden;
  }
  #service_link {
    position: absolute;
    top: 66.667vw;
    left: 0;
    display: block;
  }
  #service_inner {
    position: relative;
    width: 90%;
    max-width: auto;
    height: 100%;
    margin: 0 5%;
  }
  #service_inner .service_diagram {
    position: absolute;
    top: 15.7%;
    right: 5%;
    width: 78%;
  }
  #service_inner .service_photo01 {
    position: absolute;
    top: auto;
    bottom: 14%;
    right: 0;
    width: 50vw;
  }
  #service_inner .service_photo02 {
    position: absolute;
    top: auto;
    bottom: 10%;
    right: auto;
    left: 0;
    width: 50vw;
  }
  #service_inner h2 {
    position: absolute;
    top: 36%;
    left: 0;
    width: 38.833vw;
    margin: 0;
    text-align: left;
  }
  #service_inner h2 img {
    width: 100%;
  }
  #service_inner h2 span {
    display: block;
    position: relative;
    top: 2.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #service_inner .txt01 {
    position: absolute;
    top: 43.5%;
    left: 0;
    font-family: "Noto Serif JP", serif;
    font-size: 6vw;
    line-height: 1.5em;
    width: 100%;
    text-align: left;
    margin: 0;
  }
  #service_inner .txt02 {
    position: absolute;
    top: 49%;
    left: 0;
    font-weight: 400;
    margin: 3.1% 0 0 0;
    line-height: 1.5em;
    font-size: 4vw;
    width: 90%;
  }
  #service_inner .txt03 {
    position: absolute;
    top: 62%;
    left: 0;
    font-weight: 400;
    margin: 3.1% 0 0 0;
    line-height: 1.5em;
    font-size: 4vw;
    font-feature-settings: "palt";
    width: 100%;
  }

  /*Message*/
  #top_message {
    width: 100%;
    height: auto;
    margin-top: -26.333vw;
  }
  #top_message_inner {
    position: relative;
    width: 90%;
    max-width: auto;
    margin: 0 5% 90px;
    padding: 9.333vw 0 8vw;
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
  }
  .top_message_photo {
    width: 100%;
    max-width: auto;
    margin: 0;
  }
  #top_message_inner h2 {
    max-width: 110.667vw;
    width: 100%;
    margin: 0 auto;
    padding: 8% 0;
    text-align: center;
  }
  #top_message_inner h2 img {
    width: 100%;
  }
  #top_message_inner h2 span {
    display: block;
    position: relative;
    top: 1.067vw;
    font-size: 2.867vw;
    font-weight: 500;
    line-height: 1em;
  }
  #top_message_inner h3 {
    font-family: "Noto Serif JP", serif;
    width: 100%;
    text-align: center;
    margin: 0;
    font-weight: 400;
    font-size: 5vw;
    line-height: 1.5em;
  }
  #top_message_inner .txt01 {
    font-weight: 300;
    margin: 6% 0 10%;
    line-height: 1.5em;
    font-weight: 400;
    font-size: 4vw;
    width: 100%;
  }
  #top_message_inner a {
    display: block;
    width: 45vw;
    height: 10vw;
    margin: 0 auto;
    background-color: #2f4784;
    color: #bfd1ff;
    font-size: 3vw;
    text-align: center;
    text-decoration: none;
    line-height: 9vw;
  }
  #top_message_inner a:hover {
    opacity: 0.7;
  }

  /*Company*/
  #company {
    width: 100%;
    height: auto;
    background-color: #f0f9ff;
  }
  #company_inner {
    position: relative;
    width: 90%;
    max-width: auto;
    height: 100%;
    margin: 0 5%;
    padding-bottom: 4.333vw;
  }
  #company_inner h2 {
    width: 53vw;
    margin: 0 auto;
    padding: 10.5% 0;
    text-align: center;
  }
  #company_inner h2 img {
    width: 100%;
  }
  #company_inner h2 span {
    display: block;
    position: relative;
    top: 1.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #company_inner .company_table {
    width: 100%;
    border-collapse: collapse;
  }

  #company_inner .company_table th {
    display: block;
    width: 100%;
    text-align: left;
    vertical-align: unset;
    border-bottom: none;
    padding: 3.667vw 0 0;
    font-size: 4vw;
  }
  #company_inner .company_table td {
    display: block;
    width: 100%;
    border-bottom: 1px solid #7e7e7e;
    padding: 1.667vw 0 3.667vw;
    font-size: 4vw;
  }

  /*Recruit*/
  #recruit {
    width: 100%;
    height: auto;
    background-image: url(../img/recruit_bg.jpg);
    background-size: 100% auto;
    background-position: center bottom;
  }
  #recruit_inner {
    position: relative;
    width: 90%;
    max-width: auto;
    height: 100%;
    margin: 0 5%;
    padding-top: 6.833vw;
    padding-bottom: 25vw;
  }
  #recruit_inner h2 {
    width: 39.5vw;
    margin: 0 auto;
    padding: 10.5% 0 9%;
    text-align: center;
  }
  #recruit_inner h2 img {
    width: 100%;
  }
  #recruit_inner h2 span {
    display: block;
    position: relative;
    top: 1.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #recruit_inner .txt01 {
    font-family: "Noto Serif JP", serif;
    font-size: 6vw;
    line-height: 1.3em;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  #recruit_inner .txt02 {
    font-weight: 400;
    margin: 3.1% auto 0;
    line-height: 1.5em;
    font-size: 4vw;
    width: 100%;
  }
  #recruit_inner .recruit_table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8%;
  }

  #recruit_inner .recruit_table th {
    display: block;
    width: 100%;
    border-bottom: none;
    text-align: left;
    vertical-align: top;
    padding: 3.667vw 0 0;
    font-size: 4vw;
    font-weight: 500;
  }
  #recruit_inner .recruit_table td {
    display: block;
    width: 100%;
    border-bottom: 1px solid #7e7e7e;
    padding: 3.667vw 0;
    font-size: 4vw;
  }
  /*Contact*/
  #contact {
    width: 100%;
    height: auto;
    background-color: #f0f9ff;
  }
  #contact_inner {
    position: relative;
    width: 90%;
    max-width: 166.667vw;
    height: 100%;
    margin: 0 5%;
    padding-bottom: 28.333vw;
  }
  #contact_inner h2 {
    width: 43.5vw;
    margin: 0 auto;
    padding: 10.5% 0;
    text-align: center;
  }
  #contact_inner h2 img {
    width: 100%;
  }
  #contact_inner h2 span {
    display: block;
    position: relative;
    top: 1.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #contact_inner .txt01 {
    font-family: "Noto Serif JP", serif;
    font-size: 6vw;
    line-height: 1.3em;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  #contact_inner .txt02 {
    font-weight: 400;
    margin: 3% auto 0;
    line-height: 1.5em;
    font-size: 4vw;
    width: 100%;
    text-align: left;
  }
  #contact_inner .contact_table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8%;
  }

  #contact_inner .contact_table th {
    display: block;
    width: 100%;
    text-align: left;
    vertical-align: top;
    padding: 2vw 0;
    font-size: 4vw;
    font-weight: 500;
  }
  #contact_inner .contact_table th span {
    color: #ff0000;
    font-weight: 400;
  }
  #contact_inner .contact_table td {
    display: block;
    width: 100%;
    padding: 2vw 0;
    font-size: 4vw;
  }
  #contact_inner input[type="text"].long_txt {
    background-color: #fff;
    width: 100%;
    height: 7vw;
    padding: 0 2%;
  }
  #contact_inner input[type="text"].middle_txt {
    background-color: #fff;
    width: 100%;
    height: 7vw;
    padding: 0 2%;
  }
  #contact_inner textarea {
    background-color: #fff;
    padding: 0 2%;
    width: 100%;
  }
  #contact_inner input[type="text"].short_txt {
    background-color: #fff;
    padding: 0 2%;
    width: 100%;
    height: 7vw;
  }
  #contact_inner input::placeholder {
    color: #ccc;
  }
  #contact_inner select {
    background-color: #fff;
    color: #ccc;
    width: 60%;
    padding: 0 2%;
    height: 7vw;
  }

  #contact_inner .pp_check {
    text-align: center;
    margin-top: 2vw;
    margin-bottom: 7.5vw;
    font-size: 4vw;
  }

  #contact_inner input[type="checkbox"] {
    position: relative;
    top: -4px;
    width: 3vw;
    height: 3vw;
    border: 1px solid #2f4784;
    vertical-align: -0.833vw;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  #contact_inner input[type="checkbox"]:checked:before {
    position: absolute;
    top: 0.167vw;
    left: 0.667vw;
    transform: rotate(40deg);
    width: 1.167vw;
    height: 1.667vw;
    border-right: 2px solid #2f4784;
    border-bottom: 2px solid #2f4784;
    content: "";
  }

  #contact_inner .submit_wrap {
    width: 100%;
    text-align: center;
  }
  #contact_inner .submit_wrap input[type="submit"] {
    background-color: #2f4784;
    color: #fff;
    width: 100%;
    height: 12.333vw;
    line-height: 12.333vw;
    font-size: 3.667vw;
  }
  #contact_inner .submit_wrap #submit-btn[disabled] {
    background-color: #eee;
    color: #bbb;
    cursor: not-allowed; /* クリック不可のカーソルを表示 */
  }

  /*footer*/
  footer {
    position: relative;
    width: 100%;
    height: 55vw;
    margin: 0;
    text-align: center;
    padding: 0;
    background-color: #2f4784;
  }

  #footer_logo_wrap {
    display: flex;
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
  }
  #footer_logo_wrap li:nth-child(2) {
    border-right: 1px solid #fff;
    width: 1px;
    height: 55px;
    margin: 0 27px 0 40px;
  }
  #footer_logo {
    margin: 0;
    width: 80px;
  }
  #footer_housedo {
    margin: 5px 0 0 0;
    width: 150px;
  }

  #footer_inner {
    position: relative;
    width: 90%;
    max-width: 200vw;
    height: 100%;
    margin: 0 5%;
    padding: 5% 0;
  }
  #footer_inner .footer_left {
    text-align: left;
    color: #fff;
    font-size: 2.333vw;
    line-height: 1.6em;
    font-weight: 400;
  }
  #footer_inner .corp_name {
    display: block;
    font-size: 3.833vw;
    font-weight: 500;
  }
  #footer_inner .footer_left a {
    color: #fff;
    text-decoration: none;
  }
  #footer_inner .copyright {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 7%;
    color: #fff;
    font-size: 2.6vw;
    letter-spacing: 0.1em;
  }

  /*Privacypolicy*/
  #privacy {
    width: 100%;
    height: auto;
  }
  #privacy_inner {
    position: relative;
    width: 90%;
    max-width: none;
    height: 100%;
    margin: 0 5%;
    padding-top: 6.833vw;
    padding-bottom: 25vw;
  }
  #privacy_inner h2 {
    width: 60vw;
    margin: 0 auto;
    padding: 10.5% 0 9%;
    text-align: center;
  }
  #privacy_inner h2 img {
    width: 100%;
  }
  #privacy_inner h2 span {
    display: block;
    position: relative;
    top: 1.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #privacy_inner h3 {
    font-size: 4vw;
    font-weight: 500;
    margin-bottom: 1em;
  }
  #privacy_inner p {
    font-size: 3.2vw;
    font-weight: 400;
    margin-bottom: 1.7em;
  }
  #formWrap {
    width: 95%;
    margin: 0 auto;
  }
  table.formTable th,
  table.formTable td {
    width: auto;
    display: block;
  }
  table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
  }
  input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    display: block;
    width: 100%;
    height: 40px;
  }
  .submit_btn {
    background-color: #2f4784;
    color: #fff;
    width: 100%;
    height: 70px !important;
    line-height: 8.267vw;
    font-size: 2.933vw;
    margin: 5% 0 2%;
  }

  /*Contact thanks*/
  #contact_mail {
    width: 100%;
    height: auto;
    background-color: #fff;
  }
  #contact_mail_inner {
    position: relative;
    width: 90%;
    max-width: 166.667vw;
    height: 100%;
    margin: 0 5%;
    padding-bottom: 28.333vw;
  }
  #contact_mail_inner h2 {
    width: 43.5vw;
    margin: 0 auto;
    padding: 10.5% 0;
    text-align: center;
  }
  #contact_mail_inner h2 img {
    width: 100%;
  }
  #contact_mail_inner h2 span {
    display: block;
    position: relative;
    top: 1.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }
  #contact_mail_inner .thanks {
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 5%;
  }
  #contact_mail_inner .back a {
    display: block;
    font-size: 16px;
    margin-top: 10%;
    color: #2f4784;
    text-decoration: none;
  }

  /*社長メッセージ*/
  #message {
    width: 100%;
    height: auto;
  }
  #message_inner {
    position: relative;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0 auto;
    padding: 0 5%;
    padding-bottom: 9.333vw;
  }
  #massage_header {
    position: relative;
    width: auto;
    height: 60vw;
    text-align: center;
    overflow: hidden;
  }

  #massage_header .message_header_bg {
    width: auto;
    height: auto;
    background-color: #2f4784;
  }
  #massage_header .message_header_bg img {
    width: 100%;
    max-height: none;
    margin: 0 auto;
  }
  #massage_photo01 {
    position: absolute;
    bottom: 0;
    left: 45%;
    height: 80%;
    width: 80%;
    max-width: none;
    transform: none;
    text-align: right;
  }
  #massage_photo01 img {
    height: 100%;
    float: none;
  }

  #shacho_name {
    position: absolute;
    bottom: 0;
    left: -58%;
    font-family: "Noto Serif JP", serif;
    text-align: left;
    margin-left: 8%;
    border-left: 12px #2f4784 solid;
    padding-left: 1.333vw;
    line-height: 1.1em;
    letter-spacing: 0.08em;
  }
  #shacho_name span {
    display: inline-block;
    font-size: 3.2vw;
    font-weight: 500;
    margin-top: 2vw;
    letter-spacing: 0;
  }

  #message01 {
    max-width: 133.333vw;
    margin: 50px auto 60px;
    text-align: left;
  }
  #message01 h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 4.267vw;
    line-height: 1.5em;
    white-space: nowrap;
  }
  #message01 .message01_txt {
    font-size: 3vw;
    font-weight: 300;
    margin-top: 5vw;
    margin-left: 0;
    text-align: left;
    line-height: 2em;
    width: 100%;
  }

  .massage_photo02 {
    display: block;
    width: 100%;
  }
  #message02 {
    max-width: 133.333vw;
    margin: 50px auto 60px;
    text-align: left;
  }
  #message02 h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 4.267vw;
    line-height: 1.5em;
    white-space: nowrap;
  }
  #message02 .message02_txt {
    font-size: 3vw;
    font-weight: 300;
    margin-top: 5vw;
    margin-left: 0;
    text-align: left;
    line-height: 2em;
    width: 100%;
  }

  .massage_photo03 {
    display: block;
    width: 100%;
  }

  #message03 {
    max-width: 133.333vw;
    margin: 50px auto 60px;
    text-align: left;
  }
  #message03 h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 4.267vw;
    line-height: 1.5em;
    white-space: nowrap;
  }
  #message03 .message03_txt {
    font-size: 3vw;
    font-weight: 300;
    margin-top: 5vw;
    margin-left: 0;
    text-align: left;
    line-height: 2em;
    width: 100%;
  }

  .massage_photo04 {
    display: block;
    width: 100%;
  }
  #message04 {
    max-width: 133.333vw;
    margin: 50px auto 60px;
    text-align: left;
  }
  #message04 h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 4.267vw;
    line-height: 1.5em;
    white-space: nowrap;
  }
  #message04 .message04_txt {
    font-size: 3vw;
    font-weight: 300;
    margin-top: 5vw;
    margin-left: 0;
    text-align: left;
    line-height: 2em;
    width: 100%;
  }

  .massage_photo05 {
    display: block;
    width: 100%;
  }
  #message05 {
    max-width: 133.333vw;
    margin: 50px auto 60px;
    text-align: left;
  }
  #message05 h2 {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 4.267vw;
    line-height: 1.5em;
    white-space: nowrap;
  }
  #message05 .message05_txt {
    font-size: 3vw;
    font-weight: 300;
    margin-top: 5vw;
    margin-left: 0;
    text-align: left;
    line-height: 2em;
    width: 100%;
  }

  /*News*/
  #news {
    width: 100%;
    height: auto;
  }
  #news_inner {
    position: relative;
    width: 90%;
    max-width: none;
    height: 100%;
    margin: 0 5%;
    padding-top: 6.833vw;
    padding-bottom: 25vw;
  }
  #news_inner h2 {
    width: 40vw;
    margin: 0 auto;
    padding: 10.5% 0 9%;
    text-align: center;
  }
  #news_inner h2 img {
    width: 100%;
  }
  #news_inner h2 span {
    display: block;
    position: relative;
    top: 1.333vw;
    font-size: 3.333vw;
    font-weight: 500;
    line-height: 1em;
  }

  .news_table {
    width: 100%;
    margin: 0;
  }
  .news_table th {
    display: block;
    white-space: nowrap;
    vertical-align: top;
    text-align: left;
    padding: 0 20px 0 0;
    font-size: 3.5vw;
  }
  .news_table td {
    display: block;
    vertical-align: top;
    padding: 0 0 10px 0;
    line-height: 1.6;
    font-size: 3.5vw;
  }
  .news_table td a {
    text-decoration: none;
    color: #2e4784;
  }
  .news_date {
    width: 100%;
    text-align: right;
    font-size: 3vw;
  }
  .news_title {
    margin-bottom: 40px;
    font-size: 4.5vw;
    line-height: 1.6;
  }
  .news_contens {
    font-size: 3.7vw;
  }
}
