@charset "UTF-8";
/* CSS Document */

html {
    scroll-behavior: smooth;
}
body{
	background-image: url("../image/bg.png");
	background-repeat:repeat;
	font-family: "Maven Pro", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;

}
/*-------------- pagetop --------------*/
#pagetop {
 width: 50px;
 height: 50px;
 position: fixed;
 right: 10px;
 bottom: 30px;
 z-index: 100;
}
#pagetop a {
 width: 50px;
 height: 50px;
 position: relative;
 display: block;
 background: #ffffff;
 border-radius: 50%;
 transition: all .3s;
 z-index: 2;
}
#pagetop a:before {
 /*content: "△";*/
 color: #ffffff;
 font-size: 20px;
 font-size: 2.0rem;
 position: absolute;
 width: 40px;
 height: 40px;
 top: 12px;
 right: 0;
 left: 0;
 margin: auto;
 text-align: center;
}
/*#pagetop a:hover {
 background: #06774e;
}*/



/*-------------area共通-------------*/
.top_aboutarea, .top_philosophyarea, .top_companyarea, .top_contactarea, .top_accessarea {
	/*background-color: antiquewhite;*/
	/*max-width: 1200px;*/
	/*width: 100%;*/
	margin: 0px auto;
	padding: 150px 0px;
}
@media screen and (min-width: 1400px) {

}
@media screen and (max-width: 1000px) {
	
	}

@media screen and (max-width: 800px) {
	.top_aboutarea, .top_philosophyarea, .top_companyarea, .top_contactarea, .top_accessarea {
	margin: 0px auto;
    padding: 100px 0px;
}
	
		}

/*-------------contents共通-------------
.contents_m {
	background-color: #CECECE;
	width: 90%;
	margin: 0 auto;
	padding: 50px 0px;
}

*/


/*-------------title共通-------------*/


.title_ph  {
	max-width: 410px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 65px;
	}
	
.title_com  {
		max-width: 350px;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 65px;
		}
.title_con  {
		max-width: 302px;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 65px;
		}
.con-text{
	margin-bottom: 45px;

}
.title_ac  {
		max-width: 275px;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 65px;
		}
.title_m span {
	font-size: 12px;
	font-weight: 100;
	letter-spacing: 0.5em;
	display: flex;
	align-items: center; /* 垂直中心 */
	justify-content: center; /* 水平中心 */
	font-family: none;
}
.title_m span:before, .title_m span:after {
	border-top: 0.5px solid;
	content: "";
	width: 3em; /* 線の長さ */
}
.title_m span:before {
	margin-right: 1em; /* 文字の右隣 */
}
.title_m span:after {
	margin-left: 1em; /* 文字の左隣 */
}




/*-------------<p>共通-------------*/
p {
    margin: 20px 0 10px 0;
    text-align: center;
}


/*----------------header----------------*/
header { 
	width: 100%;
    height: 85px;
    position: relative;
    z-index: 10;
    background: #429138;
}
.logo {
 width:198px;
}
header .logo {
	width: 100%;
    max-width: 250px;
    position: absolute;
    top: 25px;
    left: 100px;
}


.drawer-menu {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	max-width: 500px;
    width: 100%;
    position: absolute;
    right: 0px;
    top: 35px;
}

