/* CSS Document */
#message {
  background-image: url("../img/company-message.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain; }
  @media screen and (max-width: 1199px) {
    #message {
      background-position: 30rem center; } }
  @media screen and (max-width: 991px) {
    #message {
      background-position: 20rem center; } }
  @media screen and (max-width: 767px) {
    #message {
      background: none; } }
  #message .d-flex {
    align-items: center; }
    @media screen and (max-width: 767px) {
      #message .d-flex {
        flex-wrap: wrap; } }
    @media screen and (max-width: 767px) {
      #message .d-flex .d-md-none {
        margin-bottom: 5rem; } }
    @media screen and (max-width: 575px) {
      #message .d-flex .d-md-none {
        margin-bottom: 3rem; } }
    #message .d-flex .text-box {
      width: 40%; }
      @media screen and (max-width: 1399px) {
        #message .d-flex .text-box {
          width: 45%; } }
      @media screen and (max-width: 1199px) {
        #message .d-flex .text-box {
          width: 46%; } }
      @media screen and (max-width: 767px) {
        #message .d-flex .text-box {
          width: 100%;
          order: 2;
          text-align: center; } }
      @media screen and (max-width: 575px) {
        #message .d-flex .text-box .subtitle {
          text-align: center; } }
      #message .d-flex .text-box .subtitle + p {
        text-align: justify; }
        #message .d-flex .text-box .subtitle + p + p {
          margin: 2.5rem 0 0; }
          #message .d-flex .text-box .subtitle + p + p span {
            font-size: 25px;
            font-size: 2.5rem; }

#policy h2 {
  text-align: center; }
#policy ol {
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 4rem 0 20rem;
  counter-reset: policy-counter; }
  @media screen and (max-width: 1399px) {
    #policy ol {
      margin: 4rem 0 15rem; } }
  @media screen and (max-width: 991px) {
    #policy ol {
      margin: 4rem 0 0; } }
  @media screen and (max-width: 575px) {
    #policy ol {
      margin: 2rem 0 0; } }
  #policy ol li {
    width: 100%;
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: 3px;
    text-indent: -1.4em;
    padding-left: 1.4em;
    text-align: justify;
    line-height: 2.3; }
    @media screen and (max-width: 1199px) {
      #policy ol li {
        line-height: 2; } }
    @media screen and (max-width: 991px) {
      #policy ol li {
        font-size: 23px;
        font-size: 2.3rem;
        letter-spacing: 2px;
        text-indent: -1.3em;
        padding-left: 1.3em; } }
    @media screen and (max-width: 767px) {
      #policy ol li {
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: 2px; } }
    @media screen and (max-width: 575px) {
      #policy ol li {
        letter-spacing: 1px; } }
    #policy ol li::before {
      color: #006934;
      content: counter(policy-counter) ". ";
      counter-increment: policy-counter; }

#philosophy {
  position: relative;
  z-index: 2; }
  #philosophy .container {
    padding: 0; }
  #philosophy .orange-box {
    position: absolute;
    display: block;
    width: 80%;
    max-width: 1120px;
    border-radius: 2rem;
    top: -220px;
    background-image: url("../../img/yellow-back.jpg");
    background-repeat: repeat-y;
    background-size: 100%;
    padding: 7rem 0 8rem; }
    @media screen and (max-width: 1199px) {
      #philosophy .orange-box {
        padding: 5rem 0 6rem; } }
    @media screen and (max-width: 991px) {
      #philosophy .orange-box {
        position: inherit;
        width: 100vw;
        border-radius: 0;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw); } }
    @media screen and (max-width: 575px) {
      #philosophy .orange-box {
        padding: 3rem 0 4rem; } }
    #philosophy .orange-box::after {
      content: '';
      display: block;
      background-image: url("../img/company-policy.png");
      background-repeat: no-repeat;
      background-size: contain;
      width: 320px;
      height: 175px;
      position: absolute;
      bottom: -7rem;
      right: -3rem; }
      @media screen and (max-width: 1199px) {
        #philosophy .orange-box::after {
          width: 300px;
          height: 160px;
          bottom: -10rem;
          right: -3rem; } }
      @media screen and (max-width: 991px) {
        #philosophy .orange-box::after {
          right: 0; } }
      @media screen and (max-width: 767px) {
        #philosophy .orange-box::after {
          width: 250px;
          height: 135px;
          bottom: -8rem;
          right: 2rem; } }
      @media screen and (max-width: 575px) {
        #philosophy .orange-box::after {
          width: 180px;
          height: 100px;
          bottom: -5rem;
          right: 1rem; } }
  #philosophy h2 {
    text-align: center; }
  #philosophy p {
    text-align: center;
    font-size: 65px;
    font-size: 6.5rem;
    font-weight: bold;
    letter-spacing: 5px; }
    @media screen and (max-width: 1199px) {
      #philosophy p {
        font-size: 55px;
        font-size: 5.5rem; } }
    @media screen and (max-width: 991px) {
      #philosophy p {
        font-size: 45px;
        font-size: 4.5rem; } }
    @media screen and (max-width: 991px) {
      #philosophy p {
        font-size: 35px;
        font-size: 3.5rem;
        letter-spacing: 0; } }
    #philosophy p span {
      color: #DF5425; }
      #philosophy p span + span {
        color: #006934; }

