@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap");
.products-contents {
  position: relative;
  margin-top: 50px;
}

.products-contents:first-of-type .products-contents__image {
  display: block;
}

.products-contents__title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.products-contents__titlebox {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

.products-contents__titlebox--text {
  position: relative;
  padding-left: 40px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.36px;
  color: #677f5d;
}

.products-contents__titlebox--text span {
  font-size: 2.4rem;
  letter-spacing: 0.48px;
}

.products-contents__titlebox--text::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 27px;
  height: 2px;
  margin: auto;
  background-color: #5e7a53;
}

.products-contents__titlebox--text02 {
  padding-left: 15px;
  font-size: 1.5rem;
  color: #192515;
}

.products-contents__button--style {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 260px;
  height: 36px;
  border: solid 1px #bbc0b9;
  font-size: 1.5rem;
  color: #335623;
  cursor: pointer;
}

.products-contents__button--style:after {
  content: "＋";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  font-size: 2.0rem;
  color: #335623;
}

.products-contents__button--style.is-close:after {
  content: "－";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  font-size: 2.0rem;
  color: #335623;
}

.products-contents__image {
  display: none;
  margin-top: 33px;
}

.products-contents__imageList {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-right: -45px;
  margin-bottom: -45px;
}

.products-contents__item {
  width: 370px;
  margin-right: 45px;
  margin-bottom: 45px;
}

.products-contents__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (-ms-high-contrast: none) {
  .products-contents__item img {
    width: 100%;
    height: auto;
    object-fit: none;
  }
}

@media screen and (max-width: 1480px) {
  .products-contents {
    margin-top: 3.37838vw;
  }
  .products-contents__titlebox--text {
    padding-left: 40px;
    font-size: 1.8rem;
  }
  .products-contents__titlebox--text span {
    font-size: 24px;
    letter-spacing: 0.48px;
  }
  .products-contents__titlebox--text02 {
    padding-left: 15px;
    font-size: 1.5rem;
  }
  .products-contents__button--style {
    width: 260px;
    height: 36px;
    font-size: 15px;
  }
  .products-contents__button--style:after {
    content: "＋";
    right: 30px;
    font-size: 2.0rem;
  }
  .products-contents__button--style.is-close:after {
    right: 30px;
    font-size: 2.0rem;
  }
  .products-contents__image {
    margin-top: 2.22973vw;
  }
  .products-contents__imageList {
    margin-right: -2.5%;
    margin-bottom: -3.04054vw;
  }
  .products-contents__item {
    width: 30.83333%;
    height: 131.08108%;
    margin-right: 2.5%;
    margin-bottom: 3.04054vw;
  }
}

@media screen and (max-width: 1200px) {
  .products-contents {
    margin-top: 4.16667vw;
  }
  .products-contents__titlebox--text {
    padding-left: 3.33333vw;
    font-size: 1.5vw;
  }
  .products-contents__titlebox--text span {
    font-size: 2vw;
  }
  .products-contents__titlebox--text::before {
    width: 2.25vw;
    height: 2px;
  }
  .products-contents__titlebox--text02 {
    padding-left: 1.25vw;
    font-size: 1.25vw;
  }
  .products-contents__button--style {
    width: 21.66667vw;
    height: 36px;
    font-size: 1.25vw;
  }
  .products-contents__button--style:after {
    right: 2.5vw;
    font-size: 1.66667vw;
  }
  .products-contents__button--style.is-close:after {
    right: 2.5vw;
    font-size: 1.66667vw;
  }
  .products-contents__image {
    margin-top: 2.75vw;
  }
  .products-contents__imageList {
    margin-right: -2.16667vw;
    margin-bottom: -3.75vw;
  }
  .products-contents__item {
    margin-right: 2.16667vw;
    margin-bottom: 3.75vw;
  }
}

@media screen and (max-width: 992px) {
  .products-contents {
    margin-top: 5.04032vw;
  }
  .products-contents__titlebox--text {
    padding-left: 4.03226vw;
    font-size: 1.81452vw;
  }
  .products-contents__titlebox--text span {
    font-size: 2.41935vw;
  }
  .products-contents__titlebox--text::before {
    width: 2.72177vw;
    height: 2px;
  }
  .products-contents__titlebox--text02 {
    padding-left: 1.5121vw;
    font-size: 1.5121vw;
  }
  .products-contents__button--style {
    width: 26.20968vw;
    height: 36px;
    font-size: 1.5121vw;
  }
  .products-contents__button--style:after {
    right: 3.02419vw;
    font-size: 2.01613vw;
  }
  .products-contents__button--style.is-close:after {
    right: 3.02419vw;
    font-size: 2.01613vw;
  }
  .products-contents__image {
    margin-top: 3.32661vw;
  }
  .products-contents__imageList {
    margin-right: -2.16667vw;
    margin-bottom: -3.75vw;
  }
  .products-contents__item {
    margin-right: 2.16667vw;
    margin-bottom: 3.75vw;
  }
}

