@charset "utf-8";

/* -----------------------------
	service-top
-------------------------------- 

.service-top .service-com {
	background: none;
	padding: 150px 0 100px;
	margin: 0;
}

.service-top .service-com::before ,
.service-top .service-com::after {
	display: none;
}

.service-top .service-com .ttl-l ,
.service-top .service-com .service-all {
	display: none;
}

.service-top .service-com .service-box {
    background: var(--beige);
	box-shadow: none;
}

.service-top .service-com .service-list .service-box::before {
    background: var(--beige);
}*/

/*カラー設定*/
.service-area .service-list .list-com .title.pink ,
.point-area .list li:nth-child(2) h4 {
	background: var(--green);
}

.service-area .service-list .list-com .title.blue ,
.service-constant .service-page-title-area .no.no-jp ,
.service-constant .service-page-title-area .inner::before ,
.service-inspect .service-page-title-area .no.no-jp ,
.service-inspect .service-page-title-area .inner::before ,
.service-fire-protection .service-page-title-area .no.no-jp ,
.service-fire-protection .service-page-title-area .inner::before {
	background: var(--blue);
}

.service-area .service-list .list-com .title.green ,
.point-area .list li:nth-child(3) h4 {
	background: var(--green);
}

.service-area .service-list .list-com .title.yellowgreen ,
.service-building-air .service-page-title-area .no.no-jp , 
.service-building-air .service-page-title-area .inner::before ,
.service-voc .service-page-title-area .no.no-jp , 
.service-voc .service-page-title-area .inner::before , 
.service-smoking-room .service-page-title-area .no.no-jp , 
.service-smoking-room .service-page-title-area .inner::before , 
.service-school .service-page-title-area .no.no-jp , 
.service-school .service-page-title-area .inner::before {
	background: var(--yellowgreen);
}

.service-area .service-list .list-com .title.orange {
	background: var(--orange);
}

.service-area .service-list .list-com .title.purple ,
.service-filter .service-page-title-area .no.no-jp ,
.service-filter .service-page-title-area .inner::before ,
.service-internal-cleaning .service-page-title-area .no.no-jp ,
.service-internal-cleaning .service-page-title-area .inner::before ,
.service-inspection .service-page-title-area .no.no-jp ,
.service-inspection .service-page-title-area .inner::before {
	background: var(--purple);
}

.service-area .service-list .list-com .title.yellow ,
.point-area .list li:nth-child(1) h4 {
	background: var(--green);
}

.point-area .list li:nth-child(1) {
	border: var(--green) solid 2px;
}

.point-area .list li:nth-child(2) {
	border: var(--green) solid 2px;
}

.point-area .list li:nth-child(3) {
	border: var(--green) solid 2px;
}

.point-area .list li:nth-child(1) .txt {
	border-bottom: none;
}

.point-area .list li:nth-child(2) .txt {
	border-bottom: none;
}

.point-area .list li:nth-child(3) .txt {
	border-bottom: none;
}

.feature-area .feature-block:nth-child(1) h4 ,
.menu-box ul li.orange a::before {
	color: var(--orange);
}

.feature-area .feature-block:nth-child(2) h4 ,
.menu-box ul li.pink a::before ,
.service-patrol-equipment .service-page-title-area .name ,
.service-fire-fighting .service-page-title-area .name {
	color: var(--green);
}

.feature-area .feature-block:nth-child(3) h4 ,
.menu-box ul li.purple a::before ,
.service-filter .service-page-title-area .name ,
.service-internal-cleaning .service-page-title-area .name  ,
.service-inspection .service-page-title-area .name {
	color: var(--purple);
}

.feature-area .feature-block:nth-child(4) h4 ,
.menu-box ul li.green a::before { 
	color: var(--green);
}

.menu-box ul li.yellow a::before {
	color: var(--yellow);
}

.menu-box ul li.yellowgreen a::before ,
.service-building-air .service-page-title-area .name ,
.service-voc .service-page-title-area .name ,
.service-smoking-room .service-page-title-area .name ,
.service-school .service-page-title-area .name {
	color: var(--yellowgreen);
}

.menu-box ul li.blue a::before ,
.service-constant .service-page-title-area .name ,
.service-inspect .service-page-title-area .name ,
.service-fire-protection .service-page-title-area .name {
	color: var(--blue);
}

/* 20260108追加 */
.service-area .service-list .list-com .title.yellow ,
.point-area .list.list02 li:nth-child(1) h4 {
	background: var(--yellow);
}
.service-area .service-list .list-com .title.yellow ,
.point-area .list.list02 li:nth-child(2) h4 {
	background: var(--yellow);
}
.point-area .list.list02 li:nth-child(1) {
	border: var(--yellow) solid 2px;
}

.point-area .list.list02 li:nth-child(2) {
	border: var(--yellow) solid 2px;
}

.point-area .ttl-l .jp.siyn-title {
  font-size: 2rem;
}

.siyn-title02 span {
  position: relative;
  display: inline-block;
  padding: 0 1.2em; /* 文字との距離 */
}

.siyn-title02 span::before {
  content: "＼";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--yellow);
}

.siyn-title02 span::after {
  content: "／";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
   color: var(--yellow);
}

.siyn-title02 span {
  font-size: 2rem;
  position: relative;
  display: inline-block;
  padding: 0 1.2em; /* 文字との距離 */
}

.siyn-title span {
  font-size: 2rem;
  position: relative;
  display: inline-block;
  padding: 0 1.2em; /* 文字との距離 */
}

.siyn-title span::before {
  content: "＼";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
}

.siyn-title span::after {
  content: "／";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
   color: var(--green);
}


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

	.service-top .service-com {
		background: none;
		padding: 20px 10px 50px;
		margin: 0;
	}

}

/* -----------------------------
	下層・共通
-------------------------------- */

/* -------------ページタイトル------------- */
#service-under .mix-area {
	top: 930px;
}

.service-page-title-area {
	width: 100%;
	min-height: 800px;
	position: relative;
	margin:120px 0 80px;
	background: var(--beige);
	overflow: hidden;
}

.service-building-air .service-page-title-area ,
.service-voc .service-page-title-area ,
.service-smoking-room .service-page-title-area ,
.service-school .service-page-title-area {
	background: var(--gradation-yellowgreen);
}

.service-constant .service-page-title-area ,
.service-inspect .service-page-title-area ,
.service-fire-protection .service-page-title-area {
	background: var(--gradation-blue);
}

.service-filter .service-page-title-area ,
.service-internal-cleaning .service-page-title-area ,
.service-inspection .service-page-title-area {
	background: var(--gradation-purple);
}

.service-patrol-equipment .service-page-title-area ,
.service-fire-fighting .service-page-title-area {
	background: var(--gradation-pink);
}

.title-03.service-page-title-area {
	padding: 0 0 0 60px;
	display: flex;
	align-items: center;
}

.title-04.service-page-title-area {
	padding: 50px 0 50px 50px;
}

.service-page-title-area::before {
	content: "";
	width: 50%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.service-overall .service-page-title-area::before {
	background-image: url("../img/service-mv-overall.jpg");
}

.service-overall.lights .service-page-title-area::before {
	background-image: url("../img/service-mv-overall-lights.jpg")!important;
}

.service-fire-fighting .service-page-title-area::before {
	background-image: url("../img/service-mv-fire-fighting.jpg");
}

.service-fire-fighting .service-page-title-area::before {
	background-image: url("../img/service-mv-fire-fighting.jpg");
}

.service-patrol-equipment .service-page-title-area::before {
	background-image: url("../img/service-mv-patrol-equipment.jpg");
}

.service-aircon .service-page-title-area::before {
	background-image: url("../img/service-mv-aircon.jpg");
}

.service-filter .service-page-title-area::before {
	background-image: url("../img/service-mv-filter.jpg");
}

.service-internal-cleaning .service-page-title-area::before {
	background-image: url("../img/service-mv-internal-cleaning.jpg");
}

.service-inspection .service-page-title-area::before {
	background-image: url("../img/service-mv-inspection.jpg");
}

.service-air .service-page-title-area::before {
	background-image: url("../img/service-mv-air.jpg");
}

.service-building-air .service-page-title-area::before {
	background-image: url("../img/service-mv-building-air.jpg");
}

.service-voc .service-page-title-area::before {
	background-image: url("../img/service-mv-voc.jpg");
}

.service-smoking-room .service-page-title-area::before {
	background-image: url("../img/service-mv-smoking-room.jpg");
}

.service-school .service-page-title-area::before {
	background-image: url("../img/service-mv-school.jpg");
}

.service-12jo-tenken .service-page-title-area::before {
	background-image: url("../img/service-mv-12jo-tenken.jpg");
}

.service-constant .service-page-title-area::before {
	background-image: url("../img/service-mv-constant.jpg");
}

.service-inspect .service-page-title-area::before {
	background-image: url("../img/service-mv-inspect.jpg");
}

.service-fire-protection .service-page-title-area::before {
	background-image: url("../img/service-mv-fire-protection.jpg");
}

.service-page-title-area::after {
	content: "";
	width: 100%;
	height: 11px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url("../img/wave-01.svg") repeat-x center bottom / auto 11px;
	z-index: 10;
}

.service-page-title-area .inner {
	position: relative;
	z-index: 1;
	width: calc(50% - 25px);
	margin: 0;
	padding: 0 70px 0 0;
}

.title-03.service-page-title-area .inner::before ,
.title-03.service-page-title-area .inner::after {
	content: "";
	width: 200px;
	height: 200px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: absolute;
}

.title-03.service-page-title-area .inner::before {
	right:  -50px;
	top: -250px;
}

.title-03.service-page-title-area .inner::after {
	left:  -150px;
	bottom: -250px;
}

.service-overall .title-03.service-page-title-area .inner::before {
	background-image: url("../img/square-02-green.svg");
}

.service-overall .title-03.service-page-title-area .inner::after {
	background-image: url("../img/circle-02-green.svg");
}

.service-air .title-03.service-page-title-area .inner::before {
	background-image: url("../img/square-02-yellowgeen.svg");
}

.service-air .title-03.service-page-title-area .inner::after {
	background-image: url("../img/circle-02-yellowgreen.svg");
}

.service-aircon .title-03.service-page-title-area .inner::before {
	background-image: url("../img/square-02-purple.svg");
}

.service-aircon .title-03.service-page-title-area .inner::after {
	background-image: url("../img/circle-02-purple.svg");
}

.title-04.service-page-title-area .inner {
	padding: 0 50px 0 50px;
	background: var(--white);
	min-height: 700px;
	display: flex;
	align-items: center;
	border-radius: 20px 0 0 20px;
}

.service-page-title-area .no {
	position: relative;
	z-index: 1;
}

.service-page-title-area .name {
	font-size: 3.0rem;
	font-weight: bold;
	padding: 15px 0 0;
}

.service-page-title-area .copy {
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.52;
	padding: 20px 0;
}

.title-04.service-page-title-area .copy {
	color: var(--beige05);
	font-size: 3.6rem;
}

.service-overall .copy span {
	background: linear-gradient(transparent 50%, var(--green02) 50%);
}

.service-air .copy span {
	background: linear-gradient(transparent 50%, var(--yellowgreen02) 50%);
}

.service-12jo-tenken .copy span {
	background: linear-gradient(transparent 50%, var(--blue02) 50%);
}

.service-aircon .copy span {
	background: linear-gradient(transparent 50%, var(--purple02) 50%);
}

.service-page-title-area .txt {
	font-size: 1.8rem;
	line-height: 2.5;
}

.title-04.service-page-title-area .txt {
	font-size: 1.6rem;
	line-height: 1.7;
}

@media screen and (max-width: 768px){
	
	#service-under .mix-block {
		position: relative;
	}
	
	#service-under .mix-area {
		top: auto;
		bottom: -30px;
	}

	.service-page-title-area {
		margin: 0 0 40px;
		min-height: auto;
	}
	
	.title-03.service-page-title-area {
		padding: 220px 0 0;
		display: block;
		align-items: center;
	}
	
	.title-04.service-page-title-area {
		padding:260px 20px 30px;
	}
	
	.service-page-title-area::before {
		content: "";
		width: calc(100% - 40px);
		height: 200px;
		right: 0;
		left: 0;
		margin: 0 auto;
		top: 60px;
		bottom: auto;
		border-radius: 10px;
	}
	
	.title-04.service-page-title-area::before {
		border-radius: 10px 10px 0 0;
	}

	.service-page-title-area .inner {
		min-height: auto;
		padding: 80px 20px 50px;
		width: 100%;
	}
	
	.title-03.service-page-title-area .inner::before ,
	.title-03.service-page-title-area .inner::after {
		width: 100px;
		height: 100px;
	}

	.title-03.service-page-title-area .inner::before {
		right:  -10px;
		top: 0;
	}

	.title-03.service-page-title-area .inner::after {
		left:  -20px;
		bottom: -60px;
	}
	
	.title-04.service-page-title-area .inner {
		padding: 30px 20px;
		min-height: auto;
		display: block;
		border-radius: 0 0 10px 10px;
		margin: 0 0 0;
	}

	.service-page-title-area .name {
		font-size: 2.0rem;
		padding: 10px 0 0;
	}

	.service-page-title-area .copy {
		font-size: 3rem;
		padding: 10px 0;
	}
	
	.service-page-title-area .copy {
		font-size: 3rem;
		padding: 10px 0;
	}

	.title-04.service-page-title-area .copy {
		font-size: 2.2rem;
	}

	.service-page-title-area .txt {
		font-size: 1.6rem;
		line-height: 2.0;
	}

}

