@charset "utf-8";



/* ===============================
   privacy
================================ */

.privacy-inner{
	width:100%;
	max-width:740px;
	margin:0 auto;
	padding:21rem 0 5rem;
}
.privacy-inner h2 ,.menseki-inner h2{
	font-size:1.8rem;
	font-weight: 900;
	text-align: center;
	margin-bottom:3rem;
}
.privacy-inner h3 ,.menseki-inner h3{
	font-weight: 800;
}
.privacy-inner p ,.menseki-inner p{
	margin-bottom:1.7rem;
	font-weight: 500;
}
.privacy-inner ul{
	margin-bottom:1.7rem;
	font-weight: 500;
}
#menseki{
	height:7rem;
}
.menseki-inner{
	width:100%;
	max-width:740px;
	margin:0 auto;
	padding-bottom:10rem;
}
@media (max-width: 768px) {
	.privacy-inner{
	width:90%;
	padding:10rem 0 5rem;
}
	.menseki-inner{
	width:90%;
}
   #menseki{
	height:3rem;
}
}
/* ===============================
   company
================================ */
.group1-inner{
	width:100%;
	max-width:1287px;
	height: auto;
	margin:0 auto;
	padding:15rem 0 5rem;
	
}
.group1-inner .title{
	background:url("../image/company/title-bg.png") no-repeat center bottom / contain;
	max-width:392px;
	height: 88px;
	text-align: center;
	margin:0 auto;
}
.group1-inner .title h2{
  position: relative;
  top: 62px; /*  */
  font-size:1.8rem;
  font-weight: 900;
}
.group1-inner .life-contents{
  display:flex;
  gap:7rem;
  margin:7rem auto 0;
  align-items:flex-start;
}

.group1-inner .life-contents img{
  max-width:100%;
  height:auto;
}
.group1-inner .life-contents .life-text{
	margin-top: 3rem;
}
.group1-inner .life-contents .life-text img{
	margin-bottom:.5rem;
}
.group1-inner .life-contents .life-text p{
	margin-top: 2rem;
	line-height: 1.8;
}
/* ===============================
   group1
================================ */
@media (min-width: 769px) and (max-width: 1024px){
  
  .group1-inner .life-contents{
    gap: 1.5rem;
	padding:0 1rem;
  }

  /**/
  .group1-inner .life-contents > img{
    flex: 0 0 42%;    
    max-width: 42%;
  }

  /*  */
  .group1-inner .life-contents .life-text{
    flex: 0 0 56%;
  }
}

/* ===============================
   group1
================================ */
@media (max-width: 768px){

  .group1-inner{
    width: 90%;
    padding: 8rem 0 3rem;
  }

  /*  */
  .group1-inner .title{
    max-width: 280px;
    height: 70px;
    background-size: contain;
  }

  .group1-inner .title h2{
    top: 45px;
    font-size: 1.5rem;
  }

  /*  E*/
  .group1-inner .life-contents{
    flex-direction: column;
    gap: 2.5rem;
    margin-top: 4rem;
  }

  /*  E*/
  .group1-inner .life-contents .life-text{
    margin-top: 0;
  }

  .group1-inner .life-contents .life-text p{
    margin-top: 1.5rem;
    font-size: 0.95rem;
    line-height: 1.7;
  }

  /*  E*/
  .group1-inner .life-contents .life-text img{
	width:90%;
    max-width: 300px;
	height:auto;
	display: block;
  margin: 0 auto;
  }
}