.drawer-menu li {
	list-style:none;
	text-shadow: 1px 1px 2px rgb(0, 0, 0, 10%);
}
.drawer-menu li a {
	border-bottom: 2px solid transparent;
	display: block;
	padding: 0 5px 10px;
	transition: all .3s;
	font-size: 16px;
	text-decoration: none;
}
header.header_top .drawer-menu li a {
	color: #fff;
	font-weight: 600;
	font-size: 16px;
}
.drawer-menu li a:hover,
.drawer-menu li a.current {
	text-decoration: underline;
}
.drawer-hamburger {
	display: none;
}
.main_contact_btn {
	/*padding: 15px;
    background: #0053af;
    writing-mode: vertical-rl;
    height: 200px;
	position: absolute;
	z-index: 200;
	bottom: 70px;
	right: 0px;
	text-align: center;
	letter-spacing: 0.15em;
	border-radius: 10px 0 0 10px;*/
}
.main_contact_btn img {
	width: 100%;
	max-width: 15px;
	margin-top: 5px;
}
.main_contact_btn a {
	padding: 17px;
    background: #e4842e;
    writing-mode: vertical-rl;
    height: 200px;
    position: absolute;
    z-index: 200;
    bottom: 100px;
    right: 0px;
    text-align: center;
    letter-spacing: 0.15em;
    border-radius: 10px 0 0 10px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    padding-top: 39px;
    display: flex;
	
}
.icon-m{
	position: relative;
	top: 0px;
	left: -3px;
	}

.drawer-hamburger {
	display: none;
}



/*----------------main img----------------*/


/* 20240312　削除

/* スライダー全体 
.slider{
  overflow: hidden;
  width: 100%;
  height: 90vh;
	position: relative; /* ←追加 
}

/* スライダー画像 
.slider .image{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/*
  ①スライド画像
  表示する画像を定義

.slider .image:nth-of-type(1){
  background-image:url("../image/mainimg_01.jpg");
	 height: 90vh; /* ←追加 
}
.slider .image:nth-of-type(2){
  animation-delay: 5s;
  background-image:url("../image/mainimg_03.jpg");
	 height: 90vh; /* ←追加 
}
.slider .image:nth-of-type(3){
  animation-delay: 15s;
  background-image:url("../image/mainimg_04.jpg");
	 height: 90vh; /* ←追加 
	}
/*.slider .image:nth-of-type(4){
  animation-delay: 15s;
  background-image:url("../image/mainimg_02.jpg");
	 height: 90vh; /* ←追加 
}*/

/*
  ②アニメーション設定
  animation-durationのみ変更

.slider .image{
  animation-name: anime;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-duration: 20s;  /* ①で設定したanimation-delayを合計を挿入 
}

/* アニメーション定義 
@keyframes anime {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  /*75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    /*transform: scale(1.18);
  }
}

*/


/*==========================  20230203 top_mainarea　　=============================*/
.top-slide_sp {
	display: none;
}


.top-slide ,.top-slide_sp {
	height: 90vh;
	position: relative;
}
.top_image ,.top_image_sp {
	/*height: 90vh;
	width: auto;*/
	position: absolute;
    /*bottom: 0;*/
  /*height: 100vh;
    right: -10%;*/
    width: 100%;
}

/* ------ slide image ------- */
.top_image_img {
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-name: slideAnime;
  animation-timing-function: ease;
  display: block;
  /*min-height: 100vh;*/
  object-fit: cover;
  opacity: 0;
  width: 100%;
	/*position: relative;*/
}

.top_image:nth-of-type(1) .top_image_img {
  animation-delay: 0s;
		height: 90vh;
}

.top_image:nth-of-type(2) .top_image_img {
  animation-delay: 5s;
		height: 90vh;
}

.top_image:nth-of-type(3) .top_image_img {
  animation-delay: 10s;
		height: 90vh;
}

.top_image_sp:nth-of-type(1) .top_image_img {
  animation-delay: 0s;
		height: 90vh;
}

.top_image_sp:nth-of-type(2) .top_image_img {
  animation-delay: 5s;
		height: 90vh;
}

.top_image_sp:nth-of-type(3) .top_image_img {
  animation-delay: 10s;
		height: 90vh;
}


@keyframes slideAnime {
  0% {
    opacity: 0;
  }

  16% {
    opacity: 1;
  }

  33% {
    opacity: 1;
  }

  49% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    /*transform: translateX(10%);*/
  }
}


.top_mainarea {
 	width: 100%;
	/*max-height: 875px;
    min-height: 850px;
	height: 100vh;
	margin: -85px auto 0;*/
	position: relative;
	z-index: 1;
	overflow: hidden;
  /*
  */
}