/* -------------追従メニュー------------- */
.menu-box ul {
	background: #fff;
	border: var(--beige03) solid 1px;
	overflow: hidden;
	display: flex;
}

.menu-box ul li {
	flex: 1 1 auto;
	border-right: var(--beige03) solid 1px;
	font-weight: bold;
}

.menu-box ul li:last-child {
	border-right: none;
}

.menu-box ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 30px 0;
}

.menu-box ul li a:hover {
	background: var(--beige02);
	color: var(--beige05);
}

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

	/* アコーディオンタイプ
	.menu-box .nav {
		display: none;
	}
	*/
	
	/* アコーディオン無*/
	#service-under .menu-box .nav,
	.service-top .menu-box .nav{
		display: block;
	}
	#service-under .menu-box .more_btn02,
	.service-top .menu-box .more_btn02{
		border-top: none;
		box-shadow: none;
		background: var(--beige02);
		padding: 20px 20px 0;
		display: block;
		cursor: inherit;
		position: relative;
	}
	#service-under .menu-box .more_btn02::after,
	.service-top .menu-box .more_btn02::after{
		display: none;
	}
	#service-under .menu-box.is-fixed,
	.service-top .menu-box.is-fixed{
		position: relative;
		top: auto;
		left: auto;
	}
	
	.menu-box ul {
		display: block;
		padding: 20px 20px 30px;
		background: var(--beige02);
		border: none;
	}

	.menu-box ul li {
		border-right: none;
		border-bottom: var(--beige03) solid 1px;
	}

	.menu-box ul li a {
		display: block;
		padding: 15px;
		background: var(--white);
		position: relative;
	}

	.menu-box ul li a::before {
		content: "\f192";
		position: absolute;
		right: 10px;
		bottom: 0;
		top: 0;
		margin: auto;
		font-size: 1.2rem;
		display: flex;
		align-items: center;
	}

}


/* -------------about-area------------- */
.about-area {
    padding: 100px 0;
}

.about-area .info-area {
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}

.about-area .info-area .image {
	width: 43.75%;
    height: 600px;
    position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.about-area .info-area .image img {
	width: 100%;
    height: 100%;
	border-radius: 20px;
	object-fit: cover;
}

.about-area .info-area .inner {
    min-height: 600px;
    display: flex;
    align-items: center;
    padding: 0 0 0 550px;
}

.about-area .info-area .inner .copy {
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 20px 0 10px;
}

.about-area .info-area .inner .copy span {
	font-size: 1.8rem;
}

.about-area .info-area .inner .copy02 {
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--orange);
	line-height: 1.7;
	padding: 40px 0 0;
}

.about-area .info-area .inner .copy02 span {
	font-size: 1.8rem;
	font-weight: bold;
	color: var(--white);
	background: var(--orange);
	padding: 5px 20px;
	border-radius: 5px;
}

.about-area .info-area .inner .txt {
	line-height: 1.875;
	padding: 0 0 15px;
}

.about-area .info-area .inner .txt:last-child {
	padding: 0;
}

.about-area .info-area .inner .att {
	font-size: 1.2rem;
}

.about-area .other-box {
	padding: 70px 0 0;
}

.about-area .other-box ul {
	display: flex;
	justify-content: space-between;
	gap:0 20px;
}

.about-area .other-box ul li {
	background: var(--beige02);
	width: calc((100% - 20px)/2);
	border-radius: 10px;
}

.about-area .other-box.other-design-02 ul li {
	width: 100%;
}

.about-area .other-box .att {
	font-size: 1.4rem;
	font-weight: normal;
	color: var(--black);
}

.about-area .other-box ul li h4 {
	border-bottom: var(--beige03) solid 2px;
	font-size: 2.0rem;
	font-weight: bold;
	padding: 15px 20px;
	color: var(--beige05);
}

.about-area .other-box ul li h4 .att {
	padding: 0 0 0 10px;
}

.about-area .other-box ul li .box {
	padding: 20px;
}

.about-area .other-box ul li .box dl {
	padding: 10px 0 0;
}

.about-area .other-box ul li .box dt {
	font-weight: bold;
	color: var(--beige05);
	line-height: 1.7;
	background: var(--white);
	padding: 5px 10px;
	border-radius: 5px;
}

.about-area .other-box ul li .box dd {
	line-height: 1.7;
	padding: 5px 0 10px;
}

.about-area .other-box ul li .box dd:last-child {
	padding: 5px 0 0;
}

.about-area .other-box.other-design-02 .flex {
	display: flex;
	justify-content: space-between;
	gap:0 20px;
	padding: 20px;
}

.about-area .other-box.other-design-02 .flex .box {
	padding: 0;
	width: calc((100% - 10px) /2);
}

.about-area .other-box ul > li > .box {
	padding: 20px;
}

.about-area .demerit-area ul {
	display: flex;
	justify-content: space-between;
	padding: 50px 0 0;
}

.about-area .demerit-area ul li {
	width: calc((100% - 40px)/ 3);
}

.about-area .demerit-area ul li .copy {
	font-weight: bold;
	font-size: 2.4rem;
	color: var(--blue);
	line-height: 1.5;
	padding: 20px 0 10px;
	text-align: center;
}

.about-area .demerit-area ul li:nth-child(1) .copy {
    color: var(--blue);
}

.about-area .demerit-area ul li:nth-child(2) .copy {
    color: var(--green);
}

.about-area .demerit-area ul li:nth-child(3) .copy {
    color: var(--yellow);
}

.about-area .demerit-area ul li .image {
	position: relative;
}

.about-area .demerit-area ul li .image::before {
	position: absolute;
	font-size: 5.0rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    top: -20px;
    font-family: var(--basefont-en);
    font-weight: 700;
    font-style: italic;
    white-space: nowrap;
}

.about-area .demerit-area ul li:nth-child(1) .image::before {
	content: "01";
    color: var(--blue);
}

.about-area .demerit-area ul li:nth-child(2) .image::before {
	content: "02";
    color: var(--green);
}

.about-area .demerit-area ul li:nth-child(3) .image::before {
	content: "03";
    color: var(--yellow);
}

.about-area .demerit-area ul li .image img {
	width: 100%;
	border-radius: 20px;
}

@media screen and (max-width: 768px){
	
	.about-area {
		margin: 0 auto;
		max-width: 100%;
	}
	
	.about-area {
		padding: 0 0 40px;
	}

	.about-area .info-area {
		margin: 0 auto;
		max-width: 100%;
	}

	.about-area .info-area .image {
		width: 100%;
		height: auto;
		position: static;
	}

	.about-area .info-area .image img {
		border-radius: 0;
	}

	.about-area .info-area .inner {
		min-height: auto;
		display: block;
		padding: 40px 20px 0;
	}

	.about-area .info-area .inner .copy {
		font-size: 2.6rem;
		padding: 15px 0 5px;
	}
	
	.about-area .info-area .inner .copy02 {
		font-size: 2.0rem;
		line-height: 1.7;
	}

	.about-area .info-area .inner .copy02 span {
		font-size: 1.6rem;
		padding: 5px 10px;
	}

	.about-area .info-area .inner .txt {
		line-height: 1.7;
		padding: 0 0 5px;
	}
	
	.about-area .other-box {
		padding: 0 20px 0;
	}

	.about-area .other-box ul {
		display: block;
	}

	.about-area .other-box ul li {
		margin: 20px 0 0;
		width: 100%;
	}
	
	.about-area .other-box .att {
		font-size: 1.0rem;
	}

	.about-area .other-box ul li h4 {
		font-size: 1.8rem;
		padding: 10px 15px;
		line-height: 1.5;
	}

	.about-area .other-box ul li h4 .att {
		padding: 5px 0 0 0;
		display: block;
		line-height: 1.5;
	}

	.about-area .other-box ul li .box {
		padding: 15px;
	}

	.about-area .other-box ul li .box dt {
		padding: 5px;
	}

	.about-area .other-box.other-design-02 .flex {
		display: block;
	}

	.about-area .other-box.other-design-02 .flex .box {
		padding: 0 0 20px;
		width: 100%;
	}

	.about-area .other-box.other-design-02 .flex .box:last-child {
		padding: 0;
	}
	
	.about-area .demerit-area ul {
		display: block;
		padding: 0 20px 0;
	}

	.about-area .demerit-area ul li {
		width: 100%;
		padding: 50px 0 0;
	}

	.about-area .demerit-area ul li .copy {
		font-size: 2.6rem;
		padding: 15px 0 5px;
	}

	.about-area .demerit-area ul li .image::before {
		position: absolute;
		font-size: 5.0rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		text-align: center;
		top: -20px;
		font-family: var(--basefont-en);
		color: var(--lightblue2);
		font-weight: 700;
		font-style: italic;
		white-space: nowrap;
	}

}


/* -------------service-area------------- */

.service-area {
    background: var(--beige) url("../img/wave-01.svg") repeat-x center bottom / auto 11px;
    margin: 150px 0 0;
	padding: 0 0 100px;
	position: relative;
}

.service-aircon .service-area {
    margin: 100px 0 0;
	padding: 100px 0;
}

.service-area::before {
	content: "";
	width: 100%;
	height: 150px;
	background: url("../img/wave-04.svg") no-repeat center top / cover;
	position: absolute;
	top: -150px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.service-aircon .service-area::before {
	content: "";
	width: 100%;
	height: 11px;
	background: url("../img/wave-02.svg") repeat-x center top / auto 11px;
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	margin: 0 auto;
}


.service-area .ttl-l {
	padding: 0 0 10px;
}

/*
.service-area .accordion ,
.service-area .border {
	border-top: var(--blue-opacity) solid 1px;
}

.service-area .service-list .list-com {
	border-bottom: var(--blue-opacity) solid 1px;
}
*/

.service-area .service-list .list-com .inner {
	background: var(--white);
	margin: 10px auto 0;
	border-radius: 20px;
	padding: 60px 20px;
}

.service-area .service-list .list-com .title {
	font-size: 2.6rem;
	font-weight: bold;
	color: var(--white);
	padding: 15px;
	display: inline-block;
	position: relative;
	text-align: center;
	border-radius: 5px;
	min-width: 260px;
}

.service-area.service-design-02 .service-list .list-com .title {
	background: var(--beige03);
	color: var(--beige05);
}

.service-area .service-list .list-com .copy {
	font-size: 2.4rem;
	font-weight: bold;
	padding: 20px 0 0;
	line-height: 1.5;
}

/*service-design-01*/
.service-area.service-design-01 .service-list .list-com .top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.service-area.service-design-01 .service-list .list-com .top div {
	display: flex;
	align-items: flex-start;
	gap: 0 20px;
}

.service-area.service-design-01 .service-list .list-com .top div .txt {
	font-weight: bold;
	width: 840px;
}

.service-area.service-design-01 .service-list .list-com .under {
	/*display: flex;*/
	display: none;
}

.service-area.service-design-01 .service-list .list-com .under .flex {
	display: flex;
	flex-wrap: wrap;
	gap:30px 10px;
	margin: 30px 0 0;
}

.service-area.service-design-01 .service-list .list-com .under .box {
	background: var(--white);
	position: relative;
	width: calc((100% - 20px)/3);
	padding: 20px;
	border: var(--beige04) solid 1px;
	border-radius: 10px;
}

.service-area.service-design-01 .service-list .list-com .under.under-02 .box {
	width: calc((100% - 10px)/2);
}

.service-area.service-design-01 .service-list .list-com .under .box.box-l {
	width: 100%;
	padding: 0;
	border-radius: 0;
	border: none;
}

.service-area.service-design-01 .service-list .list-com .under .box:first-child {
}

.service-area.service-design-01 .service-list .list-com .under .box h5 {
	font-weight: bold;
	font-size: 2.2rem;
	color: var(--blue);
	line-height: 1.5;
	padding: 0 0 5px;
}

.service-area.service-design-01 .service-list .list-com .under .box h5 {
	font-feature-settings: "palt";
	font-weight: bold;
	font-size: 2.2rem;
	color: var(--beige05);
	line-height: 1.5;
	padding: 0 0 5px;
}

.service-area.service-design-01 .service-list .list-com .under .box .table {
	margin: 10px 0 0;
}

/*service-design-02*/
.service-area.service-design-02 .service-list .list-com .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
	gap:0 60px;
}

