/*PC*/

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0px;
	padding: 0px;
}

ul {
	list-style-type: none;
}

h2 {
	font-size: 32px;
	margin-bottom: 50px;
	text-align: center;
}

@media all {
	.link_rakuten {
		text-align: center;
		width: fit-content;
		margin: 0 auto 50px;
		p {
			line-height: 1.4 !important;
			position: relative;
			font-size: 20px;
			margin-bottom: 30px !important;
			span {
				font-size: 40px;
				span {
					font-size: 20px;
				}
			}
			&::before {
				content: "";
				width: 2px;
				height: 25px;
				background-color: black;
				transform: rotate(-20deg);
				display: block;
				position: absolute;
				left: 35px;
				top: 22px;
			}
			&::after {
				content: "";
				width: 2px;
				height: 25px;
				background-color: black;
				transform: rotate(20deg);
				display: block;
				position: absolute;
				right: 35px;
				top: 22px;
			}
		}
		& a {
			font-size: 26px;
			color: white;
			background-color: #6e408b;
			padding: 15px 90px;
			position: relative;
			text-decoration: none;
			i {
				position: absolute;
				right: 15px;
				top: 15px;
			}
		}
	}

	.link_tel {
		text-align: center;
		margin-bottom: 50px;
		p {
			font-size: 20px;
		}
		& a {
			font-size: 36px;
			color: #6e408b;
			text-decoration: none;
		}
	}

	.youtube {
		aspect-ratio: 16/9;
		max-width: 800px;
		width: 100%;
		margin: 0px auto 60px;
	}

	.point {
		max-width: fit-content;
		margin: auto;
		background-color: #f7f7f7;
		position: relative;
		padding: 30px 70px;
		h3 {
			font-size: 28px;
			color: #f6cc1c;
			text-align: center;
			position: absolute;
			top: -25px;
			left: 50%;
			transform: translateX(-50%);
		}
		ul {
			line-height: 2;
			padding: 0;
		}
		p {
			text-align: center;
			font-size: 14px;
			margin-top: 15px;
		}
	}

	.mb {
		margin-bottom: 120px !important;
	}

	.c_red {
		color: red;
	}

	@keyframes loop-slide {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}

	#product {
		.top,
		.features,
		.recommend,
		.size,
		.function,
		.attachment {
			max-width: 1100px;
			width: 100%;
			margin: auto;
		}

		figure {
			margin: 0px;
			& img {
				width: 100%;
				height: auto;
			}
		}

		.top {
			figure {
				margin-bottom: 30px;
			}
			.wrapper_01 {
				display: flex;
				align-items: center;
				figure {
					width: 50%;
					margin-right: 30px;
				}
				div {
					width: 50%;
					h2 {
						margin-bottom: 10px;
						text-align: left;
						span {
							display: block;
							font-size: 12px;
						}
					}
					p {
						&:nth-of-type(1) {
							font-size: 14px;
							margin-bottom: 30px;
						}
						&:nth-of-type(2) {
							font-size: 16px;
						}
					}
				}
			}
			.wrapper_02 {
				display: flex;
				gap: 20px;
				margin-bottom: 80px;
				article {
					width: calc((100% - 40px) / 3);
					figure {
						margin-bottom: 15px;
					}
					p {
						text-align: center;
						font-size: 22px;
					}
				}
			}
		}

		.features {
			.wrapper_01 {
				article {
					display: flex;
					align-items: center;
					flex-wrap: wrap;
					margin-bottom: 60px;
					&:nth-child(even) {
						flex-direction: row-reverse;
						figure {
							margin: 0px 0px 0px 30px;
						}
					}
					figure {
						width: 45%;
						margin-right: 30px;
					}
					p {
						width: calc(55% - 30px);
						font-size: 22px;
						text-align: justify;
						line-height: 1.8;
					}
				}
			}
		}

		.backimage {
			aspect-ratio: 3 / 1.2;
			width: 100%;
			height: auto;
			background-attachment: fixed;
			background-image: url(../img/product/product_back.jpg);
			background-size: cover;
			background-position: center;
			background-repeat: no-repeat;
		}

		.recommend {
			figure {
				margin-bottom: 60px;
			}
			h4 {
				font-size: 40px;
				margin: 80px 0px 50px;
				text-align: center;
			}
			.wrapper_01 {
				display: flex;
				gap: 20px;
				article {
					width: calc((100% - 40px) / 3);
					background-color: #f7f7f7;
					padding: 20px;
					border-radius: 20px;
					p {
						font-size: 16px;
						text-align: justify;
						&:first-of-type {
							font-size: 20px;
							margin-bottom: 15px;
						}
					}
				}
			}
		}

		.function {
			.wrapper_01 {
				display: flex;
				gap: 20px;
				margin-bottom: 80px;
				article {
					width: calc((100% - 40px) / 3);
					p {
						position: relative;
						width: 160px;
						aspect-ratio: 1 / 1;
						text-align: center;
						display: flex;
						align-items: center;
						justify-content: center;
						margin: -80px auto 0px;
						font-size: 20px;
						border-radius: 50%;
						background-color: #6e408b;
						border: 1px solid white;
						color: white;
					}
				}
			}
		}

		.size {
			figure {
				margin-bottom: 60px;
				p {
					text-align: center !important;
					margin-top: 20px;
					span {
						display: block;
						font-size: 20px;
						margin-top: 10px;
					}
				}
			}
			.wrapper_01 {
				display: flex;
				gap: 20px;
				margin-bottom: 60px;
				article {
					width: calc((100% - 40px) / 3);
				}
			}
		}

		.attachment {
			p {
				text-align: center;
			}
			.c_red {
				font-size: 20px;
				margin-bottom: 20px;
			}
			.wrapper_01 {
				display: flex;
				flex-wrap: wrap;
				gap: 20px;
				margin-bottom: 60px;
				figure {
					width: calc((100% - 20px) / 2);
				}
				p {
					text-align: center !important;
					margin-top: 20px;
					span {
						display: block;
						font-size: 20px;
						margin-top: 10px;
					}
				}
			}
		}

		.specification {
			.wrap {
				display: flex;
				align-items: center;
				overflow: hidden;
			}

			.slideshow {
				height: 200px;
				display: flex;
				animation: loop-slide 50s infinite linear 1s both;
				margin-bottom: 50px;
				& img {
					width: 300px;
					height: 200px;
					object-fit: cover;
					flex-shrink: 0;
				}
			}

			figure {
				& img {
					margin-bottom: 10px;
				}
				.price {
					font-size: 20px;
				}
				.now {
					background-color: red;
					padding: 0px 10px;
					font-size: 15px;
					color: white;
					width: fit-content;
					margin: 20px auto 5px;
				}
				.attention {
					font-size: 13px;
					margin-top: 10px;
				}
				.c_red {
					margin-bottom: 0px;
					font-size: 24px;
				}
			}
			table {
				max-width: 800px;
				width: 100%;
				border-spacing: 0px;
				margin: 0 auto 40px;
				tr {
					&:last-of-type {
						th,
						td {
							border-bottom: 1px solid black;
						}
					}
				}
				th,
				td {
					padding: 15px;
					border-top: 1px solid black;
					font-size: 18px;
				}
				th {
					background-color: #f7f7f7;
					text-align: center;
				}
			}
			.c_red {
				margin: 0 auto 60px;
				width: fit-content;
			}
			.wrapper_01 {
				max-width: 1100px;
				width: 100%;
				gap: 50px 20px;
				display: flex;
				flex-wrap: wrap;
				margin: 0 auto 40px;
				figure {
					width: calc((100% - 60px) / 4);
				}
				p {
					text-align: center;
				}
			}
		}
	}
}