#about {
  position: relative; }
  #about::before {
    content: '';
    background-image: url("../../img/rice-topleft02.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 280px;
    height: 220px;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (max-width: 1199px) {
      #about::before {
        width: 230px;
        height: 170px; } }
    @media screen and (max-width: 991px) {
      #about::before {
        width: 200px;
        height: 140px; } }
    @media screen and (max-width: 767px) {
      #about::before {
        width: 170px;
        height: 110px; } }
  #about .d-flex {
    margin-top: 15rem;
    align-items: center; }
    @media screen and (max-width: 1199px) {
      #about .d-flex {
        margin-top: 6rem; } }
    @media screen and (max-width: 991px) {
      #about .d-flex {
        flex-wrap: wrap;
        margin-top: 0; } }
  #about .text-box {
    width: 50%; }
    @media screen and (max-width: 1199px) {
      #about .text-box {
        width: 55%; } }
    @media screen and (max-width: 991px) {
      #about .text-box {
        width: 100%; } }
    #about .text-box table {
      margin: 4rem 0 3rem;
      width: 100%;
      line-height: 2; }
      @media screen and (max-width: 1399px) {
        #about .text-box table {
          line-height: 1.75; } }
      @media screen and (max-width: 575px) {
        #about .text-box table {
          line-height: 1.5;
          margin-bottom: 2rem; } }
      #about .text-box table tr th {
        width: 20%;
        vertical-align: top; }
        @media screen and (max-width: 575px) {
          #about .text-box table tr th {
            width: 100%;
            display: block;
            background-color: #006934;
            color: #fff;
            padding: 0.5rem 1rem; } }
      #about .text-box table tr td {
        width: 80%;
        vertical-align: top; }
        @media screen and (max-width: 575px) {
          #about .text-box table tr td {
            width: 100%;
            display: block;
            padding: 1rem 1rem; } }
  #about .content-box {
    width: 50%; }
    @media screen and (max-width: 991px) {
      #about .content-box {
        width: 100%;
        text-align: center; } }
    #about .content-box img {
      width: 100%; }
      @media screen and (max-width: 991px) {
        #about .content-box img {
          width: 80%;
          margin: 3rem auto; } }
      @media screen and (max-width: 767px) {
        #about .content-box img {
          width: 100%; } }
  #about .google-map {
    width: 100%;
    height: 450px;
    overflow: hidden;
    border-radius: 2rem; }
    @media screen and (max-width: 1199px) {
      #about .google-map {
        border-radius: 1rem; } }
    @media screen and (max-width: 991px) {
      #about .google-map {
        height: 350px; } }
    @media screen and (max-width: 767px) {
      #about .google-map {
        height: 300px; } }
    #about .google-map iframe {
      width: 100%;
      height: 100%; }

#history {
  background-image: url("../img/company-about.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100%; }
  @media screen and (max-width: 1199px) {
    #history {
      background-position: bottom center; } }
  @media screen and (max-width: 767px) {
    #history .container {
      padding-top: 0; } }
  #history table {
    margin: 4rem 0 3rem;
    width: 60%;
    line-height: 2; }
    @media screen and (max-width: 1199px) {
      #history table {
        width: 70%; } }
    @media screen and (max-width: 991px) {
      #history table {
        width: 100%; } }
    #history table tr th {
      width: 15%;
      vertical-align: top; }
      @media screen and (max-width: 575px) {
        #history table tr th {
          width: 20%; } }
    #history table tr td {
      width: 85%;
      vertical-align: top; }
      @media screen and (max-width: 575px) {
        #history table tr td {
          width: 80%; } }