/* ===============================
   group2 E E
================================ */
.group2-inner{
    width:95%;
	max-width:737px;
	height: auto;
	margin:7rem auto;
	padding:0;
}
.group2-inner .logo{
	width:250px;
	height: auto;
	margin: 0 auto;
}
.group2-inner .logo img{
	width:100%;
	height: auto;
}
.group2-inner .message{
	margin-top:4rem;
	font-weight: 500;
	font-size: .98rem;
	line-height: 1.6rem;
	letter-spacing: 1px;
}
.group2-inner .message p:last-child{
	text-align: right;
	margin-top: 3.5rem;
}
.group3-inner{
    width:95%;
	max-width:737px;
	height: auto;
	margin:10rem auto;
	padding:0;
	
}
.group3-inner .company-name{
  background-color:#44732f;
  padding:.1rem 1rem .3rem;
  display: block;
  width: fit-content;
  margin: 0 auto;
  color:#fff;
  font-size: 1.7rem;
  font-weight: 700;
letter-spacing: 1px;
}
.cmpany-content .text{
	margin:2.5rem 0 2rem;
	font-weight: 500;
	font-size: .98rem;
	line-height: 1.6rem;
}
/* 表 */
.company-info{
  border-top:1px solid #333;
  padding-top:1.5rem;
  padding-left:1rem;
}

.info-row{
  width: 502px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: 100px 1fr;
  gap:1.7rem;
  padding:1rem 0;
  align-items: center;
}

.info-row dt{
  background:#fff;
  font-weight:700;
  text-align:left;
  padding:.5rem 0 .5rem .8rem;
}
.company-info .info-row:last-child{
  align-items: flex-start;
}

.info-row dd{
  margin:0;
  line-height:1.8;
  font-weight: 500;
  font-size:.98rem;

  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap; /* 改行対忁E*/
}
.info-row dd.last{
  margin-top:.5rem;
}
.map-link{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  text-decoration: none;
  color: #000;
  margin-left: 1rem;
}

/*  */
.map-link::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: #000;

  transform: scaleX(0);           
  transform-origin: left;          
  transition: transform .3s ease;
}

/* hover晁E*/
.map-link:hover::after{
  transform: scaleX(1); 
}

@media (max-width:768px){
.map-link{

  margin-left:2rem;
}
.company-info .info-row:first-child{
  align-items: flex-start;
}
}
/* ===============================
   group2 E68px E E
================================ */
@media (max-width:768px){
.group2-inner{
	width:90%;
	margin:4rem auto 0;
	}
 .group3-inner{
	width:90%;
	margin:6rem auto ;
	}
.group2-inner .logo{
	width:50%;
	height:auto;
	margin: 0 auto;
}
.group2-inner .message p:last-child{
 margin-top: 1.5rem;
	}
 .company-info{
  padding-top:1rem;
  padding-left:0;
}
 .info-row{
  width: 100%;
  margin: 0 auto;
 grid-template-columns: 90px 1fr;
  gap:1rem;
  padding:.5rem 0;
  align-items: center;
}
.info-row dt{
  text-align:left;
  padding:.5rem .3rem !important;
  font-size:.95rem;
}
.info-row dd{
  margin:0;
  line-height:1.6;
  font-size:.95rem;
}
.map-link{
  margin-left:0;
}

}

/* ===============================
   service
================================ */
.service-inner{
	width:100%;
	max-width:1465px;
	height: auto;
	margin:0 auto;
	padding:15rem 0 5rem;
	
}
.service-inner .title{
	background:url("../image/service/title-bg.png") no-repeat center bottom / contain;
	max-width:473px;
	height: 88px;
	text-align: center;
	margin:0 auto 1rem;
}
.service-inner .title h2{
  position: relative;
  top: 62px; /* はみ出したぁE Eだけ調整 */
  font-size:1.8rem;
  font-weight: 700;
}
.service-inner .service-contents{
	display: flex;
	width:100%;
	padding-left:2rem;
}

/* 左側 E 固定幁E画僁E*/
.service-inner .service-contents .left-img {
  width:100%;
  height: auto;
  max-width: 849px;
  flex-shrink: 0; /* 縮まらなぁE  ぁE  する */
}

/* 右側 E 残り全部 チE  スチE*/
.service-inner .service-contents .right-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center; /* ↁE縦方向中央寁E   */
  padding-right:3rem;
}
/* 左側 E 残り全部 チE  スチE*/
.service-inner .service-contents .left-text {
 flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center; /* ↁE縦方向中央寁E   */
  padding-left:7rem;
}

