@charset "UTF-8";

.p-decoration{
	position:absolute;
	z-index:1;

	.c-media-image{
		container:none;
	}
}

.p-main-first__body{
	overflow:hidden;

	:nth-child(1 of .p-decoration.of-back){
		top:calc(250/var(--content-width)*100vw);
		right:calc(0/var(--content-width)*100vw);
	}

	:nth-child(2 of .p-decoration.of-back){
		top:calc(603/var(--content-width)*100vw);
		left:calc(0/var(--content-width)*100vw);
	}

	:nth-child(3 of .p-decoration.of-back){
		right:calc(0/var(--content-width)*100vw);
		bottom:calc(977/var(--content-width)*100vw);
	}

	:nth-child(4 of .p-decoration.of-back){
		bottom:calc(20/var(--content-width)*100vw);
		left:calc(0/var(--content-width)*100vw);
	}
}

.p-box-lead{
	position:relative;
	max-width:990px;
	margin:0 auto 50px;
	padding-inline:78px;

	:nth-child(1 of .p-decoration){
		top:calc(-29/var(--content-width)*100vw);
		left:calc(0/var(--content-width)*100vw);
	}

	:nth-child(2 of .p-decoration){
		top:calc(13/var(--content-width)*100vw);
		right:calc(-40/var(--content-width)*100vw);
	}

	& > :first-child{
		margin-top:0 !important;
	}

	& > :last-child{
		margin-bottom:0 !important;
	}
}

.p-list-referenceSteps__item-1{
	position:relative;

	:nth-child(1 of .p-decoration){
		right:calc(-13/var(--content-width)*100vw);
		bottom:calc(-63/var(--content-width)*100vw);
	}
}

.p-list-referenceSteps__item-2{
	position:relative;

	:nth-child(1 of .p-decoration){
		bottom:calc(-75/var(--content-width)*100vw);
		left:calc(-37/var(--content-width)*100vw);
	}
}

.p-list-referenceSteps__item-3{
	position:relative;

	:nth-child(1 of .p-decoration){
		right:calc(-51/var(--content-width)*100vw);
		bottom:calc(-55/var(--content-width)*100vw);
	}
}

.p-text-emphasis{
	border-bottom:2px solid #e56669;
}

.p-button-decoration{
	position:relative;
	padding-left:30px;
}

.p-button-decoration::after{
	position:absolute;
	top:50%;
	left:-26px;
	width:48px;
	height:63px;
	background-image:url(../img/index_button_sp@2x.png);
	background-repeat:no-repeat;
	background-size:contain;
	content:"";
	filter:drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.2));
	transform:translateY(-50%);
}

.p-oc-info{
	height:100%;
	border-radius:10px;
	background-color:#fcf4e9;
}

.p-oc-info__head{
	padding:10px;
	border-radius:10px 10px 0 0;
	margin-top:20px;
	background:#b39770;
	text-align:center;
}

.p-oc-info__title{
	color:#fff;
	font-size:1.6rem;
	font-weight:700;
	letter-spacing:0.02em;
	line-height:140%;
	text-align:center;
}

.p-oc-info__body{
	border-radius:0 0 10px 10px;
	background-color:#fcf4e9;
}

.p-oc-info__body.of-hidden{
	overflow:hidden;
}

.p-oc-info__text-area{
	margin:0 20px;
}

.p-merit-card{
	display:grid;
	align-items:center;
	padding:10px 14px;
	border-radius:10px;
	background-color:rgba(196, 27, 31, 0.1);
	column-gap:8px;
	grid-template-columns:23px 1fr;
}

.p-merit-card.of-decoration{
	position:relative;
}

.p-merit-card.of-decoration::after{
	position:absolute;
	top:-43px;
	right:-11px;
	width:77px;
	height:62px;
	background-image:url(../img/index_decoration_08_sp@2x.png);
	background-repeat:no-repeat;
	background-size:cover;
	content:"";
}

.p-merit-card__number{
	display:grid;
	align-items:center;
}

.p-merit-card__text{
	color:#222;
	font-size:1.6rem;
	font-weight:700;
	letter-spacing:0.02em;
	line-height:140%;
}