.service-area.service-design-02 .service-list .list-com .inner .image {
	width: 440px;
	height: 360px;
}

.service-area.service-design-02 .service-list .list-com .inner .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.service-area.service-design-02 .service-list .list-com .inner .box {
	flex: 1;
}

.service-area.service-design-02 .service-list .list-com .inner .t-txt {
	padding: 15px 0;
}

.service-area.service-design-02 .service-list .list-com .inner .t-txt02 {
	padding: 5px 0 10px;
}

.service-area.service-design-02 .service-list .list-com .inner .list {
	border: var(--beige04) solid 1px;
	padding: 15px;
	display: flex;
	justify-content: flex-start;
	margin: 0 0 20px;
	border-radius: 5px;
}

.service-area.service-design-02 .service-list .list-com .inner .list .txt {
	padding: 0 20px 0 0;
	position: relative;
}

.service-area.service-design-02 .service-list .list-com .inner .list .txt::before {
	color: var(--beige04);
	content: "/";
    position: absolute;
    right: 6px;
    font-size: 1.4rem;
    font-weight: normal;
}

.service-area.service-design-02 .service-list .list-com .inner .list ul {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
}

.service-area.service-design-02 .service-list .list-com .inner .list ul li {
	line-height: 1.7;
	position: relative;
	padding: 0 20px 0 0;
}

.service-area.service-design-02 .service-list .list-com .inner .list ul li::before {
	position: absolute;
    content: "・";
    right: 5px;
    font-size: 1.0rem;
    top: 5px;
    color: var(--beige05);
}

.service-area.service-design-02 .service-list .list-com .inner .list ul.no-list li::before {
	display: none;
}

.service-area.service-design-02 .service-list .list-com .inner .list ul li:last-child::before {
	display: none;
}

.service-area.service-design-02 .service-list .list-com .inner .link-btn {
	margin: 20px 0 0;
}

.service-area .price-service {
	margin: 100px auto 0;
	background: var(--white) ;
	padding:10px 10px 10px 370px;
	border-radius: 20px;
	position: relative;
}

.service-area .price-service::before {
	content: "";
    background: url(../img/service-point.png) no-repeat center / 100% auto;
    width: 309px;
    height: 249px;
    position: absolute;
    left: 30px;
    bottom: 0;
}
.service-area .price-service div {
	background: var(--gradation-pink);
	padding: 20px 50px;
	border-radius: 10px;
}

.service-area .price-service .copy {
	font-size: 2.6rem;
	font-weight: bold;
	color: var(--pink);
	padding: 0 0 10px;
}

@media screen and (max-width: 768px){
	
	.service-area {
		margin: 50px 0 0;
		padding: 20px 20px 40px;
	}
	
	.service-aircon .service-area {
		margin: 50px 0 0;
		padding: 50px 20px 40px;
	}
	
	.service-area::before {
		background-size: cover;
		width: 100%;
		height: 50px;
		top: -50px;
	}

	.service-area .ttl-l {
		padding: 0 0 20px;
		text-align: center;
	}

	.service-area .service-list .list-com .inner {
		padding: 30px 20px;
		position: relative;
	}

	.service-area .service-list .list-com .title {
		font-size: 2.3rem;
		padding: 10px;
		min-width: auto;
	}

	/*service-design-01*/
	.service-area.service-design-01 .service-list .list-com .top {
		display: block;
	}

	.service-area.service-design-01 .service-list .list-com .top div {
		display: block;
	}

	.service-area.service-design-01 .service-list .list-com .top div .txt {
		width: 100%;
		padding: 10px 0 0;
		font-weight: normal;
	}

	.service-area.service-design-01 .service-list .list-com .top .accordion-icon {
		position: absolute;
		right: 20px;
		top: 40px;
	}

	.service-area.service-design-01 .service-list .list-com .under {
		margin: 20px 0 0;
		display: none;
	}

	.service-area.service-design-01 .service-list .list-com .under .flex {
		display: block;
		margin: 0 0 0;
	}

	.service-area.service-design-01 .service-list .list-com .under .box {
		padding: 20px 15px;
		width: 100%;
		margin: 0 0 10px;
	}

	.service-area.service-design-01 .service-list .list-com .under .box:last-child {
		margin: 0;
	}

	.service-area.service-design-01 .service-list .list-com .under.under-02 .box {
		width: 100%;
	}

	.service-area.service-design-01 .service-list .list-com .under .box.box-l {
		width: 100%;
		border-top: var(--beige04) solid 1px;
		padding: 10px 0;
		margin: 0 0 10px;
	}

	.service-area.service-design-01 .service-list .list-com .under .box::before {
		width: 15px;
	}

	.service-area.service-design-01 .service-list .list-com .under .box::after {
		height: 15px;
	}

	.service-area.service-design-01 .service-list .list-com .under .box h5 {
		font-size: 1.9rem;
		padding: 0;
	}
	
	/*service-design-02*/
	.service-area.service-design-02 .service-list .list-com .inner {
		display: block;
	}

	.service-area.service-design-02 .service-list .list-com .inner .image {
		width: 100%;
		height: 100%;
		margin: 0 0 20px;
	}

	.service-area.service-design-02 .service-list .list-com .inner .t-txt {
		padding: 10px 0;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list {
		padding: 15px;
		display: block;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list .txt {
		padding: 0 0 5px;
		margin: 0 0 5px;
		border-bottom: var(--beige04) solid 1px;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list .txt::before {
		display: none;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list ul {
		display: block;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list ul li {
		font-feature-settings: "palt";
		padding: 0 0 0 10px;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list ul li::before {
		right: auto;
		left: 0;
	}

	.service-area.service-design-02 .service-list .list-com .inner .list ul li:last-child::before {
		display: block;
	}

/*
	.service-area .price-service {
		margin: 0 auto 0;
		background: var(--white) url("../img/service-point.png") no-repeat center top 30px / 150px auto ;
		padding:180px 20px 20px ;
	}

	.service-area .price-service .copy {
		font-size: 2.0rem;
	}
*/
	
	.service-area .price-service {
		padding: 70px 20px 20px;
        margin: 90px 0 0;
	}

	.service-area .price-service::before {
        background: url(../img/service-point.png) no-repeat center / cover;
        width: 154.5px;
        height: 124.5px;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: auto;
        top: -50px;
	}
	
	.service-area .price-service div {
		padding: 20px;
	}

	.service-area .price-service .copy {
		font-size: 2.0rem;
	}

}

/* -------------service-area------------- */

.items-area {
    background: var(--beige) url(../img/wave-01.svg) repeat-x center bottom / auto 11px;
    margin: 150px 0 0;
    padding: 0 0 100px;
    position: relative;
}

.service-inspection .items-area {
    background: var(--beige);
    margin: 150px 0 0;
    padding: 0 0 30px;
}

.items-area::before {
	content: "";
    width: 100%;
    height: 150px;
    background: url(../img/wave-04.svg) no-repeat center top / cover;
    position: absolute;
    top: -150px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.items-area .ttl-l {
	padding: 0 0 30px;
}

.items-area .items-list {
	display: flex;
	flex-wrap: wrap;
	gap:20px;
}

.items-area .items-list .items-com {
	width: 100%;
	background: var(--white);
	border: var(--beige03) solid 2px;
	padding: 20px;
	position: relative;
	border-radius: 5px;
}

.items-area.items-design-01 .items-list .items-com {
	width: calc((100% - 60px)/ 3);
	/*width: calc((100% - 60px)/ 4);*/
}

.service-building-air .items-area.items-design-01 .items-list .items-com {
	width: calc((100% - 60px)/ 3);
}

.service-inspection .items-area.items-design-01 .items-list .items-com {
	width: calc((100% - 20px)/ 2);
	margin: 0 0 70px;
}

.service-constant .items-area.items-design-01 .items-list .items-com {
	width: calc((100% - 60px)/ 4);
}

.service-inspection .items-area.items-design-01 .items-list .items-com .image {
	width: 100%;
}

.items-area.items-design-02 .items-list .items-com {
	display: flex;
	align-items: center;
	gap:0 20px;
}

.items-area .items-list .items-com h4 {
	text-align: left;
	font-weight: bold;
	color: var(--beige05);
	font-size: 2.2rem;
	padding: 0 0 15px;
	line-height: 1.5;
}

.items-area .items-list .items-com:nth-child(2n) h4 {
	background: url("../img/mark-line06.svg") no-repeat left bottom / auto 7px;
}

.items-area .items-list .items-com:nth-child(2n+1) h4 {
	background: url("../img/mark-line03.svg") no-repeat left bottom / auto 7px;
}

.items-area.items-design-02 .items-list .items-com h4 {
	text-align: left;
	padding: 0;
}

/*
.items-area .items-list .items-com .image {
	width: 245px;
}
*/

.items-area .items-list .items-com .image img {
	width: 100%;
	border-radius: 10px;
}

.items-area .items-list .items-com .box {
	flex: 1;
}

.items-area .items-list .items-com .txt {
	font-weight: bold;
	padding: 0 0 0 10px;
	position: relative;
	margin: 10px 0 0;
}

.items-area .items-list .items-com .txt::before {
    content: "/";
    position: absolute;
    left: 0;
	top: 2px;
    font-size: 1.2rem;
    font-weight: bold;
	color: var(--blue);
	font-family: var(--basefont-en);
}

.items-area .items-list .items-com .txt02 {
	padding: 10px 0 0;
}

.items-area .items-list .items-com .att {
	font-size: 1.4rem;
	padding: 10px 0 0;
}

.items-area .items-list .items-com .tag {
	display: inline-block;
	background: var(--beige03);
	color: var(--beige05);
	padding: 5px 10px;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: 0;
	border-radius: 0 0 0 5px;
}

.items-area .items-list .items-com ul li {
	margin: 5px 0 0;
	line-height: 1.5;
	padding: 0 0 0 10px;
	position: relative;
}

.items-area .items-list .items-com ul li::before {
	position: absolute;
    content: "・";
    left: 0;
    font-size: 1.0rem;
    top: 5px;
    color: var(--blue);
}

.items-area .items-list .items-com .flex {
	display: flex;
	padding: 10px 0 0;
	gap:0 10px;
}

.items-area.items-design-01 .items-list .items-com .flex {
	display: block;
}

.items-area .items-list .items-com .flex dl {
	background: var(--beige02);
	padding: 10px;
	font-size: 1.4rem;
	border-radius: 5px;
}

.items-area.items-design-01 .items-list .items-com .flex dl {
	margin: 5px 0 0;
}

.items-area .items-list .items-com .flex dl dt {
    font-weight: bold;
    padding: 0 0 0 10px;
    position: relative;
	margin: 0 0 5px;
	font-feature-settings: "palt";
}

.items-area .items-list .items-com .flex dl dt::before {
	content: "/";
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--beige05);
    font-family: var(--basefont-en);
}

.items-area .items-list .items-com .flex dl dd {
	font-feature-settings: "palt";
	line-height: 1.5;
}

.items-area .txt03 {
	padding: 60px 0 0;
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--beige05);
}

.items-area .link-list {
	display: flex;
	justify-content: space-between;
	gap:0 20px;
	padding: 30px 0 0;
}

.items-area .link-list li {
	width: calc((100% - 40px)/3);
	background: var(--white);
}

.items-area .link-list li .image img {
	width: 100%;
}

.items-area .link-list li a {
	display: block;
	padding: 20px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.16);
	position: relative;
}

.items-area .link-list li a::before {
    content: "\f061";
    position: absolute;
    right: 20px;
    bottom: 28px;
    display: flex;
    align-items: center;
    z-index: 2;
    font-size: 1.6rem;
    color: var(--beige);
}

.items-area .link-list li a::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: 20px;
    background: var(--beige05);
    width: 33px;
    height: 33px;
    border-radius: 17px;
    margin: auto;
    z-index: 1;
}

.items-area .link-list li a:hover {
	box-shadow: none;
}

.items-area .link-list li a h5 {
    padding: 20px 0 10px;
    font-size: 2rem;
    font-weight: bold;
}

.items-area .link-list li a p {
	line-height: 1.25;
}

/*カスタマイズ*/
.service-voice .items-area .items-list .items-com .flex {
	gap:0 5px;
}

.service-voice .items-area .items-list .items-com .flex li {
	padding: 0;
}

.service-voice .items-area .items-list .items-com .flex li::before {
	display: none;
}

.service-voice .items-area .items-list .items-com .flex li > p {
	font-size: 1.4rem;
	font-weight: bold;
	color: var(--mediumblue);
}

.service-smoking-room .items-area .metrics-area ,
.service-smoking-room .items-area .flow-area {
	padding: 50px 0 0;
}

.service-smoking-room .items-area.items-design-01 .items-list .items-com  {
	width: calc((100% - 60px)/ 3);
}

.service-smoking-room .items-area .items-list .items-com .image ,
.service-patrol-equipment .items-area .items-list .items-com .image {
	width: 100%;
}

.service-smoking-room .items-area .flow-area .txt {
	text-align: left;
}

.service-smoking-room .items-area .flow-area .figure {
	margin: 10px 0;
}

.service-smoking-room .items-area .flow-area .flow-list {
	display: flex;
	justify-content: space-between;
	gap:0 20px;
}

.service-smoking-room .items-area .flow-area .flow-list li {
	background: var(--white);
	width: calc((100% - 40px) / 3);
	position: relative;
}

.service-smoking-room .items-area .flow-area .flow-list li::before {
    content: "\f061";
    position: absolute;
    right: -18px;
    bottom: 0;
	top: 0;
    display: flex;
    align-items: center;
    z-index: 2;
    font-size: 1.6rem;
    color: var(--beige);
}

.service-smoking-room .items-area .flow-area .flow-list li::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: 0;
	top: 0;
    background: var(--beige05);
    width: 33px;
    height: 33px;
    border-radius: 17px;
    margin: auto;
    z-index: 1;
}

.service-smoking-room .items-area .flow-area .flow-list li:last-child::before ,
.service-smoking-room .items-area .flow-area .flow-list li:last-child::after {
	display: none;
}

.service-smoking-room .items-area .flow-area .flow-list li.list01 {
	border: var(--blue) solid 2px;
}

.service-smoking-room .items-area .flow-area .flow-list li.list02 {
	border: var(--pink) solid 2px;
}

.service-smoking-room .items-area .flow-area .flow-list li.list03 {
	border: var(--orange) solid 2px;
}

.service-smoking-room .items-area .flow-area .flow-list li h4 {
	font-weight: bold;
	color: var(--white);
	padding: 10px;
}

.service-smoking-room .items-area .flow-area .flow-list li.list01 h4{
	background: var(--blue);
}

.service-smoking-room .items-area .flow-area .flow-list li.list02 h4{
	background: var(--pink);
}

.service-smoking-room .flow-area .flow-list li.list03 h4{
	background: var(--orange);
}

.service-smoking-room .items-area .flow-area .flow-list li p {
	padding: 10px;
}

.service-inspection .items-area .t-copy {
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--white);
    background: var(--beige05);
    padding: 5px 20px;
    border-radius: 5px;	
	display: inline-block;
	margin: 0 0 10px;
}

.service-inspection .items-area .t-txt {
	margin: 0 0 30px;
}


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

	.items-area {
		padding: 20px 20px 50px;
		margin: 50px 0 0;
	}

	.service-inspection .items-area {
		padding: 20px 20px 20px;
		margin: 50px 0 0;
	}

	.items-area::before {
        background-size: cover;
        width: 100%;
        height: 50px;
        top: -50px;
	}

	.items-area .ttl-l {
		padding: 0 0 20px;
		text-align: center;
	}

	.items-area .items-list {
		display: block;
	}

	.service-inspection .items-area .items-list {
		padding: 0 0 30px;
	}

	.items-area .items-list .items-com {
		width: 100%;
		margin: 0 0 20px;
	}
	
	.items-area.items-design-01 .items-list .items-com {
		width: 100%;
	}
	
	.service-building-air .items-area.items-design-01 .items-list .items-com {
		width: 100%;
	}
	
	.service-inspection .items-area.items-design-01 .items-list .items-com {
		width:100%;
		margin: 0 0 10px;
	}
	
	.service-inspection .items-area.items-design-01 .items-list .items-com:last-child {
		margin: 0;
	}

	.service-constant .items-area.items-design-01 .items-list .items-com {
		width: 100%;
	}

	.items-area.items-design-02 .items-list .items-com {
		display: block;
	}

	.items-area .items-list .items-com:last-child {
		margin: 0;
	}

	.items-area .items-list .items-com h4 {
		text-align: left;
		font-size: 2.1rem;
	}

	.items-area.items-design-02 .items-list .items-com h4 {
		text-align: left;
		padding: 20px 0 0;
	}

	.items-area .items-list .items-com .image {
		width: 100%;
	}

	.items-area .items-list .items-com .flex {
		display: block;
	}

	.items-area .items-list .items-com .flex dl {
		width: 100%;
		margin: 0 0 5px;
		padding: 15px 15px 10px;
	}

	.items-area .txt03 {
		padding: 40px 0 0;
		text-align: left;
		font-size: 2.0rem;
	}

	.items-area .link-list {
		display: block;
		padding: 20px 0 0;
	}

	.items-area .link-list li {
		width:100%;
		background: var(--white);
		margin: 0 0 10px;
	}

	.items-area .link-list li:last-child {
		margin: 0;
	}

	.items-area .link-list li a {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		padding: 0;
		background: url("../img/arrow-circle.png") no-repeat no-repeat right 90px center / 20px;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
	}
	
	.items-area .link-list li a::before {
		right: 105px;
		bottom: 0;
		top: 0;
		margin: auto;
		font-size: 1.4rem;
	}

	.items-area .link-list li a::after {
		right: 100px;
		bottom: 0;
		top: 0;
		margin: auto;
		width: 26px;
		height: 26px;
	}

	.items-area .link-list li a:hover {
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
	}

	.items-area .link-list li a .image {
		width: 80px;
		height: 80px;
	}

	.items-area .link-list li a .image img {
		width: 100%;
		height:100%;
		object-fit: cover;
	}

	.items-area .link-list li a h5 {
		padding: 0 0 0 15px;
		font-size: 1.8rem;
		line-height: 1.3;
	}

	.items-area .link-list li a p {
		display: none;
	}

	.service-smoking-room .items-area .metrics-area ,
	.service-smoking-room .items-area .flow-area {
		padding: 30px 0 0;
	}

	.service-smoking-room .items-area.items-design-01 .items-list .items-com ,
	.service-patrol-equipment .items-area.items-design-01 .items-list .items-com {
	width: 100%;
	}
	
	.service-smoking-room .items-area .flow-area .txt {
		text-align: left;
	}

	.service-smoking-room .items-area .flow-area .flow-list {
		display: block;
	}

	.service-smoking-room .items-area .flow-area .flow-list li {
		width: 100%;
		margin: 0 0 20px;
	}

	.service-smoking-room .items-area .flow-area .flow-list li::before {
		content: "\f063";
		position: absolute;
		right: 0;
		bottom: -8px;
		left: 2px;
		top: auto;
		font-size: 1.2rem;
		margin: 0 auto;
		justify-content: center;
	}

	.service-smoking-room .items-area .flow-area .flow-list li::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: -15px;
		left: 0;
		top: auto;
		width: 26px;
		height: 26px;
	}

	.service-smoking-room .items-area .flow-area .flow-list li:last-child {
		margin: 0;
	}

	.service-inspection .items-area .t-copy {
        font-size: 1.6rem;
        padding: 5px 10px;
    }
	
	.service-inspection .items-area .t-txt {
		margin: 0 0 20px;
	}

}

