/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  line-height: 1;
  vertical-align: baseline;
  background: transparent;
  font-family: 'Noto Sans JP', sans-serif; }

html {
  font-size: 62.5%; }

h1, h2, p {
  /*transform: rotate(0.05deg);*/ }

body {
  line-height: 1.6;
  font-size: 16px;
  font-size: 1.6rem;
  color: #000;
  width: 100%; }
  body.open {
    overflow: hidden;
    position: fixed; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #000;
  text-decoration: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

.cf:after {
  content: " ";
  display: block;
  clear: both; }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

img {
  max-width: 100%;
  height: auto; }

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

.sp {
  display: none; }

.pc {
  display: block; }

.l_continar {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto; }

@media screen and (max-width: 1200px) {
  body {
    font-size: calc(20 / 1200 * 100vw); } }
@media screen and (max-width: 750px) {
  body {
    font-size: calc(25 / 750 * 100vw); }

  .l_continar {
    padding-left: 0;
    padding-right: 0; }

  .sp {
    display: block; }

  .pc {
    display: none; } }
#header .header_inner {
  padding: 15px 20px 0 40px;
  display: flex; }
#header .logo {
  width: 155px; }
#header #menu_trigger {
  display: none; }
#header nav {
  margin-left: auto; }
  #header nav ul {
    display: flex; }
    #header nav ul li {
      width: 120px;
      margin-left: 5px; }
      #header nav ul li:first-child {
        margin-left: 0px; }
      #header nav ul li a {
        display: block;
        padding: 15px 0px 35px;
        text-align: center;
        position: relative;
        font-size: 14px;
        font-size: 1.4rem; }
        #header nav ul li a:before {
          content: "";
          width: 100%;
          height: 6px;
          background-color: #1c458d;
          position: absolute;
          bottom: 0;
          left: 0;
          transition: all .3s ease-out;
          transform: translate3d(0px, 6px, 0);
          opacity: 0; }
        #header nav ul li a:hover, #header nav ul li a.current {
          color: #1c458d; }
          #header nav ul li a:hover:before, #header nav ul li a.current:before {
            transform: translate3d(0px, 0, 0);
            opacity: 1; }
      #header nav ul li.contact_btn {
        width: 180px;
        margin-left: 30px; }
        #header nav ul li.contact_btn a {
          padding: 15px 0px;
          border-radius: 6px;
          background-color: #e5004f;
          color: #fff;
          transition: all .3s ease-out; }
          #header nav ul li.contact_btn a:before {
            display: none; }
          #header nav ul li.contact_btn a:hover {
            opacity: 0.8; }

@media screen and (max-width: 1400px) {
  #header .header_inner {
    padding: calc(15 / 1400 * 100vw) calc(20 / 1400 * 100vw) 0 calc(40 / 1400 * 100vw); }
  #header .logo {
    width: calc(155 / 1400 * 100vw); }
  #header nav ul li {
    width: calc(130 / 1400 * 100vw);
    margin-left: calc(5 / 1400 * 100vw); }
    #header nav ul li a {
      padding: calc(15 / 1400 * 100vw) 0 calc(35 / 1400 * 100vw);
      font-size: calc(16 / 1400 * 100vw); }
      #header nav ul li a:before {
        height: calc(6 / 1400 * 100vw); }
    #header nav ul li.contact_btn {
      width: calc(180 / 1400 * 100vw);
      margin-left: calc(30 / 1400 * 100vw); }
      #header nav ul li.contact_btn a {
        padding: calc(15 / 1400 * 100vw) 0;
        border-radius: calc(6 / 1400 * 100vw); } }