.top_mainarea_inner {
  margin: 0 auto;
  width: 100%;
	position: relative;
}
.main_txt_img {
	position: absolute;
	top: 17.5%;
    left: 71%;
	margin-right: 10px;
}
.main_txt_img img {
	width: 100%;
    max-width: 300px;
}

@media screen and (max-width: 800px) {
	.top_mainarea {
		min-height: 620px;
	}
	.top-slide {
		height: 80vh;
	}
	.top_maintitle {
		font-size: 3.5rem;
	}
	.top_maintitle_pt {
    	padding-top: 4em;
	}
	.top_conceptarea_text {
		margin: 0 100px;
	}
	.main_txt_img {
		top: 3%;
    	left: 63%;
	}
}




@media screen and (max-width: 550px) {
	.top_conceptarea_text {
		margin: 0 40px;
	}
	.top_maintitle {
		font-size: 3rem;
	}
	.top_mainarea {
		height: 600px;
	}
	.main_txt_img {
		top: 3%;
    	left: 50%;
	}
}






/*====== 9-1-1 縦線が動いてスクロールを促す =======*/

/*スクロールダウン全体の場所
.scrolldown1{
  position:absolute;
  left:50%;
  bottom:10px;
  height:50px;
}

/*Scrollテキストの描写
.scrolldown1 span{
  position: absolute;
  left:-15px;
  top: -100px;
    /*テキストの形状
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  z-index: 100;
  color: #fff;
}

/* 線の描写 
.scrolldown1::after{
  content: "";
    /*描画位置
  position: absolute;
  top: -87px;
    /*線の形状
  width: 1px;
  height: 130px;
  background: #fff;
    /*線の動き1.4秒かけて動く。永遠にループ
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
  margin-top: -83px;
}

/*高さ・位置・透過が変化して線が上から下に動く
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:35px;
    opacity: 1;
  }
  100%{
    height:0;
    top:58px;
    opacity: 0;
  }
}*/


/*====== 【20240312追記】
9-1-1 縦線が動いてスクロールを促す =======*/



/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	left: 50%;
	bottom: 7vh;
    /*全体の高さ*/
	height:42px;
	writing-mode: vertical-rl;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置
	position: absolute;
	left:-4px;
	top: -55px;*/

    /*テキストの形状*/
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";

    /*描画位置*/
	position: absolute;
	top: 0;
	/*bottom:0;
    right:0;*/
	
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #fff;
	
   /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:60px;
		opacity: 1;
	}
	100%{
		height:100px;
		top:50px;
		opacity: 0;
	}
}




/*========= レイアウトのためのCSS ===============*/

#header{
  width:100%;
  height: 100vh;
  position: relative;
} 
#container{
  position: relative;
  z-index:1;
  background:#eee;
  padding:600px 0;
  text-align: center;
}
@media screen and (max-width:768px){
    #header,
    #header:before{
	height: 90vh;    
    }   
}


/*----------------About----------------*/
.width {
	width: 100%;
	/*max-width: 330px;*/
	padding-top: 10px;
}
.top_aboutarea {
	position: relative;
	padding: 150px 0 100px;
}
.top_aboutarea .about_bg {
	position: absolute;
    width: 100%;
    max-width: 160px;
    top: 360px;
}
.top_aboutarea h2 {
	border-bottom: 0.5px solid #000;
	padding-bottom: 10px;
	}
.aboutarea_flex {
	width: 80%;
    margin: 0 auto;
}

.aboutarea_left .title_m {
	text-align: left;
}

.top_about-all {
    width: 80%;
    margin: 0 auto;
}
.aboutarea_right {
	margin-left: 30px;
	max-width: 510px;
}
.about_logo {
	width: 180px;
    text-align: center;
    margin: 0 auto;
	margin-bottom: 88px;
	padding-top: 30px;
}
.top_about_title {
	text-align: center;
    font-size: 30px;
    font-weight: bold;
	line-height: 2em;
	margin-bottom: 80px;
	color: #429138
}
.top_about_contents {
	text-align: start;
    line-height: 2em;
	margin-top: 10px;
	text-align: center;
	font-size: 22px;
}

