@charset "UTF-8";
@import url("base.css");
/*共通設定-------------------------------------------------------------------------------------------------------------------------------------*/
/*基本設定*/
/*メイン*/
#m_top {
  width: 100%;
  position: relative; }
  #m_top #main_text {
    width: 470px;
    position: absolute;
    top: 20em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-color: #fff;
    padding: 2em 35px;
    border: 1px solid #000;
    text-align: center;
    line-height: 2; }
  #m_top ul {
    width: 540px;
    margin: 15em auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #m_top ul li {
      width: 31.333%;
      text-align: center; }
      #m_top ul li a {
        font-weight: bold;
        text-decoration: none;
        color: #000;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all  0.3s ease; }
        #m_top ul li a:hover, #m_top ul li a:active {
          color: #000;
          text-decoration: none;
          color: #666; }
  #m_top .top_img img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    /* この一行を追加するだけ！ */ }

.g_back {
  background-color: #f9f9f9;
  padding: 3em 0;
  margin: 6em 0 0;
  width: 100%; }

#strengths {
  margin: 2em auto; }
  #strengths h2 {
    font-size: 200%;
    text-align: center; }
    #strengths h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #strengths dl {
    width: 540px;
    margin: 2em auto 0;
    text-align: center; }
    #strengths dl dt {
      font-weight: bold; }
    #strengths dl dd {
      margin: 1em 0 0; }
  #strengths .work {
    margin: 6em auto 0; }
    #strengths .work ul {
      width: 100%;
      margin: 3em 0 0;
      border: 1px solid #000;
      padding: 2em 4%;
      box-sizing: border-box;
      background-color: #fff; }
      #strengths .work ul li:nth-child(n+2) {
        margin: 2em 0 0;
        padding: 2em 0 0;
        border-top: 1px solid #d8d8d8; }
      #strengths .work ul li h3 {
        text-align: center; }
      #strengths .work ul li dl {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        text-align: left; }
        #strengths .work ul li dl dt {
          width: 30%; }
        #strengths .work ul li dl dd {
          width: 66%;
          position: relative;
          margin: 0; }
          #strengths .work ul li dl dd span {
            position: absolute;
            bottom: 0em;
            left: 50%;
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%); }
            #strengths .work ul li dl dd span a {
              font-size: 112.5%;
              font-weight: bold;
              color: #000;
              text-decoration: none;
              -webkit-transition: all 0.3s ease;
              -moz-transition: all 0.3s ease;
              -o-transition: all 0.3s ease;
              transition: all  0.3s ease; }
              #strengths .work ul li dl dd span a:hover, #strengths .work ul li dl dd span a:active {
                text-decoration: none;
                color: #666; }

#care {
  margin: 6em auto 0; }
  #care h2 {
    font-size: 200%;
    text-align: center; }
    #care h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #care p {
    margin: 2em 0 3em;
    text-align: center;
    font-weight: bold; }

#future {
  margin: 2em auto; }
  #future h2 {
    font-size: 200%;
    text-align: center; }
    #future h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #future dl {
    width: 540px;
    margin: 2em auto 3em;
    text-align: center; }
    #future dl dt {
      font-weight: bold; }
    #future dl dd {
      margin: 1em 0 0; }
  #future .reform_contact {
    margin: 2em auto 0;
    background-color: #fff;
    border: 1px solid #000;
    padding: 1em 2% 2em; }
    #future .reform_contact h3 {
      text-align: center;
      border-bottom: 1px solid #d8d8d8;
      padding: 2em 0; }
    #future .reform_contact dl {
      width: 100%;
      margin: 2em 0 1em; }