.p-merit-card__text-red{
	color:#c41b1f;
}

.p-merit-card__note{
	color:#222;
	font-size:1.3rem;
	font-weight:700;
	letter-spacing:0.02em;
	line-height:140%;
}

.p-voice__title{
	width:100%;
	padding:12px 0;
	border-radius:100px;
	margin-top:32px;
	background:#b39770;
	color:#fff;
	font-size:1.6rem;
	font-weight:700;
	letter-spacing:0.1em;
	line-height:127.4%;
	text-align:center;
}

.p-sp-block{
	display:block !important;
}

.p-carousel__title{
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	padding:8px 16px;
	border-radius:40px;
	background:#c41b1f;
	gap:7px;
}

.p-carousel__title-number{
	display:grid;
	align-items:center;
}

.p-carousel__title-text{
	color:#fff;
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0.1em;
}

.p-carousel-lowerGrades{
	margin-block:30px;
}

.p-carousel-lowerGrades__title, .p-carousel-lowerGrades__image, .p-carousel-lowerGrades__text{
	& > :first-child{
		margin-top:0 !important;
	}

	& > :last-child{
		margin-bottom:0 !important;
	}
}

.p-carousel-lowerGrades__title{
	position:relative;
	z-index:1;
}

.p-carousel-lowerGrades__image{
	margin-top:-20px;
}

.p-carousel-lowerGrades__title{
	padding-bottom:0;
}

.p-carousel-lowerGrades__text{
	padding:15px 10px 0;
}

.p-carousel-lowerGrades__button{
	&.swiper-button-next, &.swiper-button-prev{
		display:none;
	}
}

@media (hover: hover){
	.p-carousel-lowerGrades__button{
		&.swiper-button-next, &.swiper-button-prev{
			&:not(.swiper-button-disabled){
				transition:opacity 0.5s;

				&:hover{
					opacity:0.7;
				}
			}
		}
	}

	.p-carousel-lowerGrades__pagination{
		&.swiper-pagination{
			.swiper-pagination-bullet{
				&:not(.swiper-pagination-bullet-active){
					transition:opacity 0.5s;

					&:hover{
						opacity:0.7;
					}
				}
			}
		}
	}
}

@media (scripting: enabled){
	.p-carousel-lowerGrades{
		&.swiper{
			padding-bottom:45px;
			margin-inline:-20px;
		}
	}

	.p-carousel-lowerGrades__button{
		&.swiper-button-next, &.swiper-button-prev{
			top:50%;
			display:flex;
			width:44px;
			height:44px;
			border:3px solid currentcolor;
			border-radius:50%;
			background-color:#fff;
			color:#c41b1f;

			&::after{
				color:currentcolor;
			}

			&.swiper-button-disabled{
				border-color:#bcbcbc;
				background-color:#d9d9d9;
				color:#fff;
				pointer-events:auto;
			}

			&.swiper-button-lock{
				display:none !important;
			}
		}

		&.swiper-button-next{
			right:calc(20/var(--content-width)*100vw);

			&::after{
				transform:translate(1px, 0) scale(0.4);
			}
		}

		&.swiper-button-prev{
			left:calc(20/var(--content-width)*100vw);

			&::after{
				transform:translate(-1px, 0) scale(0.4);
			}
		}
	}

	.p-carousel-lowerGrades__pagination{
		&.swiper-pagination{
			.swiper-pagination-bullet-active{
				background-color:#c41b1f;
			}
		}
	}
}

@media (scripting: enabled) and (width > 767px){
	.p-carousel-lowerGrades{
		&.swiper{
			max-width:990px;
			padding-bottom:60px;
			margin-inline:-15px;
			padding-inline:75px;
		}
	}

	.p-carousel-lowerGrades__itemInner{
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s;

		.swiper-slide-active &, .swiper-slide-active + * &, .swiper-slide-active + * + * &{
			opacity:1;
			pointer-events:auto;
		}
	}

	.p-carousel-lowerGrades__button{
		&.swiper-button-next, &.swiper-button-prev{
			width:65px;
			height:65px;
		}

		&.swiper-button-next{
			right:0;

			&::after{
				transform:translate(1px, 0) scale(0.4);
			}
		}

		&.swiper-button-prev{
			left:0;

			&::after{
				transform:translate(-1px, 0) scale(0.4);
			}
		}
	}

	.p-carousel-lowerGrades__pagination{
		&.swiper-pagination{
			.swiper-pagination-bullet{
				width:12px;
				height:12px;
				margin-inline:5px;
			}
		}
	}
}