/*-------------二段スライダー-------------*/

          .slideshow_wrap {
            display: flex;
            align-items: center;
            overflow: hidden;
            width: 100%;
          }

          .slideshow {
            display: flex;
          }

          .slideshow.anim01 {
            animation: loop-slide_1 30s infinite linear 1s both;
          }

          .slideshow.anim02 {
            animation: loop-slide_2 30s infinite linear 1s both;
          }

          .slideshow>li {
            display: block;
            width: 25vw;
            padding: 0.25rem;
          }

          .slideshow>li img {
            width: 100%;
            height: auto;
			border-radius: 10px;
          }

          @keyframes loop-slide_1 {
            from {
              transform: translateX(0);
            }

            to {
              transform: translateX(-100%);
            }
          }

          @keyframes loop-slide_2 {
            from {
              transform: translateX(-100%);
            }

            to {
              transform: translateX(0);
            }
          }



/*-------------Philosophy-------------*/
.top_philosophy_box dd .img-ph {
    position: relative;
    top: 0;
}
.top_philosophy_box dd .img-ph:hover{
	top:-10px;
	transition:0.3s;
}



.top_philosophyarea {
	background-color: #f8f8f8;
	padding: 150px 0 100px;
	max-width: 100%;
    background-image: url("../image/bg-ph.jpg");
	background-repeat:repeat;
}


.contents_m p {
	width: 80%;
	margin: 10px auto;
	text-align: center;
	font-size: 14px;
}
.philosophyarea_flex {
	display: flex;
	flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
	width: 90%;
    max-width: 1200px;
    margin: 50px auto;
}
.border_r {
	border-radius: 20px;
}
.top_philosophy_box_01, .top_philosophy_box_02, .top_philosophy_box_03 {
	width: 100%;
	max-width: 333px;
	padding: 10px;
	text-align: center;
}
.top_philosophy_box dt {
	font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px;
    letter-spacing: 2px;
	line-height: 22px;
	width: 90%;
}
.top_philosophy_box dd {
	position: relative;
	font-size: 14px;
	margin-bottom: 30px;
	height: 100%;
	min-height: 90px;
    /*margin: 0 auto 20px;
	height: 80px;*/
	}
.img_num {
	position: absolute;
    right: 5px;
    top: 186px;
	width: 100%;
    max-width: 95px;
}
.img_t{
	padding-top: 60px;
}
.dt_small {
	font-size: 13px;
    font-weight: normal;
	padding-bottom: 15px;
	margin: 0;
	color: #cccccc;
	letter-spacing: 0px;
	}



/*-------------company-------------*/
.companylistarea {
	width: 100%;
    margin: 0 auto;
    max-width: 600px;
}



.company_box {
	display: -webkit-flex;
    display: -moz-flex;
    display: flex;
	align-items: stretch;	
	width: 100%;
/*	border: 1px solid #ccc;*/
	border-bottom: none;
}
.company_box dt {
	padding: 15px;
	width: 150px;
	/*border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;*/
}
.company_box dd{
	padding: 15px;
	width: calc(100% - 150px);
/*	border-bottom: 1px solid #ccc;*/
}




/*----------------contact----------------*/

section#top_companyarea {
    border-bottom: 2px dashed #429138;
    margin-bottom:4px;
}
section#top_accessarea {
    border-top: 2px dashed #429138;
    margin-top: 4px;
}

.top_contactarea {
    background-image: url("../image/bg-co.jpg");
	background-repeat:repeat;
    padding: 150px 0px;
	max-width: 100%;
	color: #ffffff;
	}