#contact {
  margin: 6em auto 0; }
  #contact h2 {
    font-size: 200%;
    text-align: center; }
    #contact h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #contact p {
    margin: 2em 0 0;
    text-align: center; }
  #contact ul {
    width: 100%;
    margin: 4em auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #contact ul li {
      padding: 4em 4%;
      width: 46%;
      border: 1px solid #000;
      box-sizing: border-box; }
      #contact ul li dl dt {
        text-align: center;
        border-bottom: 1px dotted #000; }
      #contact ul li dl dd a {
        display: block;
        width: 80%;
        margin: 2em auto 0; }
      #contact ul li:nth-child(2) dl dd a {
        display: block;
        padding: 1em 2%;
        margin: 2em auto 0;
        background-color: #000;
        color: #fff;
        text-decoration: none;
        text-align: center;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all  0.3s ease; }
        #contact ul li:nth-child(2) dl dd a:hover, #contact ul li:nth-child(2) dl dd a:active {
          background-color: #333;
          color: #fff;
          text-decoration: none; }

/*共通設定ここまで-------------------------------------------------------------------------------------------------------------------------------------*/
/* pc */
@media screen and (min-width: 1000px) {
  /*メイン*/
  #strengths, #care, #contact {
    width: 980px; }

  .reform_contact {
    width: calc(980px - 4%); } }
/* tablet以下共通 ------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 999px) {
  /*メイン*/
  #strengths, #care, #contact {
    width: 96%; }

  .reform_contact {
    width: 88%; } }
/* tablet以下共通ここまで ------------------------------------------------------------------------------------------*/
/* tablet1  */
@media only screen and (min-width: 768px) and (max-width: 999px) {
  #m_top #main_text {
    top: 24em; }
  #m_top ul {
    margin: 10em auto 0; } }
/* tablet2  */
@media only screen and (max-width: 767px) {
  /*メイン*/
  .g_back {
    background-color: #f9f9f9;
    margin: 3em 0 0; }

  #strengths {
    margin: 2em auto; }
    #strengths h2 {
      font-size: 180%; }
    #strengths dl {
      width: 540px;
      margin: 2em auto 0;
      text-align: center; }
      #strengths dl dt {
        font-weight: bold; }
      #strengths dl dd {
        margin: 1em 0 0; }
    #strengths .work {
      margin: 3em auto 0; }
      #strengths .work ul li dl {
        flex-direction: column; }
        #strengths .work ul li dl dt {
          width: 80%;
          margin: 0 auto 1em; }
        #strengths .work ul li dl dd {
          width: 100%; }
          #strengths .work ul li dl dd span {
            position: static;
            bottom: 0em;
            left: 0%;
            transform: translateX(0%);
            -webkit-transform: translateX(0%);
            -ms-transform: translateX(0%);
            display: block;
            margin: 1em 0 0;
            text-align: center; }

  #care {
    margin: 3em auto 0; }
    #care h2 {
      font-size: 180%; }
    #care p {
      width: 80%;
      margin: 2em auto 3em; }

  #future {
    margin: 2em auto; }
    #future h2 {
      font-size: 180%; }

  #contact h2 {
    font-size: 180%; }
  #contact p {
    width: 80%;
    margin: 2em auto 0;
    text-align: center; }
  #contact ul {
    flex-direction: column; }
    #contact ul li {
      padding: 4em 4%;
      width: 80%;
      margin: 0 auto; }
      #contact ul li:nth-child(n+2) {
        margin: 2em auto 0; } }
/* tablet3  */
@media only screen and (max-width: 550px) {
  /*メイン*/
  #m_top {
    width: 100%;
    position: relative; }
    #m_top #main_text {
      width: 82%;
      position: absolute;
      top: 22em;
      padding: 2em 4%; }
    #m_top ul {
      width: 96%;
      margin: 13em auto 0;
      flex-direction: column; }
      #m_top ul li {
        width: 100%;
        text-align: center; }
        #m_top ul li:nth-child(n+2) {
          margin: 2em 0 0; }

  #strengths dl {
    width: 80%;
    margin: 2em auto 0;
    text-align: center; }
    #strengths dl dt {
      font-weight: bold; }
    #strengths dl dd {
      margin: 1em 0 0; }

  #future dl {
    width: 80%;
    margin: 2em auto 3em; } }
/* smartPhone1 */
@media only screen and (max-width: 499px) {
  /*メイン*/ }
