@charset "UTF-8";
/*
Theme Name: source_child
Version: 2.2.2
Template: source_tcd045
*/

*, *:before, *:after {
  box-sizing: border-box;
}

body, .rich_font {
  font-family: "noto-sans-cjk-jp", sans-serif !important;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
 }


/* 共通タグ ----------------------------------------------------------*/

.index_free_content {
  width: 100% !important;
  margin: 0 auto;
}

.wrap {
  width: 1150px;
  margin: 0 auto;
}

@media screen and (min-width:768px) and (max-width:1024px) {
  .wrap { width: 100%; }
}

@media screen and (max-width: 767px) {
  .wrap { width: 90%; }
  .index_free_content { padding: 0 !important; }
}

.center {
  text-align: center;
  margin: 0 auto;
}

img { width: 100%; }

.post_content p {
  color: #646464;
}

a {
  text-decoration: none !important;
}


@media screen and (min-width: 767px){
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 767px){
  .pc { display:none; }
  .sp { display:block; }

  .center {
    text-align: left;
  }
}


/* 共通見出し・ボタン --------------------------------------------------*/

h2.h2_style1 {
  font-size: 30px !important;
  font-weight: 700 !important;
  text-align: center;
  color: #89caa2;
  margin-bottom: 40px !important;
}

.post_content h3.h3_style1 {
  background: #5DA37C;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 10px 20px;
  margin: 20px 0 30px;
}

.post_content h4.h4_style1 {
  width: 99%;
  position: relative;
  background: #f4f4f4;
  padding: 5px 5px 5px 45px;
  font-size: 18px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  left: 1%;
  margin-bottom: 1.5em;
}

.post_content h4.h4_style1:before {
  font-family: "Font Awesome 5 Free";
  content: "\f041";
  display: inline-block;
  position: absolute;
  padding: 0em;
  color: #fff;
  background: #89CAA2;
  font-weight: 900;
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  left: -10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
}


.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  color: #212529;
  border-radius: 5px;
}

.btn-green {
  width: 270px;
  height: 58px;
  font-size: 15px;
  color: #fff !important;
  background: #5DA37C;
}

.btn-green:hover {
  color: #fff !important;
  background: #70c496;
}

.btn-orange {
  color: #fff !important;
  background: #EC5447;
}

.btn-orange:hover {
  color: #fff !important;
  background: #fb766a;
}

.fa {
  margin-right: 10px;
}



/* flexboxベース --------------------------------------------------*/

.items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.col_3 {
  width: 31%;
  margin-bottom: 2em;
}

.col_2 {
  width: 48%;
  margin-bottom: 2em;
}

@media screen and (max-width: 767px){
  .col_3, .col_2, .col_2a, .col_2b { width: 100%; }
}



/* TOPページ --------------------------------------------------*/

/* header */

#header {
  background: #fff !important;
}

#header, #header_inner {
  height: 140px;
}

.pc #logo_text {
  top: 45px;
}

#logo_text a {
  color: #5DA37C !important;
}

.mobile #logo_text a {
  font-weight: bold;
}

@media only screen and (max-width: 1199px) {
  a.menu_button:before {
    color: #5DA37C !important;
  }
}

.head_tel {
  float: right;
  width: 20%;
  margin-top: 25px;
}

.head_tel .btn-orange {
  width: 230px;
  height: 50px;
  font-size: 20px;
  line-height: 0.5;
}

.pc #global_menu {
  height: 50px;
  clear: both;
  background: #5DA37C;
  width: 100vw;
  margin: 20px calc(50% - 49.4vw) 0;
}

.pc #global_menu > ul {
  margin: 0 auto;
  height: 50px;
  width: 1150px;
}

.pc #global_menu > ul > li > a {
  font-size: 16px;
  height: 50px;
  line-height: 50px;
  padding: 0 74px;
}

.pc #global_menu ul ul {
  width: 230px;
  top: 50px;
  left: 20px;
}

.pc #global_menu > ul > li.active > a,
.pc #global_menu > ul > li > a:hover {
  color: #FFE74E !important;
}

.pc #global_menu li.current-menu-item > a {
  color: #fff !important;
}

#header_slider {
  margin-top: 140px;
}

#bread_crumb {
  overflow: unset;
}


/* main_contents */

#topsec1 {
  padding-bottom: 100px;
}

#topsec1 h2.h2_style1 {
  font-size: 25px;
}