@media screen and (max-width: 750px) {
  #header .header_inner {
    padding: 0 calc(40 / 750 * 100vw) 0 calc(20 / 750 * 100vw);
    height: calc(100 / 750 * 100vw);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: relative; }
  #header .logo {
    width: calc(220 / 750 * 100vw); }
  #header #menu_trigger {
    display: block;
    position: absolute;
    right: calc(36 / 750 * 100vw);
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(63 / 750 * 100vw);
    height: calc(54 / 750 * 100vw);
    cursor: pointer;
    z-index: 11; }
    #header #menu_trigger.open span:first-of-type {
      display: none; }
    #header #menu_trigger.open span:nth-of-type(2) {
      top: calc(23 / 750 * 100vw);
      transform: rotate(45deg); }
    #header #menu_trigger.open span:nth-of-type(3) {
      top: calc(23 / 750 * 100vw);
      transform: rotate(-45deg); }
    #header #menu_trigger span {
      width: 100%;
      height: calc(8 / 750 * 100vw);
      background-color: #e5004f;
      position: absolute;
      left: 0;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all  0.3s ease; }
      #header #menu_trigger span:first-of-type {
        top: 0; }
      #header #menu_trigger span:nth-of-type(2) {
        top: calc(23 / 750 * 100vw); }
      #header #menu_trigger span:nth-of-type(3) {
        top: calc(46 / 750 * 100vw); }
  #header nav {
    display: none;
    margin: 0;
    background-color: #fff;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    padding-top: calc(165 / 750 * 100vw); }
    #header nav ul {
      display: block; }
      #header nav ul li {
        width: 100%;
        margin-left: 0px;
        text-align: center;
        padding: calc(35 / 750 * 100vw) 0; }
        #header nav ul li:first-child {
          margin-left: 0px; }
        #header nav ul li a {
          padding: 0;
          display: inline-block;
          font-size: calc(38 / 750 * 100vw); }
          #header nav ul li a:before {
            display: none; }
        #header nav ul li.contact_btn {
          padding-top: calc(65 / 750 * 100vw);
          width: calc(485 / 750 * 100vw);
          margin: 0 auto; }
          #header nav ul li.contact_btn a {
            display: block;
            padding: calc(25 / 750 * 100vw) 0px;
            border-radius: calc(6 / 750 * 100vw); } }
#footer {
  background-color: #002c78;
  color: #fff; }
  #footer a {
    color: #fff; }
  #footer .footer_inner {
    width: 100%;
    max-width: 1170px;
    padding-left: 15px;
    padding-right: 15px;
    display: flex;
    flex-wrap: wrap;
    padding-top: 50px;
    margin: 0 auto; }
  #footer .footer_info {
    width: 50%; }
    #footer .footer_info .logo {
      width: 100%;
      max-width: 145px;
      padding-bottom: 20px; }
    #footer .footer_info .add {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.75;
      letter-spacing: 0.04em; }
  #footer .footer_menu {
    width: 47%;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap; }
    #footer .footer_menu ul {
      width: 33.333%; }
      #footer .footer_menu ul li {
        padding-bottom: 20px; }
        #footer .footer_menu ul li:last-child {
          padding-bottom: 0; }
        #footer .footer_menu ul li a {
          display: inline-block;
          position: relative;
          padding-left: 24px;
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.04em; }
          #footer .footer_menu ul li a:after {
            content: "";
            width: 9px;
            height: 15px;
            background: url(../images/common/arrow.png) 0 0 no-repeat;
            background-size: 100% auto;
            position: absolute;
            left: 0;
            top: 50%;
            -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%); }
  #footer small {
    display: block;
    font-size: 13px;
    font-size: 1.3rem;
    text-align: center;
    padding: 50px 0 30px; }

@media screen and (max-width: 1200px) {
  #footer .footer_info {
    width: 40%; }
  #footer .footer_menu {
    width: 57%; } }
@media screen and (max-width: 750px) {
  #footer .footer_inner {
    padding-top: calc(40 / 750 * 100vw); }
  #footer .footer_info {
    width: 100%;
    text-align: center; }
    #footer .footer_info .logo {
      display: block;
      margin: 0 auto;
      width: 100%;
      max-width: calc(235 / 750 * 100vw);
      padding-bottom: 0; }
    #footer .footer_info .add {
      display: none; }
  #footer .footer_menu {
    display: none; }
  #footer small {
    font-size: 10px;
    font-size: 1.0rem;
    padding: calc(35 / 750 * 100vw) 0 calc(30 / 750 * 100vw); } }