/* -------------point-area------------- */

.merit-area {
    background: var(--beige);
    padding: 50px 0 100px;
	margin: 150px 0 0;
	position: relative;
}

.merit-area::before {
    content: "";
    width: 100%;
    height: 150px;
    background: url(../img/wave-04.svg) no-repeat center top / cover;
    position: absolute;
    top: -150px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.merit-area .title {
	font-size: 2.2rem;
    font-weight: bold;
    color: var(--pink);
    line-height: 1.7;
	text-align: center;
}

.merit-area .title span {
	font-size: 1.8rem;
    font-weight: bold;
    color: var(--white);
    background: var(--pink);
    padding: 5px 20px;
	border-radius: 5px;
}

.merit-area .copy {
    font-size: 3.0rem;
    font-weight: bold;
    color: var(--pink);
    line-height: 1.5;
    padding: 20px 0 10px;
	text-align: center;
}

.merit-area .copy em {
	background: linear-gradient(transparent 50%, #fff 50%);
	display: inline-block;
	padding: 0 20px;
}

.merit-area .txt {
	text-align: center;
}

.merit-area ul {
	display: flex;
	justify-content: space-between;
	padding: 50px 0 0;
}

.merit-area ul li {
	width: calc((100% - 40px)/ 3);
}

.merit-area ul li .copy {
	font-weight: bold;
	font-size: 2.4rem;
	color: var(--beige05);
	line-height: 1.5;
	padding: 20px 0 10px;
	text-align: center;
}

.merit-area ul li .image {
	position: relative;
}

.merit-area ul li .image img {
	border-radius: 20px;
}

.merit-area ul li .image::before {
	position: absolute;
	font-size: 5.0rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    top: -20px;
    font-family: var(--basefont-en);
    font-weight: 700;
    font-style: italic;
    white-space: nowrap;
}

.merit-area ul li:nth-child(1) .image::before {
	content: "01";
    color: var(--yellowgreen);
}

.merit-area ul li:nth-child(2) .image::before {
	content: "02";
    color: var(--orange);
}

.merit-area ul li:nth-child(3) .image::before {
	content: "03";
    color: var(--purple);
}

.merit-area ul li .image img {
	width: 100%;
}

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

	.merit-area {
		padding: 50px 20px;
		margin: 50px 0 0;
	}

	.merit-area::before {
        background-size: cover;
        width: 100%;
        height: 50px;
        top: -50px;
	}

	.merit-area .title {
		font-size: 2.0rem;
        font-weight: bold;
        line-height: 1.7;
    }
	
	.merit-area .title span {
        font-size: 1.6rem;
        padding: 5px 10px;
    }

	.merit-area .copy {
		font-size: 2.6rem;
        padding: 15px 0 5px;
	}

	.merit-area .copy em {
		background: none;
		padding: 0;
	}

	.merit-area .txt {
		text-align: left;
	}

	.merit-area ul {
		display: block;
		padding: 0;
	}

	.merit-area ul li {
		width: 100%;
		padding: 30px 0 0;
	}

}


/* -------------point-area------------- */

.point-area {
	padding: 100px 0;
}

.point-area .ttl-l {
	display: inline-block;
	text-align: center;
	margin-bottom: 20px;
}

.point-area .t-txt {
	text-align: center;
	padding: 20px 0 40px;
}

.point-area .list {
	display: flex;
	justify-content: space-between;
	gap:0 30px;
	margin-bottom: 40px;
}

.point-area .list.list02 {
	display: flex;
	justify-content: space-between;
	gap:0 30px;
	margin: 0 160px;
}

.point-area .list li {
	width: calc((100% - 60px) / 3);
	border: var(--blue) solid 2px;
	border-radius: 5px;
	padding: 0 0 20px;
}

.point-area .list.list02 li {
	width: calc((100% - 60px) / 2);
	border: var(--blue) solid 2px;
	border-radius: 5px;
	padding: 0 0 20px;
}

.point-area .list li h4 {
	color: var(--white);
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	padding: 20px 0;
}

.point-area .list li .txt {
	text-align: center;
	border-bottom: var(--blue02) solid 2px;
	padding: 15px 0;
	width: calc(100% - 40px);
	margin: 0 auto;
}

.point-area .list li .txt span {
	font-weight: bold;
}

.point-area .list li dl {
	padding: 20px 20px 0;
	display: flex;
}

.point-area .list li dl dt {
	border-radius: 20px;
	width: 60px;
	height: 30px;
	line-height: 30px;
	font-weight: bold;
	text-align: center;
}

.point-area .list li dl.strengths dt {
	color: var(--white);
	background: var(--beige05);
}

.point-area .list li dl.weaknesses dt {
	color: var(--beige05);
	background: var(--beige03);
}

.point-area .list li dl dd {
	flex: 1;
	padding: 0 0 0 10px;
}

.point-area .list li dl dd p {
	padding: 0 0 0 10px;
	position: relative;
}

.point-area .list li dl dd p::before {
	position: absolute;
    content: "・";
    left: 0;
    font-size: 1.0rem;
    top: 7px;
	color: var(--black);
}

.point-area .point-box {
	background: var(--gradation-yellowgreen);
	padding: 10px 10px 10px 370px;
	position: relative;
	margin: 100px 0 0;
	border-radius: 20px;
}

.point-area .point-box::before {
	content: "";
	background: url("../img/service-point.png") no-repeat center/ 100% auto;
	width: 309px ;
	height: 249px ;
	position: absolute;
	left: 30px;
	bottom: 0;
}

.point-area .point-box div {
	background: var(--white);
	border-radius: 20px;
}

.point-area .point-box p {
	font-size: 1.8rem;
	line-height: 2.3;
	padding: 30px;
}

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

	.point-area {
		padding: 40px 20px;
	}
	
	.point-area .t-txt {
		padding: 10px 0 20px;
		text-align: left;
	}

	.point-area .list {
		display: block;
	}

	.point-area .list li {
		width: 100%;
		padding: 0 0 15px;
		margin: 0 0 10px;
	}

	.point-area .list li:last-child {
		margin: 0;
	}

	.point-area .list li h4 {
		font-size: 1.8rem;
		padding: 15px 0;
	}

	.point-area .list li .txt {
		padding: 10px 0;
		width:100%;
		margin: 0 0 5px;
	}

	.point-area .list li dl {
		padding: 10px 15px 0;
		display: flex;
	}

	.point-area .list li dl dt {
		font-size: 1.5rem;
		border-radius: 20px;
		width: 50px;
		height: 26px;
		line-height: 26px;
	}

	.point-area .list li dl dd p {
		font-size: 1.5rem;
	}
	
	.point-area .point-box {
		padding:70px 20px 20px;
		margin: 90px 0 0;
	}

	.point-area .point-box::before {
		background: url("../img/service-point.png") no-repeat center/ cover;
		width: 154.5px ;
		height: 124.5px ;
		left: 0;
		right: 0;
		margin: 0 auto;
		bottom: auto;
		top: -50px;
	}

	.point-area .point-box p {
		font-size: 1.6rem;
		line-height: 2;
		padding: 20px;
	}

}