#topsec1 .col_2a {
  width: 40%;
}

#topsec1 .col_2b {
  width: 55%;
}

#topsec2 {
  background: #FFFBDC;
  padding: 100px 0;
}

#topsec2 .col_2 {
  width: 44%;
}

#topsec2 .white-box {
  background: #fff;
  padding: 20px 25px;
}

#index_news_list {
  padding: 100px 0;
}

.news_list .date {
  color: #5BA27D;
}

#topsec3 {
  background: #F4D4BC;
  padding: 100px 0;
}

#topsec3 h2 {
  text-align: center;
  margin-bottom: 50px;
}

#topsec3 h2 img {
  width: 500px;
}

#topsec3 .col_3 {
  background: #fff;
  padding: 40px 15px 30px;
}

#topsec3 .col_3 h3 {
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  color: #646464;
  margin-bottom: 20px;
}

#topsec3 .col_3 p {
  margin: 0 0 1em;
}

#index_blog_list {
  padding: 100px 0 0;
}

#topsec4 {
  padding: 0 0 100px;	
}

#topsec4 .col_2 {
  margin-bottom: 50px;
}

#topsec5 {
  background: #FFFBDC;
  padding: 100px 0;
}

#topsec5 .col_2 {
  text-align: center;
}

#topsec5 .btn-green {
  width: 450px;
  height: 80px;
  font-size: 30px;
  font-weight: bold;
}

#topsec6 {
  padding: 100px 0;
}

.gray-box {
  background: #F1F1F1;
  padding: 30px;
  margin-top: 5em;
}

.gray-box .col_2 {
  text-align: center;
  margin-bottom: 0;
}

.gray-box p {
  width: 100%;
  font-size: 20px;
}

.gray-box .btn-orange {
  width: 400px;
  height: 80px;
  font-size: 30px;
}

.gray-box .red-txt {
  font-weight: bold;
  color: #EC5447 !important;
  margin-bottom: 0;
}

@media screen and (max-width: 767px){
  .head_tel {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
  }
  .head_tel a {
    margin-top: 10px;
  }
  #header_slider {
    margin-top: 25px;
    height: 55vh !important;
  }
  #header_slider .item {
    height: 55vh !important;
  }
  #bread_crumb {
    margin: 80px 0 30px !important;
  }
  #topsec1 {
    padding-bottom: 50px;
  }
  #topsec2, #topsec3, #topsec5, #topsec6 {
    padding: 50px 0;
  }
  #topsec4 {
    padding: 20px 0;
  }
  #topsec1 .col_2a, #topsec1 .col_2b, #topsec2 .col_2 {
    width: 100%;
  }
  #topsec3 h2 {
    margin-bottom: 30px;
  }
  .btn-green, #topsec5 .btn-green, .head_tel .btn-orange, .gray-box .btn-orange {
    width: 100%;
  }
  .gray-box p {
    font-size: 15px;
  }
  .gray-box .btn-orange {
    height: 65px;
    font-size: 22px;
  }
  .gray-box .red-txt {
    margin-bottom: 10px;
  }
}



/* 会社概要ページ ------------------------------------------*/

.post_content table.tbl1 {
  margin: 20px auto;
}

.post_content .tbl1 th {
  width: 30%;
  background: #eaeaea;
  border: solid 1px #ccc;
  color: #000;
  padding: 10px;
}

.post_content .tbl1 td {
  border: solid 1px #ccc;
  padding: 10px 20px;
}

@media screen and (max-width: 767px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .post_content .tbl1 {
    width: 80%;
  }
  .post_content .tbl1 th,
  .post_content .tbl1 td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}


/* お問い合わせページ ------------------------------------------*/

table.CF7_table{
	margin:0 auto;
	border: 3px solid #e5e5e5;
}

table.CF7_table tr{
	border-top: 1px solid #e5e5e5;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display: table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #EC5447;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

@media screen and (min-width: 768px){
	.CF7_table th {
	width:30%;
	background-color:#ebedf5;
  text-align: left;
  vertical-align: top;
	}
}

.post_content td, .post_content th {
  padding: 15px;
}

.CF7_table .wpcf7-list-item {
  display: inline-block;
}

.wpcf7 p {
  font-size: 14px !important;
  margin-bottom: 0 !important;
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:95%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
	background-color:#ebedf5;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#f79034;/* オレンジ*/
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}