/* 共通 */
.sec-ttl {
	& .sec-ttl-en {
		display: block;
		font-family: "Marcellus", serif;
		letter-spacing: 0.2em;
		color: var(--accent);
	}
	& .sec-ttl-ja {
		display: inline-block;
		margin-bottom: 24px;
		font-family: "Noto Serif JP", serif;
		font-size: 20px;
	}
}
.me-ttl {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 8px;
	font-size: 16px;
	background: var(--accent);
	border-radius: 8px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	position: relative;
	&::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		border-style: solid;
		border-width: 10px 7.5px 0 7.5px;
		border-color: var(--accent) transparent transparent;
		translate: -50% 100%;
	}
}
.btn-wrapper {
	width: 100%;
}
.by-btn {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	width: 250px;
	margin: 0 auto;
	padding: 16px 16px 16px 80px;
	border-radius: 5px;
	background: var(--black);
	color: #fff;
	text-align: center;
	font-weight: 500;
	overflow: hidden;
	z-index: 1;
	box-shadow: 0px 3px 13px #adadad;
	position: relative;
	&::after {
		position: absolute;
		content: "\e315";
		display: inline-block;
		right: 6px;
		color: #737271;
		font-family: "Material Symbols Outlined";
		font-weight: 400;
	}
}

@media screen and (min-width: 768px) {
	.sec-ttl {
		& .sec-ttl_en {
			font-size: 20px;
		}
		& .sec-ttl-ja {
			font-size: 24px;
			margin-bottom: 40px;
		}
		& .me-ttl {
			width: 60%;
			font-size: 24px;
		}
	}
	.me-ttl {
		font-size: 21px;
		width: 60%;
		margin:  auto;
	}
}

