@charset "UTF-8";
:root {
  --font-gothic:
     "Noto Sans JP",
     "Hiragino Kaku Gothic ProN",
  YuGothic,
  "Helvetica Neue",
     Arial,
     "Hiragino Sans",
     Meiryo,
     sans-serif;
  --font-mincho:
  "游明朝",
  "Yu Mincho",
  YuMincho,
  "Hiragino Mincho Pro",
  serif;
  --font-marugothic:
  "Lucida Grande",
  "segoe UI",
  "ヒラギノ丸ゴ ProN W4",
  "Hiragino Maru Gothic ProN",
  Meiryo, Arial,
  sans-serif;
  --font-special:
  "Roboto",
  sans-serif;
}

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

* {
  margin: 0;
}

html,
body,
ul,
ol,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  width: 100%;
  margin: 0;
  padding: 0;
  color: #333333;
  line-height: 1.5;
  font-family: var(--font-gothic);
  font-weight: 400;
}

table {
  border-collapse: collapse;
  border: none;
  border-spacing: 0;
}

th,
td {
  vertical-align: middle;
  font-weight: normal;
  text-align: left;
}

img {
  width: 100%;
  vertical-align: middle;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  color: #333333;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover {
  opacity: 0.8;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

ul {
  list-style: none;
}

/*フッター固定*/
html, body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

footer {
  margin-top: auto;
}

[class^=cont_] {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

.hdr {
  background: #fff;
  padding: 20px 0;
}
.hdr .cont_hdr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 600px) {
  .hdr .cont_hdr {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.hdr .cont_hdr .logo {
  width: 300px;
  padding-right: 20px;
}
@media (max-width: 600px) {
  .hdr .cont_hdr .logo {
    width: 200px;
    padding-right: 0;
  }
}
.hdr .cont_hdr .hdr_list {
  margin-left: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 600px) {
  .hdr .cont_hdr .hdr_list {
    display: none;
  }
}
.hdr .cont_hdr .hdr_list li {
  font-size: clamp(13px,1.75vw ,16px);
}
.hdr .cont_hdr .hdr_list li + li {
  margin-left: clamp(2px,2.667vw ,60px);
}

.ham .menu03, .ham .menu02, .ham .menu01 {
  height: 2px;
  width: 26px;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.ham.ham_active .menu03, .ham.ham_active .menu01 {
  top: 50%;
  left: 37%;
  width: 30%;
}

.ham {
  background: #305836;
  position: fixed;
  top: 0;
  right: 0;
  display: none;
  width: 60px;
  height: 60px;
  z-index: 100;
  cursor: pointer;
}
.ham.ham_active .menu01 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.ham.ham_active .menu02 {
  opacity: 0;
}
.ham.ham_active .menu03 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.ham .menu01 {
  top: 35%;
}
.ham .menu02 {
  top: 50%;
}
.ham .menu03 {
  top: 65%;
}
@media (max-width: 600px) {
  .ham {
    display: block;
  }
}

/*アニメーション*/
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100%;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100%;
  }
}
.ham_bg {
  display: none;
}
@media (max-width: 600px) {
  .ham_bg.ham_bg_active {
    -webkit-box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.5);
            box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.5);
    display: block;
    -webkit-animation: fadein 0.4s ease;
            animation: fadein 0.4s ease;
    background: #305836;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    z-index: 10;
  }
  .ham_bg.ham_bg_active .logo {
    width: 200px;
    padding: 20px 0;
    margin: 0 auto;
  }
  .ham_bg.ham_bg_active .hdr_list .hdr_item a {
    display: block;
    color: #fff;
    padding: 1em;
    border-top: 1px solid #fff;
    background: #305836;
  }
  .ham_bg.ham_bg_active .hdr_list .hdr_item a:hover {
    background: #27482c;
    opacity: 1;
  }
}

/*	menu_activeがついたとき*/
/*	.menu_active .menu01{
		top: 50%;
		left: 37%;
		transform:rotate(-45deg);
    	width: 30%;
	}
	.menu_active .menu02{
		opacity: 0;
	}
	.menu_active .menu03{
		top: 50%;
		left: 37%;
		transform:rotate(45deg);
		width: 30%;
	}*/