#l_contact {
  padding: 130px 0 120px; }
  #l_contact h3 {
    text-align: center;
    padding-bottom: 40px; }
    #l_contact h3 span {
      display: block;
      line-height: 1; }
      #l_contact h3 span.en {
        color: #002c78;
        font-size: 15px;
        font-size: 1.5rem;
        padding-top: 1em; }
      #l_contact h3 span.jp {
        font-size: 30px;
        font-size: 3.0rem;
        font-weight: 700; }
  #l_contact .main_txt {
    text-align: center;
    line-height: 2.1;
    font-size: 15px;
    font-size: 1.5rem;
    padding-bottom: 25px; }
  #l_contact .contact_inner {
    padding-top: 100px;
    padding-bottom: 70px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    max-width: 950px;
    width: 100%;
    margin: 0 auto; }
    #l_contact .contact_inner:before {
      content: "";
      width: 1px;
      height: 67px;
      background-color: #000000;
      top: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      transform: translate(-50%, 0%);
      position: absolute; }
    #l_contact .contact_inner a {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      padding: 32px 0;
      width: 48.4%; }
  #l_contact .tel {
    text-align: center; }
    #l_contact .tel a {
      font-weight: 900;
      font-size: 40px;
      font-size: 4.0rem;
      text-align: center;
      line-height: 1;
      color: #000;
      pointer-events: none; }

@media screen and (max-width: 1200px) {
  #l_contact {
    padding: calc(130 / 1200 * 100vw) 15px calc(120 / 1200 * 100vw); }
    #l_contact h3 {
      padding-bottom: calc(40 / 1200 * 100vw); }
      #l_contact h3 span.en {
        font-size: calc(15 / 1200 * 100vw); }
      #l_contact h3 span.jp {
        font-size: calc(30 / 1200 * 100vw); }
    #l_contact .main_txt {
      font-size: calc(20 / 1200 * 100vw);
      padding-bottom: calc(25 / 1200 * 100vw); }
    #l_contact .contact_inner {
      padding-top: calc(100 / 1200 * 100vw);
      padding-bottom: calc(70 / 1200 * 100vw); }
      #l_contact .contact_inner:before {
        height: calc(67 / 1200 * 100vw); }
      #l_contact .contact_inner a {
        font-size: calc(24 / 1200 * 100vw);
        padding: calc(32 / 1200 * 100vw) 0; }
    #l_contact .tel a {
      font-size: calc(40 / 1200 * 100vw); } }
@media screen and (max-width: 750px) {
  #l_contact {
    padding: calc(275 / 750 * 100vw) calc(20 / 750 * 100vw) calc(150 / 750 * 100vw); }
    #l_contact h3 {
      padding-bottom: calc(70 / 750 * 100vw); }
      #l_contact h3 span.en {
        font-size: calc(25 / 750 * 100vw); }
      #l_contact h3 span.jp {
        font-size: calc(45 / 750 * 100vw); }
    #l_contact .main_txt {
      font-size: calc(28 / 750 * 100vw);
      text-align: left;
      line-height: 1.9;
      padding: 0 calc(40 / 750 * 100vw) calc(50 / 750 * 100vw); }
    #l_contact .contact_inner {
      padding-top: calc(120 / 750 * 100vw);
      padding-bottom: calc(50 / 750 * 100vw); }
      #l_contact .contact_inner:before {
        height: calc(67 / 750 * 100vw); }
      #l_contact .contact_inner a {
        font-size: calc(28 / 750 * 100vw);
        padding: calc(24 / 750 * 100vw) 0; }
    #l_contact .tel a {
      font-size: calc(50 / 750 * 100vw);
      pointer-events: auto; } }
