@charset "utf-8";

/*
Theme Name: BlankSlate Child
Template: blankslate
*/

:root {
	--main-pink: #EC7494;
	--light-pink: #FFEAEF;
	--star-color: #dddddd;
	--star-background: #fc0;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
	font-family: "M PLUS Rounded 1c", sans-serif;
	background-color: #ffffff;
}

.SiteWrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
	overflow-x: hidden;
}

.section_inner {
	max-width: 115rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	padding-block: 6rem;
}

.center_title {
	text-align: center;
}

@media screen and (max-width:768px) {
	.section_inner {
		padding-block: 3.5rem;
	}

	.commonh2 img:not(.trouble .commonh2 img, .risk .commonh2 img) {
		width: 70%;
	}
}

/* header */
.hbgr {
	display: none;
}

.header {
	position: relative;
}

.header_inner {
	position: relative;
	padding-inline: 1.5rem;
}

.header_container {
	position: fixed;
	display: flex;
	top: 2rem;
	left: 50%;
	transform: translateX(-50%);
	justify-content: space-between;
	align-items: center;
	background-color: #ffffff;
	padding: 2rem 5rem;
	border-radius: 5rem;
	width: 100%;
	max-width: 115rem;
	margin-inline: auto;
	box-shadow: 0 3px 7px #dddddd;
	z-index: 10;
}

.header_nav_list {
	display: flex;
}

.header_nav_item {
	margin-left: 2rem;
	transition: all .3s;
}

.header_nav_item a {
	position: relative;
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	color: #707070;
	transition: 0.3s;
}

.header_nav_item a::before {
	position: absolute;
	content: '';
	bottom: -2rem;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 3px;
	background-color: var(--main-pink);
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}

.header_nav_item a:hover {
	color: #454545;
}

.header_nav_item a:hover::before {
	visibility: visible;
	bottom: -0.8rem;
	opacity: 1;
}

@media screen and (max-width:768px) {
	.header_inner {
		position: relative;
		max-width: 100%;
		margin-inline: unset;
		padding-inline: 0;
	}

	.header_container {
		top: 0;
		padding: 1rem 1.5rem;
		border-radius: 0;
		max-width: 100%;
	}

	.headerNav {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		background-color: #ffe4eb;
		width: 100vw;
		height: 100vh;
		display: flex;
		justify-content: center;
		flex-direction: column;
		place-items: center;
		transform: translateX(100%);
		transition: all 0.3s;
		overflow-x: hidden;
		opacity: 0;
	}

	.headerNav.open {
		transform: translateX(0%);
		overflow-x: visible;
		opacity: 1;
	}

	.header_nav_list {
		flex-direction: column;
		align-items: center;
	}

	.header_nav_item {
		margin-left: 0;
	}

	.header_nav_item:not(:first-child) {
		margin-top: 2rem;
	}

	.header_nav_item a {
		color: #5c5c5c;
		font-size: 2rem;
	}

	.hbgr {
		position: relative;
		display: block;
		width: 5rem;
		height: 5rem;
		background-color: transparent;
		border: none;
	}

	.hbgr span {
		position: absolute;
		content: '';
		top: 50%;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		height: 0.2rem;
		background-color: var(--main-pink);
		opacity: 1;
		transition: all 0.3s;
	}

	.hbgr span:nth-child(1) {
		top: 1rem;
	}

	.hbgr span:nth-child(3) {
		transform: translate(-50%, 1.5rem);
	}

	.hbgr.open span {
		top: 50%;
		left: 0;
		background-color: var(--main-pink);
	}

	.hbgr.open span:nth-child(1) {
		transform: rotate(45deg);
	}

	.hbgr.open span:nth-child(2) {
		display: none;
	}

	.hbgr.open span:nth-child(3) {
		transform: rotate(-45deg);
	}
}

/* fv */
.fv {
	position: relative;
	background-image: url(../images/aesthetic-dentistry/fv/bg.webp);
	/* height: 100vh; */
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right;
}

.fv_inner {
	padding-top: 25rem;
	max-width: 130rem;
}

.fv_h2 {
	color: #606060;
	font-weight: 900;
}

