.p-mv {
	aspect-ratio: 1000 / 1947;
	position: relative;
}

.p-mv__text {
	position: absolute;
	left: 0;
	bottom: 37px;
}

.p-mv__text > span {
	display: inline-block;
}

.p-reserve {
	text-align: center;
	padding: 30px 0;
}

.p-reserve__header {
	margin-bottom: 20px;
}

.p-reserve__heading {
	color: #1c3a5e;
	font-size: 2.4rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-bold);
}

.p-platinum {
	color: var(--color-white);
	text-shadow: 0 0 10px #000, 0 0 10px #000;
}

.p-platinum__header {
	text-align: center;
	background: url(../../images/top/platinum-bg01.jpg) no-repeat center top;
	background-size: cover;
	padding: 30px 0;
}

.p-platinum__heading .c-heading__image {
	width: 154px;
	display: block;
	margin: 0 auto 10px;
}

.p-platinum__heading .c-heading__text {
	font-size: 2.4rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	line-height: 1.4;
	letter-spacing: 0.075em;
	background: url(../../images/top/platinum-deco.png) no-repeat center center;
	background-size: 334px;
	display: block;
}

.p-platinum__heading .c-heading__text strong {
	font-size: 3.1rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.1em;
	background: linear-gradient(135deg, #fbff77 0%, #fff4db 50%, #fbff77 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	text-shadow: none;
	filter: drop-shadow(0 0 5px #000) drop-shadow(0 0 5px #000);
	display: block;
}

.p-platinum__heading .c-heading__text small {
	font-size: 1.8rem;
}

.p-platinum__body {
	font-size: var(--font-size-sm);
	background: url(../../images/top/platinum-bg02.jpg) no-repeat center top;
	background-size: cover;
	padding: 30px 30px 80px;
}

.p-platinum__list {
	font-size: var(--font-size-xxs);
	margin-top: 1.5em;
}

.p-platinum__list__item {
	text-indent: -0.6em;
	padding-left: 0.6em;
}

.p-case {
	background: url(../../images/top/case-bg.png) no-repeat center top;
	background-size: 100%;
	margin-top: -60px;
	padding: 60px 0;
}

@media (max-width: 720px) {
	.p-case {
		margin-top: -12vw;
		padding: 12vw 0 60px;
	}
}

.p-case__header {
	text-align: center;
	margin-bottom: 30px;
}

.p-case__heading .c-heading__image {
	margin-bottom: 40px;
}

.p-case__heading .c-heading__text {
	color: #1c3a5e;
	font-size: 3rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.1em;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

.p-case .slick-list {
	overflow: visible;
}

.p-case__list__item {
	background: #fff;
	margin: 0 5px;
	padding: 35px 25px;
	border-radius: 8px;
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.1);
	position: relative;
}

.p-case__list__item::before {
	color: var(--color-white);
	font-size: 2.2rem;
	font-family: "Times New Roman", var(--font-serif);
	letter-spacing: 0;
	text-align: center;
	width: 97px;
	height: 30px;
	line-height: 30px;
	background: linear-gradient(to right, #3cc088 0%, #9ad835 100%);
	position: absolute;
	left: 10px;
	top: -15px;
}

.p-case__list__item.c-item01::before {
	content: "CASE 01";
}

.p-case__list__item.c-item02::before {
	content: "CASE 02";
}

.p-case__list__item.c-item03::before {
	content: "CASE 03";
}

.p-case__list__item.c-item04::before {
	content: "CASE 04";
}

.p-case__list__item.c-item05::before {
	content: "CASE 05";
}

.p-case__images {
	margin-bottom: 15px;
}

.p-case__items {
	display: grid;
	gap: 10px;
}

.p-case__name {
	color: var(--color-white);
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.1em;
	text-align: center;
	background: linear-gradient(to right, #3cc088 0%, #9ad835 100%);
}

.p-case__description {
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	background: #f2f2f2;
	padding: 10px;
}

.p-trouble {
	color: var(--color-white);
	background: url(../../images/top/trouble-bg.png);
	background-size: 100% 100%;
	aspect-ratio: 50 / 77;
	padding-top: 30px;
	position: relative;
	z-index: 2;
}

.p-trouble__header {
	text-align: center;
	margin-bottom: 30px;
}

.p-trouble__text--en {
	font-size: 2.2rem;
	font-family: var(--font-alisha);
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-trouble__text--en::before,
.p-trouble__text--en::after {
	content: "";
	width: 19px;
	height: 1px;
	background-color: #fff;
}

.p-trouble__text--en:before {
	margin-right: 1rem;
}

.p-trouble__text--en:after {
	margin-left: 1rem;
}

.p-trouble__text--ja {
	font-size: 3.4rem;
	font-family: var(--font-serif);
	line-height: 1.4;
	font-weight: var(--font-weight-medium);
	text-shadow: 0 0 10px #000;
	display: block;
	position: relative;
}

.p-trouble__text--ja::before {
	content: "";
	width: 29px;
	aspect-ratio: 4 / 5;
	background: url(../../images/top/trouble-deco.svg);
	background-size: 100% 100%;
	position: absolute;
	left: calc(50% + 120px);
	top: 0;
}

.p-trouble__text--ja strong {
	color: #3fb180;
	font-size: 4.4rem;
	font-weight: var(--font-weight-semibold);
}

.p-trouble__text--ja small {
	font-size: 2.7rem;
	display: block;
}

.p-trouble__list {
	display: grid;
	gap: 10px;
}

.p-trouble__item {
	font-size: 1.8rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.p-trouble__item::before {
	content: "";
	width: 20px;
	aspect-ratio: 28 / 25;
	background: url(../../images/common/ico-check01.svg);
	background-size: 100% 100%;
	display: block;
	margin-top: 6px;
}

.p-trouble__item strong {
	color: #3fb180;
	font-weight: var(--font-weight-semibold);
}

.p-solution {
	text-align: center;
	background: url(../../images/top/solution-bg.png);
	background-size: 100% 100%;
	aspect-ratio: 786 / 1019;
	margin-top: -40px;
	padding: 60px 0 0;
	position: relative;
	z-index: 1;
}

.p-solution__heading {
	color: #1c3a5e;
	line-height: 1.4;
}

.p-solution__heading small {
	font-size: 2rem;
	font-weight: var(--font-weight-bold);
	display: block;
}

.p-solution__heading__deco {
	width: 266px;
	display: block;
	margin: 0 auto;
}

.p-solution__heading strong {
	font-size: 4rem;
	font-weight: var(--font-weight-bold);
	border-bottom: 8px solid #ffffa1;
}

.p-solution__heading span {
	font-size: 3rem;
}

.p-about {
	color: var(--color-white);
	text-align: center;
	background: url(../../images/top/about-bg.png);
	background-size: 100% 100%;
	aspect-ratio: 125 / 271;
	margin-top: -50px;
	padding: 50px 0 0;
	position: relative;
}

@media (max-width: 720px) {
	.p-about {
		margin-top: -10vw;
		padding: 10vw 0 50px;
	}
}

.p-about__header {
	margin-bottom: 20px;
}

.p-about__heading .c-heading__image {
	width: 227px;
	display: block;
	margin: 0 auto 20px;
}

.p-about__heading .c-heading__text {
	font-size: 3rem;
	font-weight: var(--font-weight-bold);
	border-bottom: 2px solid var(--color-white);
}

.p-about__heading .c-heading__text small {
	font-size: 2rem;
}

.p-about__intro {
	font-size: 2.3rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	line-height: 1.4;
	margin-bottom: 20px;
}

.p-about__intro span {
	color: #eeff7b;
}

.p-about__intro strong {
	font-size: 4rem;
	font-weight: var(--font-weight-semibold);
}

.p-about__text {
	text-align: left;
}

.p-merit {
	background: url(../../images/top/merit-bg.jpg) no-repeat center top;
	background-size: cover;
	margin-top: -40px;
	padding: 80px 0 40px;
}

.p-merit__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-merit .c-heading-primary__text--ja {
	font-size: 2rem;
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

.p-merit__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 20px;
}

.p-merit__item {
	width: calc(50% - 5px);
	background: var(--color-white);
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.2);
}

.p-faq {
	padding: 40px 0;
}

.p-faq__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-faq__list {
	display: flex;
	flex-direction: column;
}

.p-faq__item {
	border-bottom: 1px dashed #999;
}

.p-faq__question,
.p-faq__answer {
	position: relative;
}

.p-faq__question {
	font-weight: var(--font-weight-bold);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	padding: 10px 0 10px 47px;
}

.p-faq__answer {
	font-weight: var(--font-weight-medium);
	background: #f9ffd1;
	margin-bottom: 10px;
	padding: 10px 10px 10px 47px;
	display: none;
}

.p-faq__question span,
.p-faq__answer span {
	color: var(--color-white);
	font-weight: var(--font-weight-bold);
	text-align: center;
	width: 27px;
	height: 27px;
	line-height: 25px;
	border-radius: 50%;
	position: absolute;
	left: 10px;
	top: 10px;
}

.p-faq__question span {
	background: #2497db;
}

.p-faq__answer span {
	background: #80e306;
}

.p-faq__question p {
	padding-right: 40px;
}

.p-faq__question i {
	position: relative;
	display: inline-block;
	width: 9.7px;
	height: 6.8px;
	right: 10px;
	top: 8px;
	transition: ease 0.3s;
}

.p-faq__question.active i {
	transform: rotate(180deg);
}

.p-faq__question i:before,
.p-faq__question i::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 0.5px);
	width: 1px;
	height: 8px;
	border-radius: 9999px;
	background-color: #2497db;
	transform-origin: 50% calc(100% - 0.5px);
}

.p-faq__question i::before {
	transform: rotate(45deg);
}

.p-faq__question i::after {
	transform: rotate(-45deg);
}

.p-price {
	text-align: center;
	background: url(../../images/top/price-bg.jpg) no-repeat center top;
	background-size: cover;
	padding: 40px 0;
}

.p-price__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-price__list {
	display: grid;
	gap: 20px;
}

.p-price__item {
	background: linear-gradient(90deg, #25b3d7 0%, #3b7bc7 100%);
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.2);
	border-radius: 8px;
}

.p-price__item table {
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	width: calc(100% - 4px);
	margin: 0 auto 2px;
}

.p-price__item th {
	color: var(--color-white);
	font-size: 1.9rem;
	text-align: center;
	padding: 10px;
}

.p-price__item td {
	font-size: 2.6rem;
	background: var(--color-white);
	border-radius: 0 0 8px 8px;
	padding: 15px 10px;
}

.p-price__item td strong {
	color: #2497db;
	font-size: 5.3rem;
	font-family: "Times New Roman", var(--font-serif);
	font-weight: var(--font-weight-regular);
	line-height: 1;
	letter-spacing: 0;
}

.p-price__item td small {
	font-size: 2rem;
	letter-spacing: 0.1em;
}

.p-price__loan {
	color: var(--color-white);
	background: linear-gradient(90deg, #25b3d7 0%, #3b7bc7 100%);
	border-radius: 4px;
	margin: 10px 20px 0;
	padding: 10px;
}

.p-price__loan dt {
	font-size: 1.4rem;
}

.p-price__loan dd {
	font-size: 1.9rem;
}

.p-price__loan dd span {
	color: #1c3a5e;
	font-size: 1.5rem;
	letter-spacing: 0;
	width: 41px;
	height: 24px;
	line-height: 24px;
	background: #eeff7b;
	border-radius: 3px;
	display: inline-block;
	transform: translateY(-10px);
}

.p-price__loan dd strong {
	color: #eeff7b;
	font-size: 4.7rem;
	margin: 0 5px 0 10px;
}

.p-price__others {
	border-top: 3px dotted #999;
	margin-top: 20px;
	padding-top: 20px;
}

.p-price__others dl {
	border: 1px solid #52c6b7;
	border-radius: 4px;
	margin: 0 20px 20px;
}

.p-price__others dt {
	color: var(--color-white);
	font-size: 1.4rem;
	background: #52c6b7;
	border-radius: 4px 4px 0 0;
	padding: 10px;
}

.p-price__others dd {
	font-size: 1.5rem;
	padding: 10px;
}

.p-price__others dd strong {
	font-size: 4rem;
}

.p-payment {
	text-align: center;
	background: linear-gradient(to bottom, #fff 0%, #d5f7ca 100%);
	padding: 40px 0;
}

.p-payment__heading {
	color: #1c3a5e;
	font-size: 2.6rem;
	font-weight: var(--font-weight-bold);
	margin-bottom: 30px;
}

.p-payment__list {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0 20px;
}

.p-payment__item {
	width: 33%;
}

.p-payment__text {
	font-size: 1.8rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	letter-spacing: 0;
	margin-top: 10px;
}

.p-deduction {
	padding: 40px 0;
}

.p-deduction__inner {
	margin: 0 20px;
}

.p-deduction__header {
	margin-bottom: 30px;
}

.p-deduction__heading {
	display: flex;
	gap: 15px;
}

.p-deduction__icon {
	width: 59px;
}

.p-deduction__title {
	color: #2497db;
	font-size: 2.6rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}

.p-deduction__thumb {
	margin-top: 30px;
}

.p-greeting {
	background: url(../../images/top/greeting-bg.jpg) no-repeat center top;
	background-size: cover;
	position: relative;
	z-index: 1;
	padding-top: 32px;
	padding-bottom: 50px;
}

.p-greeting__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-greeting__portrait {
	display: flex;
	grid-area: portrait;
	align-items: flex-end;
}

.p-greeting__body {
	margin-top: 24px;
}

.p-greeting__intro {
	color: #1c3a5e;
	font-size: 2rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
}

.p-greeting__intro strong {
	font-size: 4rem;
	font-weight: var(--font-weight-semibold);
	line-height: 1.4;
	background: linear-gradient(135deg, #25b3d7 0%, #3b7bc7 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
}

.p-greeting__text {
	margin: 30px 0;
}

.p-greeting__signature {
	font-size: 2rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	text-align: center;
	margin-top: 0.5em;
}

.p-greeting__name {
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	margin-left: 0.5em;
}

.p-greeting__certification {
	color: #2497db;
	font-size: 1.6rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.1em;
	text-align: center;
}

.p-notes {
	background: #f5f5f5;
	padding: 30px;
}

.p-notes__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.p-notes__heading {
	font-size: 1.4rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}

.p-notes__heading span {
	border-bottom: 1px solid #000;
}

.p-notes__list {
	font-size: 1.2rem;
}

.p-notes__list__item {
	text-indent: -1em;
	padding-left: 1em;
}

.p-notes__list__item::before {
	content: "・";
	font-weight: var(--font-weight-bold);
	-webkit-text-stroke-width: 2px;
	-webkit-text-stroke-color: #333;
}

.p-reason {
	background: url(../../images/top/reason-bg.jpg) no-repeat center top;
	background-size: cover;
	padding: 40px 0 90px;
}

.p-reason__main-heading {
	margin-bottom: 100px;
}

.p-reason__main-heading > .c-heading-primary__text--ja strong {
	font-size: 10rem;
	font-family: "Times New Roman", var(--font-serif);
	font-weight: var(--font-weight-regular);
	line-height: 1;
	letter-spacing: 0;
	background: linear-gradient(90deg, #25b3d7 0%, #3b7bc7 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
}

.p-reason__main-heading > .c-heading-primary__text--ja span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.p-reason__main-heading > .c-heading-primary__text--ja span::before {
	content: "";
	width: 100%;
	height: 17px;
	background: #eeff7b;
	position: absolute;
	left: 0;
	bottom: 8px;
	z-index: -1;
}

.p-reason__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-reason__list {
	display: grid;
	gap: 80px;
	margin: 0 20px;
	counter-reset: reason 0;
}

.p-reason__item {
	background: linear-gradient(to right, #2497db 0%, #13bfe2 100%);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
	position: relative;
	z-index: 1;
}

.p-reason__item--shadow:nth-child(even) .p-reason__item {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}

.p-reason__item::before {
	content: "";
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	margin: 4px;
}

.p-reason__item--shadow:nth-child(even) .p-reason__item::before {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}

.p-reason__item--shadow {
	position: relative;
	z-index: 1;
}

.p-reason__item--shadow::before {
	content: "";
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	background: linear-gradient(to right, rgba(36, 151, 219, 0.3) 0%, rgba(19, 191, 226, 0.3) 100%);
	position: absolute;
	right: -19px;
	top: -25px;
	z-index: -1;
}

.p-reason__item--shadow::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.2);
	filter: blur(5px);
	position: absolute;
	bottom: -5px;
	z-index: -1;
}

.p-reason__item--shadow:nth-child(odd)::before {
	right: -19px;
}

.p-reason__item--shadow:nth-child(even)::before {
	left: -19px;
}

.p-reason__header {
	min-height: 140px;
}

.p-reason__heading {
	font-size: 1.9rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.6;
	position: relative;
	padding-top: 40px;
}

.p-reason__item--shadow:nth-child(odd) .p-reason__heading {
	margin-left: 150px;
}

.p-reason__item--shadow:nth-child(even) .p-reason__heading {
	margin-left: 20px;
}

.p-reason__number::before {
	color: #726b54;
	font-size: 2.5rem;
	font-family: var(--font-alisha);
	line-height: 1;
	content: "Reason"counter(reason, decimal-leading-zero);
	counter-increment: reason 1;
	transform: rotate(-10deg);
	display: block;
	position: absolute;
	top: -8px;
	z-index: 2;
}

.p-reason__item--shadow:nth-child(odd) .p-reason__number::before {
	left: 150px;
}

.p-reason__item--shadow:nth-child(even) .p-reason__number::before {
	left: 20px;
}

.p-reason__heading span {
	color: #2497db;
}

.p-reason__thumb {
	width: 135px;
	position: absolute;
	z-index: 2;
	left: -19px;
	top: -50px;
}

.p-reason__item--shadow:nth-child(even) .p-reason__thumb {
	left: auto;
	right: -19px;
}

.p-reason__image {
	width: 100%;
	height: 100%;
}

.p-reason__text {
	padding: 0 20px 20px;
}

.p-reason__text span {
	position: relative;
	z-index: 1;
}

.p-reason__text span::before {
	content:"";
	width: 100%;
	height: 4px;
	background: #eeff7b;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.p-orthodontics {
	background: url(../../images/top/orthodontics-bg.png) no-repeat left -12px top, #c3eff4;
	background-size: calc(100% + 24px);
	padding: 60px 0 0;
	position: relative;
}

.p-orthodontics__heading {
	line-height: 1.4;
	text-align: center;
	margin-bottom: 30px;
}

.p-orthodontics__heading small {
	font-size: 1.8rem;
	font-weight: var(--font-weight-bold);
	display: block;
}

.p-orthodontics__heading strong {
	color: #2497db;
	font-size: 3.4rem;
	font-weight: var(--font-weight-bold);
	text-decoration: underline wavy #ffaf3d;
	text-decoration-thickness: 2px;
	text-underline-offset: 10px;
}

.p-orthodontics__heading strong span {
	-webkit-text-stroke: 6px var(--color-white);
	text-stroke: 6px var(--color-white);
	paint-order: stroke;
}

.p-orthodontics__heading strong span:nth-child(1) {
	color: #f67fb1;
}

.p-orthodontics__heading strong span:nth-child(2) {
	color: #886bbb;
}

.p-orthodontics__heading strong span:nth-child(3) {
	color: #00b664;
}

.p-orthodontics__heading strong span:nth-child(4) {
	color: #e28c4a;
}

.p-orthodontics__thumb {
	margin: 0 -8px 30px -1.5px;
}

.p-orthodontics__column {
	text-align: center;
	background: var(--color-white);
	border-radius: 8px;
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.2);
	margin-top: 30px;
	padding: 10px 20px 30px;
}

.p-orthodontics__column__deco {
	width: 75px;
	background: #c3eff4;
	display: block;
	margin: 0 auto 30px;
}

.p-orthodontics__column__heading {
	color: #1c3a5e;
	font-size: 2.4rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	margin-bottom: 30px;
}

.p-orthodontics__column__heading strong {
	color: #2497db;
	font-size: 3.2rem;
	font-weight: var(--font-weight-bold);
}

.p-orthodontics__column__heading__deco {
	width: 221px;
}

.p-orthodontics__column__image {
	max-width: 258px;
	margin-bottom: 20px;
}

.p-orthodontics__column__thumb figcaption {
	font-size: 1.7rem;
	font-weight: var(--font-weight-bold);
}

.p-orthodontics__column__thumb figcaption span {
	color: #2497db;
}

.p-present {
	text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
	text-align: center;
	aspect-ratio: 500 / 771;
	background: url(../../images/top/present-bg.jpg) no-repeat center bottom;
	background-size: cover;
	margin-top: -40px;
	padding: 100px 0 20px;
}

.p-present .l-container {
	display: flex;
	align-items: center;
	align-content: space-between;
	flex-direction: column;
	height: 100%;
}

.p-present__heading {
	color: #1c3a5e;
	font-size: 2.1rem;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-semibold);
	line-height: 1.4;
}

.p-present__heading strong {
	font-size: 4rem;
	font-weight: var(--font-weight-semibold);
	background: linear-gradient(90deg, #25b3d7 0%, #3b7bc7 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	text-shadow: none;
	filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
	position: relative;
}

.p-present__heading strong::before {
	content: "";
	aspect-ratio: 30 / 1;
	width: 100%;
	background: url(../../images/common/title-deco05.svg) no-repeat left bottom;
	background-size: 100%;
	position: absolute;
	left: 0;
	bottom: -5px;
}

.p-present__heading span {
	font-size: 3rem;
}

.p-present__text {
	font-size: 2.1rem;
	font-weight: var(--font-weight-bold);
	background: linear-gradient(90deg, #25b3d7 0%, #3b7bc7 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	text-shadow: none;
	filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
	margin-top: auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
}

.p-present__text::before,
.p-present__text::after {
	content: "";
	filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff);
	width: 2px;
	height: 25px;
}

.p-present__text::before {
	background: #25b3d7;
	transform: rotate(-30deg);
}

.p-present__text::after {
	background: #3b7bc7;
	transform: rotate(30deg);
}

.p-difference {
	background: url(../../images/top/difference-bg.jpg) no-repeat center top;
	background-size: cover;
	padding: 40px 0;
}

.p-difference__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-difference__inner {
	overflow-x: scroll;
	overflow-y: hidden;
	margin-right: -19px;
	position: relative;
}

.p-difference__inner::before {
	content: "";
	width: 172px;
	height: 100%;
	border: 4px solid #eeff7b;
	border-radius: 8px;
	position: absolute;
	left: 168px;
	top: 0;
}

.p-difference__inner table {
	font-weight: var(--font-weight-bold);
	width: 512px;
	background: var(--color-white);
}

.p-difference__inner thead th {
	color: #2497db;
	text-align: center;
	background: #fff;
	padding: 15px;
}

.p-difference__inner tbody th,
.p-difference__inner tbody td {
	vertical-align: middle;
	padding: 15px;
}

.p-difference__inner thead th:first-child {
	background: none;
}

.p-difference__inner tbody th {
	color: #1c3a5e;
	font-size: 1.3rem;
	text-align: center
}

.p-difference__inner tbody tr:nth-child(odd) th {
	background: #e9f5fb;
}

.p-difference__inner tbody tr:first-child th:first-child {
	border-radius: 8px 0 0 0;
}

.p-difference__inner tbody tr:last-child th:first-child {
	border-radius: 0 0 0 8px;
}

.p-difference__inner tbody tr:nth-child(even) th {
	background: var(--color-white);
}

.p-difference__inner tbody th span {
	text-align: left;
	display: inline-block;
}

.p-difference__inner tbody td {
	font-size: 1.2rem;
	text-align: center;
	width: 172px;
}

.p-difference__inner tbody tr:nth-child(odd) td {
	background: #e9f5fb;
}

.p-difference__inner tbody tr:nth-child(even) td {
	background: var(--color-white);
}

.p-difference__inner tbody tr:first-child td:last-child {
	border-radius: 0 8px 0 0;
}

.p-difference__inner tbody tr:last-child td:last-child {
	border-radius: 0 0 8px 0;
}

.p-difference__inner tbody td span {
	color: #2497db;
	font-size: 2.2rem;
	display: block;
}

.p-difference__inner tbody td small {
	font-size: 1rem;
	line-height: 1.2;
	display: inline-block;
}

.p-dentition {
	text-align: center;
	background: url(../../images/top/dentition-bg.jpg) no-repeat center top;
	background-size: cover;
	padding: 50px 0;
}

.p-dentition__header {
	margin-bottom: 30px;
}

.p-dentition__heading .c-heading__image {
	width: 207px;
	display: block;
	margin: 0 auto 10px;
}

.p-dentition__heading .c-heading__text {
	color: #f7526e;
	font-size: 2.9rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}

.p-dentition__heading__deco {
	width: 266px;
	display: block;
	margin: 5px auto 0;
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

.p-dentition__inner {
	display: flex;
}

.p-dentition__list {
	display: flex;
	gap: 15px;
	animation: infinity-scroll-left 20s infinite linear 0.5s both;
}

.p-dentition__list:first-child {
	margin-right: 15px;
}

.p-dentition__item {
	width: calc(450px / 2);
	aspect-ratio: 1 / 1;
	background: linear-gradient(to right, #ffc5bd 0%, #ffc087 100%);
	border-radius: 8px;
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.2);
	padding: 20px;
	position: relative;
}

.p-dentition__item::before {
	content: "";
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	background: #f9f9f9;
	border-radius: 6px;
	position: absolute;
	left: 4px;
	top: 4px;
}

.p-dentition__image,
.p-dentition__text {
	position: relative;
}

.p-dentition__image {
	margin-bottom: 20px;
}

.p-dentition__text {
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}

.p-dentition__text span {
	color: var(--color-white);
	min-width: 62px;
	background: #f7526e;
	display: inline-block;
	margin: 5px auto 0;
	padding: 0 5px;
}

.p-merit__text {
	color: #009bba;
	font-size: 1.3rem;
	font-weight: var(--font-weight-bold);
	padding: 10px;
	text-align: center;
}

.p-flow {
	background: url(../../images/top/flow-bg.jpg) no-repeat center top;
	background-size: cover;
	padding: 40px 0 50px;
}

.p-flow__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-flow__list {
	counter-reset: flow 0;
}

.p-flow .slick-list {
	overflow: visible;
}

.p-flow__list .slick-prev {
	display: none !important;
}

.p-flow__list .slick-next {
	right: 10px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ccc;
	display: flex;
	justify-content: center;
	align-items: center;
}

.p-flow__list .slick-next:before {
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 14px solid var(--color-white);
	border-right: 0;
	opacity: 1;
	font-size: 0;
}

.p-flow__item {
	padding: 0 30px;
}

.p-flow__card {
	background: var(--color-white);
	border-radius: 8px;
	box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.2);
	padding: 40px 20px;
	position: relative;
}

.p-flow__card::before {
	color: var(--color-white);
	font-size: 1.8rem;
	font-family: "Times New Roman", var(--font-serif);
	font-weight: var(--font-weight-bold);
	text-align: center;
	content: "STEP"counter(flow, decimal-leading-zero);
	counter-increment: flow 1;
	width: 76px;
	height: 25px;
	line-height: 25px;
	background: linear-gradient(to right, #2497db 0%, #13bfe2 100%);
	position: absolute;
	left: 0;
	top: 28px;
}

.p-flow__image {
	margin-bottom: 10px;
}

.p-flow__name {
	color: #1c3a5e;
	font-size: 1.7rem;
	font-weight: var(--font-weight-bold);
	position: relative;
	margin-bottom: 5px;
	padding-bottom: 5px;
}

.p-flow__name::before {
	content: "";
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, #3b7bc7 0%, #25b3d7 100%);
	position: absolute;
	left: 0;
	bottom: 0;
}

.p-consultation {
	color: var(--color-white);
	font-family: var(--font-serif);
	font-weight: var(--font-weight-bold);
	text-align: center;
	background: linear-gradient(135deg, #25b3d7 0%, #3b7bc7 100%);
	padding: 50px 0;
}

.p-consultation__header {
	margin-bottom: 30px;
}

.p-consultation__heading {
	line-height: 1;
}

.p-consultation__title--deco img {
	width: 61px;
	margin-bottom: 10px;
}

.p-consultation__text--ja {
	color: #eeff7b;
	font-size: 4.8rem;
	letter-spacing: 0.1em;
	text-shadow: 5px 5px 5px #3b7bc7;
	display: block;
}

.p-consultation__text--en {
	font-size: 2.2rem;
	font-family: var(--font-alisha);
	display: block;
	transform: rotate(-5deg);
	margin-top: 15px;
}

.p-consultation__intro {
	font-size: 1.8rem;
	margin-bottom: 30px;
}

.p-consultation__intro span {
	text-decoration: underline wavy #eeff7b;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}

.p-consultation__text {
	font-size: 1.6rem;
	margin-bottom: 5px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-consultation__text::before,
.p-consultation__text::after {
	content: "";
	width: 1px;
	height: 18px;
	background: #fff;
}

.p-consultation__text::before {
	transform: rotate(-30deg);
}

.p-consultation__text::after {
	transform: rotate(30deg);
}

.p-consultation__text span {
	margin: 0 1em;
}

.p-consultation__button--web {
	color: #2497db;
	font-size: 2.4rem;
	width: 270px;
	height: 60px;
	background: var(--color-white);
	border-radius: 30px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	display: block;
	margin: 0 auto;
}

.p-consultation__web__heading {
	height: 100%;
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
}

.p-consultation__icon img {
	vertical-align: middle;
}

.p-consultation__icon--time img {
	width: 32px;
}

.p-consultation__icon--arrow img {
	width: 19px;
}

.p-consultation__icon--tel {
	display: flex;
	align-items: center;
}

.p-consultation__icon--tel img {
	width: 30px;
}

.p-consultation__tel {
	margin-top: 30px;
}

.p-consultation__tel__heading {
	font-size: 4.3rem;
	line-height: 1;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	gap: 10px;
}