.c_logo {
	width: 100%;
	max-width: 250px;
	margin-left: 10px;
	padding-top: 15px;
}
.title_s {
 max-width: 640px;
 width: 100%;
 margin: 100px auto 30px;
 border-top: 1px solid #000;
 border-bottom: 1px solid #000;
 padding: 1px 3px;
}
.title_s span {
 display: block;
 border-top: 1px solid #000;
 border-bottom: 1px solid #000;
 width: 100%;
 /*height: 100%;*/
 padding: 20px 0;
 text-align: center;
 font-size: 20px;
 color: #000;
}
.title_ss {
 max-width: 300px;
 width: 100%;
 margin: 20px auto 15px;
 font-size: 15px;
 font-size: 1.5rem;
 line-height: 30px;
 color: #000;
 text-align: center;
 position: relative;
}
.title_ss:before {
 content: "";
 background: url("../images/brackets.png") no-repeat;
 background-size: 10px 30px;
 width: 10px;
 height: 30px;
 position: absolute;
 top: 0;
 left: 0;
}
.title_ss:after {
 content: "";
 background: url("../images/brackets.png") no-repeat;
 background-size: 10px 30px;
 width: 10px;
 height: 30px;
 position: absolute;
 top: 0;
 right: 0;
 transform: rotate(180deg);
}
.block { 
	display: block;
	font-size: 13px;
}
.input {
	width: 100%;
	outline: none;
}
.postcode input {
	width: 15%;
}
.textarea {
	width: 100%;
    height: 200px;
	font-size: 13px;
	outline: none;
}
.center_a { 
	text-align: center;
    font-size: 20px;
    line-height: 2em;
    letter-spacing: 1px;
}

.notice {
 color: #b90003;
}
.txt_form {
 display: inline-block;
 width: 1.2em;
 line-height: 1.8em;
 text-align: center;
}

/*---- table ----*/
.table {
 max-width: 920px;
 width: 100%;
 margin: 0 auto 30px;
}
.table th {
 background: #f6f6f6;
 border-bottom: 2px solid #ffffff;
 padding: 15px;
 width: 30%;
	font-size: 13px;
    text-align: left;
    font-weight: 100;
}
.table td {
 border-bottom: 2px solid #f6f6f6;
 padding: 15px;
 width: 70%;
}
/*---- table end----*/

.contact_btn {
  /*
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  font-size: 20px;
  font-weight: 700;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  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;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
  color: #fff;
  background-color: #0053af;
  border-bottom: 5px solid #024692;
	width: 100%;
    max-width: 500px;
	*/
}
.contact_btn a {
	text-decoration: none;
	-webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  font-size: 20px;
  font-weight: 700;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  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;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
  color: #418f38;
    background-color: #ffffff;
    border-bottom:5px solid #adadad;
	width: 100%;
    max-width: 500px;
}

.contact_btn a:hover {
	margin-top: 3px;
	border-bottom: 2px solid #adadad;
}
.contact_btn_box {
	text-align: center;
}

.contact_btn span {
	font-size: 18px;
	font-weight: 600;
}
.contact_btn img {
	width: 6%;
	margin-left: 8px;
}



.top_accessarea {
	margin-bottom: 0px;
}
.top_accessarea {
	padding-bottom: 0px;
}

.map{
	margin-top: 45px;
}
/*-------------- footer --------------*/
footer {
 width: 100%;
 color: #ffffff;
}
footer .contents_l {
	padding-top: 110px;
    width: 100%;
    margin: 0px auto;

	background-color: #429138;
}
footer .logo {
	max-width: 30%;
    width: 100%;
	margin-right: 81px;
}
footer .f-text {
    width: 50%;
}
.footer_box_l {
	width: 550px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    align-items: center;
}

ul.footer_box_r a:link{text-decoration: none;color:rgb(255, 255, 255);}
ul.footer_box_r a:visited {text-decoration: none;color:rgb(255, 255, 255);}
ul.footer_box_r a:hover{text-decoration: underline;color: rgb(255, 255, 255);}
ul.footer_box_r a:active {text-decoration: underline;color: rgb(255, 255, 255);} 

