@charset "utf-8";

@font-face {
	font-family: "Shippori Mincho";
	src: url(/fonts/ShipporiMincho-ExtraBold.woff2) format("woff2");
	font-weight: 800;
	font-display: swap;
}
@font-face {
	font-family: "Noto Serif JP";
	src: url(/fonts/NotoSerifJP-Bold.woff2) format("woff2");
	font-weight: 900;
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	src: url(/fonts/NotoSansJP-Regular.woff2) format("woff2");
	font-weight: 400;
	font-display: swap;
}

body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

/*============================================
リセット
============================================*/
.l-wrapper {
	background: url(../images/contents_bg.webp) no-repeat center / cover;
}

.l-main {
	width: auto;
	padding: 0;
	overflow: hidden;
}

#content {
	width: 100%;
}

#contents {
	width: auto;
	padding: 0;
}

.org-footer.l-footer {
	padding: 0;
}

.breadcrumbs {
    width: 100%;
    margin: 0 auto;
    padding: 16px 0 14px;
    position: relative;
    z-index: 1;
    background: #FAFAFA;
}

.breadcrumbs__list {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    width: 1140px;
    margin: 0 auto;
}

/*============================================
メイン画像
============================================*/
.main__img {
	width: 100%;
	height: 100%;
}

.main__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/*============================================
共通
============================================*/
[class*="section__wrapper--"] {
	padding-block: 100px;
}
	[class*="section__inner--"] {
		width: 1140px;
		margin: 0 auto;
	}
		[class*="ttl__box--"] {
			display: flex;
			justify-content: center;
			align-items: flex-end;
			gap: 20px;
		}
			[class*="section__ttl--"] {
				color: #333;
				font-family: "Shippori Mincho", sans-serif;
				font-size: 30px;
				font-weight: 800;
				line-height: 1;
			}
			[class*="section__sub-ttl--"] {
				color: #F72592;
				text-align: center;
				font-family: "Shippori Mincho", sans-serif;
				font-size: 16px;
				font-weight: 800;
				line-height: 1;
			}

/*============================================
強み
============================================*/
.section__wrapper--strengths {
	padding-block: 70px;
	background: rgba(254, 233, 244, 0.75);
	margin: 69px 0 0;
}
	.section__inner--strengths {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
		.ttl__box--strengths {
			justify-content: flex-start;
		}
		.strengths__list {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 28px 30px;
			margin: 0;
			padding: 0;
			list-style: none;
			counter-reset: strengths-point;
		}
			.strengths__item {
				display: flex;
				flex-direction: column;
				gap: 10px;
				width: 360px;
				counter-increment: strengths-point;
			}
				.strengths__img {
					position: relative;
					width: 360px;
					height: 250px;
					margin: 0;
				}
					.strengths__img img {
						display: block;
						width: 360px;
						height: 250px;
						object-fit: cover;
						vertical-align: bottom;
					}
					.strengths__point {
						display: block;
						position: absolute;
						top: 0;
						left: 15px;
						width: 50px;
						height: 60px;
						padding-top: 7px;
						box-sizing: border-box;
						background: #F72592;
						clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 83.33%, 0 100%);
						color: #fff;
						text-align: center;
						font-family: "Shippori Mincho", sans-serif;
						font-size: 14px;
						font-weight: 800;
						line-height: 1;
					}
						.strengths__point::after {
							display: block;
							content: counter(strengths-point, decimal-leading-zero);
							font-size: 22px;
						}
				.strengths__ttl {
					margin: 0;
					color: #F72592;
					text-align: center;
					font-family: "Noto Serif JP", sans-serif;
					font-size: 20px;
					font-weight: 900;
					line-height: 1.4;
				}
				.strengths__txt {
					margin: 0;
					color: #333;
					font-family: "Noto Sans JP", sans-serif;
					font-size: 16px;
					font-weight: 400;
					line-height: 1.64;
				}