/* -------------feature-area------------- */
/*
.feature-area {
	padding: 100px 0 200px;
	background: var(--blue) url("../img/wave-02.svg") repeat-x center top / auto 11px;
}
*/

.service-internal-cleaning .feature-area ,
.service-filter .feature-area ,
.service-overall .feature-area {
	padding: 100px 0;
	background-color: var(--blue);
    background-repeat: repeat-x, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: auto 11px,
		150px auto,
		270px auto,
		270px auto,
		270px auto,
		150px auto,
		270px auto;
    background-position: center top ,
		left 20px top 200px,
		right -100px top 300px,
		left -100px top 700px,
		right -150px top 1000px,
		left -50px top 1500px,
		right -80px top 1900px;
    background-image: url(../img/wave-02.svg),
		url("../img/square-02-white.svg"),
		url(../img/circle-02-white.svg), 
		url(../img/circle-01-white.svg), 
		url(../img/square-03-white.svg), 
		url(../img/square-01-white.svg), 
		url(../img/circle-02-white.svg);
}

.feature-area .ttl-l {
	text-align: center;
	padding: 0 0 30px;
}

.service-overall .feature-area .ttl-l .en ,
.service-overall .feature-area .ttl-l .jp ,
.service-filter .feature-area .ttl-l .en ,
.service-filter .feature-area .ttl-l .jp ,
.service-internal-cleaning .feature-area .ttl-l .en ,
.service-internal-cleaning .feature-area .ttl-l .jp {
	color: var(--white);
}

.feature-area .feature-block {
	background: var(--white);
	border-radius: 20px;
	box-shadow: 0 30px 30px rgba(0,0,0,0.1);
}

.feature-area .feature-block .image {
	position: relative;
}

.feature-area .feature-block .image img {
	border-radius: 20px 20px 0 0 ;
}

.service-overall .feature-area .feature-block .image img {
	border-radius: 20px;
}

.feature-area .feature-block .image::before {
	position: absolute;
	font-family: var(--basefont-en);
	color: var(--blue);
	font-weight: 700;
	font-style: italic;
	white-space: nowrap;
	opacity: 0.2;
}

.feature-area .feature-block.feature-01 .image::before {
	content: "FEATURE 01";
}

.feature-area .feature-block.feature-02 .image::before {
	content: "FEATURE 02";
}

.feature-area .feature-block.feature-03 .image::before {
	content: "FEATURE 03";
}

.feature-area .feature-block.feature-04 .image::before {
	content: "FEATURE 04";
}

.feature-area .feature-block h4 {
	color: var(--blue);
	font-weight: bold;
	line-height: 1.6;
	font-feature-settings: "palt";
}

.feature-area .feature-block .txt {
	padding: 10px 0 0;
}

.feature-area .feature-block .att {
	font-size: 1.2rem;
	padding: 10px 0 0;
}

/*feature-design-01*/
.feature-area.feature-design-01 .feature-block {
	margin: 0 0 50px;
	display: flex;
	align-items: center;
	padding: 50px;
	gap: 0 20px;
}

.feature-area.feature-design-01 .feature-block:last-child {
	margin: 0;
}

.feature-area.feature-design-01 .feature-block .image::before {
	font-size: 7.0rem;
	left: -30px;
	top: -30px;
}

.feature-area.feature-design-01 .feature-block h4 {
	font-size: 2.6rem;
}

.feature-area.feature-design-01 .feature-block h4 span {
	font-size: 1.8rem;
}

/*feature-design-02*/
.feature-area.feature-design-02 {
	padding: 100px 0 50px;	
    background-repeat: no-repeat;
    background-size: 
		200px auto,
		200px auto,
		200px auto;
    background-position: 
		left -20px top 100px, 
		left 100px bottom 50px,
		right -100px top 360px;
    background-image: 
		url("../img/square-02-yellowgeen.svg"), 
		url("../img/circle-01-yellow.svg"), 
		url("../img/circle-02-green.svg");
}

.service-filter .feature-area.feature-design-02 {
    background-image: 
		url("../img/square-02-white.svg"), 
		url("../img/circle-01-white.svg"), 
		url("../img/circle-02-white.svg");
}

.feature-area.feature-design-02 .feature-flex {
	display: flex;
	gap:0 15px;
}

.feature-area.feature-design-02 .feature-flex .feature-block {
	width: calc((100% - 30px)/3);
}

.feature-area.feature-design-02 .feature-flex .feature-block .image img {
	width: 100%;
}

.feature-area.feature-design-02 .feature-block .image::before {
	font-size: 5.0rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	bottom: -20px;
}

.feature-area.feature-design-02 .feature-block.feature-01 .image::before {
	color: var(--orange);
}

.feature-area.feature-design-02 .feature-block.feature-02 .image::before {
	color: var(--pink);
}

.feature-area.feature-design-02 .feature-block.feature-03 .image::before {
	color: var(--purple);
}

.feature-area.feature-design-02 .feature-block .block {
	padding: 50px 20px 20px;
}

.feature-area.feature-design-02 .feature-block .block h4 {
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.6;
}

@media screen and (max-width: 768px){
	
	.feature-area {
		padding: 50px 10px;
	}
	
	.service-internal-cleaning .feature-area ,
	.service-filter .feature-area ,
	.service-overall .feature-area {
		padding: 50px 10px;
		background-size: auto 11px,
			70px auto,
			50px auto,
			140px auto,
			140px auto,
			70px auto,
			140px auto;
		background-position: center top ,
			left 10px top 100px,
			right 10px top 50px,
			left -30px top 1000px,
			right -50px top 1800px,
			left -20px top 2500px,
			right -10px top 3420px;
	}

	.feature-area .feature-block {
		box-shadow: 0 20px 20px rgba(0,0,0,0.2);
	}

	.feature-area .feature-block .image img {
		width: 100%;
	}

	.feature-area .feature-block .txt {
		padding: 5px 0 0;
	}

	.feature-area .feature-block .att {
		padding: 5px 0 0;
	}

	/*feature-design-01*/
	.feature-area.feature-design-01 .feature-block {
		margin: 0 0 30px;
		display: block;
		padding: 0;
	}

	.feature-area.feature-design-01 .feature-block .block {
		padding: 20px 20px 30px;
	}

	.feature-area.feature-design-01 .feature-block .image::before {
		font-size: 3.5rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		text-align: center;
		bottom: -10px;
		top: auto;
	}

	.feature-area.feature-design-01 .feature-block .image img {
		border-radius: 20px 20px 0 0;
		height: 260px;
		object-fit: cover;
		width: 100%;
	}

	.feature-area.feature-design-01 .feature-block h4 {
		font-size: 2.2rem;
		padding: 10px 0 0;
		line-height: 1.5;
	}

	.feature-area.feature-design-01 .feature-block h4 span {
		font-size: 1.6rem;
	}

	/*feature-design-02*/
	.feature-area.feature-design-02 {
		padding: 50px 20px;	
		background-repeat: no-repeat;
		background-size: 
			70px auto,
			70px auto,
			70px auto;
		background-position: 
			left -20px top 20px, 
			left -20px bottom 20px,
			right -20px top 100px;
		background-image: 
			url("../img/square-02-yellowgeen.svg"), 
			url("../img/circle-01-blue.svg"), 
			url("../img/circle-02-green.svg");
	}
	
	.feature-area.feature-design-02 .feature-flex {
		display: block;
	}

	.feature-area.feature-design-02 .feature-flex .feature-block {
		box-shadow:0 10px 10px rgba(0, 0, 0, 0.1);
		width: 100%;
		margin: 0 0 30px;
		padding: 0;
	}

	.feature-area.feature-design-02 .feature-flex .feature-block:last-child {
		margin: 0 0 0;
	}

	.feature-area.feature-design-02 .feature-block .image::before {
		font-size: 3.5rem;
		bottom: -10px;
	}

	.feature-area.feature-design-02 .feature-block .block {
		padding: 20px 20px 30px;
	}

	.feature-area.feature-design-02 .feature-block .block h4 {
		font-size: 2.2rem;
		text-align: left;
	}

}


/* -------------price-area------------- */

/*price-design-01*/
.price-design-01 {
	position: relative;
	padding: 0 0 60px;
}
	
.service-inspection .price-design-01 {
	padding: 0;
}

.price-design-01::before {
	position: absolute;
	content: "";
	background: var(--blue);
	height: 200px;
	width: 100%;
	z-index: -2;
	top: 0;
}

.price-design-01::after {
	position: absolute;
	content: "";
	background: url("../img/wave-06.svg") no-repeat center bottom / 100% auto;
	height: 200px;
	width: 100%;
	z-index: -1;
	top: 0;
}

.service-air .price-design-01::before ,
.service-air .price-design-01::after  {
	display: none;
}
	
.service-inspection .price-design-01::before {
	background: var(--beige);
}
	
.price-design-01 .inner {
	display: flex;
	justify-content: space-between;
	flex-direction:row-reverse;
	align-items: flex-start;
}

.price-design-01 .inner .iamge {
	margin: 100px 0 0;
	width: 580px;
	height: 400px;
}

.price-design-01 .inner .iamge img {
	border-radius: 20px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.price-design-01 .inner .block {
	background: var(--gradation-yellow);
	padding: 10px;
	width: 600px;
	border-radius: 20px;
}

.price-design-01 .inner .block > div {
	background: var(--white);
	padding: 60px 35px;
	border-radius: 20px;
	border-radius: 10px;
}

.price-design-01 .inner .block .txt {
	padding: 20px 0;
}

/*
.price-design-01 .inner .block ul {
	display: flex;
	gap:0 10px;
}
*/

.price-design-01 .inner .block ul .link-btn {
	width: 300px;
}

.price-design-01 .inner .block ul .link-btn:nth-child(1) {
	margin: 0 0 10px;
}

.price-design-01 .inner .block .sub {
	font-weight: bold;
}

.price-design-01 .inner .block .copy {
	padding: 10px 0 0;
	font-weight: bold;
	font-size: 2.6rem;
	color: var(--beige05);
}

.price-design-01 .inner .block .copy span {
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--white);
    background: var(--yellow);
    padding: 5px 20px;
	border-radius: 5px;
}

.price-design-01 .inner .block .txt02 {
	padding: 5px 0 20px;
}

/*price-design-02*/
.price-design-02 {
	background: var(--gradation-yellow);
	/* padding: 100px 0; */
	border-radius: 100px 100px 0 0;
	position: relative;
	padding: 100px 0 50px;
}

