@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 0;
  margin: 6em 0 0;
  width: 100%; }

#thoughts {
  margin: 3em auto 0; }
  #thoughts h2 {
    font-size: 200%;
    text-align: center; }
    #thoughts h2 span {
      font-size: 50%;
      font-weight: normal !important;
      display: block; }
  #thoughts #thoughts_inner {
    margin: 3em auto 0;
    text-align: center;
    width: 540px; }
    #thoughts #thoughts_inner h3 {
      margin: 0 0 1em; }
    #thoughts #thoughts_inner .inner_name {
      margin: 2em 0 0;
      padding: 2em 0 0;
      border-top: 2px solid #000;
      font-weight: bold; }
  #thoughts #about {
    border-top: 1px solid #d8d8d8;
    margin: 6em auto 0;
    padding: 6em 0 0; }
    #thoughts #about #comcept_inner {
      margin: 4em auto 0; }
      #thoughts #about #comcept_inner li {
        width: 80%;
        margin: 0 auto;
        position: relative;
        height: 500px;
        background-image: url(../img/life/photo01.png);
        background-position: right;
        background-repeat: no-repeat;
        background-size: 60% auto; }
        #thoughts #about #comcept_inner li dl {
          position: absolute;
          top: 50%;
          left: 0%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          width: 46%;
          background-color: #fff;
          padding: 2em 2%;
          border: 1px solid #000;
          box-sizing: border-box; }
          #thoughts #about #comcept_inner li dl dt {
            text-align: center;
            font-weight: bold;
            margin: 0 0 1em; }
            #thoughts #about #comcept_inner li dl dt span {
              font-size: 50%;
              font-weight: normal !important;
              display: block; }
          #thoughts #about #comcept_inner li dl dd table {
            width: 100%;
            margin: 2em 0 0; }
            #thoughts #about #comcept_inner li dl dd table tr:nth-child(n+2) {
              border-top: 1px solid #000; }
            #thoughts #about #comcept_inner li dl dd table th {
              width: 26%;
              padding: 1em 2% 1em 0;
              vertical-align: top;
              text-align: left; }
            #thoughts #about #comcept_inner li dl dd table td {
              width: 70%;
              padding: 1em 0 1em 2%; }
              #thoughts #about #comcept_inner li dl dd table td a {
                color: #000;
                text-decoration: none; }
                #thoughts #about #comcept_inner li dl dd table td a:hover, #thoughts #about #comcept_inner li dl dd table td a:active {
                  color: #000;
                  text-decoration: underline; }

#thoughts_bottom {
  width: 100%;
  margin: 3em 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #thoughts_bottom li {
    width: 25%; }

#flow {
  margin: 6em 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: 3em auto 0;
  padding: 0 0 6em; }
  #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%;
    background-color: #fff; }
    #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%; }
      #reform #reform_case li .column table {
        width: 100%; }
        #reform #reform_case li .column table th {
          width: 16%;
          vertical-align: top;
          padding: 1em 2%; }
        #reform #reform_case li .column table td {
          width: 78%;
          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 .images {
        width: 100%;
        margin: 2em 0 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        #reform #reform_case li .column .images figure {
          width: 31.333%; }

#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) {
  /*メイン*/
  #thoughts, #flow, #reform, #contact {
    width: 980px; }

  .reform_contact {
    width: calc(980px - 4%); }

  #thoughts {
    margin: 3em auto 0; }
    #thoughts figure {
      display: none; } }
/* tablet以下共通 ------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 999px) {
  /*メイン*/
  #thoughts, #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; }

  #thoughts {
    margin: 3em auto 0; }
    #thoughts h2 {
      font-size: 200%;
      text-align: center; }
      #thoughts h2 span {
        font-size: 50%;
        font-weight: normal !important;
        display: block; }
    #thoughts #about #comcept_inner li {
      height: 300px; }
    #thoughts #about #comcept_inner figure {
      display: none; } }
/* 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; }

  #thoughts, #flow, #reform {
    margin: 2em auto; }
    #thoughts h2, #flow h2, #reform h2 {
      font-size: 180%; }

  #thoughts_bottom li {
    width: 50%; }

  #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: 18em 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 0; }

  #thoughts {
    margin: 3em auto 0; }
    #thoughts #thoughts_inner {
      margin: 3em auto 0;
      width: 80%; }
    #thoughts #about {
      border-top: 1px solid #d8d8d8;
      margin: 6em auto 0;
      padding: 6em 0 0; }
      #thoughts #about #comcept_inner {
        width: 100%;
        margin: 4em 0 0; }
        #thoughts #about #comcept_inner li {
          width: 100%;
          margin: 0;
          position: static;
          height: initial;
          background-image: none; }
          #thoughts #about #comcept_inner li dl {
            position: static;
            top: 0%;
            left: 0%;
            transform: translateY(0%);
            -webkit-transform: translateY(0%);
            -ms-transform: translateY(0%);
            width: 100%;
            margin: 0 0%;
            border: none; }
            #thoughts #about #comcept_inner li dl dt {
              font-size: 180%; }

  #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 {
            display: block;
            width: 96%;
            padding: 1em 2% 0 2%; }
          #reform #reform_case li .column table td {
            display: block;
            width: 96%; }
        #reform #reform_case li .column .images {
          margin: 1em 0 0; } }
/* smartPhone1 */
@media only screen and (max-width: 499px) {
  /*メイン*/ }