.l_link {
  background-color: #e9e9e9;
  position: relative;
  padding: 70px 15px 100px; }
  .l_link:before {
    content: "";
    width: 100%;
    height: 200px;
    background-color: #ffffff;
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0; }
  .l_link .l_link_top {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 50px;
    z-index: 2;
    position: relative; }
    .l_link .l_link_top a {
      display: block;
      width: calc(33.333% - 10px);
      margin-left: 15px;
      border-top: 3px solid #002c78;
      background-color: #fff;
      padding: 140px 10px 50px;
      position: relative;
      transition: all .3s; }
      .l_link .l_link_top a:hover {
        opacity: 0.7; }
      .l_link .l_link_top a:before {
        content: "";
        position: absolute;
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        transform: translate(-50%, 0%);
        top: 56px; }
      .l_link .l_link_top a#icon_company:before {
        width: 43px;
        height: 43px;
        background: url(../images/top/company_icon.png) 0 0 no-repeat;
        background-size: 100% auto; }
      .l_link .l_link_top a#icon_performance:before {
        width: 68px;
        height: 41px;
        background: url(../images/common/intro_icon.png) 0 0 no-repeat;
        background-size: 100% auto; }
      .l_link .l_link_top a#icon_qa:before {
        width: 56px;
        height: 42px;
        background: url(../images/common/faq_icon.png) 0 0 no-repeat;
        background-size: 100% auto; }
      .l_link .l_link_top a:first-of-type {
        margin-left: 0; }
      .l_link .l_link_top a .l_link_top_head_ttl {
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 700;
        text-align: center; }
      .l_link .l_link_top a .l_link_top_head_subttl {
        color: #002c78;
        font-size: 15px;
        font-size: 1.5rem;
        padding-top: 1em;
        text-align: center; }
      .l_link .l_link_top a .l_link_top_head_txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.13;
        max-width: 260px;
        width: 100%;
        margin: 0 auto;
        padding-top: 45px; }
  .l_link .l_link_bottom {
    background-color: #000000;
    color: #fff;
    padding: 40px 50px;
    display: flex;
    flex-wrap: wrap;
    z-index: 2;
    position: relative; }
    .l_link .l_link_bottom .l_link_bottom_left {
      padding-left: 20px;
      width: 55.8%; }
      .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_ttl {
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 700; }
      .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_subttl {
        color: #e5004f;
        font-size: 15px;
        font-size: 1.5rem;
        padding-top: 1em;
        padding-bottom: 1em; }
      .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.13; }
    .l_link .l_link_bottom .l_link_bottom_right {
      width: 44.2%;
      margin-left: auto;
      padding-top: 15px; }
      .l_link .l_link_bottom .l_link_bottom_right a {
        font-size: 24px;
        font-size: 2.4rem;
        padding: 30px 0;
        width: 100%; }