/*ipad*/
@media screen and (max-width: 1024px) {
	img {
		backface-visibility: hidden;
	}
}

/*ipadmini*/
@media screen and (max-width: 768px) {
	#product {
		.top {
			.wrapper_01 {
				margin-bottom: 30px;
				figure {
					margin: 0px 20px 0px 0px !important;
				}
				div {
					h2 {
						margin-bottom: 0px;
					}
					p {
						&:nth-of-type(1) {
							margin-bottom: 10px;
						}
						&:nth-of-type(2) {
							text-align: justify;
						}
					}
				}
			}
			.wrapper_02 {
				article {
					p {
						font-size: 18px;
					}
				}
			}
		}

		.features {
			padding: 0px 20px;
			.wrapper_01 {
				& article {
					p {
						font-size: 18px !important;
					}
				}
			}
		}

		.backimage {
			aspect-ratio: 3 / 2;
		}

		.recommend {
			.wrapper_01 {
				padding: 0px 20px;
			}
		}

		.function {
			.wrapper_01 {
				article {
					p {
						width: 140px;
						font-size: 18px;
						margin: -70px auto 0px;
					}
				}
			}
		}

		.specification {
			.wrapper_01 {
				figure {
					width: calc((100% - 30px) / 2);
				}
			}
		}
	}
}

/*スマホ*/
@media screen and (min-width: 600px) {
	/*電話番号発信スマホのみ*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

@media screen and (max-width: 599px) {
	#product {
		.point {
			padding: 30px 20px;
		}

		.top {
			.wrapper_01 {
				flex-direction: column;
				figure {
					width: 100%;
					margin: 0px 0px 30px 0px !important;
				}
				div {
					width: 100%;
				}
			}

			.wrapper_02 {
				flex-wrap: wrap;
				article {
					width: 100%;
				}
			}
		}

		.features {
			padding: 0px;
			.wrapper_01 {
				article {
					flex-direction: column;
					figure {
						width: 100%;
						margin: 0px 0px 20px 0px;
					}
					p {
						width: 100%;
					}
					&:nth-child(even) {
						figure {
							margin: 0px 0px 20px 0px;
						}
					}
				}
			}
		}

		.backimage {
			display: none;
		}

		.recommend {
			h4 {
				font-size: 30px;
				margin: 60px 0px 50px;
			}
			.wrapper_01 {
				flex-direction: column;
				article {
					width: 100%;
				}
			}
		}

		.function {
			.wrapper_01 {
				flex-direction: column;
				article {
					width: 100%;
				}
			}
		}

		.size {
			.wrapper_01 {
				gap: 10px;
				margin-bottom: 0px;
			}
		}

		.attachment {
			.wrapper_01 {
				margin-bottom: 60px;
				flex-direction: column;
				figure {
					width: 100%;
					margin-bottom: 20px;
				}
			}
		}
	}
}
