@charset "UTF-8";

/* setting*/
*,
*::before,
*::after {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol,
li {
	margin: 0;
	padding: 0;
	font-weight: inherit;
}

ul,
ol {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

html:focus-within {
	scroll-behavior: smooth;
}

body {
	position: relative;
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
	font-size: 1.6rem;
	font-weight: 400;
	width: 100%;
	height: 100%;
	color: var(--miyashitapark-black);
	overflow-x: hidden;
	/* パララックス背景設定 */
	background-image: url(images/background01.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	font-family: 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'MS PGothic', sans-serif;
	/* font-family: 'YuMincho', '游明朝', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Noto Serif JP', 'MS PMincho', serif; */
}
a {
	color: inherit;
	text-decoration: none;
}
a:not([class]) {
	text-decoration-skip-ink: none;
}

em,
strong,
b,
i {
	font-weight: inherit;
	font-size: inherit;
	font-style: inherit;
}

img,
picture {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

img,
svg,
video {
	display: block;
	height: auto;
}

input,
button,
textarea,
select {
	font: inherit;
	border: none;
}
html {
	font-size: 62.5%;
}
@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

:root {
	--miyashitapark-white: #ffffff;
	--miyashitapark-light-white: ##f9fafb;
	--miyashitapark-black: #333333;
	--miyashitapark-main-blue: #47aec3;
	--miyashitapark-lightblue: #dcf3f9;
	--miyashitapark-navy01: #123963;
	--miyashitapark-navy02: #204079;
	--miyashitapark-brown: #b67f1d;
	--miyashitapark-lightgray: #efefef;
	--miyashitapark-darkgray: #a0a0a0;
	--miyashitapark-gradetion-blue: linear-gradient(to right, #1e3c72, #2a5298);
	--cta-h: 56px;
	--cta-gap: 8px;
	--cta-h-pc: 76px;
	--cta-h-sp: 64px;
}

picture {
	display: block;
	background-color: var();
}

/* common */

.text {
	font-size: 1.6rem;
	line-height: 2;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
	word-break: break-all;
	color: var(--miyashitapark-black);
}

/* animation */
.fade-in {
	animation: fadeIn 0.6s ease-in-out;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* common */
.flex-container {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.parallax-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url(images/background01.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -1;
	transform: translate3d(0, 0, 0);
	will-change: transform;
}

/* site-header */

.site-header {
	position: fixed;
	top: -120px;
	left: 0;
	width: 100%;
	max-height: 120px;
	overflow: hidden;
	background-color: var(--miyashitapark-lightgray);
	transition: top 0.4s ease;
	z-index: 1000;
	text-align: center;
	padding: 16px 0;
}
.site-header.active {
	top: 0;
}

.site-header.active {
	top: 0;
}

.header-logo {
	width: 50%;
	max-width: 240px;
	margin: 0 auto;
	display: block;
	padding-bottom: 10px;
}

@media screen and (max-width: 500px) {
	.header-logo {
		width: 90%;
		max-width: 220px;
	}
}

/* cta*/
.cta-fixed {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1100;
	padding: 15px 0;
	background: transparent;
}

.cta-fixed__inner {
	width: 100%;
	max-width: none;
	margin-left: auto;
	display: grid;
	grid-template-columns: auto auto;
	gap: var(--cta-gap);
	align-items: stretch;
	padding: 8px;
	border-radius: 6px;
	justify-content: flex-end;
}

.cta-fixed__phone {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 10px;
	border: 2px solid var(--miyashitapark-main-blue);
	background: #fff;
	text-decoration: none;
	padding: 8px 12px;
	border-radius: 4px;
	text-align: left;
	width: auto;
	max-width: 260px;
}
.cta-fixed__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	line-height: 1.15;
}

.cta-fixed__label {
	font-size: 12px;
	color: var(--miyashitapark-main-blue);
}

.cta-fixed__num {
	font-size: 22px;
	color: var(--miyashitapark-main-blue);
}

.icon-tel {
	width: 20px;
	height: 20px;
}

.cta-fixed__reserve {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 180px;
	padding: 0 16px;
	background: var(--miyashitapark-main-blue);
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	justify-content: center;
}
.icon-reserve {
	width: 20px;
	height: 20px;
}

body {
	padding-top: var(--cta-h-pc);
}

@media (max-width: 768px) {
	.cta-fixed {
		top: auto;
		bottom: 0;
		padding: 0;
		background: transparent;
	}
	.cta-fixed__inner {
		max-width: none;
		border-radius: 0;
		padding: 0;
		grid-template-columns: 1fr 1fr;
		width: 100%;
	}
	.cta-fixed__phone,
	.cta-fixed__reserve {
		width: 100%;
		border-radius: 0;
		padding: 15px;
		box-sizing: border-box;
		max-width: none;
		align-items: center;
	}

	.cta-fixed__phone {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding: 15px;
	}

	.cta-fixed__text {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 6px;
		margin-top: 0;
	}

	.cta-fixed__label {
		display: none;
	}

	.cta-fixed__num {
		font-size: 20px;
		color: var(--miyashitapark-main-blue);
	}

	body {
		padding-top: 0;
		padding-bottom: var(--cta-h-sp);
	}
}

@media print {
	.cta-fixed {
		display: none;
	}
}

@media screen and (max-width: 500px) {
	.cta-fixed__inner {
		gap: 0;
	}
	.cta-fixed__num {
		font-size: 18px;
	}
	.icon-tel {
		width: 20px;
	}

	.cta-fixed__text {
		gap: 1px;
	}
	.cta-fixed__phone,
	.cta-fixed__reserve {
		gap: 5px;
	}
}

/* footer*/

.site-footer .section-inner {
	max-width: 1140px;
}

.footer-flex-container {
	justify-content: space-between;
	margin-bottom: 90px;
	flex-wrap: nowrap;
	gap: 30px;
}

.footer-flex-container .logo {
	margin-bottom: 20px;
}

.footer-flex-container .address {
	font-size: 16px;
	text-align: center;
	margin-bottom: 50px;
}

.footer-flex-container .contact-wrapper {
	width: 100%;
	line-height: 1;
	letter-spacing: 0;
	border-top: 1px solid var(--miyashitapark-black);
	border-bottom: 1px solid var(--miyashitapark-black);
	padding: 40px 0;
	text-align: center;
}

.contact-wrapper {
	width: 80%;
	margin: 0 auto;
}

.contact-wrapper .tel {
	font-size: 48px;
	font-weight: 400;
	letter-spacing: 0.01em;
	position: relative;
	margin-bottom: 10px;
	display: inline-block;
}

.contact-wrapper .tel:before {
	content: '';
	width: 34px;
	height: 34px;
	margin: auto;
	background: url(https://sm-dc.com/invisalign/wp-content/themes/res/images/page/icon_tel.svg) center / contain no-repeat;
	position: absolute;
	left: -50px;
	right: auto;
	top: 5px;
}

.contact-wrapper .time {
	display: block;
}

.footer-flex-container .content-right .banner a {
	margin-bottom: 60px;
	display: block;
}

.calender-wrapper {
	background-color: var(--miyashitapark-lightgray);
	padding: 10px 15px;
	margin-bottom: 30px;
}

.calender-wrapper table {
	width: 100%;
	max-width: 440px;
	margin: 0 auto;
}

.tbl_time02 table {
	width: 100%;
	max-width: 440px;
	margin: 0 auto;
	color: var(--miyashitapark-black);
}

.tbl_time02 thead th {
	font-weight: 300;
	line-height: 1.5;
	padding: calc(9 / 1920 * 100vw) 0 calc(15 / 1920 * 100vw);
	border-bottom: 1px solid #fff;
}

.tbl_time02 tbody th,
.tbl_time02 thead th:first-child {
	width: 39%;
}

.tbl_time02 tbody td,
.tbl_time02 tbody th {
	padding: calc(11 / 1920 * 100vw) 0 calc(3 / 1920 * 100vw);
	line-height: 1.5;
}

.tbl_time02 tbody tr:last-child td,
.tbl_time02 tbody tr:last-child th {
	padding: calc(3 / 1920 * 100vw) 0 calc(10 / 1920 * 100vw);
}

.tbl_time02 tbody th,
.tbl_time02 tbody tr:last-child th {
	font-weight: 300;
	padding-right: calc(13 / 1920 * 100vw);
}

.tbl_time02 tbody td,
.tbl_time02 thead th:not(:first-child) {
	width: calc(49% / 6);
	text-align: left;
}

.tbl_time02 tbody td:last-child,
.tbl_time02 thead th:last-child {
	width: 12%;
	text-align: left;
}

.tbl_time02 tbody td {
	font-size: 0.875rem;
	padding-left: 0.05em;
}

.tbl_time02 tbody tr:first-child th {
	padding-left: 0.6em;
}

.tbl_time02 td span {
	color: #de7683;
}

.txt_col10 {
	color: #de7683;
}

.tbl_caption {
	text-align: center;
	letter-spacing: 0.01em;
}

.footer-bottom-container {
	background-color: var(--miyashitapark-lightgray);
	padding: 30px 0;
}

.footer-title {
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.footer-subtext {
	margin-bottom: 20px;
	font-size: 20px;
	text-align: center;
}

.footer-note {
	font-size: 14px;
	color: var(--miyashitapark-darkgray);
	text-align: center;
}

.note-sub {
	margin-top: 0.5rem;
}

.copy-right {
	background-color: var(--miyashitapark-white);
}

.copy-right .text {
	text-align: center;
	display: block;
	padding: 1em;
	font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
	.footer-flex-container {
		flex-direction: column-reverse;
	}
	.site-footer .section-inner {
		padding: 0 15px;
	}

	.footer-flex-container {
		flex-direction: column-reverse;
		gap: 40px;
		align-items: center;
		text-align: center;
	}

	.footer-flex-container .content-left,
	.footer-flex-container .content-right {
		width: 100%;
	}

	.footer-flex-container .logo img {
		width: 50%;
		height: auto;
		margin: 0 auto;
		display: block;
	}

	.footer-flex-container .address {
		font-size: 14px;
		margin-bottom: 30px;
		text-align: center;
	}

	.contact-wrapper .tel {
		font-size: 32px;
	}

	.contact-wrapper .tel:before {
		left: -40px;
		width: 24px;
		height: 24px;
		top: 4px;
	}

	.contact-wrapper .time {
		font-size: 14px;
		margin-top: 5px;
	}

	.footer-flex-container .banner a img {
		width: 100%;
		height: auto;
	}

	.calender-wrapper {
		width: 100%;
		padding: 15px;
		box-sizing: border-box;
	}

	.tbl_time02 table {
		width: 100%;
		font-size: 14px;
	}

	.tbl_time02 thead th,
	.tbl_time02 tbody td,
	.tbl_time02 tbody th {
		font-size: 13px;
		padding: 6px;
		text-align: center;
	}

	.tbl_caption {
		font-size: 13px;
		line-height: 1.6;
	}

	.footer-bottom-container {
		padding: 20px 15px;
	}

	.footer-subtext {
		font-size: 16px;
		line-height: 1.6;
		text-align: center;
	}

	.footer-note {
		font-size: 13px;
		line-height: 1.6;
	}

	.copy-right .text {
		font-size: 14px;
		padding: 0.8em;
	}
	.site-footer iframe {
		max-height: 250px;
	}
	.site-footer .banner {
		width: 70%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 500px) {
	.footer-subtext {
		font-size: 14px;
		text-align: center;
	}
	.copy-right .text {
		padding: 0.5em;
	}
	.site-footer .banner {
		width: 90%;
	}
	.footer-flex-container .content-right .banner a {
		margin-bottom: 30px;
	}
	.footer-flex-container .logo img {
		width: 90%;
	}
	.footer-flex-container .contact-wrapper {
		padding: 20px 0;
	}
	.contact-wrapper .tel {
		font-size: 26px;
	}
	.footer-flex-container {
		margin-bottom: 45px;
	}
}

.sp-br {
	display: none;
}

.pc-br {
	display: inline;
}

@media screen and (max-width: 500px) {
	.sp-br {
		display: inline;
	}
	.pc-br {
		display: none;
	}
}

/******************/
/* simulation *********/

.simulation-section {
	margin-bottom: clamp(90px, 8.3333vw, 120px);
	font-family: 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'MS PGothic', sans-serif;
	margin-top: 30px;
}

.simulation-inner {
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.simulation-inner {
		width: 100%;
	}
}

@media screen and (max-width: 500px) {
	.simulation-section {
		margin-top: 0;
	}
}

/* simulation-hedding */

.simulation-hedding {
	margin-bottom: 20px;
	padding-left: 1em;
	padding-right: 1em;
}

.simulation-hedding-container {
	margin: 0 auto;
	max-width: 1220px;
	text-align: center;
	margin-bottom: 32px;
}

.simulation-hedding-logo {
	margin-bottom: 30px;
}

.simulation-hedding-logo img {
	display: block;
	margin: 0 auto;
	width: 250px;
}

.simulation-hedding .main-title {
	font-size: 2.4rem;
	font-family: yu-mincho-pr6n, sans-serif;
	color: var(--miyashitapark-main-blue);
	margin-bottom: 15px;
}
.simulation-hedding .lead-title {
	font-size: 1.8rem;
	text-align: center;
	display: inline-block;
	line-height: 1.6;
}

.step-card {
	transition: all 0.3s ease;
	border: 2px solid transparent;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	padding: 30px 15px;
	margin-bottom: 2rem;
}

.step-card:hover {
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
	.simulation-hedding .main-title {
		font-size: clamp(28px, 3.6458vw, 38px);
	}
	.simulation-hedding .lead-title {
		font-size: 16px;
	}
	.step-card {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 500px) {
	.simulation-hedding {
		padding-top: 20px;
		margin-bottom: 10px;
	}
	.simulation-hedding .lead-title {
		font-size: 13px;
		line-height: 1.6;
	}
	.simulation-hedding .main-title {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.simulation-hedding-logo {
		width: 60%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.simulation-hedding-container {
		margin-bottom: 16px;
	}
	.simulation-hedding-logo img {
		width: 180px;
	}
}

/* ベース */
:root {
	--blue-1: #667eea;
	--purple-1: #764ba2;
	--green-1: #10b981;
	--gray-100: #f5f7fa;
	--gray-200: #e5e7eb;
	--gray-300: #d1d5db;
	--gray-500: #6b7280;
	--gray-700: #374151;
	--white: #fff;
	--yellow: #facc15;
	--warning-bg: #fefce8;
	--warning-border: #facc15;
	--muted: #6b7280;
}

.mb-24 {
	margin-bottom: 24px;
}
.mb-32 {
	margin-bottom: 32px;
}
.mb-16 {
	margin-bottom: 16px;
}
.mt-8 {
	margin-top: 8px;
}
.mt-12 {
	margin-top: 12px;
}
.mt-24 {
	margin-top: 24px;
}
.ml-auto {
	margin-left: auto;
}
.flex {
	display: flex;
}
.gap-8 {
	gap: 8px;
}
.gap-24 {
	gap: 24px;
}
.center {
	text-align: center;
}

/* ヘッダー */
.header {
	padding: 32px 0 24px;
}
.gradient-bg {
	background: linear-gradient(135deg, var(--blue-1) 0%, var(--purple-1) 100%);
}
.hero {
	text-align: center;
}
.hero__title {
	color: #fff;
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 8px;
}
.hero__title .fa-tooth {
	margin-right: 8px;
}
.hero__sub {
	color: #e5ecff;
	margin: 0;
}

/* ガラスカード */
.glass-effect {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 16px;
}
.glass-box {
	padding: 16px;
	margin-bottom: 16px;
}
.glass-box__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
.icon-3xl {
	font-size: 28px;
}
.icon-4xl {
	font-size: 36px;
}

/* テキスト */
.heading-md {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}
.heading-sm {
	font-size: 16px;
	font-weight: 700;
	margin: 0;
}
.q-title {
	font-size: clamp(16px, 1.388888vw, 20px);
	font-weight: 700;
	margin: 0 0 16px;
	display: flex;
	align-items: center;
}
.result-title {
	font-size: clamp(18px, 1.80555vw, 26px);
	font-weight: 800;
	text-align: center;
	margin: 0 0 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.text-muted {
	color: var(--muted);
	font-size: 14px;
}
.text-light {
	color: #9ca3af;
}
.text-blue {
	color: #2563eb;
}
.text-purple {
	color: #7c3aed;
}
.text-green {
	color: #16a34a;
}
.text-orange {
	color: #f97316;
}
.text-gray {
	color: #9ca3af;
}
.text-yellow {
	color: #f59e0b;
}
.text-accent {
	color: #2563eb;
	font-weight: 700;
}
.text-note {
	color: #9ca3af;
	font-size: 12px;
}
.text-warning {
	color: #a16207;
}

@media screen and (max-width: 500px) {
	.q-title {
		font-size: 15px;
		justify-content: center;
	}
	.result-title {
		margin-bottom: 12px;
	}
	.heading-md {
		font-size: 15px;
	}
	.text-muted {
		font-size: 11px;
	}
}

/* カード */
.card {
	background: #fff;
	border: 1px solid var(--gray-200);
	border-radius: 16px;
	padding: 24px;
}
.card--shadow {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}
.card__title {
	font-weight: 700;
	margin: 0 0 12px;
	display: flex;
	align-items: center;
}

@media screen and (max-width: 500px) {
	.card {
		padding: 16px;
		margin-bottom: 16px;
	}
	.card__title {
		margin-bottom: 5px;
	}
}

/* サマリー */
.summary .item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.mr-8 {
	margin-right: 8px;
}

@media screen and (max-width: 500px) {
	.selectionSummary .card__title {
		font-size: 15px;
	}
	.selectionSummary .text-light {
		font-size: 13px;
	}
	.summary .item span {
		font-size: 13px;
	}
}

/* グリッド */
.grid-2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 768px) {
	.grid-2 {
		grid-template-columns: 1fr 1fr;
	}
}

#question3 .option-card__inner {
	min-height: 100%;
}

/* 子要素が1つだけの場合は常に縦並び */
.option-card:only-child {
	grid-column: 1 / -1;
	justify-self: center;
	max-width: 400px;
}

/* 子要素が3つだけの場合も縦並び */
.grid-2:has(> .option-card:nth-child(3):last-child) {
	grid-template-columns: 1fr !important;
}
.stack-16 {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* オプションカード */
.option-card {
	border: 2px solid var(--gray-200);
	border-radius: 14px;
	padding: 1.5em;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	transform: translateY(0);
	background: #fff;
	cursor: pointer;
}
.option-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.option-card.selected {
	background: var(--miyashitapark-lightgray);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px var(--miyashitapark-lightgray);
	border-color: transparent;
}
.option-card__inner.center {
	text-align: center;
}

.option-card__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.option-card__title {
	font-size: 20px;
	margin-bottom: 0;
	font-weight: 700;
	line-height: 1.2;
}

.option-card__title .font-min {
	font-size: 14px;
}

.option-card .thumbnail {
	margin-bottom: 1em;
}

.option-card .thumbnail img {
	display: block;
	margin: 0 auto;
}

.option-row__title {
	font-size: 18px;
	font-weight: 600;
}
#question5 .option-card .thumbnail {
	margin-bottom: 0 !important;
}

@media screen and (max-width: 500px) {
	.option-card {
		padding: 1em;
	}
	.option-card__title {
		font-size: 15px;
	}
	.option-row__title {
		font-size: 14px;
	}
	.text-accent {
		font-size: 13px;
	}

	.option-card__title .font-min {
		font-size: 12px;
	}
	.option-none {
		flex-direction: column;
	}
	#question5 .option-card .thumbnail {
		width: 100px;
		height: 100px;
	}

	#question5 .option-card .thumbnail img {
		margin: 0;
	}
}

/* オプション行（チェック付き） */
.option-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.option-row__left {
	display: flex;
	align-items: center;
	gap: 30px;
}
.checkbox {
	width: 20px;
	height: 20px;
}

@media screen and (max-width: 500px) {
	.option-row__left {
		gap: 10px;
		width: 250px;
	}
}

/* プログレス */
.progress {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 300px;
	margin: 0 auto 32px;
}
.progress-step {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 2px solid var(--gray-300);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background: #fff;
	transition: all 0.4s ease;
	font-size: 14px;
}
.progress-step.active {
	background: var(--miyashitapark-main-blue);
	color: #fff;
	border-color: transparent;
}
.progress-step.completed {
	background: var(--miyashitapark-lightgray);
	border-color: transparent;
}
.progress-line {
	flex: 1;
	height: 2px;
	background: var(--gray-300);
	margin: 0 5px;
}

@media screen and (max-width: 500px) {
	.progress {
		max-width: 160px;
		margin-bottom: 16px;
	}
	.progress-step {
		width: 25px;
		height: 25px;
		font-size: 12px;
	}
}

/* アニメ */
.fade-in {
	animation: fadeIn 0.6s ease-out forwards;
	opacity: 0;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 結果カード */
.result-card {
	background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(118, 75, 162, 0.05));
	border: 1px solid rgba(102, 126, 234, 0.2);
	border-radius: 16px;
}
.p-24 {
	padding: 24px;
}
.breakdown {
	background: linear-gradient(90deg, #eef3ff, #f4effa);
	border-radius: 12px;
	padding: 16px;
}
.breakdown__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 10px 0;
}
.breakdown__row--lg {
	font-size: 18px;
	font-weight: 800;
}
.breakdown__divider {
	height: 2px;
	background: var(--gray-300);
	margin: 10px 0;
}
.price-highlight {
	background: var(--miyashitapark-navy01);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.total {
	font-size: 22px;
	font-weight: 800;
}

@media screen and (max-width: 500px) {
	.result-card {
		padding: 15px;
	}
	.breakdown {
		padding: 8px;
	}

	.breakdown__row {
		align-items: baseline;
		flex-direction: column;
	}
	.breakdown__row--lg span {
		font-size: 16px;
	}
	.breakdown__row span {
		font-size: 14px;
	}
	#priceNote {
		font-size: 13px;
	}
}

/* 支払い欄 */
.indent {
	padding-left: 12px;
}

/* ボタン郡 */
.nav-row {
	display: block;
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 12px;
	padding: 12px 20px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	color: #fff;
}
.btn-lg {
	padding: 16px 24px;
	font-size: 16px;
}
.btn-primary {
	background: var(--miyashitapark-gradetion-blue);
	box-shadow: none;
}
.btn-primary:hover {
	transform: translateY(-1px);
}
.btn-secondary {
	background: var(--miyashitapark-main-blue);
}
.btn-secondary:hover {
	transform: translateY(-1px);
}
.btn-gray {
	background: #6b7280;
}
.btn-gray:hover {
	background: #4b5563;
}
.btn.disabled,
.btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.reserve-btn {
	margin-bottom: 16px;
}

@media screen and (max-width: 500px) {
	.btn {
		font-size: 14px;
	}
}

/* ユーティリティ */
.hidden {
	display: none !important;
}
.mr-16 {
	margin-right: 16px;
}
.ml-8 {
	margin-left: 8px;
}

/******************/
/* explanation *********/

.section-inner {
	width: 80%;
	margin: 0 auto;
	max-width: 1620px;
}

.section .text {
	font-size: clamp(16px, 1.25vw, 18px);
	color: var(--miyashitapark-black);
}

@media screen and (max-width: 500px) {
	.section .text {
		font-size: 14px;
		text-align: justify;
	}
	.section-inner {
		width: 90%;
	}
}

/* section共通*/

.section {
	margin-bottom: 180px;
	margin-bottom: clamp(120px, 12.5vw, 180px);
}

.section-title-wrapper {
	background: var(--miyashitapark-gradetion-blue);
	padding: clamp(10px, 3vw, 20px) 0;
	text-align: center;
}

.section-title-wrapper h2 {
	font-size: clamp(26px, 2.08333vw, 30px);
	color: var(--miyashitapark-white);
	font-family: 'YuMincho', '游明朝', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Noto Serif JP', 'MS PMincho', serif;
}

.section-main-wrapper {
	margin-top: 0;
	margin-bottom: 90px;
}

.section-main-wrapper .thumbnail {
	width: 100%;
	margin-bottom: 60px;
}

.section-main-wrapper .thumbnail img {
	width: 100%;
	object-fit: contain;
	aspect-ratio: 16 / 9;
}

.section-main-wrapper .text-wrapper {
	width: 90%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.section-title-wrapper h2 {
		font-size: clamp(20px, 3.125vw, 26px);
	}
	.section-main-wrapper .text-wrapper {
		width: 100%;
	}
}

@media screen and (max-width: 500px) {
	.section {
		margin-bottom: 60px;
	}
	.section-title-wrapper h2 {
		font-size: 18px;
	}
	.section-main-wrapper .thumbnail {
		margin-bottom: 30px;
	}
	.section-main-wrapper {
		margin-bottom: 60px;
	}
	.section-main-wrapper .thumbnail img {
		aspect-ratio: auto;
	}
}

/* 　section-price-list */

.section-price-list {
	width: 90%;
	margin: 0 auto;
}

.section-price-list .list-title {
	font-size: 26px;
	text-align: center;
	background-color: var(--miyashitapark-main-blue);
	color: var(--miyashitapark-white);
	padding: clamp(10px, 3vw, 20px) 0;
	border-bottom: 0.5px solid var(--miyashitapark-white);
}
.section-price-list .price-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.section-price-list .price-table tr {
	font-size: clamp(18px, 1.3888vw, 20px);
	vertical-align: middle;
	background-color: var(--miyashitapark-main-blue);
}

.section-price-list .price-table th,
.section-price-list .price-table td {
	padding: clamp(16px, 4vw, 30px) clamp(10px, 3vw, 20px);
	font-weight: 400;
	width: 50%;
	box-sizing: border-box;
}

.section-price-list .price-table th {
	color: var(--miyashitapark-white);
	border-top: 0.5px solid var(--miyashitapark-white);
	text-align: left;
}

.section-price-list .price-table td {
	background-color: var(--miyashitapark-white);
}

.section-price-list .price-table td:last-child {
	border-bottom: 0.5px solid var(--miyashitapark-main-blue);
	border-right: 0.5px solid var(--miyashitapark-main-blue);
}

@media screen and (max-width: 768px) {
	.section-price-list {
		width: 100%;
	}
	.section-price-list .price-table tr {
		font-size: clamp(16px, 2.34vw, 18px);
	}
	.section-price-list .list-title {
		font-size: clamp(18px, 2.8645vw, 22px);
	}
}
@media screen and (max-width: 480px) {
	.section-price-list .price-table,
	.section-price-list .price-table thead,
	.section-price-list .price-table tbody,
	.section-price-list .price-table tr {
		display: block;
		width: 100%;
	}

	.section-price-list .price-table th,
	.section-price-list .price-table td {
		display: block;
		width: 100%;
		padding: 12px 16px;
		text-align: left;
	}

	.section-price-list .price-table th {
		border-top: none;
		background-color: var(--miyashitapark-main-blue);
		color: var(--miyashitapark-white);
	}

	.section-price-list .price-table td {
		background-color: var(--miyashitapark-white);
		border-bottom: 1px solid var(--miyashitapark-main-blue);
	}
	.section-price-list .list-title {
		font-size: 16px;
	}

	.section-price-list .price-table td:last-child {
		font-size: 14px;
	}
}
/* section-flex-container */

.section-flex-container {
	align-items: center;
	justify-content: space-between;
	max-width: 1140px;
	margin: 0 auto;
	margin-bottom: clamp(60px, 10vw, 120px);
}

.section-flex-container .flex-item {
	flex-basis: 50%;
}

.section-flex-container .thumbnail {
	flex-basis: 45%;
	position: relative;
}

.section-flex-container .thumbnail img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.left-thumbnail {
	position: relative;
	left: calc(20 / 1920 * 100vw);
}

.left-thumbnail::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--miyashitapark-main-blue);
	margin: auto;
	position: absolute;
	top: calc(20 / 1920 * 100vw);
	left: calc(-20 / 1920 * 100vw);
	z-index: -1;
}

/* 反対方向（右側） */
.right-thumbnail {
	position: relative;
	right: calc(20 / 1920 * 100vw);
}

.right-thumbnail::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--miyashitapark-main-blue);
	margin: auto;
	position: absolute;
	top: calc(20 / 1920 * 100vw);
	right: calc(-20 / 1920 * 100vw);
	z-index: -1;
}

.section-flex-container .text-wrapper {
	max-width: 530px;
}

.section-flex-container .text-wrapper .title {
	font-size: 24px;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.section-flex-container {
		flex-direction: column;
		gap: 30px;
	}
	.section-flex-container .text-wrapper {
		max-width: none;
	}
	.section-flex-container .text-wrapper .title {
		font-size: 20px;
		margin-bottom: 20px;
		text-align: center;
	}
}

@media screen and (max-width: 500px) {
	.section-flex-container .text-wrapper .title {
		font-size: 18px;
	}
}

/* section-feature */

.section-feature-wrapper {
	background-color: var(--miyashitapark-lightgray);
	padding: clamp(60px, 6.25vw, 90px) 0;
	margin-bottom: clamp(60px, 10vw, 120px);
}

.section-feature-wrapper .inner {
	max-width: 1140px;
	margin: 0 auto;
}

.feature-content-container {
	background-color: var(--miyashitapark-white);
	padding: 60px;
	margin: 0 1em;
}

.feature-content-title {
	font-size: 24px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--miyashitapark-navy01);
	margin-bottom: 40px;
	color: var(--miyashitapark-navy01);
	line-height: 1;
}

.feature-content-list dt {
	font-size: 20px;
	position: relative;
	padding-left: 10px;
	padding-bottom: 15px;
	line-height: 1;
	color: var(--miyashitapark-navy01);
}

.feature-content-list dt:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 20px;
	background-color: var(--miyashitapark-navy01);
}

.feature-content-list dd {
	margin-bottom: 40px;
}

.feature-content-title {
	font-size: 20px;
	margin-bottom: 30px;
}

.feature-content-list dt {
	font-size: 18px;
	padding-left: 8px;
	padding-bottom: 10px;
}

.feature-content-list dt:before {
	height: 16px;
}

.feature-content-list dd {
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 30px;
}

.feature-content-list dd:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.feature-content-container {
		padding: 40px;
	}
}

@media screen and (max-width: 500px) {
	.feature-content-container {
		padding: 30px 15px;
	}
	.feature-content-list dd {
		font-size: 14px;
	}
	.feature-content-container {
		margin: 0;
	}
	.feature-content-list dt {
		font-size: 16px;
	}
	.feature-content-title {
		font-size: 18px;
	}
}

/* flex-card */

.flex-card .title {
	font-size: clamp(16px, 1.388vw, 20px);
	text-align: center;
	padding: clamp(10px, 3vw, 20px) 0;
	background-color: var(--miyashitapark-main-blue);
	color: var(--miyashitapark-white);
}

.flex-card .thumbnail img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 500px) {
	.flex-card .thumbnail img {
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}
}

/* mouthpiece */

.mouthpiece-feature-container .splash-title {
	text-align: center;
	line-height: 2;
	color: var(--miyashitapark-navy01);
	font-size: clamp(22px, 1.8055vw, 26px);
	margin-bottom: 60px;
}

.mouthpiece-feature-container .flex-container {
	gap: 20px;
	align-items: flex-start;
	row-gap: 60px;
	margin-bottom: clamp(60px, 10vw, 120px);
}

.mouthpiece-feature-container .flex-item {
	flex: 1 1 calc(33.333% - 13.33px);
	min-width: 230px;
}

.mouthpiece-feature-container .flex-item .text {
	padding: 20px;
	background-color: var(--miyashitapark-white);
	min-height: 220px;
}

.mouthpiece-problem {
	width: 80%;
	margin: 0 auto;
	margin-bottom: clamp(60px, 10vw, 120px);
}

.mouthpiece-problem .title {
	background-color: var(--miyashitapark-brown);
	padding: clamp(10px, 3vw, 20px) 0;
	color: var(--miyashitapark-white);
	font-size: 20px;
	text-align: center;
}

.mouthpiece-problem .text-container {
	background-color: var(--miyashitapark-white);
	padding: 1em;
}

.mouthpiece-problem .text-wrapper {
	gap: 1em;
}
.mouthpiece-problem .text {
	flex-basis: calc(50% - 0.5em);
}

@media screen and (max-width: 768px) {
	.mouthpiece-feature-container .splash-title {
		font-size: clamp(20px, 2.8645vw, 22px);
	}
	.mouthpiece-feature-container .flex-item {
		flex: 1 1 calc(50% - 10px);
		min-width: 200px;
	}
	.flex-card .title {
		font-size: clamp(18px, 2.6041vw, 20px);
		padding: 15px 0;
	}
	.mouthpiece-feature-container .flex-item .text {
		font-size: clamp(16px, 2.08333vw, 18px);
	}
	.mouthpiece-problem {
		width: 100%;
	}
	.mouthpiece-feature-container .flex-container {
		row-gap: 40px;
	}
	.mouthpiece-problem .title {
		font-size: 18px;
	}
}

@media screen and (max-width: 500px) {
	.mouthpiece-feature-container .splash-title {
		font-size: 18px;
		text-align: justify;
		margin-bottom: 30px;
	}
	.mouthpiece-feature-container .flex-container {
		row-gap: 20px;
	}
	.mouthpiece-problem .title {
		font-size: 16px;
	}
	.mouthpiece-problem .text:last-child {
		flex-basis: 100%;
	}
	.mouthpiece-feature-container .flex-item .text {
		padding: 15px;
		font-size: 14px;
		min-height: auto;
	}
	.flex-card .title {
		padding: 15px 0;
	}
}

/* wire-section */

.wire-section .wire-title-wrapper {
	padding: 10px;
	border: 0.5px solid var(--miyashitapark-black);
	margin: 0 auto;
	margin-top: 40px;
	width: 95%;
	margin-bottom: 80px;
}

.wire-section .wire-title-wrapper .title {
	padding: clamp(5px, 0.694vw, 10px) 0;
	text-align: center;
	background-color: var(--miyashitapark-lightgray);
	font-size: 22px;
	color: var(--miyashitapark-black);
	padding: 5px;
}

@media screen and (max-width: 1024px) {
	.wire-section .wire-title-wrapper .title {
		font-size: clamp(18px, 3.125vw, 24px);
	}
}

@media screen and (max-width: 768px) {
	.wire-section .wire-title-wrapper {
		margin-bottom: 40px;
		margin-top: 10px;
	}
	.wire-section .wire-title-wrapper .title {
		background-color: var(--miyashitapark-white);
		padding: 0;
	}
	.wire-section .wire-title-wrapper {
		padding: 5px;
	}
}

@media screen and (max-width: 500px) {
	.wire-section .wire-title-wrapper {
		margin-bottom: 20px;
		margin-top: 10px;
	}
	.wire-section .wire-title-wrapper .title {
		font-size: 16px;
	}
}

/* option-section */

.option-section {
	margin-bottom: clamp(180px, 18.055vw, 260px);
}

.option-section .section-title-wrapper {
	margin-bottom: clamp(45px, 6.25vw, 90px);
}

.option-content .flex-container {
	flex-wrap: nowrap;
	justify-content: space-between;
	padding-bottom: 60px;
	border-bottom: 1px solid var(--miyashitapark-black);
	width: 90%;
	margin: 0 auto;
	margin-bottom: clamp(40px, 4.1666vw, 60px);
}

.option-content .title {
	font-size: clamp(20px, 1.25vw, 22px);
	margin-bottom: 30px;
	color: var(--miyashitapark-navy01);
}

.option-content .text-wrapper {
	text-align: left;
	flex-basis: 70%;
}
.option-content .price-wrapper .text {
	font-size: 20px;
	text-align: center;
}

.option-content .price-wrapper span {
	display: block;
}

@media screen and (max-width: 768px) {
	.option-content .flex-container {
		flex-direction: column;
		gap: 15px;
		align-items: baseline;
		text-align: center;
		padding-bottom: 30px;
		width: 100%;
	}

	.option-content .text-wrapper {
		flex-basis: 100%;
		text-align: center;
	}

	.option-content .price-wrapper .text {
		font-size: 18px;
	}

	.option-content .price-wrapper span {
		font-size: 16px;
	}

	.option-content .title {
		text-align: left;
		margin-bottom: 20px;
	}
	.option-section .flex-container .text {
		text-align: left;
	}
	.option-content .price-wrapper span {
		display: inline-block;
	}
}

@media screen and (max-width: 500px) {
	.option-section {
		margin-bottom: 60px;
	}
	.option-section .section-title-wrapper {
		margin-bottom: 30px;
	}
	.option-content .title {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.option-content .flex-container {
		gap: 0;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	.option-content .price-wrapper .text {
		font-size: 16px;
	}
	.option-content {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}
	.option-content .text-wrapper {
		margin-bottom: 30px;
	}
}

/* flow-section */

.flow-section {
	position: relative;
	margin-bottom: 90px;
}

.flow-section:after {
	content: '';
	background-color: var(--miyashitapark-lightgray);
	width: 80%;
	height: clamp(500px, 69.4444vw, 1000px);
	position: absolute;
	top: -120px;
	left: 0;
	z-index: -1;
}

.flow-section .section-title-wrapper {
	margin-bottom: clamp(60px, 10vw, 120px);
}

.flow-container {
	width: 80%;
	margin: 0 auto;
	padding: clamp(60px, 8.3333vw, 120px) clamp(40px, 5vw, 90px);
	background-color: var(--miyashitapark-white);
}

.flow-wrapper {
	display: flex;
	align-items: flex-start;
	margin-bottom: 90px;
	position: relative;
	padding-left: 200px;
}

.flow-number {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 20px;
	color: var(--miyashitapark-main-blue);
	writing-mode: horizontal-tb;
	text-align: center;
	padding-left: 10px;
	line-height: 1.5;
}

.flow-number:after {
	content: '';
	position: absolute;
	top: 40px;
	left: 50%;
	width: 1px;
	height: 120px;
	background-color: var(--miyashitapark-main-blue);
}

.flow-wrapper:last-child .flow-number::after {
	display: none;
}

.flow-content {
	flex: 1;
	max-width: 700px;
}

.flow-content .title {
	font-size: 24px;
	margin-bottom: 12px;
}

.flow-content .text {
	font-size: 15px;
	line-height: 1.8;
	color: #444;
}

@media screen and (max-width: 768px) {
	.flow-container {
		width: 95%;
		padding: 40px 20px;
	}

	.flow-wrapper {
		flex-direction: column;
		padding-left: 0;
		margin-bottom: 60px;
	}

	.flow-number {
		position: relative;
		left: auto;
		top: auto;
		margin-bottom: 10px;
		text-align: left;
		padding-left: 0;
		font-size: 18px;
	}

	.flow-number:after {
		display: none;
	}

	.flow-content {
		max-width: 100%;
	}

	.flow-content .title {
		font-size: 20px;
		text-align: left;
	}

	.flow-content .text {
		font-size: 14px;
	}
}

@media screen and (max-width: 500px) {
	.flow-section {
		margin-bottom: 0;
	}
	.flow-section:after {
		height: 250px;
		top: -30px;
	}
	.flow-container {
		padding: 30px 15px;
	}
	.flow-content .title {
		font-size: 18px;
	}
	.flow-wrapper {
		margin-bottom: 30px;
	}
	.flow-number {
		font-size: 16px;
	}
	.flow-section .section-title-wrapper {
		margin-bottom: 20px;
	}
}

/* price-section */

.price-section .section-title-wrapper {
	margin-bottom: clamp(45px, 6.25vw, 90px);
}

.price-section .list-title {
	background-color: var(--miyashitapark-navy01);
}

@media screen and (max-width: 500px) {
	.price-section .section-title-wrapper {
		margin-bottom: 20px;
	}
}

/* payment-section */

.payment-section {
	background-color: #eaf2fa;
	padding: clamp(60px, 6.25vw, 90px) 0;
}

.payment-section .section-title-wrapper {
	margin-bottom: 60px;
}

.payment-section .section-discription {
	margin-bottom: 60px;
}

.payment-section .section-discription .text {
	font-size: clamp(16px, 1.388vw, 20px);
	text-align: center;
}

.payment-flex-container .flex-container {
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 90px;
}

.payment-flex-container .flex-item {
	padding: 30px;
	background-color: var(--miyashitapark-white);
	flex-basis: 24%;
	height: auto;
	min-height: 400px;
	max-height: 400px;
	flex: 1 1 calc(25% - 15px);
	min-width: 260px;
}

.payment-flex-container .thumbnail {
	margin-bottom: 30px;
}

.payment-flex-container .thumbnail img {
	display: block;
	margin: 0 auto;
}

.payment-flex-container .flex-item .title {
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
}

.payment-flex-container .flex-item .text {
	line-height: 1.6;
	text-align: left;
	max-width: 200px;
	margin: 0 auto;
}
.payment-medical-container {
	padding: 45px 60px;
	background-color: var(--miyashitapark-white);
	width: 90%;
	margin: 0 auto;
}
.payment-medical-container .title {
	font-size: 24px;
	text-align: center;
	margin-bottom: 30px;
}

.payment-medical-container .text {
	font-size: 20px;
}

.payment-medical-container .main-description {
	margin-bottom: 40px;
}

.payment-medical-container .announce-text {
	text-align: center;
	margin-bottom: 25px;
}

.btn {
	text-align: center;
	background-color: #236fc1;
	width: 100%;
	max-width: 300px;
	padding: 15px;
	color: var(--miyashitapark-white);
	margin: 0 auto;
	display: block;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.btn:hover {
	background-color: #1b5ca5;
}

@media screen and (max-width: 768px) {
	.payment-flex-container .flex-item {
		flex: 1 1 calc(50% - 10px);
		min-width: 220px;
		min-height: 240px;
	}
	.payment-medical-container {
		padding: 30px 20px;
		width: 95%;
	}

	.payment-medical-container .title {
		font-size: 20px;
		margin-bottom: 20px;
		text-align: center;
	}

	.payment-medical-container .text {
		font-size: 16px;
		line-height: 1.7;
		text-align: left;
	}

	.payment-medical-container .announce-text {
		text-align: center;
		margin-top: 20px;
	}

	.payment-medical-container .btn {
		width: 100%;
		max-width: 300px;
		font-size: 16px;
		padding: 12px;
		margin-top: 10px;
	}
	.payment-section .section-discription {
		margin-bottom: 40px;
	}
	.payment-flex-container .thumbnail {
		width: 80%;
		margin: 0 auto 15px;
	}
}

@media screen and (max-width: 500px) {
	.payment-flex-container .flex-item {
		flex: 1 1 100%;
		min-width: 100%;
		padding: 15px;
		min-height: 280px;
	}
	.payment-section .section-title-wrapper {
		margin-bottom: 20px;
	}
	.payment-section .section-discription {
		margin-bottom: 20px;
	}
	.payment-flex-container .flex-item {
		flex: 1 1 calc(47% - 10px);
		min-width: auto;
		padding: 15px;
	}

	.payment-flex-container .flex-item .title {
		font-size: 15px;
		margin-bottom: 10px;
	}
	.payment-flex-container .flex-item .text {
		font-size: 12px;
	}
	.payment-flex-container .flex-container {
		gap: 10px;
	}
	.payment-flex-container .flex-container {
		margin-bottom: 30px;
	}
	.payment-medical-container .text {
		font-size: 14px;
	}
}

/* section-card */
.section-card .flex-container {
	gap: 30px;
	align-items: stretch;
	flex-wrap: wrap;
}

.section-card .flex-container .flex-item {
	flex: 1 1 calc(33.333% - 20px);
	min-width: 280px;
}

.section-card {
	background-color: var(--miyashitapark-lightgray);
	padding: 90px 0;
}
.section-card .title {
	padding: 15px;
	background-color: var(--miyashitapark-main-blue);
	text-align: center;
	color: var(--miyashitapark-white);
	font-size: clamp(16px, 1.3888vw, 20px);
}
.section-card .thumbnail img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	aspect-ratio: 3 / 2;
}
.section-card .text {
	background-color: var(--miyashitapark-white);
	padding: 35px 25px;
	min-height: 214px;
}

@media screen and (max-width: 768px) {
	.section-card {
		padding: 60px 0;
	}
	.section-card .flex-container {
		flex-direction: column;
		align-items: center;
	}

	.section-card .flex-container .flex-item {
		flex: 1 1 100%;
		max-width: 80%;
	}

	.section-card .thumbnail img {
		height: auto;
	}

	.section-card .text {
		padding: 25px 20px;
		min-height: auto;
	}
}

@media screen and (max-width: 500px) {
	.section-card .flex-container .flex-item {
		max-width: 100%;
	}
	.section-card .text {
		padding: 1em;
	}
	.section-card .title {
		padding: 10px 0;
	}
	.section-card .thumbnail img {
		aspect-ratio: none;
	}
}

/* hospital-section*/

.hospital-section .section-title-wrapper {
	margin-bottom: clamp(60px, 10vw, 120px);
}

.hospital-section .section-flex-container {
	flex-direction: row-reverse;
	justify-content: space-between;
}

.hospital-section .second-container {
	padding-top: 120px;
	flex-direction: row;
}

.hospital-strength-container .thumbnail img {
	height: 100%;
}

.hospital-advance {
	padding: 90px 0;
}

.hospital-advance .flex-container {
	flex-wrap: nowrap;
	gap: 30px;
	justify-content: center;
}

.hospital-advance .text-wrapper {
	flex-basis: 50%;
}

.hospital-advance .text-wrapper .title {
	font-size: clamp(20px, 1.666vw, 24px);
	margin-bottom: 40px;
}

.hospital-advance .image-container {
	display: flex;
	align-items: end;
	flex-direction: column;
	gap: 10px;
}

.hospital-advance .image-container .title {
	padding: 15px 30px;
	background-color: var(--miyashitapark-main-blue);
	color: var(--miyashitapark-white);
	font-size: 20px;
	text-align: center;
}

.hospital-appeal-container .flex-item {
	flex-basis: 32%;
}

.hospital-appeal-container .flex-item .text {
	padding: 20px;
	height: 70%;
}

@media screen and (max-width: 768px) {
	.hospital-section .section-title-wrapper {
		margin-bottom: 60px;
		text-align: center;
	}

	.hospital-section .section-flex-container,
	.hospital-section .second-container {
		flex-direction: column !important;
		gap: 30px;
		align-items: center;
		text-align: center;
	}

	.hospital-section .section-flex-container .text-wrapper,
	.hospital-section .second-container .text-wrapper {
		width: 100%;
	}

	.hospital-section .section-flex-container .thumbnail img,
	.hospital-section .second-container .thumbnail img {
		width: 100%;
		height: auto;
	}
	.hospital-advance {
		padding: 60px 0;
	}

	.hospital-advance .flex-container {
		flex-direction: column;
		align-items: center;
		gap: 40px;
		text-align: center;
	}

	.hospital-advance .text-wrapper {
		width: 100%;
	}

	.hospital-advance .image-container {
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
		width: 100%;
	}

	.hospital-advance .image-flex-wrapper {
		width: 45%;
	}

	.hospital-advance .image-flex-wrapper img {
		width: 100%;
		height: auto;
	}

	.hospital-advance .image-flex-wrapper .title {
		font-size: 16px;
		padding: 10px;
	}

	.hospital-appeal-container .flex-container {
		flex-direction: column;
		align-items: center;
	}

	.hospital-appeal-container .flex-item {
		flex-basis: 100%;
		width: 100%;
		text-align: center;
	}

	.hospital-appeal-container .flex-item .text {
		height: auto;
	}

	.hospital-appeal-container .flex-item .title {
		font-size: 18px;
	}

	.hospital-appeal-container .strength {
		font-size: 22px;
	}
	.hospital-advance .text-wrapper .title {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 500px) {
	.hospital-section .section-title-wrapper {
		margin-bottom: 20px;
	}
	.hospital-section .second-container {
		padding-top: 60px;
	}
	.hospital-advance .image-flex-wrapper .title {
		font-size: 14px;
	}
}

/* hospital-slide-section */

.hospital-slide-section .section-title-wrapper {
	margin-bottom: 60px;
}

.hospital-main-slider img {
	width: 100%;
	height: auto;
}

.hospital-thumb-slider {
	margin-top: 20px;
}

.hospital-thumb-slider .slick-slide {
	opacity: 0.5;
	cursor: pointer;
}

.hospital-thumb-slider .slick-current {
	opacity: 1;
}

.hospital-slider-wrapper {
	margin-bottom: 180px;
}

.hospital-note {
	background-color: var(--miyashitapark-lightgray);
	padding: 90px 60px;
	width: 90%;
	margin: 0 auto;
}

.hospital-note .title {
	font-size: 26px;
	margin-bottom: 60px;
	text-align: center;
	color: var(--miyashitapark-navy01);
}

.hospital-note .item {
	margin-bottom: 20px;
}

.hospital-note .item .text {
	color: var(--miyashitapark-navy01);
}

@media screen and (max-width: 768px) {
	.hospital-slide-section .section-title-wrapper {
		margin-bottom: 40px;
		text-align: center;
	}

	.hospital-slider-wrapper {
		margin-bottom: 90px;
	}

	.hospital-main-slider img {
		width: 100%;
		height: auto;
	}

	.hospital-thumb-slider {
		margin-top: 15px;
		padding: 0 10px;
	}

	.hospital-thumb-slider .slick-slide img {
		width: 100%;
		height: auto;
	}

	.hospital-note {
		padding: 60px 20px;
		width: 95%;
	}

	.hospital-note .title {
		font-size: 22px;
		margin-bottom: 40px;
	}

	.hospital-note .item {
		margin-bottom: 15px;
	}

	.hospital-note .item .text {
		font-size: 14px;
		line-height: 1.6;
	}
}

@media screen and (max-width: 500px) {
	.hospital-slide-section .section-title-wrapper {
		margin-bottom: 20px;
	}
	.hospital-slider-wrapper {
		margin-bottom: 40px;
	}
	.hospital-note .title {
		font-size: 18px;
	}
	.hospital-note {
		padding: 30px 15px;
	}
}

/* Index */

.index-section {
	margin-bottom: clamp(120px, 12.5vw, 180px);
}

.index-inner {
	width: 60%;
	margin: 0 auto;
	max-width: 1296px;
}

.toc-heading {
	font-size: 20px;
	letter-spacing: 0.04em;
	padding: 0.5em 0;
	text-align: center;
	background: var(--miyashitapark-gradetion-blue);
	color: var(--miyashitapark-white);
}

.toc-title {
	color: var(--miyashitapark-navy01);
	font-weight: 600;
}

.toc-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-top: 1px solid var(--miyashitapark-lightgray);
	border-left: 1px solid var(--miyashitapark-lightgray);
	background-color: var(--miyashitapark-white);
}

/* 行アイテム */
.toc-grid li {
	border-right: 1px solid var(--miyashitapark-lightgray);
	border-bottom: 1px solid var(--miyashitapark-lightgray);
}
.toc-grid a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	color: var(--miyashitapark-black);
	text-decoration: none;
	font-size: 18px;
	line-height: 1.5;
	transition: opacity 0.15s, transform 0.15s;
}
.toc-grid a:hover {
	opacity: 0.85;
	transform: translateX(2px);
}

.toc-grid a::after {
	content: '';
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: var(--miyashitapark-navy01);
	background-image: url('images/bottom-arrow.svg');
	background-repeat: no-repeat;
	background-position: center;
	flex: 0 0 auto;
}

.toc-grid a::after {
	display: flex;
	align-items: center;
	justify-content: center;
}

.toc-grid a::after {
	mask: none;
}

.toc-grid a::after {
	background-repeat: no-repeat;
	background-position: center;
}

/* SPは1カラム */
@media (max-width: 767px) {
	.toc-simple {
		padding: 0 16px;
	}
	.toc-grid {
		grid-template-columns: 1fr;
	}
	.index-inner {
		width: 80%;
	}
}

@media screen and (max-width: 500px) {
	.toc-grid a {
		font-size: 15px;
	}
	.index-inner {
		width: 100%;
	}
	.index-section {
		margin-bottom: 90px;
	}
}
