/* 共通 */
: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.7;
}
[class*="section__wrapper--"] {
    padding-block: 120px;
}
	[class*="section__wrapper--"]:nth-of-type(odd){
		background-color: var(--page-bg-color);
	}
		.section__inner{
			width: var(--screen-size);
			margin: 0 auto;
		}
		.section__ttl{
			font-size: 26px;
			font-weight: 500;
			margin-bottom: 40px;
			text-align: center;
			line-height: 1.2;
		}
			.section__ttl span{
				display: block;
				font-size: 14px;
				color: var(--page-sub-color);
				line-height: 1.5;
				letter-spacing: 2.8px;
				font-weight: 600;
				margin-top: 10px;
                font-family: "Cormorant", serif;
			}
	[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 #291401;
		background: #fff;
		color: #291401;
		font-weight: 500;
		position: relative;
		transition: .3s;
		font-size: 16px;
	}
		[class*="content__btn--"] [class*="content__icon--btn--"]{
			width: 18px;
			height: 6px;
			margin: auto;
			border: none;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 17px;
			color: #291401;
		}
	@media (hover: hover) and (pointer: fine) {
		[class*="content__btn--"] a:hover{
			background: #291401;
			color: #fff;
            opacity: 1;
		}
		[class*="content__btn--"] a:hover [class*="content__icon--"]{
			color: #fff;
		}
	}