@media screen and (max-width: 768px) {
  .products-contents {
    margin-top: 6.51042vw;
  }
  .products-contents__titlebox {
    display: block;
    flex-direction: column;
  }
  .products-contents__titlebox--text {
    display: block;
    padding-left: 5.20833vw;
    font-size: 3.90625vw;
  }
  .products-contents__titlebox--text span {
    font-size: 6.25vw;
  }
  .products-contents__titlebox--text::before {
    width: 3.51562vw;
    height: 2px;
  }
  .products-contents__titlebox--text02 {
    display: block;
    padding-left: 0px;
    font-size: 3.38542vw;
  }
  .products-contents__button--style {
    position: relative;
    top: auto;
    right: auto;
    width: 67.70833vw;
    height: 10.41667vw;
    font-size: 3.90625vw;
    margin-top: 3.90625vw;
    margin-left: auto;
    margin-right: auto;
  }
  .products-contents__button--style:after {
    right: 3.90625vw;
    font-size: 5.20833vw;
  }
  .products-contents__button--style.is-close:after {
    right: 3.90625vw;
    font-size: 5.20833vw;
  }
  .products-contents__image {
    margin-top: 6.51042vw;
  }
  .products-contents__imageList {
    flex-direction: column;
    align-items: center;
    margin-right: 0px;
    margin-bottom: -3.75vw;
  }
  .products-contents__item {
    max-width: 370px;
    width: 100%;
    margin-right: 0px;
    margin-bottom: 5.85938vw;
  }
}

.main-container {
  padding-bottom: 90px;
}

.page-contents {
  max-width: 1200px;
  width: 100%;
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1480px) {
  .page-contents {
    max-width: 1200px;
    width: 90%;
    margin-top: 80px;
  }
}

@media screen and (max-width: 1200px) {
  .main-container {
    padding-bottom: 7.5vw;
  }
  .page-contents {
    margin-top: 6.66667vw;
  }
}

@media screen and (max-width: 992px) {
  .main-container {
    padding-bottom: 9.07258vw;
  }
  .page-contents {
    margin-top: 8.06452vw;
  }
}

@media screen and (max-width: 768px) {
  .main-container {
    padding-bottom: 11.71875vw;
  }
  .page-contents {
    margin-top: 10.41667vw;
  }
}



/*** レスポンシブテーブルデザイン ***/
.shokai{
	width: 100%;
	border: 2px solid #d6ceb4;
	overflow: hidden;
	word-break: break-all;
	word-wrap: break-word;
	margin-bottom: 60px;
	margin-top: 40px;
}
 
.shokai th{
  padding: 15px;
  border-top: solid 1px #ffffff;
  width: 30%;
  overflow: hidden;
  color: #13131e;
  font-style: normal;
  font-weight: bold;
  font-size: 100%;
  text-align: left;
  word-break: break-all;
  word-wrap: break-word;
  vertical-align: top;
  background-color: #eeece4;
}
 
.shokai td{
padding: 15px;
text-align: left;
vertical-align: top;
color: #595960;
background-color: #ffffff;
border-top: dotted 1px #e0dccc;
overflow: hidden;
word-break: break-all;
word-wrap: break-word;
}
 
@media (max-width: 768px){
.shokai th{
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
  border-radius: 3px;
}
.shokai td{
  display: list-item;
  width: 100%;
  border-top: none !important;
}
}
/*** レスポンシブテーブルデザイン　おわり ***/



/*** レスポンシブテーブルデザイン ***/
.shokai2{
	width: 100%;
	border: 2px solid #d6ceb4;
	overflow: hidden;
	word-break: break-all;
	word-wrap: break-word;
	margin-bottom: 60px;
	margin-top: 40px;
}
 
.shokai2 th{
  padding: 15px;
  border-top: solid 1px #ffffff;
  width: 30%;
  overflow: hidden;
　color: #595960;
  font-style: normal;
  font-size: 100%;
  text-align: left;
  word-break: break-all;
  word-wrap: break-word;
  vertical-align: top;
  background-color: #eeece4;
}
 
.shokai2 td{
	padding: 15px;
	text-align: left;
	vertical-align: top;
	color: #595960;
	background-color: #ffffff;
	border-top: dotted 1px #e0dccc;
	overflow: hidden;
	word-break: break-all;
	word-wrap: break-word;
	font-weight: 600;
}

.shokai2 td span{
	font-weight: 400;
}

 
@media (max-width: 768px){
.shokai2 th{
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
  border-radius: 3px;
}
.shokai2 td{
  display: list-item;
  width: 100%;
  border-top: none !important;
}
}
/*** レスポンシブテーブルデザイン　おわり ***/



/*------------------------------------------------------------ 
    フロー
------------------------------------------------------------*/  

#flowWrap{
	width: 100%;
	letter-spacing: -0.5em;
	margin-top: 40px;
	margin-bottom: 40px;
}