.banner-area {
	margin-bottom: 80px;
	& ul.flex {
		flex-wrap: wrap;
		justify-content: center;
		gap: 3%;
	}
	& li.full {
		max-width: 1160px;
		margin-top: 15px;
	}
	& li.half {
		width: 48.5%;
		margin-top: 16px;
	}
	& li.rakuten-link,
	& li.yahoo-link {
		width: 100%;
		height: 80px;
		text-align: center;
		& img {
			object-fit: contain;
		}
	}
	& li.rakuten-link {
		background: #BF0000;
		border-radius: 12px;
		transition: all .3s;
		margin-bottom: 12px;
	}
	& li.rakuten-link a {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	& li.rakuten-link img {
		height: 80px;
	}
	& li.rakuten-link:hover {
		opacity: 0.7;
	}
	& li.yahoo-link img {
		width: 55%;
		margin-bottom: 12px;
	}
	& li.yahoo-link p {
		color: #33A8D0;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
}

@media screen and (min-width: 768px) {
	.banner-area {
		& li.half {
			width: calc(50% - 16px);
		}
		& li.rakuten-link,
		& li.yahoo-link {
			height: 120px;
			margin: 80px 0;
		}
		& li.rakuten-link img {
			height: 120px;
		}
		& li.yahoo-link img {
			width: 70%;
			margin-bottom: 18px;
		}
	}
}

.product-area {
	margin-top: 60px;
	& .slick-list {
		position: relative;
	}
	& .slick-arrow {
		position: absolute;
		z-index: 1;
	}
	& .slick-arrow.slick-prev {
		left: 8px;
	}
	& .slick-arrow.slick-next {
		right: 8px;
	}
	& .btn-wrapper {
		text-align: center;
	}
	& .slick-slide {
		padding: 0 20px;
	}
	& .slick-dotted.slick-slider {
		margin: 0 auto;
		margin-bottom: 60px;
	}
	& .slick-slider .slick-prev,
	& .slick-slider .slick-next {
		width: 50px;
		height: 50px;
		top: 50%;
		opacity: 0.6;
		border-radius: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: var(--black);
		background: var(--black);
		&::before {
			font-family: "Material Symbols Outlined";
			font-size: 32px;
		}
	}
	& .slick-slider .slick-prev::before {
		content: "\e314";
	}
	& .slick-slider .slick-next::before {
		content: "\e315";
	}
	& .slick-slide.slick-current {
		margin-bottom: 40px;
	}
	& .product-name {
		padding-top: 16px;
		font-size: 14px;
		color: var(--black);
	}
	& .product-price {
		padding-top: 8px;
		font-size: 14px;
		color: var(--black);
	}
}

@media screen and (min-width: 768px) {
.product-area {
	margin-top: 100px;
	& .product-slick {
		max-width: 1800px;
	}
	& .product-name {
		font-size: 16px;
	}
	& .product-price {
		font-size: 16px;
	}
	& .slick-slide {
		padding: 0 44px;
	}
	& .slick-slider .slick-prev,
	& .slick-slider .slick-next {
		top: 40%;
	}
	& .slick-track {
		height: 380px;
	}
}
} 

.about-area {
	display: flex;
	flex-flow: column;
	gap: 20px;
	margin-top: 140px;
	padding-bottom: 16px;
	background: var(--bg-content);
	& .about-content {
		padding-top: 100px;
		padding-bottom: 80px;
		padding-bottom: 60px;
		flex-flow: column-reverse;
		justify-content: space-between;
		align-items: flex-start;
	}
	& .about-text h3 {
		margin-bottom: 20px;
		font-family: "Noto Serif JP", serif;
		font-size: 16px;
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.2em;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
	& .about-text p {
		line-height: 2;
	}
	& .about-img {
		width: 60%;
		margin: 0 auto;
	}
	& .btn-wrapper {
		margin-top: 60px;
	}
}
@media screen and (min-width: 768px) {
.about-area {
	margin-top: 200px;
	& .about-content {
		flex-flow: row;
	}
	& .about-content.fd-cr {
		flex-direction: row-reverse;
		align-items: center;
	}
	& .about-text {
		width: 50%;
	}
	& .about-text h3 {
		font-size: 20px;
	}
	& .about-img {
		width: 40%;
		margin: 0;
	}
}
}

.media-area {
	margin-top: 80px;
	margin-bottom: 80px;
	& .media-content.flex {
		flex-flow: column;
		row-gap: 40px;
	}
	& .media-item p {
		padding-bottom: 8px;
	}
}
@media screen and (min-width: 768px) {
	.media-area {
		margin-top: 100px;
		& .media-content.flex {
			flex-flow: row;
			align-items: start;
			justify-content: space-between;
		}
		& .media-item {
			width: 45%;
		}
	}
}

.voice-area {
	& .voice-list {
		flex-wrap: wrap;
		justify-content: space-between;
		row-gap: 60px;
	}
	& .voice-item {
		width: 100%;
	}
	& .voice-item p {
		padding-top: 16px;
		font-size: 13px;
		line-height: 1.5;
	}
	& .voice-imgwrap {
		width: 100%;
		justify-content: flex-start;
		align-items: center;
		border-bottom: solid 1px #A6A6A6;
	}
	& .voice-imgwrap img {
		width: 65px;
	}
	& .voice-imgwrap h3 {
		margin-left: 24px;
		font-size: 16px;
		font-family: var(--noto-sans);
		line-height: 1.5;
	}
	& .voice-imgwrap p {
		padding-top: 16px;
		font-size: 13px;
		line-height: 1.5;
	}
}

@media screen and (min-width: 768px) {
.voice-area {
	& .voice-list {
		align-items: stretch;
		flex-wrap: wrap;
		justify-content: space-between;
		row-gap: 30px;
	}
	& .voice-item {
		width: 45%;
	}
	& .voice-item p {
		font-size: 15px;
	}
}
}

.medical-area {
	margin-top: 120px;
	padding-bottom: 60px;
	& .me-content {
		margin-top: 48px;
		flex-direction: column-reverse;
		row-gap: 60px;
	}
	& .me-img {
		width: 100%;
		height: 250px;
		position: relative;
	}
	& .me-img img {
		position: absolute;
		width: 100%;
		height: 250px;
		right: auto;
		object-fit: cover;
	}
	& .medical-person {
		justify-content: space-between;
		align-items: center;
	}
	& .medical-person p {
		font-size: 14px;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
	& .me-text {
		line-height: 1.8;
	}
	& .me-text h3 {
		font-size: 18px;
		padding-bottom: 8px;
	}
	& .me-reviews {
		padding: 32px 20px;
		background: var(--bg-content);
		margin-top: 40px;
		border-radius: 8px;
	}
	& .me-reviews h4 {
		font-size: 16px;
		font-weight: 600;
	}
	& .me-reviews p {
		font-size: 12px;
	}
}
@media screen and (min-width: 768px) {
.medical-area {
	margin-top: 100px;
	& .me-content.flex {
		flex-direction: row;
		align-items: stretch;
		margin-top: 80px;
	}
	& .me-img {
		width: 50%;
		position: relative;
	}
	& .me-img img {
		position: absolute;
		width: 160%;
		height: 400px;
		object-fit: cover;
		right: 40px;
	}
	& .me-text {
		width: 50%;
	}
	& .me-text h3 {
		font-size: 18px;
	}
	& .me-text p {
		font-size: 16px;
	}
	& .me-reviews h4 {
		font-size: 18px;
	}
}
}

.expert-area {
	margin-top: 120px;
	margin-bottom: 120px;
	overflow: hidden;
	& .me-content {
		margin-top: 60px;
		flex-direction: column-reverse;
		row-gap: 48px;
	}
	& .me-text {
		line-height: 1.8;
	}
	& .me-text h3 {
		padding-bottom: 8px;
		font-size: 18px;
	}
	& .me-text p {
		font-size: 12px;
	}
	& .me-reviews {
		padding: 32px 20px;
		background: var(--bg-content);
		margin-top: 48px;
		border-radius: 8px;
	}
	& .me-reviews h4 {
		font-weight: 600;
		font-family: var(--noto-sans);
	}
}

@media screen and (min-width: 768px) {
.expert-area {
	margin-top: 160px;
	& .me-content {
		flex-flow: row;
		align-items: stretch;
		margin-top: 80px;
	}
	& .me-img {
		width: 50%;
		height: 400px;
		position: relative;
	}
	& .me-img img {
		position: absolute;
		width: 160%;
		height: 400px;
		right: auto;
		left: 40px;
		object-fit: cover;
		object-position: top;
	}
	& .me-text {
		width: 50%;
	}
		& .me-text h3 {
		font-size: 18px;
	}
	& .me-text p {
		font-size: 16px;
	}
	& .me-reviews h4 {
		font-size: 18px;
	}
}
}