@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: 18em 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;
        border-bottom: 1px dotted #000; }
        #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%; }

#flow {
  margin: 2em auto; }
  #flow h2 {
    font-size: 200%;
    text-align: center; }
    #flow h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #flow ul {
    width: 540px;
    margin: 2em auto 0; }
    #flow ul li {
      margin: 5px 0 0;
      position: relative;
      padding: 0 0 1.5em 1.8em; }
      #flow ul li:before {
        content: "";
        display: block;
        position: absolute;
        top: 24px;
        bottom: 0;
        left: 7px;
        width: 1px;
        background: #000; }
      #flow ul li:last-child:before {
        content: "";
        display: block;
        position: absolute;
        top: 24px;
        bottom: 0;
        left: 7px;
        width: 3px;
        background: none; }
      #flow ul li h3 {
        color: #000;
        font-weight: bold;
        margin: 0 0 0.5em; }
        #flow ul li h3 span {
          display: block; }
      #flow ul li p {
        border-bottom: 1px solid #d5d5d5;
        padding: 0 0 2em; }
      #flow ul li .tl_marker {
        content: "";
        display: block;
        position: absolute;
        top: 0px;
        left: -2px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        border: solid 3px #000;
        background-color: #000; }
      #flow ul li .tl_marker2 {
        content: "";
        display: block;
        position: absolute;
        top: 0px;
        left: -2px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        border: solid 2px #000; }
      #flow ul li ul {
        width: 100%;
        margin: 0;
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid #d5d5d5;
        padding: 0 0 2em; }
        #flow ul li ul li {
          padding: 0;
          margin: 0; }
          #flow ul li ul li:before {
            content: "";
            display: block;
            position: absolute;
            top: 0px;
            bottom: 0;
            left: 0px;
            width: 0px;
            background: none; }
          #flow ul li ul li:nth-child(1) {
            width: 78%; }
          #flow ul li ul li:nth-child(2) {
            width: 20%; }
    #flow ul .end p {
      border-bottom: none;
      padding: 0; }

#reform {
  margin: 6em auto 0; }
  #reform h2 {
    font-size: 200%;
    text-align: center; }
    #reform h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #reform #reform_list {
    width: 540px;
    margin: 3em auto; }
    #reform #reform_list li:nth-child(n+2) {
      margin: 2em 0 0;
      border-top: 1px solid #000;
      padding: 2em 0 0; }
    #reform #reform_list li a {
      display: block;
      text-align: center;
      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; }
      #reform #reform_list li a:hover, #reform #reform_list li a:active {
        color: #666;
        text-decoration: none; }
  #reform #reform_case li {
    border: 1px solid #000;
    padding: 2em 2%;
    box-sizing: border-box;
    width: 100%; }
    #reform #reform_case li:nth-child(n+2) {
      margin: 4em 0 0; }
    #reform #reform_case li h3 {
      text-align: center;
      margin: 0 0 2em; }
    #reform #reform_case li .column {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      #reform #reform_case li .column table {
        width: 48%; }
        #reform #reform_case li .column table th {
          width: 26%;
          vertical-align: top;
          padding: 1em 2%; }
        #reform #reform_case li .column table td {
          width: 66%;
          vertical-align: top;
          padding: 1em 2%; }
        #reform #reform_case li .column table tr:nth-child(n+2) {
          border-top: 1px solid #000; }
      #reform #reform_case li .column .images1 {
        width: 48%; }
        #reform #reform_case li .column .images1 figure {
          width: 100%; }
      #reform #reform_case li .column .images2 {
        width: 48%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        #reform #reform_case li .column .images2 figure {
          width: 48%; }

#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 auto 0;
    width: 540px;
    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) {
  /*メイン*/
  #flow, #reform, #contact {
    width: 980px; }

  .reform_contact {
    width: calc(980px - 4%); } }
/* tablet以下共通 ------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 999px) {
  /*メイン*/
  #flow, #reform, #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: 20em auto 0; } }
/* tablet2  */
@media only screen and (max-width: 767px) {
  /*メイン*/
  #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: 16em 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; }

  #flow, #reform {
    margin: 2em auto; }
    #flow h2, #reform 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;
    margin: 2em auto 0; }
    #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: 20em 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; }

  .g_back {
    background-color: #f9f9f9;
    padding: 2em 0; }

  #flow ul {
    width: 80%;
    margin: 2em auto 0; }

  #reform {
    margin: 4em auto 0; }
    #reform h2 {
      font-size: 180%; }
    #reform #reform_list {
      width: 80%;
      margin: 2em auto; }
    #reform #reform_case li {
      border: 1px solid #000;
      padding: 2em 2%;
      box-sizing: border-box;
      width: 100%; }
      #reform #reform_case li:nth-child(n+2) {
        margin: 3em 0 0; }
      #reform #reform_case li h3 {
        text-align: center;
        margin: 0 0 2em; }
      #reform #reform_case li .column {
        flex-direction: column; }
        #reform #reform_case li .column table {
          width: 100%; }
          #reform #reform_case li .column table th {
            width: 26%;
            vertical-align: top;
            padding: 1em 2%; }
          #reform #reform_case li .column table td {
            width: 66%;
            vertical-align: top;
            padding: 1em 2%; }
          #reform #reform_case li .column table tr:nth-child(n+2) {
            border-top: 1px solid #000; }
        #reform #reform_case li .column .images1 {
          width: 100%;
          margin: 1em 0 0; }
          #reform #reform_case li .column .images1 figure {
            width: 100%; }
        #reform #reform_case li .column .images2 {
          margin: 1em 0 0;
          width: 100%; } }
/* smartPhone1 */
@media only screen and (max-width: 499px) {
  /*メイン*/ }