/* 右側 E 固定幁E画僁E*/
.service-inner .service-contents .right-img {
   width:100%;
   height: auto;
   max-width: 765px;
  flex-shrink: 0; /* 縮まらなぁE  ぁE  する */
  
}
.service-inner .service-contents2{
	display: flex;
	width:100%;
	max-width:1119px;
	margin:3rem auto 8rem;
	gap:9rem;
	padding-left:2rem;
}
.service-inner .service-contents2 > div {
  flex: 1;
}
/* チE  ストスタイル */
.service-contents h3{
	font-size:1.8rem;
  font-weight: 700;
}
.service-contents2 h3{
	font-size:1.8rem;
  font-weight: 700;
  text-align: center;
}
.service-inner p{
	font-weight: 500;
	margin-top:2rem;
	margin-bottom:1rem;
	padding-bottom:1.5rem;
	border-bottom:1px solid #000;
}
.handling-company{
	 display: flex;
    justify-content: flex-start;
    align-items: center;
	gap:1.3rem;
	font-weight: 500;
}
.handling-company span:first-child{
	font-size:.8rem;
	padding-top:.1rem;
}
/* PDFボタン共通（デフォルト Eグレー E E*/
.handling-company .pdf{
  margin-left: 1rem;
  padding: .5rem 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #c9caca; /* チE  ォルト：グレー */
  border-radius: 15px;
  transition: background-color .3s ease;
}

/* a はクリチE  領域用 E 背景なし！E*/
.handling-company .pdf a{
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 🔹 a がある場合だけ最初から緁E*/
.handling-company .pdf:has(a){
  background-color: #44732f;
}

/* 🔹 a がある場合だぁEhover で色変更 */
.handling-company .pdf:has(a):hover{
  background-color: #649632;
}
@media (min-width: 769px) and (max-width: 1200px){

  .service-inner .service-contents{
    gap: 3rem; /* 余白を少し確俁E*/
	padding-left:0;
	margin-top:5rem;
  }
	.service-inner .service-contents2{
		margin-top:5rem;
		margin-bottom:0;
	}
	.service-inner .service-contents2:last-child{
		margin-bottom:5rem;
	}
  /* 画像！E0% */
  .service-inner .service-contents .left-image,
  .service-inner .service-contents .right-img{
    flex: 0 0 40%;
    max-width: 40%;
  }

  /* チE  スト！E0% */
  .service-inner .service-contents .right-text,
  .service-inner .service-contents .left-text{
    flex: 0 0 60%;
    max-width: 60%;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (max-width: 768px) {
.service-inner{
	padding:8rem 0 5rem;
}
.service-inner .service-contents ,.service-inner .service-contents2 {
    flex-direction: column;
    padding-left: 0;
  }

  /* 画像を忁E  丁E*/
  .service-inner .service-contents .left-image,
  .service-inner .service-contents .right-img {
    order: 1;
    width: 100%;
  }

  /* チE  ストを忁E  丁E*/
  .service-inner .service-contents .right-text,
  .service-inner .service-contents .left-text {
    order: 2;
    padding: 1.5rem;
  }
.service-inner .service-contents2{
	margin:3rem auto 0;
	gap:3rem;
}
.service-inner .service-contents2 > div {
  padding: 1.5rem;
}

	.handling-company{
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* ↁE下段も中央基準に */
	gap:1rem;
  }

  /* PDFだけ下に・中身幁E  中央 */
  .handling-company .pdf{
    order: 3;
    width: auto;          /* ↁE100%を解除 */
    margin-left: 0;
  }

  /* 上段チE  スチE*/
  .handling-company span:first-child,
  .handling-company span:nth-child(2){
    order: 1;
  }
.service-inner .title h2{
  font-size:1.5rem;
}
.service-contents h3{
	font-size:1.5rem;

}
.service-contents2 h3{
	font-size:1.5rem;

}
}