.price-design-02::before {
	width: 100%;
	height: 150px;
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	background:url("../img/wave-06.svg") repeat center top / cover;
}

.price-design-02 .ttl-l {
	text-align: center;
	padding: 0 0 20px;
}

.price-design-02 .ttl-l .jp span span {
	display: none;
}

.service-school .price-design-02 .ttl-l .jp span span {
	display: inline-block;
}

.service-school .price-design-02 .ttl-l .jp span span {
	padding: 0;
	background: none;
}

.price-design-02 .price-block {
	position: relative;
	padding: 30px 50px 60px;
}

.price-design-02 .price-block::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 200px;
	background: var(--yellow);
	border-radius: 10px;
	opacity: 0.5;
}

.price-design-02 .price-block h4 {
	font-size: 2.6rem;
	font-weight: bold;
	color: var(--beige05);
	padding: 0 0 15px;
	position: relative;
	z-index: 2;
}

.price-design-02 .price-block h4 span {
	font-size: 1.6rem;
}

.price-design-02 .price-block .table {
	position: relative;
	z-index: 2;
	background: var(--white);
}

.price-design-02 .price-block .table thead th {
	width: calc(100% / 3);
	font-feature-settings: "palt";
}

.price-design-02 .price-block .table tbody td {
	border-right: var(--beige04) solid 1px;
	text-align: center;
	font-feature-settings: "palt";
}

.price-design-02 .price-block .att {
	padding: 10px 0 0;
	font-size: 1.4rem;
}

.price-design-02 .inner > .att {
	padding: 0 0 60px;
}

.price-design-02 .other-02 {
	display: none;
}

.price-design-02 .other-design dl {
	display: flex;
	flex-wrap: wrap;
	gap:10px;
}

.price-design-02 .other-design dl dt {
	color: var(--beige05);
	font-weight: bold;
	padding: 0 0 0 15px;
	border-left: var(--beige05) solid 2px;
	width: 100%;
}

.price-design-02 .other-design dl dd {
	border: var(--beige03) solid 1px;
	display: inline-block;
	width: calc((100% - 10px)/2);
	background: var(--white);
	padding: 20px 20px 20px 60px;
	position: relative;
	line-height: 1.5;
	border-radius: 5px;
}

.price-design-02 .other-design dl dd::before {
	content: "";
	position: absolute;
	width: 30px;
	height: 1px;
	left: 20px;
	top: 30px;
	background: var(--yellow);
}

.price-design-02 .example-price {
	margin: 40px 0 0;
	background: var(--white);
	border-radius: 20px;
	padding: 50px;
}

.price-design-02 .example-price .txt {
	font-weight: bold;
	padding: 0 0 10px;
}

.price-design-02 .example-price .flex {
	display: flex;
	justify-content: space-between;
	gap:0 30px;
}

.price-design-02 .example-price .flex div {
	width: calc((100% - 30px)/2);
}

.price-design-02 .example-price .flex div dl dt {
	background: var(--beige02);
	padding: 5px 10px;
	border-radius: 5px;
	line-height: 1.7;
	font-weight: bold;
	color: var(--beige05);
	margin: 0 0 5px;
}

.price-design-02 .example-price .flex div dl dd {
	border-bottom: var(--beige04) dashed 1px;
	padding: 5px 10px;
	line-height: 1.7;
	overflow: hidden;
}

.price-design-02 .example-price .flex div dl dd span {
	float: right;
}

.price-design-02 .example-price .flex .all-price {
	font-weight: bold;
	padding: 10px 0 0;
	text-align: right;
	color: var(--beige05);
}

/*12条点検*/
.service-constant .price-area .inspect-price ,
.service-constant .price-area .fire-protection-price {
	display: none;
}

.service-inspect .price-area .constant-price ,
.service-inspect .price-area .fire-protection-price {
	display: none;
}

.service-fire-protection .price-area .constant-price ,
.service-fire-protection .price-area .inspect-price {
	display: none;
}

/*空気環境測定*/
.price-design-02 .price-block.smoking-room-price::before ,
.price-design-02 .price-block.aircon-price::before {
	height: 100px;
}

.price-design-02 .price-block.smoking-room-price::after ,
.price-design-02 .price-block.aircon-price::after {
	height: 100px;
}

.price-design-02 .price-block.voc-price .table thead th {
	width: calc(100% / 4);
}

.service-building-air .price-area .voc-price ,
.service-building-air .price-area .smoking-room-price,
.service-building-air .price-area .school-price {
	display: none;
}

.service-building-air .price-area .other-design dl .dd06 ,
.service-building-air .price-area .other-design dl .dd07 ,
.service-building-air .price-area .other-design dl .dd08 ,
.service-building-air .price-area .other-design dl .dd09 ,
.service-building-air .price-area .other-design dl .dd10 ,
.service-building-air .price-area .other-design dl .dd11 ,
.service-building-air .price-area .other-design dl .dd12 ,
.service-building-air .price-area .other-design dl .dd13 ,
.service-building-air .price-area .other-design dl .dd14 {
	display: none;
}

.service-voc .price-area .building-air-price ,
.service-voc .price-area .smoking-room-price ,
.service-voc .price-area .school-price {
	display: none;
}

.service-voc .price-area .other-design dl .dd01 ,
.service-voc .price-area .other-design dl .dd02 ,
.service-voc .price-area .other-design dl .dd03 ,
.service-voc .price-area .other-design dl .dd04 ,
.service-voc .price-area .other-design dl .dd05 ,
.service-voc .price-area .other-design dl .dd10 ,
.service-voc .price-area .other-design dl .dd11 ,
.service-voc .price-area .other-design dl .dd12 ,
.service-voc .price-area .other-design dl .dd13 ,
.service-voc .price-area .other-design dl .dd14 {
	display: none;
}

.service-smoking-room .price-area .building-air-price ,
.service-smoking-room .price-area .voc-price,
.service-smoking-room .price-area .school-price {
	display: none;
}

.service-smoking-room .price-area .other-design dl .dd01 ,
.service-smoking-room .price-area .other-design dl .dd02 ,
.service-smoking-room .price-area .other-design dl .dd03 ,
.service-smoking-room .price-area .other-design dl .dd04 ,
.service-smoking-room .price-area .other-design dl .dd05 ,
.service-smoking-room .price-area .other-design dl .dd06 ,
.service-smoking-room .price-area .other-design dl .dd07 ,
.service-smoking-room .price-area .other-design dl .dd08 ,
.service-smoking-room .price-area .other-design dl .dd09 ,
.service-smoking-room .price-area .other-design dl .dd14 {
	display: none;
}

.service-school .price-area .building-air-price ,
.service-school .price-area .voc-price,
.service-school .price-area .smoking-room-price {
	display: none;
}

.service-school .price-area .other-design dl .dd01 ,
.service-school .price-area .other-design dl .dd02 ,
.service-school .price-area .other-design dl .dd03 ,
.service-school .price-area .other-design dl .dd04 ,
.service-school .price-area .other-design dl .dd05 ,
.service-school .price-area .other-design dl .dd06 ,
.service-school .price-area .other-design dl .dd07 ,
.service-school .price-area .other-design dl .dd08 ,
.service-school .price-area .other-design dl .dd09 ,
.service-school .price-area .other-design dl .dd10 ,
.service-school .price-area .other-design dl .dd11 ,
.service-school .price-area .other-design dl .dd12 ,
.service-school .price-area .other-design dl .dd13 {
	display: none;
}

.service-constant .price-area .inspect-air-price ,
.service-constant .price-area .fire-protection-price,
.service-constant .price-area .equipment-price {
	display: none;
}

.service-constant .price-area .other-design dl .dd02 ,
.service-constant .price-area .other-design dl .dd01-01 {
	display: none;
}

.service-inspect .price-area .constant-air-price ,
.service-inspect .price-area .fire-protection-price,
.service-inspect .price-area .equipment-price {
	display: none;
}

.service-inspect .price-area .other-design dl .dd04 {
	display: none;
}

.service-inspect .price-area .other-design dl .dd02 ,
.service-constant .price-area .other-design dl .dd01-01 {
	display: none;
}

.service-fire-protection .price-area .constant-air-price ,
.service-fire-protection .price-area .inspect-price,
.service-fire-protection .price-area .equipment-price {
	display: none;
}

.service-fire-protection .price-area .other-design dl .dd02,
.service-fire-protection .price-area .other-design dl .dd04 {
	display: none;
}

.service-fire-protection .price-area .p40 {
	padding: 20px 0 40px;
}

/*フィルター清掃*/
.service-filter .price-area .other-design dl .dd01-01  {
	display: none;
}

.service-filter .price-area .price-block.aircon-price::before {
	height: 70px;
}

.service-filter .price-area .aircon-price tr:nth-child(1) {
	display: none;
}

.service-internal-cleaning .price-area .other-design dl .dd01  {
	display: none;
}

.service-aircon .price-area .other-design dl .dd01-01  {
	display: none;
}

.service-aircon .price-area .other-design dl .dd07 ,
.service-filter .price-area .other-design dl .dd07 {
	display: none;
}


@media screen and (max-width: 768px){
	
	.price-design-01 {
		padding: 0 0 40px;
	}

	.price-design-01::before {
		height: 100px;
	}

	.price-design-01::after {
		height: 100px;
	}

	.price-design-01 .inner {
		display: block;
		padding: 0 20px;
	}

	.price-design-01 .inner .iamge {
		margin: 0 0 0;
	}

	.price-design-01 .inner .iamge img {
		width: 100%;
	}

	.price-design-01 .inner .block {
		padding: 10px;
		width: 100%;
		margin: 10px 0 0;
	}
	
	.price-design-01 .inner .block > div {
		padding: 20px;
	}

	.price-design-01 .inner .block .txt {
		padding: 10px 0;
	}

	.price-design-01 .inner .block ul {
		display: block;
		gap:0 10px;
	}
	
	.price-design-01 .inner .block .copy {
		font-size: 2.4rem;
	}

	.price-design-01 .inner .block ul .btn-b {
		width: 100%;
		margin: 5px 0 0;
	}

	.price-design-01 .inner .block .copy span {
		padding: 5px 10px;
	}

	.price-design-01 .inner .block .txt02 {
		padding: 10px 0;
	}
	
	.price-design-01 .inner .block ul .link-btn {
		width: 100%;
	}

	/*price-design-02*/
	.price-design-02 {
		padding: 50px 20px 30px;
		border-radius: 30px 30px 0 0;
	}
	
	.price-design-02::before {
		height: 50px;
	}

	.price-design-02 .price-block {
		position: relative;
		padding: 20px 0 30px;
	}

	.price-design-02 .price-block::before {
		height: 100px;
		border-radius: 5px;
	}

	.price-design-02 .price-block h4 {
		font-size: 2.0rem;
		padding: 0 0 15px;
		text-align: center;
	}

	.price-design-02 .price-block h4 span {
		font-size: 1.2rem;
		display: block;
		padding: 10px 0 0;
	}

	.price-design-02 .price-block .table {
		border-left: var(--beige04) solid 1px;
	}

	.price-design-02 .price-block .table thead {
		display: table-header-group;
	}

	.price-design-02 .price-block .table thead th {
		border-bottom: var(--white) solid 1px;
		font-size: 1.5rem;
		line-height: 1.2;
	}

	.price-design-02 .price-block .table tbody td {
		font-size: 1.5rem;
		display: table-cell;
		width: auto;
		padding: 5px;
	}

	.price-design-02 .att {
		padding: 0 20px;
	}

	.price-design-02 .inner > .att {
		padding: 0 20px 30px;
	}

	.price-design-02 .other-design dl {
		display: block;
	}

	.price-design-02 .other-design dl dt {
		margin: 0 0 10px;
	}

	.price-design-02 .other-design dl dd {
		font-feature-settings: "palt";
		display: block;
		width: 100%;
		padding: 15px 15px 15px 30px;
		margin: 5px 0 0;
		line-height: 1.5;
	}

	.price-design-02 .other-design dl dd::before {
		width: 15px;
		left: 10px;
		top: 25px
	}
	
	.price-design-02 .example-price {
		margin: 30px 0 0;
		border-radius: 10px;
		padding: 20px;
	}

	.price-design-02 .example-price .flex {
		display: block;
	}

	.price-design-02 .example-price .flex div {
		width: 100%;
	}

	.price-design-02 .example-price .flex div:nth-child(2) {
		padding: 20px 0 0;
	}

.price-design-02 .example-price .flex div dl dt {
	background: var(--beige02);
	padding: 5px 10px;
	border-radius: 5px;
	line-height: 1.7;
	font-weight: bold;
	color: var(--beige05);
	margin: 0 0 5px;
}

.price-design-02 .example-price .flex div dl dd {
	border-bottom: var(--beige04) dashed 1px;
	padding: 5px 10px;
	line-height: 1.7;
	overflow: hidden;
}

.price-design-02 .example-price .flex div dl dd span {
	float: right;
}

.price-design-02 .example-price .flex .all-price {
	font-weight: bold;
	padding: 10px 0 0;
	text-align: right;
	color: var(--beige05);
}

	/*空気環境測定*/
	.price-design-02 .price-block.smoking-room-price::before ,
	.price-design-02 .price-block.aircon-price::before {
		height: 100px;
	}

	.price-design-02 .price-block.smoking-room-price::after ,
	.price-design-02 .price-block.aircon-price::after {
		height: 100px;
	}

}