/*============================================
流れ
============================================*/
.section__wrapper--flow {
	padding-block: 68px 0px;
}
	.section__inner--flow {
		display: flex;
		flex-direction: column;
		gap: 31px;
	}
		.ttl__box--flow {
			justify-content: flex-start;
		}
		.flow__line {
			width: 100%;
			height: 1px;
			background: #CFD8DC;
		}
		.flow__list {
			display: flex;
			flex-direction: column;
			gap: 30px;
			margin: 0;
			padding: 0;
			list-style: none;
			counter-reset: flow-num;
		}
			.flow__item {
				display: flex;
				align-items: center;
				gap: 30px;
				position: relative;
				padding: 0 0 30px 97px;
				border-bottom: 1px solid #CFD8DC;
				box-sizing: border-box;
				counter-increment: flow-num;
			}
				.flow__item:last-child {
					padding-bottom: 0;
					border-bottom: none;
				}
				.flow__item::before {
					display: flex;
					justify-content: center;
					align-items: center;
					content: counter(flow-num, decimal-leading-zero);
					position: absolute;
					top: 120px;
					left: 0;
					transform: translateY(-50%);
					width: 67px;
					height: 67px;
					border-radius: 50%;
					background: #F72592;
					color: #fff;
					text-align: center;
					font-family: "Shippori Mincho", sans-serif;
					font-size: 26px;
					font-weight: 800;
					line-height: 1;
				}
				.flow__img {
					width: 360px;
					height: 240px;
					margin: 0;
					flex-shrink: 0;
				}
					.flow__img img {
						display: block;
						width: 360px;
						height: 240px;
						object-fit: cover;
						vertical-align: bottom;
					}
				.flow__body {
					display: flex;
					flex-direction: column;
					gap: 10px;
					width: 653px;
				}
					.flow__ttl {
						margin: 0;
						color: #F72592;
						font-family: "Shippori Mincho", sans-serif;
						font-size: 24px;
						font-weight: 800;
						line-height: 1.4;
					}
					.flow__txt {
						margin: 0;
						color: #333;
						font-family: "Noto Sans JP", sans-serif;
						font-size: 16px;
						font-weight: 400;
						line-height: 1.65;
					}
/* ============================
お問合せ
============================ */
.section__wrapper--contact{
    padding-block: 70px 0;
}

    .contact{
        padding-block: 70px;
        background: rgba(228, 55, 145, 0.6);
    }

        .section__inner--contact{
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 30px;
        }

            .ttl__box--contact{
                width: 100%;
				justify-content: flex-start;
            }

                .section__ttl--contact,
                .section__sub-ttl--contact{
                    color: #fff;
                }

            .contact__list{
                display: flex;
                align-items: flex-start;
                justify-content: center;
                box-sizing: border-box;
                gap: 24px;
                width: 100%;
                padding: 30px;
                background: #fff;
            }

                .contact__item.contact__item--tel {
                    gap: 27px;
                }
                .contact__item{
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    gap: 29px;
                    width: 252px;
                }

                    .contact__icon{
                        width: 60px;
                        height: 60px;
                        margin: 0;
                        overflow: hidden;
                        line-height: 0;
                    }

                        .contact__icon img{
                            display: block;
                            width: 60px;
                            height: 60px;
                        }

                    .contact__tel{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        gap: 14px;
                        text-align: center;
                    }

                        .contact__tel-num{
                            margin: 0;
                            color: #333;
                            font-family: "Shippori Mincho", serif;
                            font-size: 28px;
                            font-weight: 800;
                            line-height: 1;
                            letter-spacing: 0;
                        }

                        .contact__hours{
                            text-align: center;
                        }

                            .contact__hours-text{
                                margin: 0;
                                color: #707070;
                                font-family: "Shippori Mincho", serif;
                                font-size: 14px;
                                font-weight: 400;
                                line-height: 1.3;
                                letter-spacing: 0;
                            }

                    .contact__btn-wrap{
                        margin: 0;
                    }

                        .contact__btn{
                            position: relative;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            box-sizing: border-box;
                            width: 252px;
                            height: 65px;
                            padding: 17px 10px;
                            text-decoration: none;
                        }

                        .contact__btn:hover{
                            opacity: .8;
                        }

                        .contact__btn--reserve{
                            background: #FF7F2C;
                        }

                        .contact__btn--mail{
                            background: #F72592;
                        }

                        .contact__btn--line{
                            background: #06C655;
                        }

                            .contact__btn-text{
                                color: #fff;
                                font-family: "Noto Sans JP", sans-serif;
                                font-size: 18px;
                                font-weight: 700;
                                line-height: 1;
                                letter-spacing: 0;
                            }

                            .contact__btn-arrow{
                                position: absolute;
                                top: 50%;
                                right: 18px;
                                width: 6px;
                                height: 10px;
                                transform: translateY(-50%);
                            }