footer p{
	margin: 0;
	text-align: left;
    /*width: 339px;*/
}
.footer_box_r {
	width: 600px;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	padding: 90px 0px 50px 0px;
    justify-content: space-between;
}
.footer_box_r li {
	padding: 0 0 0 6px;
	list-style:none
}

.footer_box_r li a {
	text-decoration-line: none;
	color: #ad4545;
}

.footer_box_r li a:hover {
	text-decoration: underline;
}
footer small {
 display: block;
 text-align: center;
 padding: 10px 5px;
 font-size: 12px;
 line-height: 1.3em;
 padding-bottom: 35px;
}
@media screen and (max-width: 760px) {
	.footer_box_l {
		display: flex;
		flex-direction: column;
	}
	footer .f-text {
		margin: 0px auto;
	}

	footer .contents_l {
		/*height: 250px;*/
			padding: 90px 0 20px;
		}
		
		footer .logo {
		margin: 0 auto 30px;	
			}
		.footer_box_l {
		margin: 0px;	
			}
		footer .contents_l {
			text-align: center;
		}
		.footer_box_r {
			display: none;	
		}
		footer small {
		padding-bottom: 10px;	
			}
	}
/*-------------- privacy --------------*/
.pt30 .pb30 {
	text-align: left;
	width: 100%;
	margin: 50px 0 30px;
}
.pt30 {
	padding-top: 100px;
	max-width: 1200px;
    width: 95%;
    margin: 0 auto;
}
header.header_top .drawer-menu li.privacy_li a {
	
	text-shadow: none;
}
.privacy_contents dt {
    font-weight: bold;
    padding: 0 0 5px;		
	}
.privacy_contents dd {
    padding: 0 0 15px 0;		
	font-size: 14px;
	margin-bottom: 15px;
	}
.privacy {
	font-size: 10px;
	text-align: center;
}
.privacy a {
	text-decoration: none;	
	}

/*-------------- breadcrumb --------------*/
.breadcrumb {
	max-width: 1200px;
	width: 95%;
	margin: 0 auto;
	overflow: hidden ;
	font-size: 14px;
	line-height: 1.5em;
	position: relative;
	z-index: 3;
	padding: 10px 0 5px;
}
.breadcrumb li {
	display: inline-block;
}
.breadcrumb li:after {
	content: ">" ;
	padding: 0 8px ;
}
.breadcrumb li:last-child:after {
	content: none ;
}
.breadcrumb li a {
	color:#429138;
}
.breadcrumb li a:hover {
	text-decoration:underline;
}
.btn_wh {
 max-width: 360px;
 width: 100%;
 height: 55px;
 text-align: center;
 margin: auto;
}
.btn_wh a.button {
 position: relative;
 display: inline-block;
 padding: 18px 5px 8px;
 width: 100%;
 height: 100%;
 border: 1px solid #429138;
 text-align: center;
 text-decoration: none;
 outline: none;
 transition: all .3s;
 background: #ffffff;
 color: #429138;
 line-height: 1.3em;
}
.btn_wh a.button:hover {
 border: 1px solid #ffffff;
 background: #429138;
 color: #ffffff;
}
.btn_wh a.button span {
 position: relative;
}
.btn_wh a.button span:after {
 content: "";
 position: absolute;
 top: 5px;
 right: -25px;
 background: url("../images/arrow_bl.png") no-repeat;
 background-size: 20px 7px;
 width: 20px;
 height: 7px;
 display: inline-block;
 transition: all .3s;
}
.btn_wh a.button:hover span:after {
 content: "";
 background: url("../images/arrow_wh.png") no-repeat;
 background-size: 20px 7px;
 width: 20px;
 height: 7px;
 display: inline-block;
 right: -30px;
}
.btn_wh a.button span.btn_bk:after {
 content: "";
 position: absolute;
 top: 5px;
 left: -25px;
 background: url("../images/arrow_bl.png") no-repeat;
 background-size: 20px 7px;
 width: 20px;
 height: 7px;
 display: inline-block;
 transition: all .3s;
 transform: scale(-1, 1);
}
.btn_wh a.button:hover span.btn_bk:after {
 content: "";
 background: url("../images/arrow_wh.png") no-repeat;
 background-size: 20px 7px;
 width: 20px;
 height: 7px;
 display: inline-block;
 left: -30px;
}
span.icon_blank {
 width: 14px;
 height: 11px;
 display: inline-block;
 margin: 2px 0 0 7px;
}
.btn_bl a.button span.icon_blank:after,
.btn_wh a.button span.icon_blank:after {
 display: none;
}
.btnarea_s {
    max-width: 750px;
    width: 100%;
    margin: auto;
}
.btnarea {
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 20px 0 10px;
}