/* -------------flow-area------------- */

.flow-area {
	padding: 0 0 100px;
	/* padding: 50px 0 100px; */
}

.flow-area ol > li {
	border: var(--beige04) solid 1px;
	padding: 50px 20px 20px;
	position: relative;
	border-radius: 20px;
	margin: 40px 0 0;
}

.flow-area ol > li:first-child {
	min-height: 360px;
}

.flow-area ol li .flow-no {
	position: absolute;
	font-family: var(--basefont-en);
	color: var(--beige05);
	font-size: 2.0rem;
	font-weight: bold;
	font-style: italic;
	left: -1px;
	top: -20px;
	display: flex;
	align-items: center;
	background: var(--beige02);
	padding: 5px 15px 5px 0;
	border-radius: 5px 5px 5px 0;
}

.flow-area ol li .flow-no .no02 {
	display: none;
}

.flow-area ol li .flow-no i {
	font-style: normal;
	background: var(--grayblue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 5px 0 10px;
}

.flow-area ol li h4 {
	color: var(--beige05);
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.3;
	padding: 0 0 10px;
}

.flow-area ol li > .txt {
	padding: 0 0 5px;
}

.flow-area ol li .att {
	font-size: 1.2rem;
}

.flow-area ol li .contact-box {
	position: absolute;
	right: 50px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 500px;
	height: 260px;
}

.flow-area ol li .contact-box .en {
	font-family: var(--basefont-en);
	position: relative;
	font-size: 1.4rem;
	background: var(--beige02);
	padding: 5px;
	text-align: center;
	color: var(--beige05);
	margin: 0 0 10px;
	border-radius: 5px 5px 0 0;
}

/*.flow-area ol li .contact-box .en span ,*/
.flow-area ol li .contact-box .tel-box {
	padding: 0 0 20px;
}

.flow-area ol li .contact-box .tel-box .box li .txt span {
	display: inline-block;
	padding: 0 5px 0 0;
	background: var(--white);
	position: relative;
	z-index: 1;
}

.flow-area ol li .contact-box .tel-box .box li .txt span {
	padding: 0 15px;
	border-radius: 15px;
}

.flow-area ol li .contact-box .tel-box .box li.east .txt span {
	color: var(--pink);
}

.flow-area ol li .contact-box .tel-box .box li.west .txt span {
	color: var(--green);
}

.flow-area ol li .contact-box .tel-box .box {
	display: flex;
	gap:0 10px;
}

.flow-area ol li .contact-box .tel-box .box li {
	width: calc((100% - 10px)/2);
	text-align: center;
	border-radius: 5px;
}

.flow-area ol li .contact-box .tel-box .box li a {
	padding: 15px 0 10px;
	display: block;
}

.flow-area ol li .contact-box .tel-box .box li.east {
	background: var(--pink);
}

.flow-area ol li .contact-box .tel-box .box li.west {
	background: var(--green);
}

.flow-area ol li .contact-box .tel-box .box li .txt {
	position: relative;
	font-weight: bold;
}

.flow-area ol li .contact-box .tel-box .box li .no {
	font-family: var(--basefont-en);
	color: var(--white);
	font-size: 2.6rem;
	font-weight: 700;
}

.flow-area ol li .contact-box .form-box .btn {
	width: 100%;
    height: 60px;
    background: var(--cv-btn);
    font-weight: bold;
    font-size: 1.6rem;
	position: relative;
	overflow: hidden;
	border-radius: 40px;
}

.flow-area ol li .contact-box .form-box .btn::before {
	content: "";
	width: 100%;
	position: absolute;
	top: 0;
	right: -80px;
	border-right: 80px solid transparent;
	border-bottom: 80px solid var(--light-blue);
	transform: translateX(-100%);
	transition: transform ease .6s;
}

.flow-area ol li .contact-box .form-box .btn:hover::before {
	transform: translateX(0);
}

.flow-area ol li .contact-box .form-box .btn a {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	color: var(--white);
    display: block;
	padding: 17px 0 0 20px;
}

.flow-area ol li .contact-box .form-box .btn a::before {
    color: var(--cv-btn);
	content: "\f061";
    position: absolute;
    right: 18px;
    bottom: 0;
    top: 0;
    display: flex;
    align-items: center;
    z-index: 2;
    font-size: 1.6rem;
}

.flow-area ol li .contact-box .form-box .btn a::after {
	content: "";
    position: absolute;
    right: 10px;
    bottom: 0;
    top: 0;
    background: var(--white);
    width: 33px;
    height: 33px;
    border-radius: 17px;
    margin: auto;
    z-index: 1;
}

.flow-area .area-box .txt {
	color: var(--beige05);
	font-weight: bold;
	position: relative;
}

.flow-area .area-box .txt::before {
	content: "";
    width: 100%;
    height: 1px;
    background: var(--beige04);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.flow-area .area-box .txt span {
	display: inline-block;
	background: var(--white);
	padding: 0 10px 0 0;
	position: relative;
	z-index: 1;
}

.flow-area .area-box .box-com {
	display: flex;
}

.flow-area .area-box .box-com p {
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: bold;
	width: 90px;
}

.flow-area .area-box .box-com table {
	width: 100%;
	border-collapse: collapse;
}

.flow-area .area-box .box-com table th ,
.flow-area .area-box .box-com table td {
	font-size: 1.4rem;
	line-height: 1.2;
	padding: 0 0 8px;
	vertical-align: text-top;
    font-feature-settings: "palt";
}

.flow-area .area-box .box-com table th {
	width: 65px;
}

.flow-area .area-box .box-com table span {
	font-size: 1.2rem;
}

.flow-area .area-box .west-box {
	padding: 10px 0 0;
}

.flow-area .area-box .east-box {
	padding: 15px 0 0;
}

/*以下カスタマイズ*/
.service-constant .flow-area h4 .txt02 ,
.service-fire-protection .flow-area h4 .txt02 ,
.service-inspect .flow-area h4 .txt01 {
	display: none;
}

.service-aircon .flow-area ol li .flow-no .no01 ,
.service-filter .flow-area ol li .flow-no .no01 ,
.service-internal-cleaning .flow-area ol li .flow-no .no01 {
	display: none;
}

.service-aircon .flow-area ol li .flow-no .no02 ,
.service-filter .flow-area ol li .flow-no .no02 ,
.service-internal-cleaning .flow-area ol li .flow-no .no02 {
	display: block;
}


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

	.flow-area {
		padding: 10px 20px 40px;
	}

	.flow-area .ttl-l {
		text-align: center;
	}

	.flow-area ol {
		padding: 30px 0 0;
		display: block;
	}

	.flow-area ol > li {
		padding: 40px 15px 15px;
		position: relative;
		margin: 0 0 30px;
	}

	.flow-area ol > li:last-child {
		margin: 0 0 0;
	}

	.flow-area ol > li.m-size {
		width: 100%;
	}

	.flow-area ol > li.l-size {
		width: 100%;
	}

	.flow-area ol li .flow-no {
		font-size: 1.8rem;
		left: -1px;
		top: -20px;
		padding: 0 10px 0 0;
	}

	.flow-area ol li .flow-no i {
		width: 36px;
		height: 36px;
	}

	.flow-area ol li h4 {
		font-size: 2.2rem;
		padding: 0;
	}
	
	.flow-area ol li .contact-box {
		display: block;
		position: static;
		width: 100%;
		padding: 20px 0;
	}

	.flow-area ol li .contact-box .en {
		display: block;
	}

	/*.flow-area ol li .contact-box .en span ,*/
	.flow-area ol li .contact-box .tel-box {
		width: 100%;
	}

	.flow-area ol li .contact-box .tel-box .box li .no {
		font-size: 1.8rem;
	}

	.flow-area ol li .contact-box .form-box {
		width: 100%;
	}

	.flow-area .area-box .txt {
		font-size: 1.4rem;
	}

	.flow-area .area-box .box-com {
		display: block;
	}

	.flow-area .area-box .box-com p {
		background: var(--lightblue);
		padding: 5px;
		text-align: center;
		color: var(--darkblue);
		margin: 0 0 10px;
		width: 100%;
	}

	.flow-area .area-box .box-com table th ,
	.flow-area .area-box .box-com table td {
		line-height: 1.5;
	}


	.flow-area .area-box .box-com table span {
		display: inline-block;
		padding: 0 0 3px;
	}

	.flow-area .area-box .east-box {
		padding: 10px 0 0;
	}
	
}


/* -------------flow-area------------- */

.faq-area {
	background: var(--beige) url("../img/wave-02.svg") repeat-x center top / auto 11px;
	padding: 100px 0;
	position: relative;
}

.faq-area .inner {
	width: 1000px;
}

.faq-area .ttl-l {
	text-align: center;
	padding: 0 0 20px;
}

.faq-area .accordion li {
	border: var(--grayblue) solid 1px;
	background: var(--white);
	margin: 0 0 10px;
	padding: 30px 30px 10px;
	border-radius: 20px;
}

.faq-area .accordion li:last-child {
	margin: 0;
}

.faq-area .accordion .top {
	display: flex;
	justify-content: space-between;
	position: relative;
	margin: 0 0 20px;
}

.faq-area .accordion .top::before {
    font-family: var(--basefont-en);
    font-weight: bold;
    position: absolute;
    content: "Q";
    width: 40px;
    height: 40px;
    left: 0;
    top: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    color: var(--white);
    background: var(--beige05);
    font-size: 2.0rem;
    padding: 8px 0 0;
    box-sizing: border-box;
	border-radius: 5px;
}

.faq-area .accordion .top h4 {
	font-weight: bold;
	font-size: 1.8rem;
	padding: 12px 0 0 50px;
	transition: 0.5s;
}

.faq-area .accordion .top:hover h4 {
	color: var(--purple);
}

.faq-area .accordion .under {
	display: none;
}

.faq-area .accordion .under div {
	background: var(--beige02);
	padding: 20px 70px;
	position: relative;
	margin: 0 0 20px;
	border-radius: 5px;
}

.faq-area .accordion .under div::before {
    font-family: var(--basefont-en);
    font-weight: 500;
    position: absolute;
    content: "A";
    width: 40px;
    height: 40px;
    left: 0;
    top: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    color: var(--beige05);
    background: var(--beige04);
    font-size: 2.0rem;
    padding: 8px 0 0;
    box-sizing: border-box;
	border-radius: 5px;
}

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

	.faq-area {
		padding: 40px 20px;
	}

	.faq-area .inner {
		width: 100%;
	}

	.faq-area .accordion li {
		margin: 0 0 5px;
		padding: 10px 10px;
		border-radius: 5px;
	}

	.faq-area .accordion .top {
		margin: 0 0 5px;
		flex: 1 1 auto;
	}

	.faq-area .accordion .top::before {
		width: 30px;
		height: 30px;
		font-size: 1.6rem;
		padding: 6px 0 0;
	}

	.faq-area .accordion .top h4 {
		font-size: 1.6rem;
		padding: 4px 20px 0 40px;
		line-height: 1.5;
		font-feature-settings: "palt";
	}

	.faq-area .accordion .top:hover h4 {
		color: var(--black);
	}

	.faq-area .accordion .under div {
		padding: 15px 15px 15px 40px;
		position: relative;
		margin: 0 0 0;
	}

	.faq-area .accordion .under div::before {
		width: 30px;
		height: 30px;
		font-size: 1.6rem;
		padding: 6px 0 0;
	}

	.faq-area .accordion .top .accordion-icon {
		position: absolute;
		right: 0;
	}


}


/* -------------design-free------------- */