.k_v {
  background: #fff;
  padding: 30px;
}
.k_v .cont_k_v {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 600px) {
  .k_v .cont_k_v {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.k_v .cont_k_v .k_v_l {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.k_v .cont_k_v .k_v_l h1 {
  color: #305836;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
.k_v .cont_k_v .k_v_l p {
  text-align: justify;
  margin-top: 20px;
  line-height: 2;
}
@media (max-width: 600px) {
  .k_v .cont_k_v .k_v_l {
    margin-bottom: 30px;
  }
}
.k_v .cont_k_v a:hover {
  opacity: 1;
}
.k_v .cont_k_v a .k_v_r {
  margin-right: clamp(0px,2.083vw ,50px);
  margin-left: clamp(50px,8.333vw ,100px);
  width: 200px;
  height: 200px;
  background: #305836;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}
@media (max-width: 600px) {
  .k_v .cont_k_v a .k_v_r {
    margin: 0;
  }
}
.k_v .cont_k_v a .k_v_r:hover {
  background: #27482c;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.k_v .cont_k_v a .k_v_r:hover .k_v_r_ttl,
.k_v .cont_k_v a .k_v_r:hover .k_v_r_txt {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.k_v .cont_k_v a .k_v_r .k_v_r_ttl {
  font-size: 1.675rem;
  color: #fff;
  font-family: var(--font-special);
  letter-spacing: 0.03em;
  font-weight: 500;
}
.k_v .cont_k_v a .k_v_r .k_v_r_txt {
  line-height: 1.3;
  color: #fff;
}

.k_v_img {
  padding: clamp(30px,5vw ,60px) 0;
}
.k_v_img .index_images li {
  width: 25%;
  overflow: hidden;
}
.k_v_img .index_images li img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 17vw;
}

.sub_ttl {
  margin-bottom: 40px;
}
.sub_ttl h2 {
  font-family: var(--font-special);
  letter-spacing: 0.03em;
  font-weight: 700;
  color: #2a8bd1;
  font-size: 1.5rem;
  margin-top: 15px;
}

.midashi {
  font-weight: 500;
}

/*一覧へ戻る・一覧へ行くときの緑*/
.go {
  font-weight: 700;
  color: #258b35;
  display: block;
  margin-top: 15px;
}
.go:after {
  content: "＞";
}

/*一覧へ戻る*/
.back {
  font-weight: 700;
  color: #258b35;
  display: block;
  margin-top: 15px;
}
.back:before {
  content: "＜";
}

/*ボタンのみ*/
.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0 auto;
  display: block;
  width: 280px;
  padding: 14px;
  background: #2a8bd1;
  text-align: center;
  border: none;
  outline: none;
  border-radius: 40px;
  color: #fff;
  margin-top: 15px;
  cursor: pointer;
}

.btn_submit:hover {
  background: #216fa7;
}

/*ニュース日付*/
.cont_ind_news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: clamp(30px,5vw ,60px) 0;
}
@media (max-width: 600px) {
  .cont_ind_news {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cont_ind_news .sub_ttl {
  width: clamp(100px,16.667vw ,200px);
}
@media (max-width: 600px) {
  .cont_ind_news .sub_ttl {
    text-align: center;
    width: 100%;
  }
}
.cont_ind_news .ind_news {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 600px) {
  .cont_ind_news .ind_news {
    width: 100%;
  }
}
.cont_ind_news .ind_news .news_article {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #bfbfbf;
}
.cont_ind_news .ind_news .news_article .news_date {
  font-size: 0.875rem;
  color: #4c4c4c;
  margin-bottom: 5px;
}
.cont_ind_news .ind_news .news_article .news_ttl:hover {
  text-decoration: underline;
}
.cont_ind_news .ind_news .go {
  text-align: end;
}

.bg_works {
  background: #eef1ef;
  padding: clamp(30px,5vw ,60px) 0;
}
.bg_works .cont_works .sub_ttl {
  text-align: center;
}
.bg_works .cont_works .works_list {
  margin-bottom: 30px;
}
.bg_works .cont_works .works_list .works_date {
  margin: 10px 0;
  color: #258b35;
}

.btn_arrow {
  width: 41px;
  height: 41px;
  border: 1px solid #305836;
  border-radius: 50%;
  cursor: pointer;
  background: #fff;
}

.btn_arrow::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  border-right: 3px solid #305836;
  border-top: 3px solid #305836;
  border-radius: 1px;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.btn_arrow.arrow_next::after {
  left: 46%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.btn_arrow.arrow_prev::after {
  left: 54%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}

.cont_service {
  padding: clamp(30px,5vw ,60px) 0;
}
.cont_service .sub_ttl {
  text-align: center;
}
.cont_service .ind_service_des {
  width: 50%;
  margin-left: auto;
  padding-left: clamp(10px,2.917vw ,50px);
}
@media (max-width: 600px) {
  .cont_service .ind_service_des {
    width: 100%;
    text-align: center;
  }
}
.cont_service .ind_service_des h3 {
  font-size: 1.5rem;
  line-height: 2em;
}
.cont_service .ind_service_des .go {
  text-align: end;
}
@media (max-width: 600px) {
  .cont_service .ind_service_des .go {
    text-align: center;
    margin-bottom: 30px;
  }
}
.cont_service .ind_services_event {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 600px) {
  .cont_service .ind_services_event {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 600px) {
  .cont_service .ind_services_event {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.cont_service .ind_services_event img {
  width: 50%;
  padding-right: 2%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 350px;
}
@media (max-width: 600px) {
  .cont_service .ind_services_event img {
    width: 100%;
    padding-right: 0;
  }
}
.cont_service .ind_services_sales {
  margin-top: clamp(20px,3.75vw ,50px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 600px) {
  .cont_service .ind_services_sales {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 600px) {
  .cont_service .ind_services_sales {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.cont_service .ind_services_sales img {
  width: 50%;
  padding-left: 2%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 350px;
}
@media (max-width: 600px) {
  .cont_service .ind_services_sales img {
    width: 100%;
    padding-left: 0;
  }
}
.cont_service .ind_services_sales .ind_services_sales_txt {
  text-align: end;
}
@media (max-width: 600px) {
  .cont_service .ind_services_sales .ind_services_sales_txt {
    text-align: start;
  }
}

.ind_services_ja {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 5px;
}
@media (max-width: 600px) {
  .ind_services_ja {
    margin-top: 0.5em;
  }
}

.ind_services_en {
  font-size: clamp(32px,6vw ,80px);
  line-height: 1;
  font-weight: 900;
  color: #D7DDD7;
}

.bg_company {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(30px,5vw ,60px) 0;
  background: #305836;
}
@media (max-width: 600px) {
  .bg_company {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 600px) {
  .bg_company {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-top: 0;
  }
}
.bg_company .ind_company {
  width: 50%;
  padding-left: max(5%, calc(100vw/2 - 1200*0.9px/2));
  padding-right: 5%;
}
@media (max-width: 600px) {
  .bg_company .ind_company {
    padding: 0;
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
  }
}
.bg_company .ind_company .sub_ttl {
  color: #fff;
}
@media (max-width: 600px) {
  .bg_company .ind_company .sub_ttl {
    text-align: center;
  }
}
.bg_company .ind_company .sub_ttl h2 {
  color: #fff;
}
.bg_company .ind_company .ind_company_txt p {
  color: #fff;
  margin-bottom: 30px;
  text-align: justify;
  line-height: 2;
}
.bg_company .ind_company .go {
  color: #fff;
  text-align: end;
}
@media (max-width: 600px) {
  .bg_company .ind_company .go {
    text-align: center;
  }
}
.bg_company img {
  width: 50%;
  max-height: 400px;
}
@media (max-width: 600px) {
  .bg_company img {
    width: 100%;
    margin-bottom: 30px;
  }
}

.cont_contact {
  padding: clamp(30px,5vw ,60px) 0;
  text-align: center;
}
.cont_contact .ind_tel {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 15px;
}
.cont_contact .ind_tel span {
  font-size: 1.25rem;
  padding-right: 0.5em;
}
.cont_contact .ind_times {
  margin-bottom: 30px;
}

footer {
  padding: clamp(30px,5vw ,60px) 0;
  padding-bottom: 20px;
  background: #305836;
}
footer img {
  width: 200px;
  margin: 0 auto 30px;
}
footer .footer_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 30px;
}
@media (max-width: 600px) {
  footer .footer_list {
    display: none;
  }
}
footer .footer_list .footer_item:last-of-type a {
  border-right: 1px solid #fff;
}
footer .footer_list .footer_item a {
  color: #fff;
  font-size: 0.75rem;
  padding: 0 1rem;
  border-left: 1px solid #fff;
  line-height: 1;
}
footer .copyright {
  color: #fff;
  text-align: center;
  font-size: 0.75rem;
}

/*index終わり*/
.cont_bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.cont_bread li {
  font-size: 0.75rem;
  display: inline-block;
}
.cont_bread li + li::before {
  content: ">";
  padding: 0 0.5em;
}

/*サブページ共通パーツ*/
[class^=cont_sub_] .sub_ttl {
  text-align: center;
}

/*サブページ共通イメージ写真*/
.sub_img_contact::before, .sub_img_company::before, .sub_img_services::before, .sub_img_works::before, .sub_img_news::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bbackground-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.sub_img_news {
  height: clamp(150px,22.917vw ,250px);
  background: url("../img/sub_img/sub_img_news.jpg") #305836 no-repeat center/cover;
  margin-bottom: clamp(15px,2.5vw ,30px);
  background-blend-mode: screen;
  position: relative;
}
.sub_img_works {
  height: clamp(150px,22.917vw ,250px);
  background: url("../img/sub_img/sub_img_works.jpg") #305836 no-repeat center/cover;
  margin-bottom: clamp(15px,2.5vw ,30px);
  background-blend-mode: screen;
  position: relative;
}
.sub_img_services {
  height: clamp(150px,22.917vw ,250px);
  background: url("../img/sub_img/sub_img_services.jpg") #305836 no-repeat center/cover;
  margin-bottom: clamp(15px,2.5vw ,30px);
  background-blend-mode: screen;
  position: relative;
}
.sub_img_company {
  height: clamp(150px,22.917vw ,250px);
  background: url("../img/sub_img/sub_img_company.jpg") #305836 no-repeat center/cover;
  margin-bottom: clamp(15px,2.5vw ,30px);
  background-blend-mode: screen;
  position: relative;
}
.sub_img_contact {
  height: clamp(150px,22.917vw ,250px);
  background: url("../img/sub_img/sub_img_contact.jpg") #305836 no-repeat center/cover;
  margin-bottom: clamp(15px,2.5vw ,30px);
  background-blend-mode: screen;
  position: relative;
}
/*サブページ*/
.cont_sub_news .sub_ttl {
  text-align: center;
}
.cont_sub_news .news_area .news_article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #dfdfdf;
  padding-bottom: clamp(15px,2.5vw ,30px);
  margin-bottom: clamp(15px,2.5vw ,30px);
}
@media (max-width: 600px) {
  .cont_sub_news .news_area .news_article {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cont_sub_news .news_area .news_article .news_date {
  font-size: 0.875rem;
  color: #4c4c4c;
  margin-bottom: clamp(0px,0.208vw ,5px);
  line-height: 2.5;
}
.cont_sub_news .news_area .news_article .news_ttl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 2em;
  line-height: 2;
  text-align: justify;
}
@media (max-width: 600px) {
  .cont_sub_news .news_area .news_article .news_ttl {
    padding-left: 0;
  }
}
.cont_sub_news .news_area .news_article .news_ttl:hover {
  text-decoration: underline;
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 500;
  margin-bottom: clamp(30px,5vw ,60px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pagination li a {
  padding: 0.5em 1em;
}
.pagination li a:hover {
  opacity: 1;
  color: #258b35;
}
.pagination .no_select {
  padding: 0.5em 1em;
  color: #bfbfbf;
}
.pagination .this {
  padding: 0.5em 1em;
  color: #258b35;
}

/*サブページニュース詳細ページ*/
.cont_sub_works_detail .works_area, .cont_sub_news_detail {
  padding-top: clamp(20px,3.333vw ,40px);
  margin-bottom: clamp(20px,5vw ,80px);
}
.cont_sub_works_detail .works_area .news_article, .cont_sub_news_detail .news_article {
  margin-bottom: clamp(20px,3.333vw ,40px);
}
.cont_sub_works_detail .works_area .news_article .news_date, .cont_sub_news_detail .news_article .news_date {
  font-size: 0.875rem;
  color: #4c4c4c;
  margin-bottom: 15px;
}
.cont_sub_works_detail .works_area .news_article .news_ttl, .cont_sub_news_detail .news_article .news_ttl {
  font-size: clamp(18px,2.5vw ,24px);
  text-align: justify;
  padding-bottom: clamp(20px,3.333vw ,40px);
  margin-bottom: clamp(20px,3.333vw ,40px);
}
.cont_sub_works_detail .works_area .news_article .news_txt p, .cont_sub_news_detail .news_article .news_txt p {
  text-align: justify;
  line-height: 2;
}
.cont_sub_works_detail .works_area .back, .cont_sub_news_detail .back {
  text-align: center;
}

/*会社概要*/
.cont_sub_company table {
  font-size: 0.875rem;
  width: 100%;
  margin-bottom: clamp(30px,5.833vw ,80px);
}
.cont_sub_company table th,
.cont_sub_company table td {
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  padding: clamp(15px,2.5vw ,30px);
}
@media (max-width: 600px) {
  .cont_sub_company table th,
.cont_sub_company table td {
    display: block;
    border-bottom: none;
  }
}
.cont_sub_company table th {
  background: #eef1ef;
}
@media (max-width: 600px) {
  .cont_sub_company table td {
    border-top: none;
  }
}
.cont_sub_company table td li + li {
  margin-top: 0.5em;
}

/*事業内容*/
[class^=services_sec_] {
  padding: clamp(10px,5.833vw ,120px) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 600px) {
  [class^=services_sec_] {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
[class^=services_sec_] h3 {
  font-weight: 500;
  font-size: 1.675rem;
  line-height: 1.5;
  margin-bottom: clamp(20px,3.75vw ,50px);
}
[class^=services_sec_] h4 {
  font-weight: 500;
  margin-bottom: clamp(20px,3.75vw ,50px);
  text-align: justify;
}
[class^=services_sec_] .section_txt {
  line-height: 2;
  text-align: justify;
}
[class^=services_sec_] picture {
  width: 55%;
  max-height: 500px;
}
@media (max-width: 600px) {
  [class^=services_sec_] picture {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}

.services_sec_event {
  border-left: min(10px, 1vw) solid #305836;
}
@media (max-width: 600px) {
  .services_sec_event {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    border: none;
  }
}
.services_sec_event .txt_area {
  width: 45%;
  padding-left: max(5%, calc(100vw/2 - 1200*0.9px/2));
  padding-right: 5%;
}
@media (max-width: 600px) {
  .services_sec_event .txt_area {
    width: 100%;
  }
}
.services_sec_event img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0% 0%;
     object-position: 0% 0%;
}

.services_sec_sales {
  border-right: min(10px, 1vw) solid #305836;
  background: #eef1ef;
}
@media (max-width: 600px) {
  .services_sec_sales {
    border: none;
  }
}
.services_sec_sales .txt_area {
  width: 45%;
  padding-right: max(5%, calc(100vw/2 - 1200*0.9px/2));
  padding-left: 5%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 600px) {
  .services_sec_sales .txt_area {
    width: 100%;
  }
}
.services_sec_sales img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 100% 100%;
     object-position: 100% 100%;
}

.cont_sec_other {
  padding: clamp(30px,5vw ,60px) 0;
}
.cont_sec_other h3 {
  padding: clamp(30px,5vw ,60px) 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
}
.cont_sec_other .card_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: clamp(20px,3.333vw ,40px);
}
.cont_sec_other .card_list:after {
  content: "";
  display: block;
  width: 48.6%;
}
.cont_sec_other .card_list li {
  width: 23%;
  margin-bottom: clamp(10px,1.667vw ,20px);
  text-align: center;
  line-height: 1.2;
  font-weight: 600;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 600px) {
  .cont_sec_other .card_list li {
    width: 32%;
  }
}
.cont_sec_other .card_list li:hover {
  opacity: 0.6;
}
.cont_sec_other .card_list li a {
  color: #305836;
}
.cont_sec_other .card_list li a :hover {
  opacity: 1;
}
.cont_sec_other .card_list li img {
  width: 50%;
  margin: 20px auto 0;
}

/*eventフォルダ*/
.other_ttl {
  font-size: clamp(18px,2.417vw ,22px);
  margin-bottom: 2em;
  padding-bottom: 0.2em;
  border-bottom: 2px solid #305836;
  color: #305836;
  font-weight: 500;
}
@media (max-width: 600px) {
  .other_ttl {
    margin-bottom: 1em;
  }
}

.services_card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #dfdfdf;
  margin-bottom: clamp(20px,3.75vw ,50px);
}
@media (max-width: 600px) {
  .services_card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.services_card::after {
  content: "";
  display: block;
  width: 30%;
}
.services_card .services_item {
  width: 30%;
  margin-bottom: clamp(15px,2.5vw ,30px);
}
@media (max-width: 900px) {
  .services_card .services_item {
    width: 48%;
  }
}
@media (max-width: 600px) {
  .services_card .services_item {
    width: 100%;
  }
}
.services_card .services_item:hover .works_ttl {
  text-decoration: underline;
}
.services_card .services_item img {
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 0.5em;
}
@media (max-width: 600px) {
  .services_card .services_item img {
    height: 100%;
  }
}
.services_card .services_item .services_ttl {
  text-align: justify;
  font-size: 0.875rem;
}

.cont_sub_services.other {
  margin-bottom: clamp(20px,5vw ,80px);
}

/*実績日付*/
/*実績*/
.works_card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #dfdfdf;
}
@media (max-width: 600px) {
  .works_card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.works_card::after {
  content: "";
  display: block;
  width: 30%;
}
.works_card .works_item {
  width: 30%;
  margin-bottom: clamp(15px,3.75vw ,60px);
}
@media (max-width: 900px) {
  .works_card .works_item {
    width: 48%;
  }
}
@media (max-width: 600px) {
  .works_card .works_item {
    width: 100%;
  }
}
.works_card .works_item:hover .works_ttl {
  text-decoration: underline;
}
.works_card .works_item img {
  height: 66%;
}
.works_card .works_item .works_date {
  padding: 0.5em 0;
  font-size: 0.875rem;
  color: #258b35;
}
.works_card .works_item .works_ttl {
  text-align: justify;
}

/*サブページ実績詳細はニュース詳細ページから@extend*/
.cont_sub_works_detail .works_area .back {
  text-align: center;
}

/*コンタクトフォーム*/
.contact_form .form_item textarea, .contact_form .form_item input {
  display: block;
  padding: 1em;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid #bfbfbf;
  border-radius: 5px;
  background: #f4f6f4;
}

.contact_form {
  margin-bottom: clamp(30px,5.833vw ,80px);
}
.contact_form .form_item {
  padding: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contact_form .hc {
    margin: 60px 0 0;
    background-color:#f4f4f4;
    padding: 30px 0.5em;
    border-radius: 5px;
}
@media (max-width: 900px) {
  .contact_form .form_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contact_form .form_item label {
  display: block;
  width: 230px;
  padding: 0.5em;
  padding-left: 0;
  margin-right: 10px;
  font-weight: 500;
}
.contact_form .form_item label span {
  font-size: 0.675rem;
  padding: 0.125rem 0.5em;
  background: #305836;
  color: #fff;
  border-radius: 2px;
  margin-right: 1em;
}
.contact_form .form_item textarea {
  min-height: 15em;
}
.hc .quest {
    font-size: 90%;
    margin: 0 0 0 20px;
}
.contact_form input.notmeiwaku {
  display: inline;
  margin: 0 10px 0 0;
}
.contact_form .quest label {
    display: inline;
}
.contact_form .btn_submit {
  margin-top: clamp(30px,5vw ,60px);
}

/*コンタクトフォームエラーチェック*/
.error_message {
  margin: 0.5em;
  padding: 1.5em 2em;
  background: #fcebea;
}
.error_message li {
  color: #BF3131;
}
.error_message li + li {
  margin-top: 0.5em;
}

/*コンタクトフォーム送信後*/
.after_message {
  margin-bottom: clamp(30px,5vw ,60px);
}
.after_message h3 {
  margin: 1em 0 clamp(30px,5vw ,60px);
  font-size: 1.5rem;
  color: #305836;
  font-weight: 600;
  text-align: center;
}
.after_message p {
  margin-top: 0.8em;
  text-align: center;
  line-height: 1.8;
}
@media (max-width: 600px) {
  .after_message p {
    text-align: left;
  }
}
.after_message .btn {
  margin-top: clamp(30px,5vw ,60px);
}
/*# sourceMappingURL=style.css.map */