/* CSS Document */
/* CSS Document */
/*
--------------------------------------------------------------*/
.cimg {
  background-image: url("../images/cimg_bg.jpg"); }

.main1b {
  max-width: 1200px;
  width: 100%;
  margin: auto; }

.business_list {
  margin: 50px 0 0; }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .business_list {
      margin: 30px 0 0; } }
  @media screen and (max-width: 350px) {
    .business_list {
      margin: 20px 0 0; } }

.business_listb {
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 600.01px) and (max-width: 760px) {
    .business_listb {
      display: block; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .business_listb {
      display: block; } }
  @media screen and (max-width: 350px) {
    .business_listb {
      display: block; } }

.business_unit {
  width: calc((100% - 20px) / 3);
  padding: 5px;
  background-image: url("../images/bg01.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (min-width: 600.01px) and (max-width: 760px) {
    .business_unit {
      width: 100%; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .business_unit {
      width: 100%; } }
  @media screen and (max-width: 350px) {
    .business_unit {
      width: 100%; } }
  .business_unit.unit01 {
    background-image: url("../images/bg01.jpg"); }
  .business_unit.unit02 {
    background-image: url("../images/bg02.jpg"); }
    @media screen and (min-width: 600.01px) and (max-width: 760px) {
      .business_unit.unit02 {
        margin-top: 15px; } }
    @media screen and (min-width: 350.1px) and (max-width: 600px) {
      .business_unit.unit02 {
        margin-top: 15px; } }
    @media screen and (max-width: 350px) {
      .business_unit.unit02 {
        margin-top: 10px; } }
  .business_unit.unit03 {
    background-image: url("../images/bg03.jpg"); }
    @media screen and (min-width: 600.01px) and (max-width: 760px) {
      .business_unit.unit03 {
        margin-top: 15px; } }
    @media screen and (min-width: 350.1px) and (max-width: 600px) {
      .business_unit.unit03 {
        margin-top: 15px; } }
    @media screen and (max-width: 350px) {
      .business_unit.unit03 {
        margin-top: 10px; } }

.business_unitb {
  width: 100%;
  height: 220px;
  border: 1px solid #ffffff;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 930.01px) and (max-width: 1200px) {
    .business_unitb {
      height: 18.3vw; } }
  @media screen and (min-width: 760.01px) and (max-width: 930px) {
    .business_unitb {
      height: 18.3vw; } }
  @media screen and (min-width: 600.01px) and (max-width: 760px) {
    .business_unitb {
      height: 120px; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .business_unitb {
      height: 20vw; } }
  @media screen and (max-width: 350px) {
    .business_unitb {
      height: 20vw; } }
  .business_unitb h4 {
    display: inline-block;
    text-align: left;
    line-height: 1.4;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #ffffff;
    letter-spacing: 0.1em; }
    @media screen and (min-width: 930.01px) and (max-width: 1200px) {
      .business_unitb h4 {
        font-size: 22px;
        font-size: 2.2rem; } }
    @media screen and (min-width: 760.01px) and (max-width: 930px) {
      .business_unitb h4 {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (min-width: 600.01px) and (max-width: 760px) {
      .business_unitb h4 {
        font-size: 20px;
        font-size: 2.0rem; } }
    @media screen and (min-width: 350.1px) and (max-width: 600px) {
      .business_unitb h4 {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 350px) {
      .business_unitb h4 {
        font-size: 16px;
        font-size: 1.6rem; } }

.main2 {
  margin-top: 120px; }
  @media screen and (min-width: 600.01px) and (max-width: 760px) {
    .main2 {
      margin-top: 80px; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .main2 {
      margin-top: 60px; } }
  @media screen and (max-width: 350px) {
    .main2 {
      margin-top: 40px; } }

.main2b {
  max-width: 1200px;
  width: 100%;
  margin: auto; }

.achieve_list {
  margin: 50px 0 0; }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .achieve_list {
      margin: 30px 0 0; } }
  @media screen and (max-width: 350px) {
    .achieve_list {
      margin: 20px 0 0; } }

.achieve_listb {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (min-width: 600.01px) and (max-width: 760px) {
    .achieve_listb {
      display: block; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .achieve_listb {
      display: block; } }
  @media screen and (max-width: 350px) {
    .achieve_listb {
      display: block; } }

.achieve_unit {
  width: calc(50% - 5px);
  margin-top: 70px;
  display: flex;
  flex-direction: column; }
  @media screen and (min-width: 600.01px) and (max-width: 760px) {
    .achieve_unit {
      margin-top: 30px;
      width: 100%; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .achieve_unit {
      margin-top: 30px;
      width: 100%; } }
  @media screen and (max-width: 350px) {
    .achieve_unit {
      margin-top: 20px;
      width: 100%; } }
  .achieve_unit:nth-of-type(1) {
    margin: 0; }
  .achieve_unit:nth-of-type(1), .achieve_unit:nth-of-type(2) {
    margin: 0; }
    @media screen and (min-width: 600.01px) and (max-width: 760px) {
      .achieve_unit:nth-of-type(1), .achieve_unit:nth-of-type(2) {
        margin-top: 30px; } }
    @media screen and (min-width: 350.1px) and (max-width: 600px) {
      .achieve_unit:nth-of-type(1), .achieve_unit:nth-of-type(2) {
        margin-top: 30px; } }
    @media screen and (max-width: 350px) {
      .achieve_unit:nth-of-type(1), .achieve_unit:nth-of-type(2) {
        margin-top: 20px; } }

.achieve_data {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background: rgba(241, 243, 245, 0.9);
  margin: -35px 20px 0 20px;
  z-index: 1;
  padding: 35px 60px; }
  @media screen and (min-width: 930.01px) and (max-width: 1200px) {
    .achieve_data {
      padding: 35px; } }
  @media screen and (min-width: 760.01px) and (max-width: 930px) {
    .achieve_data {
      margin: -30px 10px 0 10px;
      padding: 30px; } }
  @media screen and (min-width: 350.1px) and (max-width: 600px) {
    .achieve_data {
      margin: -30px 10px 0 10px;
      padding: 30px 20px 15px; } }
  @media screen and (max-width: 350px) {
    .achieve_data {
      margin: -30px 10px 0 10px;
      padding: 30px 10px 10px; } }
  .achieve_data h4 {
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.0; }
    @media screen and (min-width: 760.01px) and (max-width: 930px) {
      .achieve_data h4 {
        font-size: 22px;
        font-size: 2.2rem; } }
    @media screen and (min-width: 350.1px) and (max-width: 600px) {
      .achieve_data h4 {
        font-size: 22px;
        font-size: 2.2rem; } }
    @media screen and (max-width: 350px) {
      .achieve_data h4 {
        font-size: 20px;
        font-size: 2.0rem; } }
  .achieve_data table {
    margin: 25px 0 0;
    line-height: 1.5; }
    @media screen and (min-width: 760.01px) and (max-width: 930px) {
      .achieve_data table {
        margin: 15px 0 0; } }
    @media screen and (min-width: 350.1px) and (max-width: 600px) {
      .achieve_data table {
        margin: 20px 0 0; } }
    @media screen and (max-width: 350px) {
      .achieve_data table {
        margin: 10px 0 0; } }
    .achieve_data table th {
      font-weight: bold;
      vertical-align: top;
      text-align: left;
      white-space: nowrap;
      padding: 10px 0; }
      @media screen and (min-width: 760.01px) and (max-width: 930px) {
        .achieve_data table th {
          padding: 5px 0; } }
      @media screen and (min-width: 350.1px) and (max-width: 600px) {
        .achieve_data table th {
          padding: 5px 0; } }
      @media screen and (max-width: 350px) {
        .achieve_data table th {
          display: block;
          width: 100%;
          padding: 5px 0 0; } }
    .achieve_data table td {
      vertical-align: top;
      text-align: left;
      padding: 10px 0 10px 15px; }
      @media screen and (min-width: 760.01px) and (max-width: 930px) {
        .achieve_data table td {
          padding: 5px 0 5px 10px; } }
      @media screen and (min-width: 350.1px) and (max-width: 600px) {
        .achieve_data table td {
          padding: 5px 0 5px 20px; } }
      @media screen and (max-width: 350px) {
        .achieve_data table td {
          display: block;
          width: 100%;
          padding: 0 0 5px; } }
