.sec_pickup {
	background: url(../images/top/pickup_bg.jpg) left top / cover;
	padding: 100px 0 0;
	overflow: hidden;
	position: relative;
	z-index: 10;
}

.pickup_block01 {
	display: flex;
	gap: 48px;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}

.pickup_block01_head {
	width: 642px;
	padding-left: 33px;
}

.pickup_block01_img {
	flex: 1;
	box-shadow: 3px 4px 20px 0px rgba(0, 0, 0, 0.1);
}

.pickup_block01_catch {
	font-size: 2.3rem;
	letter-spacing: 0.05em;
	line-height: calc(34/17);
	font-weight: 500;
	margin-right: -1em;
}

.pickup_block01_catch+.pickup_block01_catch {
	margin-top: 18px;
}

.pickup_block01_catch strong {
	font-size: 2.6rem;
	color: #55A1A8;
	font-weight: 600;
	padding: 0 0 0 0.3em;
	letter-spacing: 0.08em;
	margin-right: 0.2em;
	position: relative;
	isolation: isolate;
	--per: 56%;
	background: linear-gradient(transparent var(--per), rgba(224, 224, 224, 0.53) var(--per));
	padding-bottom: 0.2em;
}

.pickup_block01_catch strong:before {
	content: '';
	display: block;
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 18px;
	z-index: -1;
	/* background: rgba(224, 224, 224, 0.53); */
}

.pickup_block01_catch:nth-of-type(2) strong {
	color: #A08746;
	font-weight: 500;
}

.pickup_block01_catch:nth-of-type(2) strong span {
	color: #585858;
}

.pickup_block01_tags {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
	padding-left: 5px;
	max-width: 610px;
	margin-top: 56px;
}

.pickup_block01_tag {
	background: linear-gradient(90.49deg, #F4EFE2 2.83%, #FBF6EA 57.14%, #D9D3C4 98.11%);
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.1);
}

.pickup_block01_tag span {
	position: relative;
	padding: 10px 16px;
	color: #503F13;
	line-height: calc(34/16);
	font-weight: 600;
	letter-spacing: 0.1em;
	font-size: 1.6rem;
}

.pickup_block01_tag span:before,
.pickup_block01_tag span:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	width: 7px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	z-index: 1;
	transform: translateY(-50%);
	background: #503F13;
}

.pickup_block01_tag span:before {
	left: 0;
}

.pickup_block01_tag span:after {
	right: 0;
}

.pickup_block02 {
	display: flex;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	isolation: isolate;
	margin-top: 58px;
	z-index: 11;
	--over-margin: min(calc((-1 * 1vw * 100 + 1280px) / 2), 0px);
}

.pickup_block02:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -95px;
	width: calc(100% + 95px - var(--over-margin));
	height: 100%;
	z-index: -1;
	border-top: 2.5px solid #D6D2CA;
	border-left: 2.5px solid #D6D2CA;
	border-radius: 100px 0 0 0;
}

.pickup_block02_head {
	padding: 49px 0 65px 54px;
	width: 894px;
}

.pickup_block02_check {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 696px;
}

.pickup_block02_check li {
	filter: drop-shadow(0px 4px 10px rgba(65, 65, 65, 0.1));
	background: #fff;
	border-radius: 0 30px 0 30px;
	position: relative;
	padding: 54px 0 25px 0.25em;
	font-size: 2.1rem;
	letter-spacing: 0.05em;
	line-height: calc(25/21);
	text-align: center;
}

.pickup_block02_check li:before {
	content: '';
	display: block;
	position: absolute;
	top: 14.5px;
	left: 50%;
	width: 3.1rem;
	aspect-ratio: 1/1;
	z-index: 1;
	transform: translateX(-50%);
	background: url(../images/top/icon_check03.svg) center / 100% no-repeat;
}

.pickup_block02_check li span {
	color: #55A1A8;
}

.pickup_block02_txt {
	padding-left: 10px;
	margin-top: 35px;
}

.pickup_block02_txt p {
	font-size: 1.5rem;
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
	letter-spacing: 0.1em;
	line-height: 2;
}

.pickup_block02_txt p+p {
	margin-top: 10px;
}

.pickup_block02_txt p strong {
	font-size: 1.6rem;
	font-weight: 500;
	color: #A08746;
}

.pickup_block02_img {
	position: absolute;
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
	top: -82px;
	left: calc(50% + 310px);
	width: 364px;
}

.sec_certificate {
	background: linear-gradient(90.49deg, #F4EFE2 2.83%, #FBF6EA 57.14%, #D9D3C4 98.11%);
	padding: 80px 0 75px;
}

.certificate_block {
	display: flex;
	gap: 14px;
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1550px;
	justify-content: space-between;
	align-items: center;
}

.certificate_item_col {
	display: flex;
	gap: 14px;
}

.certificate_item_col04 {
	display: flex;
	gap: 14px;
}

.certificate_item {
	max-width: 270px;
}

.certificate_item02 {
	max-width: 224px;
}

.certificate_modal_container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	padding: 120px 22px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 100;
	display: none;
	justify-content: center;
}

.certificate_modal_container:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

.certificate_modal_container.active {
	opacity: 1;
	visibility: visible;
}


.certificate_modal_body {
	position: relative;
	max-width: 500px;
	width: fit-content;
	pointer-events: none;
}

.certificate_modal_btn {
	position: fixed;
	top: 15px;
	right: 15px;
	width: 33px;
	aspect-ratio: 1/1;
	cursor: pointer;
	display: flex;
	pointer-events: auto;
}

.certificate_modal_item {
	display: none;
	pointer-events: auto;
}