/*===============Respontive*===============*/

	
@media screen and (min-width: 1400px) {

}
@media screen and (max-width: 1000px) {
.footer_box_l { 
	width: 100%;
}
@media screen and (max-width: 800px) {

	.top_image_img {
		min-height: 80vh;
	}
	.top-slide{
	display: none;
	}
	.top-slide_sp {
	display: block;
	}
	.scrolldown1 {
		bottom: 20%;
	}
	
	
/* 20240312　削除
  ①スライド画像
  表示する画像を定義

	
	
.top-slide .top_image:nth-of-type(1){
  background-image:url("../image/mainimg_01_sp.jpg");
	 height: 90vh; /* ←追加 
}
.top-slide .top_image:nth-of-type(2){
  animation-delay: 5s;
  background-image:url("../image/mainimg_03_sp.jpg");
	 height: 90vh; /* ←追加 
}
.top-slide .top_image:nth-of-type(3){
  animation-delay: 15s;
  background-image:url("../image/mainimg_04_sp.jpg");
	 height: 90vh; /* ←追加
	}	
	.scrolldown1 span {
		top: -40px;
	}	
	.scrolldown1::after {
		margin-top: 0;
	}
	 */
	
	.drawer-open {
	overflow: hidden !important;
}
	.main_contact_btn {
		bottom: 220px;
		/*position: fixed;*/
	}
	header .logo {
		max-width: 171px;
    position: unset;
    margin: 0 auto;
    padding-top: 22px;
	}
	.c_logo {
		max-width: 200px;
	}
	.drawer-menu li {
		text-shadow: none;
		margin: 10px 0;
	}
.drawer-nav {
	position: fixed;
	z-index: 101;
	top: 0;
	/*overflow: hidden;*/
	overflow: inherit;
	width:100%;
	height: 100%;
	background-color: #ffffff;
	text-align:center;
}
.drawer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	z-index: 103;
	display: block;
	max-width: inherit;
	width: 100%;
}
.drawer-menu li a {
	width:100%;
	display:block;
	padding:　11px 7px;
	border-bottom:1px solid #429138;
	font-size: 16px;
	color: #429138;
	font-weight: 600;
	background:#ffffff;
	line-height:1.8em;
	position: relative;
	z-index: 104;
}
.drawer-menu li a:hover,
.drawer-menu li a.current {
	background:#86d17c;
	color:#ffffff;
	position: relative;
	z-index: 105;
	border-bottom:1px solid #429138;
}
header.header_top .drawer-menu li a {
 color: #429138;
}
header.header_top .drawer-menu li a:hover,
header.header_top .drawer-menu li a.current {
 background:#86d17c;
 color:#ffffff;
 position: relative;
 z-index: 105;
 border-bottom:1px solid #429138;;
}
.drawer-overlay {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .1);
}
.drawer-open .drawer-overlay {
	display: block;
}
.drawer--top .drawer-nav {
	top: -100%;
	left: 0;
	width: 100%;
	height: 205px;
	max-height: 100%;
	-webkit-transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.drawer--top.drawer-open .drawer-nav {
	top:0px;
}
.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
	right: 0;
}
.drawer-hamburger {
	position:fixed;
	z-index: 999;
	top: 0;
	right: 0;
	display: block;
	box-sizing: content-box;
	width: 30px;
	margin: 15px;
	-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	-webkit-transform: translate3d(0, 0, 0);
									transform: translate3d(0, 0, 0);
	border: 0;
	outline: 0;
	background-color: transparent;
}
.drawer-hamburger:hover {
	cursor: pointer;
}
.drawer-hamburger-icon {
	position: relative;
	display: block;
	margin-top: 15px;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	width: 100%;
	height: 3px;
	-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background-color: #429138;
}
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	position: absolute;
	top: -10px;
	left: 0;
	content: ' ';
}
.drawer-hamburger-icon:after {
	top: 10px;
}
.drawer-open .drawer-hamburger-icon {
	background-color: transparent;
}
.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
	top: 0;
}
.drawer-open .drawer-hamburger-icon:before {
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.drawer-open .drawer-hamburger-icon:after {
	-webkit-transform: rotate(-45deg);
									transform: rotate(-45deg);
}
.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
	position: static;
	overflow: visible;
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
}
	}

	
	
	.width {
	max-width: 300px;
}
	.top_aboutarea {
		padding: 100px 0;
	}
	
	.top_about_title {
    line-height: 2em;
	}
	.aboutarea_flex {
    	flex-wrap: wrap;
	}
	.aboutarea_left {
		max-width: 370px;
		margin: 0 auto; 
	}
	.aboutarea_right {
		margin: 70px auto 0px;
		font-size: 18px;
		width: 80%;
	}
	.slideshow>li {
    display: block;
    width: 50vw;	
		}
	
	.top_about_title {
    width: 100%;
	letter-spacing: 0em;
		}

	.top_about_contents {
	margin-top: 0;	
	padding-top: 20px;
	letter-spacing: 0.1em;
	line-height: 2em;
	}
	
	.top_philosophyarea {
		padding: 150px 0 30px;
		}
	.top_philosophyarea p .br {
		display: none;
	}
	
	.philosophyarea_flex {
    flex-wrap: wrap;
		justify-content: center;
	}
	.top_philosophy_box dd {
    margin-bottom: 10px;
	height: auto;
	font-size: 16px;
	}
	
	.top_philosophy_box_01, .top_philosophy_box_02, .top_philosophy_box_03 {
    padding: 25px 0px 95px;	
		width: 90%;
		margin: 0 auto;
	}
	.center_a {
    width: 90%;
    margin: 0 auto;
		font-size: 18px;
		}
	.img_num01 {
    position: absolute; 
	top: 150px;
		}
	.img_num {
	top: 150px;
		}
	
	
	
	.companylistarea {
    max-width: 400px;
		}
	.company_box dt {
    padding: 10px;	
	font-size: 14px;
    width: 120px;
	margin-left: 10px;
		}
	.company_box dd {
    padding: 10px;
	font-size: 16px;
			
		}
	
	
	
	.top_contactarea {
		padding: 100px 0;
		}
	
	
	.contact_btn {
	max-width: 280px;
	margin: 0 auto;
	
	}
	
	
	.top_accessarea {
		/*padding-top: 150px;*/
	}
	
	.map {
	margin: 0 30px;
}

/* .border-box {
  background-image: repeating-linear-gradient(90deg, #429138, #429138 10px, transparent 10px, transparent 19px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 1px;
  margin: 20px 0;
} */
	}
@media screen and (max-width: 760px) {
.top_aboutarea .about_bg {
    top: 240px;
	max-width: 150px;
	/*max-width: 120px;*/
    left: 15px;
	}
	
	footer .logo{
		max-width: 130px;
		width: 100%;
		margin: 0 auto 30px;
	}
	
	footer p{
		text-align: center;
	}
}