@media screen and (max-width: 1200px) {
  .l_link {
    padding: calc(70 / 1200 * 100vw) calc(15 / 1200 * 100vw) calc(100 / 1200 * 100vw); }
    .l_link:before {
      height: calc(200 / 1200 * 100vw); }
    .l_link .l_link_top {
      padding-bottom: calc(50 / 1200 * 100vw); }
      .l_link .l_link_top a {
        padding: calc(140 / 1200 * 100vw) calc(10 / 1200 * 100vw) calc(50 / 1200 * 100vw); }
        .l_link .l_link_top a:before {
          top: calc(56 / 1200 * 100vw); }
        .l_link .l_link_top a#icon_company:before {
          width: calc(43 / 1200 * 100vw);
          height: calc(43 / 1200 * 100vw); }
        .l_link .l_link_top a#icon_performance:before {
          width: calc(68 / 1200 * 100vw);
          height: calc(41 / 1200 * 100vw); }
        .l_link .l_link_top a#icon_qa:before {
          width: calc(56 / 1200 * 100vw);
          height: calc(42 / 1200 * 100vw); }
        .l_link .l_link_top a .l_link_top_head_ttl {
          font-size: calc(32 / 1200 * 100vw); }
        .l_link .l_link_top a .l_link_top_head_subttl {
          font-size: calc(20 / 1200 * 100vw); }
        .l_link .l_link_top a .l_link_top_head_txt {
          font-size: calc(20 / 1200 * 100vw);
          padding-top: calc(45 / 1200 * 100vw); }
    .l_link .l_link_bottom {
      padding: calc(40 / 1200 * 100vw) calc(50 / 1200 * 100vw); }
      .l_link .l_link_bottom .l_link_bottom_left {
        padding-left: calc(20 / 1200 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_ttl {
          font-size: calc(32 / 1200 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_subttl {
          font-size: calc(20 / 1200 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_txt {
          font-size: calc(20 / 1200 * 100vw); }
      .l_link .l_link_bottom .l_link_bottom_right {
        padding-top: calc(15 / 1200 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_right a {
          font-size: calc(28 / 1200 * 100vw);
          padding: calc(30 / 1200 * 100vw) 0; } }
@media screen and (max-width: 750px) {
  .l_link {
    padding: calc(70 / 750 * 100vw) calc(20 / 750 * 100vw) calc(100 / 750 * 100vw); }
    .l_link:before {
      height: calc(360 / 750 * 100vw); }
    .l_link .l_link_top {
      padding-bottom: calc(40 / 750 * 100vw); }
      .l_link .l_link_top a {
        width: calc(33.333% - 10px);
        margin-left: 15px;
        padding: calc(120 / 750 * 100vw) 0 calc(40 / 750 * 100vw); }
        .l_link .l_link_top a:before {
          top: calc(30 / 750 * 100vw); }
        .l_link .l_link_top a#icon_company:before {
          width: calc(43 / 750 * 100vw);
          height: calc(43 / 750 * 100vw); }
        .l_link .l_link_top a#icon_performance:before {
          width: calc(68 / 750 * 100vw);
          height: calc(41 / 750 * 100vw); }
        .l_link .l_link_top a#icon_qa:before {
          width: calc(56 / 750 * 100vw);
          height: calc(42 / 750 * 100vw); }
        .l_link .l_link_top a .l_link_top_head_ttl {
          font-size: calc(28 / 750 * 100vw); }
        .l_link .l_link_top a .l_link_top_head_subttl {
          font-size: calc(18 / 750 * 100vw); }
        .l_link .l_link_top a .l_link_top_head_txt {
          display: none; }
    .l_link .l_link_bottom {
      padding: calc(45 / 750 * 100vw) calc(70 / 750 * 100vw) calc(60 / 750 * 100vw); }
      .l_link .l_link_bottom .l_link_bottom_left {
        padding-left: 0;
        width: 100%; }
        .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_ttl {
          font-size: calc(28 / 750 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_subttl {
          font-size: calc(18 / 750 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_left .l_link_bottom_head_txt {
          font-size: calc(22 / 750 * 100vw);
          line-height: 2.09; }
      .l_link .l_link_bottom .l_link_bottom_right {
        width: 100%;
        padding-top: calc(50 / 750 * 100vw); }
        .l_link .l_link_bottom .l_link_bottom_right a {
          font-size: calc(28 / 750 * 100vw);
          padding: calc(30 / 750 * 100vw) 0;
          width: calc(460 / 750 * 100vw);
          margin: 0 auto; } }
.btn {
  display: block;
  border-radius: 6px;
  background-color: #e5004f;
  color: #ff;
  text-align: center;
  line-height: 1;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 1em 0;
  color: #fff;
  width: 200px;
  transition: all .3s; }
  .btn:hover {
    opacity: 0.7; }

@media screen and (max-width: 1200px) {
  .btn {
    font-size: calc(20 / 1200 * 100vw);
    width: 200px; } }
@media screen and (max-width: 750px) {
  .btn {
    border-radius: calc(6 / 750 * 100vw);
    font-size: calc(28 / 750 * 100vw);
    width: calc(300 / 750 * 100vw); } }
#eyecatch .eyecatch_inner {
  height: 280px;
  background-color: #002c78;
  position: relative;
  overflow: hidden; }
  #eyecatch .eyecatch_inner h2 {
    width: 1080px;
    margin: 0 auto;
    padding-top: 140px; }
    #eyecatch .eyecatch_inner h2 span {
      display: block;
      line-height: 1;
      font-weight: 400; }
      #eyecatch .eyecatch_inner h2 span.en {
        font-size: 13px;
        font-size: 1.3rem;
        color: #fff;
        padding-left: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #fff;
        width: 280px; }
      #eyecatch .eyecatch_inner h2 span.jp {
        padding-top: 16px;
        padding-left: 5px;
        font-size: 28px;
        font-size: 2.8rem;
        color: #fff; }
  #eyecatch .eyecatch_inner img {
    width: 63.5%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 0;
    right: 0; }
#eyecatch .news_eyecatch_inner {
  height: 300px;
  position: relative;
  overflow: hidden;
  background: url(../images/news/eyecatch.jpg) center center no-repeat;
  background-size: cover; }
  #eyecatch .news_eyecatch_inner:before {
    content: "";
    width: 22%;
    height: 150px;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 0; }
  #eyecatch .news_eyecatch_inner:after {
    content: "";
    width: 170px;
    height: 150px;
    background-color: #fff;
    position: absolute;
    left: 22%;
    bottom: 0; }
  #eyecatch .news_eyecatch_inner h2 {
    width: 1000px;
    margin: 0 auto;
    padding-top: 200px;
    position: relative;
    z-index: 2; }
    #eyecatch .news_eyecatch_inner h2 span {
      display: block;
      line-height: 1;
      font-weight: 700; }
      #eyecatch .news_eyecatch_inner h2 span.en {
        font-size: 40px;
        font-size: 4.0rem;
        color: #000; }
      #eyecatch .news_eyecatch_inner h2 span.jp {
        padding-top: 15px;
        font-size: 18px;
        font-size: 1.8rem;
        color: #002c78; }