@media (width > 767px){
	.p-main-first__body{
		overflow:hidden;

		:nth-child(1 of .p-decoration.of-back){
			top:calc(250/var(--content-width)*100vw);
			right:calc(0/var(--content-width)*100vw);
		}

		:nth-child(2 of .p-decoration.of-back){
			top:calc(603/var(--content-width)*100vw);
			left:calc(0/var(--content-width)*100vw);
		}

		:nth-child(3 of .p-decoration.of-back){
			right:calc(0/var(--content-width)*100vw);
			bottom:calc(977/var(--content-width)*100vw);
		}

		:nth-child(4 of .p-decoration.of-back){
			bottom:calc(20/var(--content-width)*100vw);
			left:calc(0/var(--content-width)*100vw);
		}
	}

	.p-box-lead{
		margin-bottom:100px;
		padding-inline:124px;

		:nth-child(1 of .p-decoration){
			top:calc(-62/var(--content-width)*100vw);
			left:calc(18/var(--content-width)*100vw);
		}

		:nth-child(2 of .p-decoration){
			top:calc(-38/var(--content-width)*100vw);
			right:calc(10/var(--content-width)*100vw);
		}
	}

	.p-list-referenceSteps__item-1{
		:nth-child(1 of .p-decoration){
			right:calc(-51/var(--content-width)*100vw);
			bottom:calc(-58/var(--content-width)*100vw);
		}
	}

	.p-list-referenceSteps__item-2{
		:nth-child(1 of .p-decoration){
			bottom:calc(-57/var(--content-width)*100vw);
			left:calc(-87/var(--content-width)*100vw);
		}
	}

	.p-list-referenceSteps__item-3{
		:nth-child(1 of .p-decoration){
			right:calc(-73/var(--content-width)*100vw);
			bottom:calc(-55/var(--content-width)*100vw);
		}
	}

	.p-button-decoration{
		padding-left:30px;
	}

	.p-button-decoration::after{
		left:-40px;
		width:62px;
		height:82px;
		background-image:url(../img/index_button_pc@2x.png);
	}

	.p-oc-info{
		display:flex;
		height:100%;
		flex-wrap:wrap;
	}

	.p-oc-info__head{
		width:100%;
		height:fit-content;
		margin-top:0;
	}

	.p-oc-info__title{
		line-height:140%;
		text-align:center;
	}

	.p-oc-info__body{
		display:flex;
		width:100%;
		flex-wrap:wrap;
		align-items:end;
	}

	.p-oc-info__image{
		width:100%;
	}

	.p-oc-info__body.of-hidden{
		overflow:visible;
	}

	.p-merit-card{
		display:block;
		height:130px;
		padding-top:16px;
		border-radius:10px;
		background-color:rgba(196, 27, 31, 0.1);
		text-align:center;
	}

	.p-merit-card.of-decoration::after{
		top:auto;
		right:-41px;
		bottom:-5px;
		width:96px;
		height:77px;
		background-image:url(../img/index_decoration_08_pc@2x.png);
	}

	.p-merit-card__number{
		justify-content:center;
		text-align:center;
	}

	.p-merit-card__text{
		padding-top:4px;
		font-size:1.8rem;
	}

	.p-merit-card__note{
		font-size:1.4rem;
	}

	.p-voice__title{
		padding:14px 0;
		margin-top:32px;
		font-size:1.8rem;
	}

	.p-sp-block{
		display:grid !important;
	}
	.p-carousel-lowerGrades{
		margin-block:50px;
	}

	.p-carousel-lowerGrades__text{
		font-size:1.4rem;
	}
}
