@charset "UTF-8";

body {
	overflow-x: visible;
	overflow-y: visible;
}
a:hover {
	text-decoration: underline;
}

.sus-sub:hover {
	display:block;
}

section {
	padding-bottom: 80px;
}
section.nopb {
	padding-bottom: 0;
}

/* clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.show_pc {
	display: block;
}
.show_sp {
	display: none;
}

#container {
	padding-bottom: 0;
}
#container .contents {
	padding: 0;
	width: auto;
}
#container .contents > section {
	margin-bottom: 0;
}
main {
	padding-top: 120px;
	padding-bottom: 0 !important;
}

.gray {
	background-color: #F0F0F0;
}

.main_wrap {
	margin: 0 auto;
	padding: 0 15px;
	max-width: 1054px;
}
.contents_wrap {
	margin: 0 auto;
	padding: 0 15px;
	max-width: 1054px;
}
.contents_wrap2 {
	margin: 0 auto;
	padding: 0 15px;
	max-width: 890px;
}

#main_image {
	position: relative;
	width: 100%;
	height: 190px;
}
	#main_image .mainTtl {
		position: absolute;
		display: grid;
		place-content: center;
		text-align: center;
		width: 100%;
		height: 100%;
		color: #FFFFFF;
	}
		#main_image .mainTtl .jp {
			font-size: 50px;
			line-height: 2.0em;
			font-weight: bold;
		}
		#main_image .mainTtl .en {
			font-size: 32px;
			font-weight: bold;
		}
	#main_image .bgimage {
		height: 100%;
		text-align: center;
	}
		#main_image .bgimage img {
			object-fit: cover;
			width: 100%;
			height: 100%;
		}

.catelink_area {
	padding: 40px 0 50px;
}
	.mainTxt {
		font-size: 1.6rem;
		line-height: 1.8em;
		font-weight: normal;
	}
	.p-top-fv__buttons {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px 25px;
		margin-top: 25px;
	}
	@media screen and (min-width: 980px) {
		.p-top-fv__buttons {
			grid-row: 3;
			grid-column: 1;
		}
	}
	@media screen and (max-width: 979px) {
		.p-top-fv__buttons {
			display: block;
			margin-top: 50px;
		}
	}
		.p-top-fv__buttons-item {
			border-left: 1px solid #000000;
		}
		.p-top-fv__buttons-item:first-child {
			border-left: none;
		}
		@media screen and (max-width: 979px) {
			.p-top-fv__buttons-item {
				margin-inline: auto;
				width: auto;
				border-left: none;
				border-top: 1px solid #000000;
			}
			.p-top-fv__buttons-item:first-child {
				border-top: none;
			}
		}
			.p-top-fv__buttons-link {
				font-size: 1.6rem;
				line-height: 1.5;
				font-weight: 500;
				color: var(--_text-color);
				text-align: center;
				text-decoration: none;
				display: grid;
				align-items: center;
				position: relative;
				z-index: 1;
				padding: 3px 40px 0 15px;
				width: 100%;
				height: 60px;
				overflow: hidden;
				font-weight: bold;
				font-size: 1.8rem;
				transition: color 0.3s;
			}
			a.p-top-fv__buttons-link:hover {
				opacity: 1.0;
			}
		@media (any-hover: hover) {
			.p-top-fv__buttons-link:hover::after {
				transform: translateY(3px);
			}
		}
		@media screen and (max-width: 979px) {
			.p-top-fv__buttons-link {
				padding: 3px 40px 0 0;
				font-size: 1.5rem;
				line-height: 1.4666666667;
				text-align: left;
			}
		}
		.p-top-fv__buttons-link::before {
			content: "";
			position: absolute;
			top: 0;
			left: -100%;
			z-index: -1;
			width: 200%;
			height: 100%;
			transition: left 0.3s;
		}
		.p-top-fv__buttons-link::after {
			content: "";
			position: absolute;
			top: 3px;
			right: 40px;
			width: 15px;
			height: calc(100% - 2px);
		}
		.p-top-fv__buttons-link--red {
		  --_hover-text-color: #da1100;
		}
		.p-top-fv__buttons-link--red::before {
		  background: linear-gradient(to right, #fff 0%, #fff 50%, #da1100 50%, #961100 100%);
		}
		.p-top-fv__buttons-link::after {
			background: url('../images/contact/contact_btn_arrow_down.png') center/contain no-repeat;
			transition: transform 0.3s ease;
	}
		}
		.p-top-fv__buttons-link--black {
		  border: 1px solid #fff;
		}
		.p-top-fv__buttons-link--black::before {
		  background: linear-gradient(to right, #fff 0%, #fff 50%, #000 50%, #000 100%);
		}
		.p-top-fv__buttons-link--black::after {
		  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><g transform="translate(-320 -441)"><circle cx="9" cy="9" r="9" transform="translate(320 441)" fill="white"/><path d="M12.885,17.676l3.9-3.923-3.9-3.923,1.2-1.205L19.2,13.753l-5.111,5.128Z" transform="translate(313.959 436.247)" fill="%23000"/></g></svg>') center/contain no-repeat;
		}

.btnlink_area {
	padding: 50px 0 0;
}
	.contactContainer {
		padding-bottom: 90px;
	}
	.contactContainer.pt10 {
		padding: 10px 0;
	}
		h3.contactTtl {
			padding-bottom: 25px;
			font-weight: bold;
			font-size: 3.2rem;
			border-bottom: 1px solid #000000;
		}
		.contactP {
			margin-top: 40px;
			font-size: 1.8rem;
		}
		h4.contactsubTtl {
			margin-top: 45px;
			padding-left: 18px;
			border-left: 10px solid #000000;
			font-size: 2.6rem;
		}
		.contactProduct {
			display: flex;
			flex-wrap: wrap;
			gap: 30px 30px;
			margin-top: 45px;
		}
			.contactProduct a {
				text-decoration: none;
			}
			.contactProduct .aboutBox {
			}
				.contactProduct .aboutBox-inner {
					width: 320px;
					border-radius: 10px;
					overflow: hidden;
				}
					.contactProduct .aboutImg {
						width: 100%;
						height: 182px;
						overflow: hidden;
						background-color: #FFFFFF;
					}
						.contactProduct .aboutImg img {
							transition:1s all;
						}
						.contactProduct .aboutImg img:hover{
							transform:scale(1.1,1.1);
							transition:1s all;
						}
					.contactProduct .aboutTxt {
						display: grid;
						align-items: center;
						position: relative;
						height: 95px;
						padding: 0 50px 0 15px;
						flex-grow:1; 
						background-color: #FFFFFF;
						font-size: 2.0rem;
						line-height: 1.4em;
					}
						.contactProduct .aboutTxt a {
							text-decoration: none;
							line-height: 1.4em;
						}
						.contactProduct .aboutTxt span.contactCompany {
							font-size: 1.5rem;
						}
						.contactProduct .aboutTxt span.contact_link_arrow {
							position: absolute;
							top: 33px;
							right: 20px;
						}

.p-support-emergency-contact__block {
	margin-top: 30px;
	border-radius: 10px;
	border: 1px solid #000;
}
@media screen and (max-width: 979px) {
	.p-support-emergency-contact__block {
		margin-top: 40px;
	}
}
	.p-support-emergency-contact__block-inner {
		padding-block: 45px;
		border-radius: 15px;
		background: #fff;
	}
	@media screen and (max-width: 979px) {
		.p-support-emergency-contact__block-inner {
			padding: 40px 15px 50px;
		}
	}
		.p-support-emergency-contact__title {
			font-size: 3rem;
			line-height: 1.5;
			font-weight: 700;
			text-align: center;
		}
		@media screen and (max-width: 979px) {
			.p-support-emergency-contact__title {
				font-size: 2.2rem;
				line-height: 1.5;
			}
		}
		.p-support-emergency-contact__tel {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			gap: 18px;
			margin: 19px auto 0;
			width: calc(100% - 30px);
			max-width: 1050px;
		}
		@media screen and (max-width: 979px) {
			.p-support-emergency-contact__tel {
				justify-content: center;
				gap: 39px;
				margin-top: 38px;
				width: 100%;
				max-width: 240px;
			}
		}
			@media screen and (min-width: 980px) {
				.p-support-emergency-contact__tel-item {
					display: grid;
					align-items: center;
					grid-template-columns: 250px auto;
					column-gap: 12px;
				}
			}
			@media screen and (max-width: 979px) {
				.p-support-emergency-contact__tel-item {
					width: 100%;
				}
			}
				.p-support-emergency-contact__tel-theme {
					font-size: 2rem;
					line-height: 1.45;
					font-weight: 500;
					color: #fff;
					text-align: center;
					padding-block: 4px 3px;
					border-radius: 5px;
					background: #000;
				}
				@media screen and (max-width: 979px) {
					.p-support-emergency-contact__tel-theme {
						font-size: 1.8rem;
						line-height: 1.5;
						padding-block: 5px 4px;
					}
				}
					.p-support-emergency-contact__tel-des-link {
						font-size: 3rem;
						line-height: 1.5;
						font-weight: 700;
						color: #215FE4;
						text-decoration: none;
						display: block;
						position: relative;
						padding-left: 25px;
					}
					@media screen and (max-width: 979px) {
						.p-support-emergency-contact__tel-des-link {
							padding-left: 30px;
						}
					}
					.p-support-emergency-contact__tel-des-link::before {
						content: "";
						position: absolute;
						top: 0;
						left: 0;
						width: 18px;
						height: 100%;
						background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00357 6.93142L7.36972 5.94675C7.78071 5.65052 7.60336 4.86521 7.30822 4.46253L4.18182 0.196913C3.8831 -0.210656 3.70631 0.0949038 3.29696 0.38995L1.93082 1.37462L6.00357 6.93142ZM11.9278 15.0143L13.2939 14.0297C13.7049 13.7334 14.309 14.0143 14.6054 14.4186L17.7312 18.6834C18.0251 19.0845 18.1465 19.7968 17.7371 20.0918L16.371 21.0765L11.9278 15.0143ZM7.16224 12.2727C4.29317 8.38222 4.92759 7.70695 5.35091 7.40183L5.4964 7.29697L1.42485 1.7418L1.25059 1.8674C0.497644 2.4101 -2.26651 6.27103 4.0562 14.8976C10.3789 23.5242 14.9372 22.1112 15.6877 21.5703L15.8619 21.4447L11.4182 15.3817L11.2727 15.4865C10.8518 15.7899 10.0293 16.1622 7.16224 12.2727Z" fill="black"/></svg>') center/contain no-repeat;
					}
					@media screen and (max-width: 979px) {
						.p-support-emergency-contact__tel-des-link::before {
							left: 5px;
						}
					}
		.p-support-emergency-contact__other {
			margin: 22px auto 0;
			width: calc(100% - 30px);
			max-width: 1050px;
		}
		@media screen and (min-width: 980px) {
			.p-support-emergency-contact__other {
				display: flex;
				flex-wrap: wrap;
				gap: 10px 49px;
			}
		}
		@media screen and (max-width: 979px) {
			.p-support-emergency-contact__other {
				margin-top: 32px;
				width: fit-content;
			}
		}
			@media screen and (min-width: 980px) {
				.p-support-emergency-contact__other-item {
					display: grid;
					grid-template-columns: auto 1fr;
				}
			}
			@media screen and (max-width: 979px) {
				.p-support-emergency-contact__other-item {
					display: flex;
					flex-wrap: wrap;
				}
				.p-support-emergency-contact__other-item:nth-child(n+2) {
					margin-top: 4px;
				}
			}
				.p-support-emergency-contact__other-theme, .p-support-emergency-contact__other-des {
					font-size: 1.8rem;
					line-height: 1.5;
				}
					.p-support-emergency-contact__other-des-link {
						font: inherit;
						text-decoration: none;
					}
		.p-support-emergency-contact__time {
			margin: 37px auto 0;
			padding: 15px 13px;
			border: 1px solid #000;
			border-radius: 10px;
		}
		@media screen and (min-width: 980px) {
			.p-support-emergency-contact__time {
				display: flex;
				align-items: center;
				column-gap: 46px;
				width: calc(100% - 30px);
				max-width: 1050px;
			}
		}
		@media screen and (max-width: 979px) {
			.p-support-emergency-contact__time {
				margin-top: 39px;
				padding: 24px 17px 24px 22px;
			}
		}
			.p-support-emergency-contact__time-dl {
				display: flex;
				align-items: center;
				flex-shrink: 0;
				gap: 10px 30px;
			}
			@media screen and (max-width: 979px) {
				.p-support-emergency-contact__time-dl {
					flex-wrap: wrap;
				}
			}
				.p-support-emergency-contact__time-dl-item {
					display: flex;
					align-items: center;
					gap: 4px 8px;
				}
				@media screen and (max-width: 979px) {
					.p-support-emergency-contact__time-dl-item {
						flex-wrap: wrap;
					}
				}
					.p-support-emergency-contact__time-dl-theme, .p-support-emergency-contact__time-dl-des {
						font-size: 1.5rem;
						line-height: 1.4666666667;
					}
					.p-support-emergency-contact__time-dl-theme {
						padding: 6px 10px 4px;
						border-radius: 5px;
						background: #ddd;
					}
					@media screen and (min-width: 980px) {
						.p-support-emergency-contact__time-dl-theme:nth-of-type(n+2) {
							margin-left: 30px;
						}
					}
					.p-support-emergency-contact__time-dl-theme.is-adjustment {
						padding-right: 2px;
					}
					.p-support-emergency-contact__time-dl-des {
						padding-top: 2px;
					}
			@media screen and (max-width: 979px) {
				.p-support-emergency-contact__time-notes {
					margin-top: 22px;
				}
			}
				.p-support-emergency-contact__time-notes-text {
					font-size: 1.3rem;
					line-height: 1.4615384615;
					position: relative;
					padding-left: 1em;
				}
				@media screen and (max-width: 979px) {
					.p-support-emergency-contact__time-notes-text {
						font-size: 1.3rem;
						line-height: 1.5384615385;
					}
				}
				.p-support-emergency-contact__time-notes-text:nth-of-type(n+2) {
					margin-top: 3px;
				}
				@media screen and (max-width: 979px) {
					.p-support-emergency-contact__time-notes-text:nth-of-type(n+2) {
						margin-top: 5px;
					}
				}
				.p-support-emergency-contact__time-notes-text::before {
					content: "※";
					position: absolute;
					top: 0;
					left: 0;
				}

.aboutLongBox {
	max-width: 660px;
	height: 280px;
	border-radius: 10px;
	overflow: hidden;
	background-color: #FFFFFF;
	box-shadow: 10px 10px 10px gray;
}
	.aboutTtl {
		display: grid;
		grid-template-columns: auto auto;
		gap: 0 5px;
		padding: 10px;
		background-color: #000000;
		color: #FFFFFF;
		font-size: 20px;
		font-weight: bold;
	}
		.aboutTtl img {
			margin-right: 10px;
		}
		.aboutTtl div:nth-child(2) {
			font-size: 14px;
		}
	.aboutTelBox {
		padding: 10px 20px;
	}
		.aboutTb {
			display: table;
			width: 100%;
		}
			.aboutTel {
				padding: 10px;
				display: table-cell;
				width: 50%;
				text-align: center;
				font-size: 34px;
				vertical-align: top;
			}
			.aboutTel.tl {
				border-right: 1px solid #C0C0C0;
				border-bottom: 1px solid #C0C0C0;
			}
			.aboutTel.tr {
				border-bottom: 1px solid #C0C0C0;
			}
			.aboutTel.bl {
				padding-top: 20px;
				border-right: 1px solid #C0C0C0;
			}
			.aboutTel.br {
				padding-top: 20px;
			}
				.graybg {
					margin: 0 auto;
					padding: 5px 0;
					background-color: #D4D4D4;
					border-radius: 20px;
					width: 250px;
					font-size: 18px;
				}

.redTxt {
	color: #D20000;
}

.Ttl_contents03 {
	margin-top: 40px;
	font-size: 34px;
	font-weight: bold;
	text-align: center;
}
.SubTtl_contents03 {
	margin: 40px 0;
	padding: 15px 15px;
	background-color: #000000;
	border-radius: 20px;
	font-size: 20px;
	color: #FFFFFF;
	text-align: center;
	font-weight: bold;
}
.Cont_contents03 {
	display: table;
}
	.Cont_contents03-l {
		display: table-cell;
		width: 30%;
		padding-right: 60px;
		vertical-align: top;
	}
		.Cont_contents03-l p {
			padding: 5px 0 5px 10px;
			width: 320px;
			margin-bottom: 10px;
			background-color: #D4D4D4;
			font-weight: bold;
			font-size: 20px;
		}
	.Cont_contents03-r {
		display: table-cell;
		width: 70%;
		vertical-align: top;
	}
		.Cont_contents03-r p {
			margin-bottom: 8px;
			text-align: center;
			font-size: 20px;
		}
		.Cont_contents03-r img{
			width: 500px;
		}

.Ttl_contents04 {
	padding: 40px 0;
	font-size: 32px;
	text-align: center;
	font-weight: bold;
}
.Cont_contents04 p {
	margin-bottom: 18px;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 18px;
}

@media screen and (max-width: 1050px) {
	.contactProduct {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 979px) {

	section {
		padding-bottom: 50px;
	}

	.show_pc {
		display: none;
	}
	.show_sp {
		display: block;
	}

	main {
		padding-top: 0;
		min-width: auto;
	}

	.main_wrap {
	}

		#main_image .mainTtl {
		}
			#main_image .mainTtl .jp {
				font-size: 2.4rem;
			}
			#main_image .mainTtl .en {
				font-size: 2.0rem;
			}

	.mainTxt {
		font-size: 1.4rem;
	}

	.contactContainer {
		margin-bottom: 60px;
	}

		h3.contactTtl {
			margin: 0 0 30px;
			font-size: 2.4rem;
		}
		h4.contactsubTtl {
			margin-top: 45px;
			padding-left: 10px;
			border-left: 5px solid #000000;
			font-size: 1.8rem;
		}

	.contactAbout {
		display: block;
	}
		.contactAboutLeft {
			display: block;
			width: calc((100% - 30px) / 2);
			padding-right: 0;
		}
		.contactAboutRight {
			display: block;
			margin-top: 30px;
			width: auto;
		}

			.contactProduct .aboutBox-inner {
				max-width: 320px;
			}
				.contactProduct .aboutTxt {
					padding: 0 30px 0 10px;
					font-size: 1.4rem;
					line-height: 1.4em;
				}
					.contactProduct .aboutTxt span.contactCompany {
						font-size: 1.2rem;
					}
					.contactProduct .aboutTxt span.contact_link_arrow {
						right: 10px;
					}

	.aboutLongBox {
		height: auto;
	}
		.aboutTtl {
			display: block;
			font-size: 20px;
		}
			.aboutTtl img {
				width: 18px;
			}
			.aboutTtl div:nth-child(2) {
				margin-top: 5px;
			}
		.aboutTelBox {
			padding: 0;
		}
			.aboutTel {
				padding: 10px;
				font-size: 16px;
			}
				.graybg {
					margin-bottom: 5px;
					padding: 3px 0;
					border-radius: 20px;
					width: auto;
					font-size: 14px;
				}

	.Ttl_contents03 {
		margin-top: 30px;
		font-size: 20px;
	}
	.SubTtl_contents03 {
		margin: 30px 0;
		font-size: 16px;
	}
	.Cont_contents03 {
		display: block;
	}
		.Cont_contents03-l {
			display: block;
			width: auto;
			padding-right: 0;
		}
			.Cont_contents03-l p {
				width: 100%;
			}
		.Cont_contents03-r {
			display: block;
			margin-top: 30px;
			width: auto;
		}
			.Cont_contents03-r img {
				width: 100%;
			}

	.Ttl_contents04 {
		padding: 30px 0;
		font-size: 18px;
	}
	.Cont_contents04 p {
		font-size: 14px;
	}

}

@media screen and (max-width: 720px) {
	.contactProduct {
		gap: 15px 15px;
	}
		.contactProduct .aboutBox {
			width: calc((100% - 15px) / 2);
			height: auto;
		}
			.contactProduct .aboutBox-inner {
				width: 100%;
				max-width: auto;
			}
				.contactProduct .aboutImg {
					height: auto;
					aspect-ratio: 750 / 427;
				}
}