.certificate_modal_item02 {
	max-width: calc(100% - 80px);
	margin: 0 auto;
}

/*++++++++++++++++++++++++++++
sec01
++++++++++++++++++++++++++++*/
.sec01_conts {
    width: 1010px;
}

@media screen and (min-width: 769px) {
	.sp_only {
		display: none !important;
	}

	.main_txt_box .point_box_wrap {
		padding-left: 95px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
	.certificate_block {
		justify-content: center;
		flex-wrap: wrap;
	}
}

@media screen and (max-width: 768px) {
	.sp_none {
		display: none !important;
	}

	.swiper_id,
	.swiper_id .swiper-wrapper {
		min-height: calc(630px + 41vw);
	}

	.point_box .tit {
		left: 50%;
		transform: translateX(-50%);
		top: -70px;
	}

	.point_box {
		gap: 10px 12px;
	}

	.main_txt_box .point_box_wrap {
		margin: 110px auto 0;
	}

	.point_box {
		flex-wrap: wrap;
		flex-direction: row;
	}

	.point_box .item:nth-child(2) {
		order: 1;
	}

	.point_box .item:nth-child(3) {
		order: 2;
	}

	.point_box .item:nth-child(4) {
		order: 3;
	}

	.point_box .item:nth-child(5) {
		order: 4;
	}

	.certificate_modal_container {
		display: grid;
	}

	.certificate_item {
		cursor: pointer;
	}

	html:has(.certificate_modal_container.active) .header_wrap {
		visibility: hidden;
		opacity: 0;
	}

	.sec_pickup {
		background: url(../images/top/pickup_bg_sp.jpg) center / cover no-repeat;
		padding: 43px 0 0;
	}

	.pickup_block01 {
		display: block;
		padding: 0 25px;
	}

	.pickup_block01_head {
		width: 100%;
		padding-left: 0;
	}

	.pickup_block01_img {
		margin-right: -25px;
		margin-top: 39px;
		margin-left: 5px;
	}

	.pickup_block01_catch {
		font-size: 1.7rem;
		letter-spacing: 0.05em;
		line-height: calc(34/17);
		margin-right: 0;
	}

	.pickup_block01_catch+.pickup_block01_catch {
		margin-top: 15px;
	}

	.pickup_block01_catch strong {
		font-size: 1.9rem;
		padding: 0 0 0.25em 0.3em;
		letter-spacing: 0.08em;
		margin-right: 0.2em;
		--per: 54%;
	}

	.pickup_block01_catch:nth-of-type(2) strong span {
		color: #585858;
	}

	.pickup_block01_tags {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
		padding-left: 5px;
		max-width: 610px;
		margin-top: 30px;
	}

	.pickup_block01_tag {
		padding: 0 12px;

	}

	.pickup_block01_tag span {
		padding: 5px 13px;
		font-size: 1.4rem;
	}

	.pickup_block01_tag span:before,
	.pickup_block01_tag span:after {
		width: 6px;
	}

	.pickup_block02 {
		display: block;
		margin-top: 32px;	}

	.pickup_block02:before {
		left: 10px;
		width: 100%;
		border-radius: 55px 0 0 0;
	}

	.pickup_block02_head {
		padding: 35px 22px 0 32px;
		width: 100%;
	}

	.pickup_block02_check {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 15px;
		max-width: 696px;
		padding: 0 5px;
	}

	.pickup_block02_check li {
		border-radius: 0 15px 0 15px;
		padding: 8px 0 8px 43px;
		font-size: 1.7rem;
		line-height: calc(34/17);
		text-align: left;
		letter-spacing: 0.01em;
	}

	.pickup_block02_check li:before {
		top: 50%;
		left: 12px;
		width: 2.3rem;
		aspect-ratio: 1/1;
		transform: translateY(-50%);
	}

	.pickup_block02_check li span {
		color: #55A1A8;
	}

	.pickup_block02_txt {
		padding-left: 0;
		margin-top: 25px;
	}

	.pickup_block02_txt p {
		font-size: 1.5rem;
		font-family: YakuHanJP, "Noto Sans JP", sans-serif;
		letter-spacing: 0.1em;
		line-height: 2;
	}

	.pickup_block02_txt p+p {
		margin-top: 8px;
	}

	.pickup_block02_txt p strong {
		font-size: 1.6rem;
		font-weight: 500;
		color: #A08746;
	}

	.pickup_block02_img {
		position: relative;
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
		top: 0;
		left: 0;
		width: calc(100% - 100px);
		margin-left: 100px;
		margin-top: 23px;
	}

	.sec_certificate {
		padding: 42px 0 40px;
	}

	.sec_certificate_ttl {
		width: fit-content;
		background: #fff;
		padding: 5px 18px;
		border-radius: 3px;
		margin: 0 auto;
		font-weight: 500;
		letter-spacing: 0.1em;
	}

	.sec_certificate_ttl span {
		margin-left: 10px;
		font-size: 1.4rem;
	}

	.certificate_block {
		display: block;
		margin: 0 auto;
		padding: 0 15px;
		margin-top: 24px;
	}

	.certificate_item_col {
		display: grid;
		gap: 15px;
		grid-template-columns: repeat(2,1fr);
	}

	.certificate_item_col04 {
	display: grid;
		gap: 15px;
		grid-template-columns: repeat(2,1fr);
		margin-top: 15px;
	}

	.certificate_item {
		max-width: none;
	}

	.certificate_item02 {
		max-width: none;
	}

	.sec01_conts {
		justify-content: space-between;
		margin: 40px auto 0;
		max-width: 310px;
	}

	.sec01_conts .item:last-child .txt {
		padding: 0;
	}
}