.fv_h2 div {
	display: block;
	line-height: 1.5;
	filter: drop-shadow(1px 2px 3px #ffffff);
}

.fv_h2 div span {
	color: var(--main-pink);
}

.fv_h2 div:first-child {
	font-size: 5.2rem;
}

.fv_h2 div:last-child {
	font-size: 8.2rem;
}

.fv_container {
	background-color: #ffffffaf;
	border-radius: 3rem;
	display: block;
	padding: 2rem 3rem;
	max-width: 63rem;
	margin-top: 2rem;
}

.fv_title {
	text-align: center;
}

.fv_title_last {
	margin-top: 4rem;
}

.fv_h3 {
	background-color: var(--main-pink);
	color: #ffffff;
	font-size: 3.6rem;
	font-weight: 700;
	padding: 1.5rem 4rem;
	display: inline-block;
	border-radius: 5.3rem;
}

.fv_box {
	display: flex;
	justify-content: space-around;
	margin-top: 2rem;
}

.fv_menu_price {
	text-align: center;
}

.fv_menu {
	font-size: 2rem;
}

.fv_price {
	font-size: 4rem;
	margin-top: 1rem;
	color: var(--main-pink);
	font-weight: 800;
	background: linear-gradient(transparent 45%, #FAF22D 45%);
}

.fv_price span {
	font-size: 2.3rem;
}

.fv_container_sp {
	display: none;
}

.fv_container_pc {
	display: block;
}

@media screen and (max-width:1250px) {
	.fv {
		background-position-x: -43rem;
	}
}

@media screen and (max-width:1070px) {
	.fv {
		/* background-position-x: -43rem; */
	}

	.fv_container_pc img {
		width: 63%;
	}
}

@media screen and (max-width: 940px) {
	.fv {
		background-image: url(../images/aesthetic-dentistry/fv/bg_sp.webp);
		background-position-x: center;
		background-size: 138%;
		background-position-x: -12rem;
		background-position-y: -18rem;
	}

	.fv_inner {
		padding-top: 36rem;
	}

	.fv_h2 div:first-child {
		font-size: 4.2rem;
	}

	.fv_h2 div:last-child {
		font-size: 6.2rem;
	}

	.fv_container {
		display: none;
	}

	.fv_container_sp {
		display: block;
	}

	.fv_container_sp img {
		max-width: 100%;
		margin-top: 2rem;
	}

	.fv_container_pc {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.fv {
		background-image: url(../images/aesthetic-dentistry/fv/bg_sp.webp);
		background-position-x: center;
		background-size: 180%;
		background-position-y: bottom;
	}

	.fv_inner {
		padding-top: 41rem;
	}

	.fv_h2 div:first-child {
		font-size: 3.2rem;
		font-weight: 700;
	}

	.fv_h2 div:last-child {
		font-size: 5rem;
		font-weight: 700;
	}
}

@media screen and (max-width: 570px) {
	.fv_inner {
		padding-top: 32rem;
	}

	.fv_h2 div:first-child {
		font-size: 2.7rem;
	}

	.fv_h2 div:last-child {
		font-size: 4.3rem;
	}
}

@media screen and (max-width: 490px) {
	.fv {
		background-size: 193%;
		background-position-x: -25rem;
	}
}

@media screen and (max-width: 450px) {
	.fv_inner {
		padding-top: 33rem;
		padding-bottom: 0;
	}

	.fv_h2 div:first-child {
		font-size: 2.3rem;
	}

	.fv_h2 div:last-child {
		font-size: 3.7rem;
	}
}

@media screen and (max-width: 430px) {
	.fv {
		background-position-x: -24rem;
		background-size: 210%;
	}
}

/* info info_top */
.info_top {
	background-color: var(--light-pink);
}

.info_top .commonh2 img {
	width: 40%;
}

.info_container {
	display: flex;
	margin-top: 3rem;
	justify-content: space-between;
}

.info_container>* {
	width: calc(50% - 15px);
}

.info_h3 {
	width: 100%;
	display: block;
	text-align: center;
	border-radius: 2.7rem;
	padding-block: 1.6rem;
}

.info_h3_blue {
	background-color: #3FB6D9;
	color: #ffffff;
	font-size: clamp(2rem, 2.6vw, 3rem);
	font-weight: 500;
}

.info_tel {
	text-align: center;
	padding-top: 2rem;
	color: #606060;
}

.info_tel span {
	font-size: clamp(3.2rem, 2.6vw, 4rem);
	font-weight: 500;
	margin-left: 1rem;
}

.info_tel img {
	width: clamp(3rem, 2.6vw, 4.8rem);
}

.info_h3_pink {
	background-color: var(--main-pink);
	margin-top: 5rem;
	transition: all 0.3s;
}

.info_h3_pink:hover {
	background-color: #e291a7;
}

.info_h3_pink a {
	font-size: clamp(2rem, 2.6vw, 3rem);
	font-weight: 700;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-block: 1.4rem;
}

.info_h3_pink a>* {
	margin-inline: 1rem;
}

.info_h3_pink a img {
	position: relative;
	width: clamp(1rem, 2.6vw, 2.1rem);
}

.info_table {
	margin-top: 4rem;
	font-size: clamp(1.5rem, 2.6vw, 1.6rem);
	line-height: 2;
	color: #545454;
}

.info_table th {
	text-align: right;
	font-weight: 500;
	width: 7rem;
}

.info_table td {
	padding-left: 1.5rem;
}

@media screen and (max-width: 768px) {
	.info_container {
		justify-content: center;
		flex-direction: column;
	}

	.info_container>* {
		width: 100%;
	}

	.info_img {
		text-align: center;
	}

	.info_img img {
		aspect-ratio: 3 / 1.6;
		object-fit: cover;
		max-width: 100%;
	}

	.info_text {
		margin-top: 3rem;
	}

	.info_h3_pink {
		margin-top: 2rem;
	}

	.info_table {
		margin-top: 2rem;
	}
}

/* trouble */
.trouble {
	background-color: #F2F3F8;
}

.trouble_five {
	margin-top: 3rem;
}

.trouble_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.trouble_item {
	width: 31%;
	margin-inline: 0.5rem;
}

.trouble_bottom_text {
	text-align: center;
	background-color: #ffffff;
	padding: 1.5rem;
	border-radius: 2rem;
	margin-top: 3rem;
}

.trouble_bottom_text p {
	font-size: clamp(1.5rem, 2.6vw, 1.6rem);
	font-weight: 500;
	line-height: 2;
	color: #545454;
}

.trouble_br {
	display: none;
}

@media screen and (max-width: 768px) {
	.trouble_item {
		width: 47%;
	}
}

@media screen and (max-width: 768px) {
	.trouble_br {
		display: block;
	}
}

@media screen and (max-width: 550px) {
	.trouble_item {
		width: 100%;
		text-align: center;
	}
}

/* message */

.message {
	position: relative;
	background-image: url(../images/aesthetic-dentistry/message/bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
	background-position-x: 50rem;
}

.message::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.7) 30%, rgba(255, 255, 255, 0));
}

.message_inner {
	position: relative;
	z-index: 1;
}

.message_h2 {
	font-size: clamp(2rem, 2.6vw, 2.4rem);
	font-weight: 700;
	line-height: 1.8;
}

.message_h2 span {
	display: inline-block;
	background-image: linear-gradient(to bottom, transparent 60%, #F0C5D1 60%);
	background-repeat: no-repeat;
	color: #545454;
}

.message_text {
	margin-top: 3rem;
	width: 50%;
}

.message_text p {
	font-size: 1.6rem;
	line-height: 2;
	color: #545454;
}

.message_text p:not(:first-child) {
	margin-top: 2rem;
}

@media screen and (max-width: 1200px) {
	.message {
		background-position-x: 16rem;
	}
}

@media screen and (max-width: 768px) {
	.message {
		background-position-x: center;
		background-position-y: -10rem;
		background-size: contain;
		padding-top: 10rem;
	}

	.message::before {
		background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	}

	.message_text {
		margin-top: 3rem;
		width: 100%;
	}
}

/* point */
.point {
	display: flex;
	position: relative;
	background-color: var(--light-pink);
	z-index: 1;
}

.point::before,
.point::after {
	position: absolute;
	content: '';
	background-repeat: no-repeat;
	background-size: 30%;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.point::before {
	background-image: url(../images/aesthetic-dentistry/point/circle_top.svg);
	background-position: top right;
}

.point::after {
	background-image: url(../images/aesthetic-dentistry/point/circle_bottom.svg);
	background-position: bottom left;
}

.point_inner {
	position: relative;
	z-index: 1;
}

.point_box {
	display: flex;
	margin-top: 5rem;
	justify-content: space-between;
	align-items: center;
	color: #3e3e3e;
}

.point_text {
	padding-left: 2rem;
	width: 65%;
}

.point_h3 {
	font-size: 2.4rem;
	font-weight: 700;
}

.point_text p {
	margin-top: 3rem;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 2;
}

.point_img {
	position: relative;
}

.point_img_01 .point_num {
	position: absolute;
	top: 0;
	right: 0;
}

.point_img_02 .point_num {
	position: absolute;
	top: 0;
	left: 0;
}

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

	.point::before,
	.point::after {
		background-size: 50%;
	}

	.point_box {
		flex-direction: column;
	}

	.point_text {
		padding-left: 0;
		width: 100%;
		margin-top: 3rem;
	}

	.point_img_01 .point_num {
		position: absolute;
		top: 0;
		left: 0;
		right: unset;
	}

	.point_img_01 .point_num,
	.point_img_02 .point_num {
		width: 20%;
	}
}

/* risk */
.risk {
	background-color: #F2F3F7;
}

.risk_container {
	margin-top: 3rem;
}

.risk_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.risk_item {
	position: relative;
	width: calc(50% - 10px);
	background-color: #ffffff;
	border-radius: 2rem;
	margin-top: 5rem;
	padding: 0 2rem 3rem;
}

.risk_title {
	position: relative;
	text-align: center;
}

.risk_h3 {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #ffffff;
	font-weight: 500;
	font-size: 2.2rem;
	background-color: #8994BE;
	padding: 1rem 2.5rem;
	border-radius: 2rem;
	width: 90%;
}

.risk_img {
	margin-top: 6rem;
	text-align: center;
}

.risk_img img {
	width: auto;
	height: 20rem;
}

.risk_text {
	margin-top: 3rem;
}

.risk_text p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
	color: #373636;
	;
}

.risk_bottom {
	margin-top: 5rem;
	padding-block: 4rem;
	background-color: #f0fdff;
	border-radius: 2rem;
	text-align: center;
}

.risk_bottom_text {
	position: relative;
	display: inline-block;
	text-align: center;
}

.risk_bottom_text::before {
	position: absolute;
	content: url(../images/aesthetic-dentistry/risk/star_left.svg);
	top: 30%;
	left: 50%;
	transform: translate(-120%, -50%);
	width: 100%;
	height: 100%;
}

.risk_bottom_text::after {
	position: absolute;
	content: url(../images/aesthetic-dentistry/risk/star_right.svg);
	top: 30%;
	right: -30%;
	transform: translate(40%, -50%);
	width: 100%;
	height: 100%;
}

.risk_bottom_text p {
	font-size: clamp(1.6rem, 2.6vw, 3rem);
	font-weight: 500;
	line-height: 2;
	color: #454545
}

.risk_bottom_text p span {
	background-image: linear-gradient(to bottom, transparent 60%, #F0C5D1 60%);
	background-repeat: no-repeat;
}



@media screen and (max-width: 700px) {
	.risk_list {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.risk_bottom_text::before {
		top: -20%;
		left: -60%;
		transform: scale(0.6);
	}

	.risk_bottom_text::after {
		top: -20%;
		right: -60%;
		transform: scale(0.6);
	}

	.risk_item {
		width: 100%;
		padding: 0 1.5rem 2rem;
	}

	.risk_h3 {
		font-size: 2rem;
		width: 95%;
	}

	.risk_img img {
		width: auto;
		height: 12rem;
	}
}

/* flow */
.flow {
	padding-bottom: 5rem;
}

.flow_container {
	margin-top: 3rem;
}

.flow_inner {
	padding-bottom: 0;
}

.flow_item {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 6rem;
	color: #606060;
}

.flow_item::before {
	position: absolute;
	content: '';
	left: 0;
	background-color: #FFF7FA;
	width: 40%;
	height: 100%;
	border-radius: 0 16rem 16rem 0;
}

.flow_container_inner {
	display: flex;
	max-width: 115rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	width: 100%;
	justify-content: space-between;
	align-items: center;
}


.flow_container_inner>* {
	width: calc(100% / 2 - 15px);
}

.flow_text {
	position: relative;
}

.flow_h3 {
	position: relative;
	font-size: clamp(2.4rem, 2.6vw, 3rem);
	font-weight: 700;
	padding-left: 8rem;
}

.flow_h3::before {
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.flow_h3_01::before {
	content: url(../images/aesthetic-dentistry/flow/step01.svg);
}

.flow_h3_02::before {
	content: url(../images/aesthetic-dentistry/flow/step02.svg);
}

.flow_h3_03::before {
	content: url(../images/aesthetic-dentistry/flow/step03.svg);
}

.flow_h3_04::before {
	content: url(../images/aesthetic-dentistry/flow/step04.svg);
}

.flow_h3_05::before {
	content: url(../images/aesthetic-dentistry/flow/step05.svg);
}

.flow_text p {
	position: relative;
	padding-left: 8rem;
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2;
}

@media screen and (max-width:768px) {
	.flow_container_inner {
		flex-direction: column-reverse;
	}

	.flow_container_inner>* {
		width: 100%;
	}

	.flow_item:not(:first-child) {
		margin-top: 5rem;
	}

	.flow_item::before {
		content: none;
	}

	.flow_img {
		text-align: center;
	}

	.flow_h3 {
		padding-left: 6rem;
	}

	.flow_h3::before {
		transform: translate(-15%, -50%) scale(0.7);
	}

	.flow_text {
		margin-top: 3rem;
	}

	.flow_text::before {
		position: absolute;
		content: '';
		left: 0;
		background-color: #FFF7FA;
		width: 80%;
		height: 100%;
		border-radius: 0 16rem 16rem 0;
		z-index: 0;
	}

	.flow_text p {
		padding-left: 0;
	}
}

/* price */
.price {
	background-color: var(--light-pink);
	background-image: url(../images/aesthetic-dentistry/price/bg.svg);
	background-repeat: round;
	background-size: 100px 110px;
}

.price_block {
	margin-top: 5rem;
}

.price_container {
	overflow-x: auto;
	overflow-y: hidden;
}

.price_table {
	width: 100%;
}

.price_table thead tr th {
	background-color: var(--main-pink);
	color: #ffffff;
	font-weight: 700;
	font-size: clamp(2.2rem, 2.6vw, 3rem);
	padding-block: 1.5rem;
}

.price_table tbody tr th,
.price_table tbody tr td {
	border: 3px solid #dddddd;
}

.price_table tbody tr th {
	background-color: #FFA0B9;
	color: #525252;
	font-weight: 700;
	font-size: 1.8rem;
	padding-block: 1rem;
	line-height: 1.5;
	width: clamp(22rem, 2.6vw, 34rem);
	align-content: center;
	border: none;
}

.price_table tbody tr td {
	background-color: #ffffff;
	padding: 2rem;
	border: none;
}

.price_table_top {
	display: flex;
	align-items: center;
}

.price_num {
	font-size: clamp(4rem, 2.6vw, 5rem);
	font-weight: 700;
	color: var(--main-pink);
}

.price_num span {
	font-size: clamp(2.2rem, 2.6vw, 3rem);
}

.star_list {
	margin-left: 2rem;
}

.star_item {
	font-size: clamp(1.2rem, 2.6vw, 1.8rem);
	font-weight: 500;
}

.Stars {
	--percent: calc(var(--rating) / 5 * 100%);

	display: inline-block;
	line-height: 1;
}

.Stars::before {
	content: '★★★★★';
	letter-spacing: 3px;
	background: linear-gradient(90deg, var(--star-background) var(--percent), var(--star-color) var(--percent));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.star_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 8px;
}

.price_table_bottom {
	margin-top: 2rem;
}

.price_table_bottom p {
	font-size: clamp(1.5rem, 2.6vw, 1.8rem);
	line-height: 1.5;
	color: #545454;
}

.table_scroll {
	display: none;
}

@media screen and (max-width:870px) {
	.price_table {
		width: max-content;
		margin-top: 0.8rem;
	}

	.table_scroll {
		display: block;
		font-size: 1.4rem;
	}
}


/* faq */
.faq {
	background-color: #EAFDFF;
}

.faq_container {
	margin-top: 3rem;
}

.faq_item {
	margin-top: 3rem;
	border-radius: 2rem;
	overflow: hidden;
}

.faq_item:not(:first-child) {
	margin-top: 2rem;
}

.faq_top {
	background-color: #2F7079;
	padding: 3rem 2rem;
}

.faq_q {
	position: relative;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
	font-weight: 700;
	color: #ffffff;
	padding-left: 5rem;
	line-height: 1.8;
}

.faq_q::before {
	position: absolute;
	content: url(../images/aesthetic-dentistry/faq/q.svg);
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
}

.faq_bottom {
	color: #2F7079;
	background-color: #ffffff;
	padding: 3rem 2rem;
}

.faq_a {
	position: relative;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
	font-weight: 700;
	color: #2F7079;
	padding-left: 5rem;
	line-height: 1.5;
}

.faq_a::before {
	position: absolute;
	content: url(../images/aesthetic-dentistry/faq/a.svg);
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
}

.faq_bottom p:not(.faq_a) {
	margin-top: 1rem;
	line-height: 1.8;
	font-size: clamp(1.6rem, 2.6vw, 1.8rem);
	font-weight: 500;
}

/* info_bottom */

.time_container {
	margin-top: 3rem;
}

.time_table {
	width: 100%;
}

.time_table thead {
	background-color: var(--main-pink);
	color: #ffffff;
	font-size: clamp(1.5rem, 2.6vw, 2.4rem);
	font-weight: 700;
}

.time_table thead tr>*,
.time_table tbody tr>* {
	padding-block: 1.6rem;
	text-align: center;
}

.time_table tbody {
	color: var(--main-pink);
	font-size: clamp(1.5rem, 2.6vw, 2.4rem);
	font-weight: 700;
	background-color: #FAD7E0;
}

.time_table tbody tr th {
	color: #414141;
}

.time_kome {
	display: block;
	margin-top: 0.8rem;
	font-size: 1.4rem;
}

.map {
	margin-top: 3rem;
}

.map iframe {
	width: 100%;
}

.yoyaku_bottom {
	margin-top: 3.5rem;
	text-align: center;
	text-align: -webkit-center;
}

.yoyaku_bottom a>* {
	margin-inline: 1rem;
}

.yoyaku_bottom a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--main-pink);
	width: 45%;
	color: #ffffff;
	font-weight: 600;
	font-size: clamp(2.4rem, 2.6vw, 3rem);
	padding: 2rem 1.2rem;
	border-radius: 2rem;
	transition: all 0.3s;
}

.yoyaku_bottom a:hover {
	background-color: #e291a7;
}

@media screen and (max-width:768px) {
	.yoyaku_bottom a {
		width: 80%;
	}

	.yoyaku_bottom a img {
		width: 1.5rem;
	}
}

@media screen and (max-width:425px) {
	.yoyaku_bottom a {
		width: 100%;
	}
}

/* doctor */
.doctor {
	display: flex;
	position: relative;
	background-color: var(--light-pink);
}

.doctor::before,
.doctor::after {
	position: absolute;
	content: '';
	background-repeat: no-repeat;
	background-size: 30%;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.doctor::before {
	background-image: url(../images/aesthetic-dentistry/doctor/circle_top.svg);
	background-position: top right;
}

.doctor::after {
	background-image: url(../images/aesthetic-dentistry/doctor/circle_bottom.svg);
	background-position: bottom left;
}

.doctor_inner {
	position: relative;
	z-index: 1;
}

.doctor_container {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 1;
	margin-top: 5rem;
}

.doctor_container>* {
	width: calc(100% / 2 - 15px);
}

.doctor_text {
	color: #797979;
}

.doctor_h3 {
	font-size: clamp(2rem, 2.6vw, 2.6rem);
	font-weight: 700;
}

.doctor_h4 {
	margin-top: 4rem;
	font-size: clamp(1.8rem, 2.6vw, 2rem);
	font-weight: 700;
}

.doctor_text p {
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 500;
	margin-top: 1.5rem;
}

.doctor_text a{
	text-decoration: underline;
}

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

	.doctor::before,
	.doctor::after {
		background-size: 50%;
	}

	.doctor_container {
		flex-direction: column;
	}

	.doctor_container>* {
		width: 100%;
	}

	.doctor_text {
		margin-top: 3rem;
	}
}

/* footer */
.footer {
	position: relative;
	padding: 100px 0;
	background-color: #7E695D;
}

.footer-inner {
	width: 1040px;
	max-width: 90vw;
	margin-left: auto;
	margin-right: auto;
}

.footer-block {
	margin-top: 100px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 40px 0;
}

.footer-block:nth-of-type(1) {
	margin-top: 0;
}

.footer-list {
	display: flex;
	flex-wrap: wrap;
	gap: 48px 0;
	max-width: 100%;
}

.footer-list ul {
	width: 400px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
}

.footer-list ul li h3 {
	font-size: 24px;
	letter-spacing: 0.06em;
	line-height: 32px;
	font-weight: 700;
	color: #fff;
	position: relative;
}

.footer-list ul li h3::before {
	content: '';
	width: 2px;
	height: 100%;
	background-color: #fff;
	position: absolute;
	left: -8px;
	top: 0;
	bottom: 0;
}

.footer-list ul li a {
	font-size: 16px;
	letter-spacing: 0.06em;
	line-height: 24px;
	font-weight: 500;
	color: #fff;
	opacity: 1;
	transition: all 0.3s;
}

.footer-list ul li a:hover {
	opacity: 0.7;
}

.footer-list ul li p {
	font-size: 16px;
	letter-spacing: 0.06em;
	line-height: 24px;
	font-weight: 500;
	font-family: 'source-han-sans-japanese';
	color: #fff;
}

.footer-link {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
}

.footer-link a {
	color: #fff;
	font-size: 12px;
	letter-spacing: 0;
	line-height: 17px;
	font-weight: 400;
	opacity: 1;
	transition: all 0.3s;
}

.footer-link a:hover {
	color: #fff;
	opacity: 0.7;
}

.footer-copy {
	margin-top: 48px;
	text-align: center;
}

.footer-copy small {
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 15px;
	font-weight: 400;
}

/* footer menu */
.footer_menu {
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	gap: 1px;
	background-color: transparent;
	z-index: 10;
}

.footer_menu>* {
	display: flex;
	width: 50%;
	background-color: var(--main-pink);
	justify-content: center;
	align-items: center;
	padding-block: 1.5rem;
}

.footer_menu p {
	color: #ffffff;
	font-weight: bold;
	font-size: 1.8rem;
}

.footer_menu a>* {
	margin-inline: 0.8rem;
}

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

/* footer menu pc */

.footer_menu_pc {
	position: fixed;
	right: 0;
	bottom: 10rem;
	gap: 1px;
	background-color: transparent;
	z-index: 10;
}

.footer_menu_pc>* {
	background-color: var(--main-pink);
	padding: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-block: 1rem;
	opacity: 1;
	transition: all 0.3s;
}

.footer_menu_pc a>* {
	color: #ffffff;
}

.footer_menu_pc a:hover {
	background-color: #e291a7;
}

.footer_menu_pc a p {
	margin-top: 0.5rem;
	font-size: 1.6rem;
}

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


/* gsap */
.fadeUp {
	opacity: 0;
	transform: translateY(40px);
	will-change: transform, opacity;
}


/* benefits */

.benefits_list{
	margin-top: 5rem;
}

.benefits_item{
	display: flex;
	justify-content: space-between;
	margin-top: 5rem;
	background-color: var(--light-pink);
	padding: 3rem;
	border-radius: 3rem;
}

.benefits_item:first-child{
	margin-top: 0;
}

.benefits_text{
	color: #454545;
	max-width: 60%;
	padding: 2rem 1.5rem;
}

.benefits_h3{
	position: relative;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
	font-weight: 700;
	margin-bottom: 3rem;
	display: inline;
	background-image: linear-gradient(to bottom,
		transparent 60%,
		#ffc2d3 60%);
	background-repeat: no-repeat;
	animation: marker 1s ease-in-out forwards;
}

@keyframes marker {
	from {
		background-size: 0%;
	}

	to {
		background-size: 100%;
	}
}

.benefits_text p{
	font-size: clamp(1.6rem, 2.6vw, 1.8rem);
	font-weight: 400;
	line-height: 1.8;
	margin-top: 3rem;
}


@media screen and (max-width:768px) {
	.benefits_item{
		flex-direction: column-reverse;
		padding: 2rem 0 0;
	}

	.benefits_text {
		max-width: 100%;
	}

	.benefits_img{
		max-width: 100%;
		text-align: center;
		text-align: -webkit-center;
		padding-inline: 1.5rem;
	}

	.benefits_text{
		margin-top: 1rem;
	}

	/* 	.benefits_h3{
	margin-bottom: 2rem;
} */
}

/* 追加ページ */

.info_access{
	padding-top: 12rem;
}

.doctor_about{
	padding-top: 16rem;
}

.benefits{
	padding-top: 16rem;
}

@media screen and (max-width:768px) {
	.info_access{
		padding-top: 8rem;
	}

	.doctor_about {
		padding-top: 8rem;
	}

	.benefits {
		padding-top: 8rem;
	}
}

