@charset "UTF-8";
/* CSS Document */
@media screen and (max-width: 767px) { /*ウィンドウ幅が最大479pxまでの場合に適用*/
  h1, h2, h3, h4, h5, p {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  }
  #header {
    background: #fff;
    width: 100%;
    margin: auto;
    padding: 0 0 10px 0;
  }
  #header h1 img {
    max-width: 50%;
    margin: auto;
    display: block;
  }
  .header_title {
    width: 100%;
    margin: auto;
    background: #8dc31e;
  }
  p.header_title_in { /*トップのテキスト*/
    text-align: center;
    margin: auto;
    color: #fff;
    font-size: 0.6em;
    line-height: 1.5;
    padding: 5px 2em;
    margin-bottom: 1em;
  }
  .header_right {
    display: none;
  }
  .header_right p.tellink {
    color: orangered;
    text-align: center;
    margin: 5px 0 0 0;
    line-height: 1.2;
    font-size: 60%;
  }
  .header_right p.tellink span a {
    text-align: center;
    color: orangered;
    font-size: 2.2em;
    letter-spacing: 0.1em;
    margin-left: 10px;
  }
  /*************************************************/
  /*トップページ*/
  /*************************************************/
  #main_img .slider img {
    width: 100%;
    background-size: cover;
  }
  .index_title {
    text-align: center;
    font-size: 1em;
    font-weight: bold;
    letter-spacing: 1px;
    color: #000;
    line-height: 1.5;
    margin-top: 2.5em;
    margin-bottom: 2em
  }
  .goaisatu {
    width: 90%;
    margin: auto;
    line-height: 1.5;
    margin-bottom: 1.5em;
  }
  .president_area img {
    width: 100%;
    margin-bottom: 1.5em;
  }
  .president_area > div {
    text-align: center;
  }
  .president_area > div img {
    width: 80%;
  }
  .president_area p.name {
    margin-top: 1em;
  }
  .president_area p:first-of-type {
    text-align: left !important;
    margin-bottom: 0.5em;
  }
  .slick-dots {
    display: none;
  }
  /*共通コンテンツ*/
  /***************************************************/
  #greet, #company, #service,#jirei {
    overflow: hidden;
    width: 92%;
    margin: auto;
    margin-bottom: 2em;
  }
  #greet {
    margin-bottom: 4em;
  }
  #works {
    margin-bottom: 0px;
  }
  #greet h3, #works h3, #company h3, #service h3, #jirei h3 {
    font-size: 1.2em;
    font-weight: bold;
    color: #000;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 0em;
    font-family: Arial, Helvetica, "sans-serif";
  }
  #greet h3 span, #works h3 span, #company h3 span {
    color: #5e5e5e;
    font-size: 0.5em;
    font-weight: normal;
  }
  h4 {
    text-align: center;
    color: #8dc31e;
    font-size: 0.5em !important;
    margin-bottom: 1.5em !important;
  }
  #greet p, #works p {
    font-size: 0.8em;
    text-align: justify;
    line-height: 1.5
  }
  #greet p.name {
    text-align: center;
    font-size: 100%;
  }
  #works {
    width: 100%;
    padding: 2em 0 2em 0;
    background-size: cover;
    margin-top: 2em;
  }
  .works_in {
    width: 90%;
    margin: auto;
    margin-top: 0 !important;
  }
  .flex_area {
    display: inline;
    width: 100%;
    margin-bottom: 2em;
  }
  .flex_in1 {
    text-align: center;
  }
  .flex_in1 img {
    width: 50%;
    margin-bottom: 1em;
  }
  .flex_in2 {
    margin-left: 0;
    width: 100%;
    margin-bottom: 1em
  }
  /*タイトルの線*/
  .head-border {
    display: flex;
    align-items: center;
  }
  .head-border:before, .head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
  }
  .head-border:before {
    margin-right: 1rem;
  }
  .head-border:after {
    margin-left: 1rem;
  }
  .bold {
    font-weight: bold;
    margin-bottom: 1em;
    text-align: center !important;
  }
  .brnone {
    display: none;
  }
  /*FLEXBOX*/
  .cssgrid {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .cssgrid > div {
    width: 100%;
    margin-bottom: 2em;
    min-width: 0;
  }
  .cssgrid > div img {
    width: 100%;
    overflow: hidden;
    margin-bottom: 1em;
  }
  .cssgrid > div p {
    font-size: 0.9em;
    line-height: 1.5;
  }
  .cssgrid h5 {
    text-align: center;
    padding: 0 0 0.5em 0;
    font-weight: bold;
    line-height: 1.5;
    font-size: 100%;
  }
  .tuyomi_flex {
    display: block;
  flex-wrap: wrap;
  justify-content: space-between;
  }
  .tuyomi_flex > div {
    width: 100%;
    margin-bottom: 1.5em;
    min-width: 0;
  }
  .tuyomi_flex > div img {
    width: 100%;
    overflow: hidden;
    margin-bottom: 0!important;
  }
  .tuyomi_flex h5 {
    font-weight: bold;
    margin-bottom: 0.5em;
    font-size: 100% !important;
  }
  .tuyomi_flex p {
    margin-bottom: 0.5em;
    line-height: 1.5;
    text-align: justify;
    font-size: 80%;
  }
  #souki {
    font-size: 80% !important;
  }
	
	
.green_flex{
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	margin-bottom: 5em;
}
.green_flex > div{
	width: 100%;
	padding: 1em;
	background: #d5ffd9;
	margin-bottom: 10px;
	font-size: 80%;
	font-weight: bold;
}
	
	
	
	
	
	
	
	
	
	
  /*テーブル*/
  .kaisha {
    width: 100%;
    margin-bottom: 50px;
    font-size: 90%;
  }
  .kaisha th, .kaisha td {
    border-bottom: 1px solid #ccc;
    padding: 10px;
    font-size: 0.8em;
  }
  .kaisha th {
    width: 20%;
  }
  .enkaku th, .enkaku td {
    border-bottom: none;
    padding: 5px 0;
    vertical-align: top;
    font-size: 100%;
  }
  .enkaku td {
    padding-right: 10px;
  }
  #results .kaisha th, #results .kaisha td {
    border-bottom: 1px solid #ccc;
    padding: 10px;
    font-size: 0.8em;
  }
  .table_sp {
    overflow: auto;
    white-space: nowrap;
  }
  .m20 {
    margin: 1em 0;
  }
  td.tel a {
    color: #000000;
  }
  .toi_flex,.mental_flex {
    display: block;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .toi_flex > div,.mental_flex > div {
    width: 100%;
    background: #8dc31e;
    margin-top: 0.5em;
  }
  .toi_flex p a,.mental_flex p a {
    text-align: center;
    color: #fff;
    font-size: 0.8em;
    display: block;
    padding: 2em;
    line-height: 1.3;
  }
  .toi_flex p a:hover {
    background: #4a9552;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
  }
  .toi_flex p span {
    text-align: center;
    color: #fff;
    font-size: 1.2em !important;
  }
  .toi_flex .fa-solid {
    color: #fff;
    margin-right: 0.2em
  }
  .toi_p {
    font-size: 80%;
  }
  /*フッター*/
  #footer {
    background: #8dc31e;
  }
  .footer_in {
    width: 90%;
    margin: auto;
  }
  #footer .foot_logo img {
    width: 100%;
    margin-bottom: 10px;
  }
  #footer ul {
    display: none;
  }
  #footer p.copy {
    text-align: center;
    font-size: 0.5em;
    color: #000;
    padding: 15px 0;
    background: #ffff;
  }
}