.design-free {
	border-top: var(--beige03) solid 5px;
	padding: 100px 0;
    background-repeat: no-repeat;
    background-size: 
		200px auto,
		200px auto,
		200px auto;
    background-position: 
		right -20px top -100px, 
		left -100px top 100px, 
		right 50px top 360px;
    background-image: 
		url("../img/square-03-green.svg"), 
		url("../img/circle-01-orange.svg"), 
		url("../img/circle-02-pink.svg");
}

.design-free .ttl-l {
	padding: 0 0 20px;
}

.design-free .box {
	margin: 20px 0 0;
}

.design-free .box .txt {
	font-weight: bold;
	font-size: 1.8rem;
	padding: 0 0 10px;
}

.design-free .box ul {
	border-top: var(--beige04) solid 2px;
	display: flex;
	flex-wrap: wrap;
	gap:0 20px;
}

.design-free .box ul li {
	border-bottom: var(--beige04) solid 1px;
	width: calc((100% - 20px ) / 2);
	padding: 10px 5px 10px 25px;
	position: relative;
	line-height: 1.5;
	display: flex;
	align-items: center;
	font-feature-settings: "palt";
	min-height: 70px;
}

.design-free .box ul li::before {
	content: "\f058";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	color: var(--beige04);
	display: flex;
	align-items: center;
}

.design-free .box .att {
	padding: 20px 0 0;
	font-size: 1.4rem;
}

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

	.design-free {
		padding: 50px 20px;
	}
	
.design-free {
    background-repeat: no-repeat;
    background-size: 
		70px auto,
		70px auto,
		70px auto;
    background-position: 
		right -20px top -20px, 
		left -30px top 30px, 
		right -10px bottom 20px;
}

	.design-free .box {
		margin: 10px 0 0;
	}

	.design-free .box .txt {
		font-size: 1.6rem;
		padding: 0 0 5px;
	}

	.design-free .box ul {
		display: block;
	}

	.design-free .box ul li {
		border-bottom: var(--beige04) solid 1px;
		width: 100%;
		padding: 10px 5px 10px 25px;
		min-height: auto;
	}

	.design-free .box .att {
		padding: 10px 0 0;
		font-size: 1.2rem;
	}

}

/* -------------service-top------------- */

.service-top .inner {
	padding: 100px 0;
}

.service-top .menu-box .inner {
	padding: 100px 0 0;
}

.service-top .menu-box.is-fixed .inner {
	padding: 0 0;
}

.service-top .menu-box .inner .more_btn02::first-letter {
	padding: 0 0;
	color: var(--green);
}

.service-top .service-l {
	background: var(--gradation-green);
	padding: 10px;
	border-radius: 20px;
	min-height: 400px;
}

.service-top .service-l .box {
	background: var(--white);
	border-radius: 20px;
	position: relative;
	display: flex;
	align-items: center;
	padding: 70px 50px;
	min-height: 380px;
}

.service-top .service-l .image {
	position: absolute;
	right: 20px;
	top: -40px;
}

.service-top .service-l .image img {
	width: 560px;
	height: 400px;
	object-fit: cover;
	border-radius: 20px;
}

.service-top .service-l h3 {
	font-size: 4.0rem;
	font-weight: bold;
	padding: 0 0 20px;
	margin: 0 0 20px;
	background: url("../img/mark-line01.svg") no-repeat left bottom / auto 7px ;
}

.service-top .service-l .copy {
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.5;
	padding: 0 0 20px;
}

.service-top .service-m .name {
	margin: 80px 0 30px;
	border-radius: 10px;
	font-size: 3.0rem;
	font-weight: bold;
	color: var(--beige05);
	padding: 15px 20px;
}

.service-top .service-m.yellowgreen .name {
	background: var(--gradation-yellowgreen);
}

.service-top .service-m.blue .name {
	background: var(--gradation-blue);
}

.service-top .service-m.purple .name {
	background: var(--gradation-purple);
}

.service-top .service-m.pink .name {
	background: var(--gradation-pink);
}

.service-top .service-m.yellow .name {
	background: var(--gradation-yellow);
}

.service-top .service-m ul {
	display: flex;
	flex-wrap: wrap;
	gap:30px;
}

.service-top .service-m ul li {
	width: calc((100% - 60px)/3);
}

.service-top .service-m ul li .image {
	width: 340px;
	height: 250px;
}

.service-top .service-m ul li .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.service-top .service-m .link-box a ,
.service-top .service-m .link-not > div {
	height: 100%;
	border-style: solid;
	border-width: 1px;
	border-radius: 10px;
	display: block;
	width: 100%;
	padding: 20px;
	position: relative;
	background: var(--white);
}

.service-top .service-m.yellowgreen .link-box a {
	border-color: var(--yellowgreen);
}

.service-top .service-m.blue .link-box a {
	border-color: var(--blue);
}

.service-top .service-m.purple .link-box a {
	border-color: var(--purple);
}

.service-top .service-m.pink .link-box a {
	border-color: var(--pink);
}

.service-top .service-m.yellow .link-box a {
	border-color: var(--yellow);
}

.service-top .service-m.yellowgreen .link-box a:hover {
	background: var(--yellowgreen03);
}

.service-top .service-m.blue .link-box a:hover {
	background: var(--blue03);
}

.service-top .service-m.purple .link-box a:hover {
	background: var(--purple03);
}

.service-top .service-m.pink .link-box a:hover {
	background: var(--pink03);
}

.service-top .service-m.yellow .link-box a:hover {
	background: var(--yellow03);
}

.service-top .service-m .link-not > div {
	border-color: var(--beige04);
}

.service-top .service-m .link-box a::before {
    content: "\f061";
    position: absolute;
    right: 27px;
    bottom: 26px;
    display: flex;
    align-items: center;
    z-index: 2;
    font-size: 1.4rem;
    color: var(--white);
}
.service-top .service-m .link-box a::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 26px;
    height: 26px;
    border-radius: 17px;
    margin: auto;
    z-index: 1;
}

.service-top .service-m.yellowgreen .link-box a::after {
	background: var(--yellowgreen);
}

.service-top .service-m.blue .link-box a::after {
	background: var(--blue);
}

.service-top .service-m.purple .link-box a::after {
	background: var(--purple);
}

.service-top .service-m.pink .link-box a::after {
	background: var(--pink);
}

.service-top .service-m.yellow .link-box a::after {
	background: var(--yellow);
}

.service-top .service-m li h3 {
	font-weight: bold;
	font-size: 2.2rem;
	padding: 20px 0;
	margin: 0 0 10px;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: auto 7px;
	font-feature-settings: "palt";
}

.service-top .service-m.yellowgreen li h3 {
	background-image: url("../img/mark-line02.svg");
}

.service-top .service-m.blue li h3 {
	background-image: url("../img/mark-line03.svg");
}

.service-top .service-m.purple li h3 {
	background-image: url("../img/mark-line04.svg");
}

.service-top .service-m.pink li h3 {
	background-image: url("../img/mark-line05.svg");
}

.service-top .service-m.yellow li h3 {
	background-image: url("../img/mark-line06.svg");
}

@media screen and (max-width: 768px){
	
	.service-top .inner {
		padding: 50px 20px;
	}

	.service-top .menu-box .inner {
		padding: 50px 0 0;
	}

	.service-top .menu-box.is-fixed .inner {
		padding: 0 0;
	}

	.service-top .service-l {
		padding: 5px;
		min-height: auto;
	}

	.service-top .service-l .box {
		position: static;
		display: block;
		padding: 10px;
		min-height: auto;
	}

	.service-top .service-l .image {
		position: static;
	}

	.service-top .service-l .image img {
		width: 100%;
		height: 150px;
	}

	.service-top .service-l h3 {
		font-size: 2.6rem;
		padding: 20px 0;
	}

	.service-top .service-l .copy {
		font-size: 1.8rem;
		padding: 0 0 10px;
	}

	.service-top .service-m .name {
		margin: 50px 0 10px;
		font-size: 2.3rem;
		padding: 5px 10px;
	}

	.service-top .service-m ul {
		display: block;
	}

	.service-top .service-m ul li {
		width: 100%;
		margin: 10px 0 0;
	}

	.service-top .service-m ul li .image {
		width: 100%;
		height: 130px;
	}

	.service-top .service-m .link-box a ,
	.service-top .service-m .link-not > div {
		padding: 10px;
		position: relative;
	}

	.service-top .service-m .link-box a::before {
		right: 17px;
		bottom: 16px;
	}
	
	.service-top .service-m .link-box a::after {
		right: 10px;
		bottom: 10px;
	}

	.service-top .service-m li h3 {
		font-size: 2.0rem;
		padding: 20px 0;
	}

	.service-top .service-m li.link-box .copy {
		padding: 0 30px 0 0;
	}
}
/*20250909追加*/
.info-button {
	margin-top:40px;
  display: flex;
  align-items: center;
  gap: 12px; /* アイコンとテキストの間隔 */
  background-color: var(--orange);
  color: #fff;
  border: none;
  padding: 12px 35px;
  border-radius: 40px;
  font-size: 16px;
  cursor: pointer;
  text-align: left;
	position: relative;
  overflow: hidden; 
transition: background-color 0.3s; 
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
padding-left: 20px;
}
.info-button:hover {
  background-color: #ff8b64;
}

.info-button .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: var(--orange);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  font-weight: bold;
  font-size: 18px;
  flex-shrink: 0;
}

.info-button .text {
  line-height: 1.4;
  /* font-weight: bold; */
}
.info-button::after {
  content: "〉";
  width: 0;
  height: 0;
  position: absolute;
  padding: 10px 10px 27px 0;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s;
}


.shine-button::before {
content: "";	
position: absolute;
display: block;		
background: linear-gradient(to right,rgba(255,255,255,0), rgba(255,255,255,0.9));
width: 50px;	
height: 50px;	
top: -60px;	
left: -60px;	
animation-name:shine-run;
animation-delay:1s;	
animation-duration: 5s;
animation-timing-function: ease-in;
animation-iteration-count: infinite;
}

/*建築基準法改正 id位置調整*/
#attention {
	scroll-margin-top: 160px;
	margin: 0 0 50px;
}
@media screen and (max-width: 768px){
	#attention {
	scroll-margin-top: 0;
	margin: 0px 0 20px;
}
	.attention-area .ttl-l {
		text-align: center;
		padding: 0 0 30px;
	}

}

/* ------------------------------------
アニメーションのタイミングとボックスの
拡大率、角度、透過率の指定
------------------------------------*/
@keyframes shine-run {
0% {
transform: scale(0) rotate(50deg);
/* アニメ開始時は大きさ0、50度の傾き */
opacity: 0;
/* アニメ開始時は全透過 */
}
40% {
transform: scale(1) rotate(50deg);
/* 40%まで進む間に大きさを等倍に。傾きは50度のまま*/
opacity: 1;
/* 透過しない（しっかり表示される）ように1を設定 */
}
70% {
opacity: 0;
transform: scale(250) rotate(50deg);
}
100% {
transform: scale(250) rotate(50deg);
opacity: 0;
/* 全透過になるようにして、徐々に消えるような変化を付ける */
}
}
.shine-button::before {
  animation: shine-run 7s ease-in-out infinite;
}

@media screen and (max-width: 768px){
	.info-button .text {
    	padding-right: 20px;
    	line-height: 1.1;
    	padding-left: 4px;
	}

  .info-button .icon {
    width: 30px;
    height: 30px;
  }


  .info-button {
    padding: 10px 20px 10px 15px;
    gap: 8px;
	font-size: 1.4rem;

  }
  .info-button {
	margin-top:10px;
}
.point-area .list.list02 {
	display: block;
  margin: 0;
}
.point-area .list.list02 li {
  width: auto;
  padding: 0;
}
.point-area .list li {
  width: auto;
  padding: 0;
}
}
/* アコーディオン無効化 */
.accordion.service-accordion .under {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

.accordion.service-accordion .top {
  pointer-events: none;
}

.service-accordion .accordion-icon {
  display: none !important;
}

.form-txt {
  font-family: "游ゴシック";
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
  background: var(--beige02);
  padding: 5px;
  text-align: center;
  color: var(--beige05);
  margin: 0 0 10px;
  border-radius: 5px 5px 0 0;
}
/* 建築設備定期検査ページはこちら */
.color.blue {
	border-bottom: 1px solid var(--blue);
}
.color.blue {
  transition: color 0.5s ease;     /* ゆっくり変化 */
}

.color.blue:hover {
  color: var(--blue);                   /* ホバーで青 */
}
/* 消防設備点検ページはこちら */
.color.green {
	border-bottom: 1px solid var(--green);
}
.color.green {
  transition: color 0.5s ease;
}

.color.green:hover {
  color: var(--green);  
}