@media screen and (max-width: 1000px) {
  #eyecatch .news_eyecatch_inner h2 {
    padding-left: 15px; } }
@media screen and (max-width: 750px) {
  #eyecatch .eyecatch_inner {
    height: calc(245 / 750 * 100vw);
    position: relative; }
    #eyecatch .eyecatch_inner:before {
      content: "";
      position: absolute;
      top: 0;
      left: calc(374 / 750 * 100vw);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: calc(245 / 750 * 100vw) calc(100 / 750 * 100vw) 0 0;
      border-color: #002c78 transparent transparent transparent;
      z-index: 1; }
    #eyecatch .eyecatch_inner h2 {
      width: 100%;
      margin: 0;
      padding-left: calc(20 / 750 * 100vw);
      padding-top: calc(60 / 750 * 100vw); }
      #eyecatch .eyecatch_inner h2 span.en {
        font-size: calc(20 / 750 * 100vw);
        padding-left: calc(20 / 750 * 100vw);
        padding-bottom: calc(20 / 750 * 100vw);
        width: calc(370 / 750 * 100vw); }
      #eyecatch .eyecatch_inner h2 span.jp {
        padding-top: calc(20 / 750 * 100vw);
        padding-left: calc(20 / 750 * 100vw);
        font-size: calc(35 / 750 * 100vw); }
    #eyecatch .eyecatch_inner img {
      width: 50%; }
  #eyecatch .news_eyecatch_inner {
    height: calc(240 / 750 * 100vw); }
    #eyecatch .news_eyecatch_inner:before {
      width: calc(325 / 750 * 100vw);
      height: calc(130 / 750 * 100vw); }
    #eyecatch .news_eyecatch_inner:after {
      display: none; }
    #eyecatch .news_eyecatch_inner h2 {
      width: 100%;
      position: absolute;
      padding-top: 0;
      padding-left: 0;
      top: calc(140 / 750 * 100vw);
      left: calc(60 / 750 * 100vw); }
      #eyecatch .news_eyecatch_inner h2 span.en {
        font-size: calc(50 / 750 * 100vw); }
      #eyecatch .news_eyecatch_inner h2 span.jp {
        padding-top: calc(18 / 750 * 100vw);
        font-size: calc(28 / 750 * 100vw); } }
.sec_ttl {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  border-left: 4px solid #002c78;
  margin-bottom: 30px;
  padding: 0.2em 15px; }

@media screen and (max-width: 750px) {
  .sec_ttl {
    font-size: calc(36 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
    padding: 0.2em calc(30 / 750 * 100vw); } }
