/* 共通 */
:root{
	--page-main-color:#19A214;
	--page-sub-color: #eda620;
	--page-bg-color:rgba(23, 129, 19, 0.1);
	--page-default-font:"Noto Sans JP", serif;
}
#contents,.l-main{
    width: 100%;
    padding-bottom: 0;
	overflow: hidden;
}
.l-page * {
	font-family: var(--page-default-font);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.75;
}
	[class*="section__wrapper--"]:nth-of-type(odd){
		background-color: var(--page-bg-color);
	}
	.section__space{
		padding-block: 80px;
	}
		.section__inner{
			width: var(--screen-size);
			margin: 0 auto;
		}
		.section__ttl{
			font-size: 26px;
			font-weight: 500;
			margin-bottom: 35px;
			text-align: center;
		}
			.section__ttl span{
				display: block;
				font-size: 14px;
				color: var(--page-sub-color);
                line-height: 1.2;
			}
	[class*="content__list--"]{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	[class*="content__subttl--"]{
		font-size: 20px;
		font-weight: 500;
		line-height: 1.6;
	}
	[class*="content__img--"] img{
		width: 100%;
		height: 100%;
		vertical-align: bottom;
		object-fit: cover;
	}
	[class*="content__btn--"]{
		width: 240px;
		height: 50px;
		margin: 0 auto;
	}
	[class*="content__btn--"] a{
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 30px;
		padding: 13px 0;
		margin: 0 auto;
		border: 1px solid #333;
		background: #fff;
		color: #333;
		font-weight: 500;
		position: relative;
	}
		[class*="content__btn--"] [class*="content__icon--btn--"]{
			width: 16px;
			height: 5px;
			margin: auto;
			border: none;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 20px;
			color: #0B4109;
		}

/* メイン画像 */
.main__bg{
	background: url(../images/img_main.png) no-repeat center / cover;
	padding: 133px 0;
}
	.main__bg--catch{
		font-size: 40px;
		text-align: center;
		color: #fff;
	}
	.main__bg--catch span{
		display: block;
		font-size: 18px;
		margin-top: 8px;
	}

[class*="content__items--"]{
	position: relative;
	counter-increment: count;
}

[class*="content__items--flow--"]::before{
	content: counter(count);
}

.content__icon--chrck{
	border: 1px solid var(--page-main-color);
	border-radius: 50%;
	background: #fff;
	width: 30px;
	height: 30px;
	padding: 7px;
	flex-shrink: 0;
}
.content__icon--under--arrow{
	width: 11px;
	height: 5px;
}
/* 表・比較 */
.content__block--case--10 .content__list--vertical{
	gap: 28px;
}
.content__img--case--10{
	width: 204px;
	height: 230px;
	margin: 0 auto 20px;
}
.content__subttl--case--10 {
    margin-bottom: 8px;
}
.content__description--case--10 {
	padding: 0 4px;
}
	.content__items--case--10{
		width: 264px;
	}
	.content__items--case--07{
		width: 285px;
		border: 1px solid var(--page-main-color);
	}
	.content__items--case--07:not(:first-child) {
		border-left: none;
	}
	.content__items--case--07:nth-child(n+5) {
		border-top: none;
	}
	.content__items--case--07:not()
		.content__img--case--07{
			margin-bottom: 18px;
		}
		.content__subttl--case--07{
			margin-bottom: 9px;
		}
/* FAQ */
[class*="content__subttl--faq--"]{
    font-weight: 400;
	color: var(--page-main-color);
	cursor: pointer;
}
[class*="content__subttl--faq--"],
[class*="content__description--faq--"]{
	display: flex;
	align-items: center;
	gap: 8px;
}
[class*="content__description--faq--"]{
	align-items: start;
	margin-top: 14px;
}
	[class*="content__subttl--faq--"]::before,
	[class*="content__description--faq--"]::before{
		content: 'Q';
		display: block;
		flex-shrink: 0;
		border: 1px solid var(--page-main-color);
		color: var(--page-main-color);
		border-radius: 50%;
		width: 36px;
		height: 36px;
		font-size: 16px;
		text-align: center;
		padding: 4px 0;
        background-color: #fff;
	}
	[class*="content__description--faq--"]::before{
		content: 'A';
		border: none;
		background: var(--page-main-color);
		color: #fff;
	}	
	[class*="content__icon--faq--"] {
		display: block;
		width: 22px;
		height: 22px;
		margin-left: auto;
		-webkit-transform: rotate(45deg);
		transform: rotate(0deg);
		transform-origin: center center;
		transition-duration: 0.2s;
		position: relative;
		}
    /* 横棒（常に表示 = マイナスのベース） */
    [class*="content__icon--faq--"]:after {
        content: '';
        display: block;
        background-color: #0B4109;
        width: 22px;
        height: 2px;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        border-radius: 6px;
    }

    /* 縦棒（＝プラスの縦線）→ 通常時は表示 */
    [class*="content__icon--faq--"]:before {
        content: '';
        display: block;
        background-color: #0B4109;
        width: 2px;
        height: 22px;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        border-radius: 6px;
        transition: opacity 0.2s;
    }

    /* 開いたとき（active）→ 縦棒を消す＝マイナス */
    .js-accordion-trg.active [class*="content__icon--faq--"]:before {
        opacity: 0;
    }
    .js-accordion-trg.active [class*="content__icon--faq--"] {
        transform: rotate(180deg);
    }
/* 読み物 */
[class*="content__txt--read--"]{
	text-align: center;
}

/* ブログ */
[class*="card__wrap--"]{
	position: relative;
}
	[class*="card__wrap--"] .swiper-wrapper{
		margin-bottom: 49px;
	}
		.swiper-wrapper [class*="card__items--"]{
			width: 320px;
			padding: 20px;
			background: #FFFFFF;
			border: 1px solid #DBDBDB;
			flex-shrink: 0;
		}
			[class*="card__img--"]{
				position: relative;
				height: 210px;
				margin-bottom: 16px;
			}
				[class*="card__img--"] img{
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			[class*="card__subttl--"]{
				overflow: hidden;
				text-overflow: ellipsis;
				display: -webkit-box;
				-webkit-line-clamp: 1;
				-webkit-box-orient: vertical;
				margin-bottom: 10px;
			}
			[class*="card__description--"]{
				font-size: 14px;
				overflow: hidden;
				text-overflow: ellipsis;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
			}
	.swiper__wrap--pagination{
		position: relative;
		width: 480px;
		margin: 0 auto 30px;
	}
		.swiper__wrap--pagination .swiper-pagination{
			position: relative;
			bottom: 0;
			left: 0;
			right: 0;
			display: flex;
			gap: 8px;
			justify-content: center;
		}
			.swiper__wrap--pagination .swiper-pagination-bullet{
				width: 30px;
				height: 2px;
				background: var(--page-main-color);
			}
			.swiper-button-prev,
			.swiper-button-next{
				display: flex;
				align-items: center;
				justify-content: center;
				width: 40px;
				height: 40px;
				border-radius: 50%;
				background: #fff;
				border: 1px solid #0B4109;
				top: 0;
				bottom: 0;
				left: 0;
				margin: auto;
				z-index: 1;
			}
			.swiper-button-next{
				left: inherit;
				right: 0;
			}
			.swiper-button-next [class*="content__icon--slider--01"]{
				transform: scaleX(-1);
			}
			.content__icon--slider--01 {
				width: 7px;
				height: 14px;
				display: block;
				color: #0B4109;
			}
			.swiper-button-prev::after,
			.swiper-button-next::after{
				display: block;
				font-size: inherit;
				width: 7px;
				height: 14px;
				color: #0B4109;
			}
			
			.swiper-button-prev::after,
			.swiper-button-next::after {
				display: none;
			}
			[class*="content__icon--wrap--bkn--01"]{
				position: absolute;
				top: 8px;
				right: 8px;
				background: #E5E5E5;
				border-radius: 50%;
				padding: 15px 12px 12px;
			}
			.content__icon--heart{
				width: 26px;
				height: 23px;
			}
			.content__icon--heart.is-favorite{
				fill: #EF5350;
				color: #EF5350;
			}


/* タブ */
[class*="tab__wrap--"]{
    margin-bottom: 30px;
}
	[class*="tab__list--"]{
        display: flex;
        justify-content: center;
    }
		[class*="tab__items--"]{
            min-width: 120px;
        }
			[class*="tab__btn--"]{
                width: 100%;
                border-bottom: 1px solid #CCCCCC;
				padding: 10px 66px 12px;
                color: #CCCCCC;
				font-size: 20px;
                transition: all 0.3s ease;
                cursor: pointer;
            }
				[class*="tab__btn--"].is-active {
					border-bottom: 1px solid var(--page-main-color);
					color: var(--page-main-color);
					font-weight: 500;
				}
				[class*="tab__btn--"]:hover {
					opacity: 0.8;
				}

/* お問い合わせ */
[class*="content__wrap--contact--"]{
	display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}
[class*="content__block--contact--"]{
	display: flex;
	align-items: baseline;
	gap: 10px;
}
	[class*="content__block--contact--"] .content__txt--tel{
		font-size: 40px;
	}
	.content__icon--tel{
		width: 24px;
		height: 24px;
		color: #333333;
	}
	[class*="section__wrapper--contact--"] [class*="content__btn--contact--"]{
		width: 320px;
		height: auto;
		margin: 0;
	}
	[class*="section__wrapper--contact--"] [class*="content__btn--contact--"] a{
		background: #333333;
		color: #fff;
		height: 60px;
		font-size: 18px;
		gap: 8px;
		border: none;
	}
	.content__icon--mail{
		width: 24px;
		height: 20px;
		color: #fff;
	}
	[class*="section__wrapper--contact--"] .content__btn--contact--line a{
		background: #06C755;
		color: #fff;
	}
		.content__icon--line{
			width: 23px;
			height: 25px;
		}
		[class*="section__wrapper--contact--"] [class*="content__icon--btn--"]{
			color: #fff;
		}
	[class*="content__wrap--contact--"] [class*="content__txt--contact--"]{
		font-size: 13px;
		color: #7A7A7A;
	}