/* メイン画像 */
.main__bg{
	background: url(../images/img_main.webp) no-repeat center / cover;
	padding: 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__items--case--07{
		width: 285px;
	}
	.content__items--case--07:nth-child(n+5) {
		border-top: none;
	}
	.content__items--case--07:not()
		.content__img--case--07{
			margin-bottom: 18px;
		}

/* 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: 12px;
	line-height: 2;
}
	[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;
		border: none;
		background: transparent;
	}
	a.content__txt--tel{
		color: inherit;
		text-decoration: none;
		pointer-events: none;
		cursor: default;
	}
	.content__icon--tel{
		width: 26px;
		height: 26px;
		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:not(.content__txt--tel){
		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;
	}

@media screen and (max-width: 1080px){
    :root{
        --screen-size:89.333vw;
        --page-main-color:#19A214;
        --page-sub-color: #eda620;
        --page-bg-color:rgba(23, 129, 19, 0.1);
        --page-default-font:"Noto Sans JP", serif;
    }
    .l-page * {
        font-family: var(--page-default-font);
        font-weight: 400;
        font-size: 3.733vw;
        line-height: 1.7;
    }
    [class*="section__wrapper--"] {
        padding-block: 13.333vw;
    }
        .section__space{
            padding-block: 0;
        }
            .section__inner{
                width: var(--screen-size);
                margin: 0 auto;
            }
            .section__ttl{
                font-size: 5.333vw;
                font-weight: bold;
                margin-bottom: 5.333vw;
                text-align: center;
                line-height: 1.5;
            }
                .section__ttl span{
                    display: block;
                    font-size: 3.2vw;
                    color: var(--page-sub-color);
                    margin-top: 0;
                }
        [class*="content__list--"]{
            display: flex;
            flex-wrap: wrap;
        }
        [class*="content__subttl--"]{
            font-size: 4.533vw;
            font-weight: 500;
            letter-spacing: 0;
        }
        [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;
            margin: 0 auto;
            font-weight: 500;
            position: relative;
        }
            [class*="content__btn--"] [class*="content__icon--btn--"]{
                width: 4.267vw;
                height: 2.333vw;
                margin: auto;
                border: none;
                position: absolute;
                top: 0;
                bottom: 0;
                right: 5.333vw;
            }
	.content__icon--chrck use {
		color: var(--page-main-color);
	}
    
    /* メイン画像 */
    .main__bg{
        background: url(/semiorder/images/img_main_sp.webp) no-repeat center / cover;
        padding: 13.333vw 0;
    }
        .main__bg--catch{
            font-size: 8vw;
            text-align: center;
            color: #fff;
        }
        .main__bg--catch span{
            display: block;
            font-size: 3.2vw;
            margin-top: 2.133vw;
        }
    
    [class*="content__items--"]{
        width: 100%;
        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: 6.4vw;
        height: 6.4vw;
        padding: 0 1.467vw;
        flex-shrink: 0;
    }
    .content__icon--under--arrow{
        width: 2.933vw;
        height: 1.867vw;
    }
    /* 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: 3.2vw;
    }
        [class*="content__subttl--faq--"]::before,
        [class*="content__description--faq--"]::before{
            content: 'Q';
            display: flex;
            flex-shrink: 0;
            border: 1px solid var(--page-main-color);
            color: var(--page-main-color);
            border-radius: 50%;
            width: 7.467vw;
            height: 7.467vw;
            padding: 1vw 0;
            font-size: 4vw;
            text-align: center;
            align-items: center;
            justify-content: center;
        }
        [class*="content__description--faq--"]::before{
            content: 'A';
            border: none;
            background: var(--page-main-color);
            color: #fff;
        }	
        [class*="content__icon--faq--"] {
            display: block;
            width: 5.333vw;
            height: 5.333vw;
            flex-shrink: 0;
            margin-left: auto;
            -webkit-transform: rotate(45deg);
            transform: rotate(0deg);
            transform-origin: center center;
            transition-duration: 0.2s;
            position: relative;
            }
          [class*="content__icon--faq--"]:before,
          [class*="content__icon--faq--"]:after {
            content: '';
            display: flex;
            background-color: #0B4109;
            border-radius: 10px;
            width: 5.333vw;
            height: 1px;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            margin: auto;
            border-radius: 6px;
            -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
            transform-origin: center center;
            }
          [class*="content__icon--faq--"]:before {
            width: 0.267vw;
            height: 5.333vw;
            top: 0;
            right: 0;
            left: 0;
            }
          [class*="content__icon--faq--"]:before {
            content: none;
          }
          .js-accordion-trg.active [class*="content__icon--faq--"]:before{
            content: '';
            -webkit-transform: rotate(0deg);
            transform: rotate(180deg);
            }
    
    /* カード */
    [class*="card__list--"]{
        display: flex;
        gap: 4vw;
        padding: 0 4vw;
        margin-bottom: 5.333vw;
        overflow-x: auto;
    }
        [class*="card__items--"]{
            width: 74.667vw;
            padding: 4vw;
            background: #FFFFFF;
            border: 1px solid #DBDBDB;
            flex-shrink: 0;
        }
            [class*="card__img--"]{
                position: relative;
                height: 50.133vw;
                margin-bottom: 3.2vw;
            }
                [class*="card__img--"] img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
                [class*="card__subttl--"]{
                    font-size: 4vw;
                    font-weight: 500;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    display: -webkit-box;
                    -webkit-line-clamp: 1;
                    -webkit-box-orient: vertical;
                    margin-bottom: 3.2vw;
                }
                [class*="card__description--"]{
                    font-size: 3.467vw;
                    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;
                }
                .content__icon--heart{
                    width: 5.733vw;
                    height: 5.6vw;
                }
                .content__icon--heart.is-favorite{
                    fill: #EF5350;
                    color: #EF5350;
                }
    
    
    /* タブ */
    [class*="tab__wrap--"]{
        margin-bottom: 5.333vw;
    }
        [class*="tab__list--"]{
            display: flex;
            padding: 0 4vw;
            overflow-x: auto;
        }
            [class*="tab__items--"]{
                min-width: 37.333vw;
            }
                [class*="tab__btn--"]{
                    width: 100%;
                    border-bottom: 1px solid #CCCCCC;
                    padding: 0 8.8vw 2.133vw;
                    color: #CCCCCC;
                    font-size: 4vw;
                    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*="content__block--contact--"]{
        display: flex;
        align-items: baseline;
        gap: 10px;
        justify-content: center;
    }
        a.content__txt--tel{
            pointer-events: auto;
            cursor: pointer;
        }
        .content__icon--tel{
            width: 6.4vw;
            height: 6.4vw;
        }
        .content__icon--tel,.content__icon--mail,.content__icon--line{
            position: absolute;
            margin: auto;
            top: 5.333vw;
            bottom: 5.333vw;
            left: 6.933vw;
        }
        [class*="section__wrapper--contact--"] [class*="content__btn--contact--"]{
            width: 89.333vw;
            height: auto;
        }
        [class*="section__wrapper--contact--"] [class*="content__btn--contact--"] a:not(.content__txt--tel){
            background: #333333;
            color: #fff;
            height: 16vw;
            padding: 4.267vw 0 4.8vw;
            font-size: 4.8vw;
            gap: 8px;
            border: none;
        }
        .content__icon--mail{
            width: 6.4vw;
            height: 5.333vw;
            color: #fff;
        }
        [class*="section__wrapper--contact--"] .content__btn--contact--line a{
            background: #06C755;
            color: #fff;
        }
            .content__icon--line{
                width: 6.133vw;
                height: 6.667vw;
            }
            [class*="section__wrapper--contact--"] [class*="content__icon--btn--"]{
                color: #fff;
            }
        [class*="content__wrap--contact--"] [class*="content__txt--contact--"]{
            font-size: 3.467vw;
            color: #7A7A7A;
        }
    
}