@charset "UTF-8";

.p-contactList {
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}

.p-contactList > li {
	display: block;
	border-bottom: 1px solid #ddd;
}

.p-contactGroup {
	opacity: 1;
	transition: opacity .3s;
}

.p-contactGroup:has(.p-contactGroup_btn_inner:hover){
	opacity: .7;
}

.p-contactGroup_inner {
	position: relative;
	display: flex;
	align-items: center;
	padding: 30px 40px;
}

.p-contactGroup_text {
	flex-grow: 1 ;
	width: 100%;
}

.p-contactGroup_inner .t-subTitle {
	font-size: 1.8rem;
	line-height: 1.6;
	text-indent: -24px;
	margin-left: 24px;
}

.p-contactGroup_btn {
	width: 100%;
	max-width: 140px;
}

.p-contactGroup_btn_inner {
	display: block;
	box-shadow: 8px 8px 8px -6px #d7d7d7;
}

.p-contactGroup_btn_inner::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 8;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
}

.p-contactGroup_btn_inner span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	text-align: center;
	background: linear-gradient(to right, rgba(159, 209, 135, 0.9) 0%, rgba(109, 187, 90, 0.9) 100%);
	clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
	box-shadow: 8px 8px 8px -6px #d7d7d7;
	color: transparent;
	font-size: 0;
	pointer-events: none;
}

.p-contactGroup_btn_inner span:hover {
	cursor: pointer;
}

.p-contactGroup_btn_inner span::before {
	content: "";
	width: 10px;
	height: 10px;
	border: solid #fff;
	border-width: 3px 3px 0 0;
	transform: rotate(45deg);
}


@media only screen and (max-width: 768px) {
	.p-contactGroup_inner {
		flex-direction: column;
		align-items: flex-end;
		gap: 25px;
		padding: 40px 20px 20px;
	}

	.p-contactGroup_inner .t-subTitle {
		font-size: 1.6rem;
		line-height: 1.375;
	}

	.p-contactGroup_btn {
		max-width: 120px;
	}

	.p-contactGroup_btn_inner span {
		height: 35px;
	}

	.p-contactGroup_btn_inner::after {
		display: none;
	}
}


body:has(.p-dialog).is-setFixed {
	position: fixed;
	width: 100%;
}

.p-dialog {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	padding: 0;
	max-height: 100%;
	max-width: none;
	border: none;
	overflow: auto;
	background: transparent;
	inset-block-start: 0px;
    inset-block-end: 0px;
	pointer-events: none;
	opacity: 0;
	transition: opacity .4s;
}

.p-dialog[open] {
	pointer-events: all;
	opacity: 1;
}

.p-dialog::backdrop {
	background: rgba(0, 0, 0, .6);
}

.p-dialog_inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin: 70px 20px 20px;
	padding: 60px;
	max-width: 660px;
	width: calc(100% - 40px);
	background: #fff;
}

.p-dialog_inner .t-subTitle {
	font-size: 1.8rem;
	line-height: 1.6;
	text-indent: -24px;
	margin-left: 24px;
}

.p-dialog_inner .list-caution {
	line-height: 1.714285714;
}

.p-dialog_inner .list-caution li + li {
	margin-top: 12px;
}

.p-dialog_inner .list-caution a {
	text-decoration: underline;
}

.p-dialog_inner .list-caution a:hover {
	text-decoration: none;
}

.p-dialog_inner .c-btnMore {
	width: max-content;
	opacity: 1;
	transition: opacity .3s;
}

.p-dialog_inner .c-btnMore:hover {
	opacity: .7;
}

.p-dialog_inner .c-btnMore span {
	padding-left: 45px;
	padding-right: 55px;
}

.p-dialog_close {
	position: absolute;
	top: -50px;
	right: 0;
	width: 30px;
	height: 30px;
	transition: opacity .3s;
	cursor: pointer;
}

.p-dialog_close:hover {
	opacity: .7;
}

.p-dialog_close::before,
.p-dialog_close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	width: 43px;
	height: 0;
	border-top: 3px solid #fff;
	transform-origin: center;
	transform: translate(-50%, -50%);
	opacity: 1;
}

.p-dialog_close::before {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.p-dialog_close::after {
	transform: translate(-50%, -50%) rotate(45deg);
}

.p-dialog_close span {
	color: transparent;
	font-size: 0;
	pointer-events: none;
}


@media only screen and (max-width: 768px) {
	.p-dialog_inner {
		gap: 24px;
		padding: 40px 20px;
	}

	.p-dialog_inner .t-subTitle {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.p-dialog_inner .list-caution {
		line-height: 1.666666667;
	}

	.p-dialog_inner .list-caution li + li {
		margin-top: 8px;
	}

	.p-dialog_inner .c-btnMore {
		width: 100%;
		max-width: 295px;
		margin-inline: auto;
	}

	.p-dialog_inner .c-btnMore:hover {
		opacity: .7;
	}

	.p-dialog_inner .c-btnMore a {
		height: auto;
	}

	.p-dialog_inner .c-btnMore span {
		padding: 12px 0;
	}
}