.flow{
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 31.6667%;
	margin-right: 2.5%;
	margin-bottom: 20px;
	border: 1px solid #5b774f;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	height: 400px;
}

.flow:nth-child(3n){ margin-right:0;}

.flowHd{
	display:table;
	width:100%;
	height:50px;
	padding:10px 0;
	background:#5b774f;
}

.flowHd p{
	display:table-cell;
	vertical-align:middle;
	width:32px;
	height:32px;
	padding:0 10px 0 20px;
}

.flowHd p span{
	display:block;
	width:32px;
	height:32px;
	text-align:center;
	line-height:32px;
	color:#5b774f;
	font-family:Arial, Helvetica, sans-serif;
	font-size:120%;
	background:#fff;
	border-radius:50%;
}

.flowHd h4{
	display:table-cell;
	vertical-align:middle;
	color:#fff;
	font-size:1.7rem;
	font-weight:bold;
	padding-right:10px;
}

.txt{
	padding:15px;
	color:#070707;
	font-size:1.3rem;
	line-height:1.6;
	min-height:120px;
}

.flowTxt{
	width:auto;
	padding:25px;
	font-size:1.7rem;
	background:#FFEDC6;
}

.flowTxt dt{
	font-weight:bold;
	position:relative;
}

.flowTxt dt:before{
	display:inline-block;
	content:"";
	width:12px;
	height:12px;
	margin-right:8px;
	background:#F77433;
	border-radius:50%;
}

.flowTxt dd{
	padding:10px 0 0 20px;
	font-weight:bold;
	line-height:1.4;
}

.flowTxt dd span{
	color:#F50D0D;
	font-weight:bold;
}


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

.flow{
	width:47.94952681388013%;
	margin-right:4.100946372239748%;
	height: auto;
}

.flow:nth-child(3n){ margin-right:4.100946372239748%;}
.flow:nth-child(2n){ margin-right:0;}

}


/* SP */
@media screen and (max-width: 640px){

.flow{
	display:block;
	width:100%;
	margin-right:0;
}

.flow:nth-child(3n){ margin-right:0;}

.flowHd{ padding:5px 0;}
.flowHd h4{ font-size:1.7rem;}

.txt{
	font-size:109%;
	padding:15px 10px;
}

.flowTxt{
	padding:15px;
	font-size:1.7rem;
}

}

.slider {
    max-width: 1200px;
    margin: 0 auto;
}


/*プライバシーポリシーテーブル*/
.table_privacy{
	width: 100%;
	border-collapse: collapse;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 5px;
	margin-left: auto;
}
.table_privacy th.aaa{
	font-weight: normal;
	vertical-align: top;
	text-align: left;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
}
.table_privacy th.bbb{
	width: 4%;
	font-weight: normal;
	vertical-align: top;
	text-align: left;
	padding-top: 15px;
	padding-right: 5px;
	padding-bottom: 15px;
	padding-left: 0px;
}
.table_privacy td{
	vertical-align: top;
	padding-top: 15px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
}



/*ボックスレスポンシブ経営理念*/
.boxresrinen01 {
	margin-bottom: 30px;
	margin-top: 30px;
}
.boxresrinen01 p.txt01 {
	padding: 3rem 4rem;
	border: 10px double #FFFFFF;
	text-align: center;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 3rem;
	font-weight: 600;
}

.boxresrinen01 p.txt02 {
	padding-top:5px;
}

@media (max-width: 768px){
.boxresrinen01 {
	min-height: 0px;
}
.boxresrinen01 p.txt01 {
	text-align: left;
	padding: 2rem 3rem;
	font-size: 2rem;
}
}



/* イメージリスト会社概要 */
#imageListcom01{
	max-width:1200px;
	overflow:hidden;
	margin-top:20px;
}

#imageListcom01 li{
	width:25%;
	float:left;
	margin-bottom:20px;
	padding:0 15px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	list-style: none;
}

.img-responsive{
	width:100%;
	height:auto;
}


/* TABLET */
@media screen and (max-width: 992px){

#imageListcom01 li{
	width:50%;
	float:left;
	padding:0 15px;
}
}



/* イメージリスト work01*/
#imageListwork01{
	max-width:1200px;
	overflow:hidden;
	margin-top:20px;
}

#imageListwork01 li{
	width:50%;
	float:left;
	margin-bottom:40px;
	padding:0 15px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	list-style: none;
}


#imageListwork01 p.txt01 {
	text-align: center;
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #677f5d;
	padding-top: 10px;
	padding-bottom: 10px;
}

#imageListwork01 p.txt02 {
	color: #333333;
	font-size: 1.4rem;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}



.img-responsive{
	width:100%;
	height:auto;
}


/* TABLET */
@media screen and (max-width: 992px){

#imageListwork01 li{
	width:50%;
	float:left;
	padding:0 15px;
}
}

/* TABLET */
@media screen and (max-width: 768px){

#imageListwork01 li{
	width:100%;
	float:none;
	padding:0 ;
}


}
