@charset "UTF-8";
:root {
	--contents-inner: 1040px; /* サイトの基本コンテンツ幅 */
	--contents-innerMax: 1440px;
	--contents-innerMin: 820px;
	--post-paddingY: 100px;
	--post-paddingX: 5%;
	--header-height-pc: 80px;
	--header-height-sp: 80px;
	--footer-fixed-height: 80px;
	--footer-sp-padding: 50px;
	--font-family-MaruGothic: 'Zen Maru Gothic', 'M PLUS Rounded 1c', sans-serif;
	--font-family-Sans:
		'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',
		'メイリオ', 'sans-serif';
	--font-family-Serif:
		'Zen Old Mincho', 'Noto Serif JP', 'ヒラギノ明朝 ProN',
		'Hiragino Mincho ProN', 'Noto Serif JP', 'Yu Mincho Light', serif;
	--font-family-en: 'Allura', system-ui, sans-serif;
	--font-family-enSans: 'Allura', var(--font-family-Sans);
	--font-family-enSerif: 'Allura', var(--font-family-Serif);
	--font-weight-thin: 100;
	--font-weight-extralight: 200;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;
	--font-weight-black: 900;
	--color-main: #333;
	--color-sub: #44372b;
	--color-point: #2583d6;
	--color-link: #616161;
	--color-line: #0ac755;
	--color-instagram: linear-gradient(
		90deg,
		rgba(253, 184, 28, 1) 0%,
		rgba(250, 106, 16, 1) 35%,
		rgba(227, 0, 54, 1) 65%,
		rgba(191, 0, 161, 1) 100%
	);
	--color-body: #fff;
	--color-header: #f7efe3;
	--color-footer: repeating-linear-gradient(
		180deg,
		#ecf0f4,
		#ecf0f4 10px,
		#e5eaf1 10px,
		#e5eaf1 20px
	);
	--color-red: #da1717;
	--color-apricot: #e89961;
	--color-pink: #ffc39c;
	--color-orange: #ffc046;
	--color-yellow: #ebf050;
	--color-green: #0ac755;
	--color-blue: #13b6c0;
	--color-brown: #9e8207;
	--background-sub: #ffeee3;
	--background-gradation: linear-gradient(-8deg, #ffffff 0%, #fff8f1 100%);
}

html,
body {
	height: 100%;
}
body {
	background: var(--color-body);
}
body,
input,
textarea,
select {
	font-family: var(--font-family-Sans);
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.6;
	color: var(--color-main);
	-webkit-text-size-adjust: 100%;
}

p,
dt,
dd,
li,
span,
a,
td,
th,
em,
i {
	font-size: min(3.5vw, 1rem);
	font-family: var(--font-family-Sans);
	font-weight: var(--font-weight-light);
	letter-spacing: 0.05em;
	line-height: 1.6;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-family-Serif);
	letter-spacing: 0.1em;
	line-height: 1.6;
}
mark,
em,
i {
	font-size: inherit;
	font-style: normal;
	font-weight: inherit;
}
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}
a {
	text-decoration: none;
	color: var(--color-link);
	cursor: pointer;
	-webkit-transition: 0.5s ease-out;
	-moz-transition: 0.5s ease-out;
	-ms-transition: 0.5s ease-out;
	transition: 0.5s ease-out;
	word-break: break-all;
}
a:hover {
	opacity: 0.5;
}
a img {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
section p,
article p {
	text-align: justify;
	word-break: break-all;
}
article strong {
	font-weight: var(--font-weight-semibold);
}
strong span {
	font-weight: inherit;
}
a:hover,
a img:hover {
	text-decoration: none;
	filter: alpha(opacity=60);
	-ms-filter: 'alpha(opacity=60)';
}
a.g-map {
	font-family: var(--font-family-en);
	color: var(--color-point);
	text-decoration: underline;
}
a.-underline {
	text-decoration: underline;
	color: var(--color-point);
}
figure img {
	width: 100%;
}
table {
	width: 100%;
}
th {
	vertical-align: top;
	text-indent: 0;
}
td {
	vertical-align: top;
	text-indent: 0;
}
.inner {
	margin: 0 auto;
}
.scroll {
	font-size: min(3vw, 0.875rem);
	text-align: right;
	color: #999;
	margin-bottom: 0.8em;
}
.serif {
	font-family: var(--font-family-Serif);
}
.sans {
	font-family: var(--font-family-Sans);
}
.alphabet {
	font-family: var(--font-family-en);
}
::selection {
	background: #2995e1b8;
	color: #fff;
}
/* Firefox */
::-moz-selection {
	background: #2995e1b8;
	color: #fff;
}
.grecaptcha-badge {
	visibility: hidden;
}

/*=========================================
2. layout / utility
=========================================*/
.pc-only,
.pc-bl,
.pc-fl,
.pc-in,
.pc-gd,
.sp-only,
.sp-bl,
.sp-fl,
.sp-in,
.sp-gd {
	display: none !important;
}
@media (width > 821px) {
	.pc-only,
	.pc-bl {
		display: block !important;
	}
	.pc-fl {
		display: flex !important;
	}
	.pc-in {
		display: inline !important;
	}
	.pc-gd {
		display: grid !important;
	}
}
@media (width < 820px) {
	.sp-only,
	.sp-bl {
		display: block !important;
	}
	.sp-fl {
		display: flex !important;
	}
	.sp-in {
		display: inline !important;
	}
	.sp-gd {
		display: grid !important;
	}
}

.full-screen {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	margin-bottom: 0;
}
.full-screen > img {
	width: 100%;
}

/* ----- カラム ----- */
.wp-block-group.l_content-flex,
.l_content-flex {
	display: flex;
}
.l_content-flex.-l_fl50 > div {
	flex-basis: 50%;
}
.-l_fl30 {
	flex-basis: 33.333%;
}
.-l_fl40 {
	flex-basis: 40%;
}
.-l_fl50 {
	flex-basis: 50%;
}
.-l_fl60 {
	flex-basis: 66.666%;
}
.-l_fl70 {
	flex-basis: 70%;
}
.-l_fl80 {
	flex-basis: 80%;
}
.-l_fl90 {
	flex-basis: 90%;
}
.-l_fl100 {
	flex-basis: 100%;
}

/* ----- グリッド ----- */
.l_content-grid {
	display: grid;
	gap: min(7vw, 60px);
}

.wp-block-group .-l_col2,
.l_content-grid.-l_col2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(7vw, 60px);
}
.wp-block-group .-l_col3,
.l_content-grid.-l_col3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(7vw, 60px);
}
.wp-block-group .-l_col4,
.l_content-grid.-l_col4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: min(4vw, 1em);
}

/* ----- ギャップ ----- */
.-gap1 {
	gap: 1vw;
}
.-gap2 {
	gap: 2vw;
}
.-gap3 {
	gap: 3vw;
}
.-gap4 {
	gap: 4vw;
}
.-gap5 {
	gap: 5vw;
}
.-gap6 {
	gap: 6vw;
}
.-gap7 {
	gap: 7vw;
}
.-gap8 {
	gap: 8vw;
}
.-gap9 {
	gap: 9vw;
}
.-gap10 {
	gap: 10vw;
}

@media (width < 820px) {
	.l_content-flex {
		flex-direction: column;
	}
	.l_content-grid.-l_col3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (width < 820px) {
	.wp-block-group .-l_col2,
	.l_content-grid.-l_col2,
	.wp-block-group .-l_col3,
	.l_content-grid.-l_col3 {
		grid-template-columns: 1fr;
	}
}

/* ----- 画像 切り抜き丸 ----- */
.is-corner {
	border-radius: min(20px) !important;
}
.is-corner.min {
	border-radius: min(1vw, 10px) !important;
}
.is-img-round {
	border-radius: 100% !important;
	overflow: hidden !important;
	aspect-ratio: 1/1 !important;
}
.is-img-contain {
	object-fit: contain !important;
}
.is-img-bg {
	background: #ffcdab4d;
}
.is-bg-white {
	background: #fff !important;
}
.is-bg-none {
	background: none !important;
}
.is-img-zindex {
	position: relative;
	z-index: 1;
}

/* header fixed使用する場合使用 */
.wrap {
	padding-top: var(--header-height-pc);
	z-index: 0;
}

/* ----- インナー ----- */
.c-inner {
	width: 100%;
	max-width: calc(var(--contents-inner) + var(--post-paddingX) * 2);
	margin: 0 auto;
	padding-left: var(--post-paddingX);
	padding-right: var(--post-paddingX);
	padding-top: 150px;
	padding-bottom: 150px;
}
.c-inner.-sub {
	max-width: calc(960px + 10%);
}
.c-sec-inner {
	width: 100%;
	max-width: calc(var(--contents-inner) + var(--post-paddingX) * 2);
	padding-top: 100px;
	padding-left: var(--post-paddingX);
	padding-right: var(--post-paddingX);
	margin: 0 auto;
}
.c-sec-inner.-sub {
	max-width: calc(890px + var(--post-paddingX) * 2);
}

/**
 * PC用設定
 */
@media (width >= 820px) {
	.common-btn {
		color: #fff;
		font-size: min(24px, 2vw);
		line-height: 1;
		background-color: var(--color-point);
		border-radius: 5px;
		box-shadow: 3px 3px 3px rgba(198, 196, 196, 0.5019607843);
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
@media (width >= 820px) and (hover: hover) {
	.common-btn:hover {
		color: #fff;
	}
}
@media (width > 801px) {
	.common-btn.tel::before {
		content: '';
		margin: 0 0.4em 0 0;
		width: 1em;
		height: 1em;
		background: var(--wpr-bg-dedf3601-46da-4899-870d-357225b8b796) no-repeat
			center/contain;
	}
	.common-btn.web::before {
		content: '';
		margin: 0 0.4em 0 0;
		width: 1em;
		height: 1em;
		background: var(--wpr-bg-d072c27b-6503-4039-8c1f-67ea2110a96c) no-repeat
			center/contain;
	}
	.page-main .d-flex {
		margin: 0 auto;
		max-width: var(--contents-innerMax);
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: center;
		gap: calc(50 * min(100vw, 1100px) / 1100)
			calc(50 * min(100vw, 1100px) / 1100);
	}
	.page-main .d-flex + .d-flex {
		margin-top: calc(60 * min(100vw, 1100px) / 1100);
	}
	.page-main .d-flex .col100 {
		width: 100%;
	}
	.page-main .d-flex .col90 {
		width: 98%;
	}
	.page-main .d-flex .col80 {
		width: 78%;
	}
	.page-main .d-flex .col70 {
		width: 68%;
	}
	.page-main .d-flex .col60 {
		width: 58%;
	}
	.page-main .d-flex .col50 {
		width: 48%;
	}
	.page-main .d-flex .col40 {
		width: 39%;
	}
	.page-main .d-flex .col30 {
		width: 29%;
	}
	.page-main p {
		margin: 0 0;
		color: var(--color-main);
		font-size: calc(18 * min(100vw, 1100px) / 1100);
		line-height: 1.8;
	}
	.page-main p + p,
	.page-main ul + p {
		margin: 1vw 0;
	}
	.page-main li {
		color: var(--color-main);
		font-size: calc(18 * min(100vw, 1100px) / 1100);
	}
	.page-main h3.sep-no {
		position: relative;
		margin: 0;
		text-align: center;
		color: var(--color-main);
		font-size: calc(20 * min(100vw, 1100px) / 1100);
		font-family: var(--font-family-Sans);
		font-weight: var(--font-weight-medium);
		color: var(--color-main);
		line-height: 1.2;
		margin: 0.4em 0;
	}

	.page-main
		:is(input[type='text'], input[type='number'], input[type='tel']):focus {
		outline: 2px solid #000;
	}
	.page-main .common-list {
		margin: calc(16 * min(100vw, 1000px) / 1000) auto;
		padding: 0;
		width: 100%;
		max-width: 1000px;
		list-style: none;
	}
	.page-main .common-list li {
		position: relative;
		margin: 0.5em 0;
		padding: 0 0 0 1.2em;
		width: 100%;
		font-size: calc(18 * min(100vw, 540px) / 540);
		list-style: none;
	}
	.page-main .common-list li::before {
		position: absolute;
		content: '';
		top: 0.6em;
		left: 0;
		width: 0.4em;
		height: 0.4em;
		background: var(--color-point);
		border-radius: 0.2em;
	}
	.page-main p.bg-main-color {
		margin: calc(40 * min(100vw, 1000px) / 1000) 0 0;
		padding: 1em 3em;
		width: 100%;
		font-size: calc(18 * min(100vw, 1000px) / 1000);
		font-weight: 700;
		background: #f2f9f8;
	}
	.movie {
		padding: calc(40 * min(100vw, 1000px) / 1000) 0;
		background: #fff;
	}
	.movie iframe {
		display: block;
		margin: 0 auto;
		width: 100%;
		max-width: 680px;
		aspect-ratio: 1440/781;
	}
	.contact {
		padding: min(80px, 5vw) 0 min(40px, 2.5vw);
	}
	.contact strong {
		margin: 0 auto;
		padding: 0 0 0.5em;
		width: 100%;
		max-width: 1000px;
		color: #1d4552;
		font-size: min(40px, 2.5vw);
		font-weight: 500;
		text-align: center;
		border-bottom: 1px solid #b7b7b7;
		display: block;
	}
	.contact .catch {
		margin: 1em 0;
		font-size: min(24px, 1.5vw);
		text-align: center;
	}
	.contact .btns {
		margin: min(20px, 1.25vw) auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 min(80px, 5vw);
	}
	.contact .btns .common-btn {
		width: 50%;
		max-width: 380px;
		height: 112px;
		font-size: min(30px, 1.875vw);
	}
	.contact .logo {
		margin: min(60px, 3.75vw) auto;
		width: 80%;
		max-width: 393px;
	}
	.contact .info {
		margin: min(20px, 1.25vw) auto;
		width: 90%;
		max-width: 1200px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 min(40px, 2.5vw);
	}
	.contact .info .left {
		width: 50%;
	}
	.contact .info .left dl {
		padding: min(10px, 0.83vw) 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.contact .info .left dl + dl {
		border-top: 1px solid #ccc;
	}
	.contact .info .left dl dt {
		width: min(100px, 8.33vw);
		color: var(--color-point);
		font-size: min(20px, 1.67vw);
		font-weight: 500;
		text-align: center;
	}
	.contact .info .left dl dd {
		padding: 0 0 0 1em;
		width: calc(100% - min(100px, 8.33vw));
		font-size: min(20px, 1.67vw);
		font-weight: 500;
		text-align: left;
	}
	.contact .info .left dl dd .small {
		font-size: min(16px, 1.33vw);
	}
	.contact .info .right {
		width: 50%;
	}
	.contact .map {
		margin: min(40px, 2.5vw) auto 0;
		width: 100%;
		max-width: 1000px;
	}
	.contact .map iframe {
		display: block;
		width: 100%;
		aspect-ratio: 16/9;
		border: 0;
	}
}
@keyframes ws-slider {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(calc(-100% * var(--slides-max) / var(--slides-num)));
	}
}
.price-list dt,
.price-list dd {
	border-bottom: 1px solid #ddd;
	padding-bottom: 5px;
}

/*アーカイブ*/
.archive-wrap {
	margin: calc(40 * min(100vw, 1200px) / 1200) auto;
	width: 96%;
	max-width: 1200px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.archive-wrap aside {
	margin: 0;
	width: 300px;
}
.archive-wrap .archive-main {
	margin: 0;
	width: calc(100% - 320px);
}

aside h2 {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	color: var(--color-main);
	font-size: calc(25 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Serif);
	font-weight: 500;
	text-align: left;
	color: var(--color-point);
}
aside .archive-monthly li {
	margin: 0.5em 0;
	color: var(--color-main);
	font-size: 16px;
	font-family: var(--font-family-Serif);
	font-weight: 500;
	text-align: left;
}

.archive-main h2 {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1100px;
	color: var(--color-main);
	font-size: calc(25 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Serif);
	font-weight: 500;
	text-align: left;
	margin-bottom: 20px;
	color: var(--color-point);
}
.archive-main .categories .list {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px 8px;
	margin-bottom: 40px;
}
.archive-main .categories .list a {
	display: block;
	margin: 0 0.5em 0 0;
	padding: 0.2em 1em;
	font-size: 0.8rem;
	background: #f8f8f8;
	white-space: nowrap;
}
.archive-main .archive-list {
	margin: calc(40 * min(100vw, 1100px) / 1100) auto;
	width: 100%;
	max-width: 1100px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: calc(40 * min(100vw, 1100px) / 1100) calc(20 * min(100vw, 1100px) / 1100);
}
.archive-main .archive-list .archive-item {
	/* width: calc((100% - (40 * min(100vw, 1100px) / 1100)) / 2.0); */
	width: 100%;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 6;
	gap: 0;
}
.archive-main .archive-list .archive-item .pic {
	width: 100%;
	aspect-ratio: 16/9;
}
.archive-main .archive-list .archive-item .pic img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.archive-item h3 {
	margin: 1em 0 0.5em;
	padding: 0.8em 0.8em;
	color: var(--color-point);
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	font-weight: 700;
	border-left: 8px solid var(--color-point);
}

.cats,
.archive-main .archive-list .archive-item .cats {
	margin: calc(20 * min(100vw, 1100px) / 1100) 0
		calc(10 * min(100vw, 1100px) / 1100);
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: calc(4 * min(100vw, 1100px) / 1100);
}

.cats .cat {
	padding: 0.1em 1em;
	color: var(--color-point);
	font-size: calc(16 * min(100vw, 1100px) / 1100);
	background: #fff;
	border: 1px solid var(--color-point);
}

.archive-main .archive-list .archive-item .cats .cat {
	padding: 0.1em 1em;
	color: var(--color-point);
	font-size: calc(16 * min(100vw, 1100px) / 1100);
	background: #fff;
	border: 1px solid var(--color-point);
}
.archive-main .archive-list .archive-item .date {
	margin: 0.2em 0 0.5em;
	color: var(--color-point);
	font-size: calc(16 * min(100vw, 1100px) / 1100);
	font-weight: 600;
}
.archive-main .archive-list .archive-item p {
	margin: 0.5em 0;
	color: #333;
	font-size: calc(16 * min(100vw, 1100px) / 1100);
}
.archive-main .archive-list .archive-item .archive-detail {
	position: relative;
	display: block;
	margin: 1em auto;
	padding: 1em 0;
	width: 90%;
	max-width: 280px;
	color: #fff;
	font-size: calc(15 * min(100vw, 1100px) / 1100);
	font-weight: 600;
	text-align: center;
	background: var(--color-point);
	border: 0;
	border-radius: 4em;
}
.archive-main .archive-list .archive-item .archive-detail::after {
	position: absolute;
	content: '';
	top: 50%;
	right: 10%;
	width: 0.6em;
	aspect-ratio: 1/1;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-50%) rotate(-45deg);
}

.archive-item .txt {
	width: 100%;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	/* ブラウザがサポートしていない場合のフェールセーフ */
	max-height: 74px;
}

@media (width <= 820px) {
	.archive-wrap {
		margin: calc(40 * min(100vw, 1200px) / 1200) auto;
		width: 96%;
		max-width: 1200px;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.archive-wrap aside {
		margin: 0;
		width: 300px;
	}

	.archive-wrap .archive-main {
		margin: 0;
		width: calc(100% - 320px);
	}

	aside h2 {
		margin: 0 auto;
		padding: 0;
		width: 100%;
		font-size: calc(40 * min(100vw, 820px) / 820);
		font-family: var(--font-family-Serif);
		font-weight: 500;
		text-align: left;
	}

	aside .archive-monthly li {
		margin: 0.5em 0;
		font-size: 16px;
		font-family: var(--font-family-Serif);
		font-weight: 500;
		text-align: left;
	}

	.archive-main h2 {
		margin: 0 auto;
		padding: 0;
		width: 100%;
		max-width: 1100px;
		font-size: calc(40 * min(100vw, 820px) / 820);
		font-family: var(--font-family-Serif);
		font-weight: 500;
		text-align: left;
		margin-bottom: 20px;
	}

	.archive-main .categories .list {
		margin: 0;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 8px 8px;
		margin-bottom: 40px;
	}

	.archive-main .categories .list a {
		display: block;
		margin: 0 0.5em 0 0;
		padding: 0.2em 1em;
		font-size: 0.8rem;
		background: #f8f8f8;
		white-space: nowrap;
	}

	.archive-main .archive-list {
		margin: calc(40 * min(100vw, 820px) / 820) auto;
		width: 100%;
		max-width: 1100px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: calc(40 * min(100vw, 820px) / 820) calc(20 * min(100vw, 820px) / 820);
	}

	.archive-main .archive-list .archive-item {
		/* width: calc((100% - (40 * min(100vw, 1100px) / 1100)) / 2.0); */
		width: 100%;
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 6;
		gap: 0;
	}

	.archive-main .archive-list .archive-item .pic {
		width: 100%;
		aspect-ratio: 16/9;
	}

	.archive-main .archive-list .archive-item .pic img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.archive-item h3 {
		margin: 1em 0 0.5em;
		padding: 0.8em 0.8em;
		color: #333;
		font-size: calc(18 * min(100vw, 820px) / 820);
		font-weight: 700;
		border-left: 8px solid var(--color-point);
	}

	.cats,
	.archive-main .archive-list .archive-item .cats {
		margin: calc(20 * min(100vw, 820px) / 820) 0
			calc(10 * min(100vw, 820px) / 820);
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		gap: calc(4 * min(100vw, 820px) / 820);
	}

	.cats .cat {
		padding: 0.1em 1em;
		color: #44372b;
		font-size: calc(16 * min(100vw, 820px) / 820);
		background: #fff;
		border: 1px solid #44372b;
	}

	.archive-main .archive-list .archive-item .cats .cat {
		padding: 0.1em 1em;
		color: #44372b;
		font-size: calc(16 * min(100vw, 820px) / 820);
		background: #fff;
		border: 1px solid #44372b;
	}

	.archive-main .archive-list .archive-item .date {
		margin: 0.2em 0 0.5em;
		color: var(--color-point);
		font-size: calc(16 * min(100vw, 820px) / 820);
		font-weight: 600;
	}

	.archive-main .archive-list .archive-item p {
		margin: 0.5em 0;
		color: #333;
		font-size: calc(16 * min(100vw, 820px) / 820);
	}

	.archive-main .archive-list .archive-item .archive-detail {
		position: relative;
		display: block;
		margin: 1em auto;
		padding: 1em 0;
		width: 90%;
		max-width: 280px;
		color: #fff;
		font-size: calc(15 * min(100vw, 820px) / 820);
		font-weight: 600;
		text-align: center;
		background: var(--color-point);
		border: 0;
		border-radius: 4em;
	}

	.archive-main .archive-list .archive-item .archive-detail::after {
		position: absolute;
		content: '';
		top: 50%;
		right: 10%;
		width: 0.6em;
		aspect-ratio: 1/1;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: translateY(-50%) rotate(-45deg);
	}

	.archive-item .txt {
		width: 100%;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;

		/* ブラウザがサポートしていない場合のフェールセーフ */
		max-height: 74px;
	}
}

/*ヘッダー*/
.page-top {
	position: relative;
}
.page-top .page-logo {
	margin-left: 50px;
	padding: 50px 0;
}
.page-top .page-logo a {
	width: 150px;
	display: block;
}
.page-top .page-title-img {
	width: 70%;
	position: absolute;
	top: 0;
	right: 0;
	aspect-ratio: 1/0.4;
}
.page-top .page-title-img img {
	-o-object-fit: cover;
	object-fit: cover;
	height: 100%;
}
.page-top .page-title-box {
	background-color: #eeeeee;
	padding: 100px;
	padding-left: 50px;
	display: inline-block;
	box-sizing: border-box;
	width: 70%;
}
@media screen and (max-width: 540px) {
	.page-top .page-title-img {
		top: 90px;
	}
}
@media screen and (max-width: 540px) {
	.page-top .page-title-box {
		position: absolute;
		top: 90px;
		background-color: rgba(238, 238, 238, 0.5);
	}
}
@media screen and (max-width: 1200px) {
	.page-top .page-title-box {
		padding: 60px;
	}
}
@media screen and (max-width: 820px) {
	.page-top .page-title-box {
		width: 100%;
		padding: 20px;
	}
	.page-top .page-title-box .page-sub {
		font-size: 50px !important;
		margin-bottom: 0 !important;
	}
	.page-top .page-title-box .page-title {
		font-size: 22px !important;
	}
}
.page-nav {
	background-color: #fff;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

@media screen and (max-width: 540px) {
	.page-nav {
		display: none;
	}
}
.page-top .page-title-box .page-sub {
	font-size: 140px;
	opacity: 0.3;
	margin: 0;
	margin-bottom: 30px;
}
.page-top .page-title-box .page-title {
	font-size: 60px;
	color: var(--color-point);
	text-shadow: 3px 3px 3px #ccc;
}

@media screen and (max-width: 1200px) {
	.page-top .page-title-box .page-sub {
		font-size: 100px;
	}
}
@media screen and (max-width: 1200px) {
	.page-top .page-title-box .page-title {
		font-size: 40px;
	}
}
.page-nav {
	background-color: #fff;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
.page-nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: min(3.214vw, 45px);
	padding: 2vw 0;
}
.page-nav li {
	position: relative;
}
.page-nav ul li a {
	color: #515150;
	font-size: min(1.428vw, 20px);
	font-family: 'Noto Sans JP', serif;
	transition: 0.3s;
}

.site-map {
	padding: 30px 0;
}
.site-map a {
	color: #ccc;
	font-size: 20px;
	transition: 0.3s;
}
.site-map p {
	color: #ccc;
	font-size: 14px;
	display: inline;
}

#breadcrumb {
	width: 100%;
	max-width: var(--contents-innerMax);
	padding: 20px var(--post-paddingX);
}
#breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	font-size: 14px;
}
#breadcrumb li::after {
	content: '>';
	color: var(--color-point);
}
#breadcrumb li:last-child::after {
	content: '';
}
#breadcrumb li span,
#breadcrumb li a {
	font-size: 14px;
	color: var(--color-point);
}
#breadcrumb li a span {
	color: var(--color-link);
}

.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

header .header_pc {
	display: flex;
	background: #fffdf8;
	height: var(--header-height-pc);
}
header .header_pc .logo {
	padding: 24px 16px;
	background: #f7efe3;
}
header .header_pc .logo img {
	width: 100%;
	max-width: 130px;
}
header .header_pc--right {
	display: flex;
	flex: 1;
}

header .header_sp {
}
.header-nav__list {
	flex: 1;
	display: flex;
	justify-content: space-evenly;
	align-items: stretch;
}
.header-nav__item {
	position: relative;
}
.header-nav__link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0;
	height: 100%;
	padding: 5px;
}
.header-nav__en {
	font-size: calc(12 * min(100vw, 1400px) / 1400);
	font-family: var(--font-family-Serif);
	color: #a6b5ca;
}
.header-nav__ja {
	position: relative;
	font-size: calc(16 * min(100vw, 1400px) / 1400);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	color: #252525;
}

/* =========================
   Dropdown
========================= */
.header-nav__list:hover > .header-nav__item > .header-nav__link {
	opacity: 0.5;
	z-index: 1;
}
.header-nav__list:hover > .header-nav__item > .header-nav__link:hover {
	opacity: 1;
}
.header-nav__item--has-submenu:hover > .header-nav__link {
	opacity: 1;
	z-index: 10;
}

/* ▼ サブメニュー（ヘッダー下に固定で表示） ▼ */
.header-nav__item--has-submenu {
	position: inherit;
}

.header-nav__submenu {
	position: fixed;
	top: var(--header-height-pc);
	left: 0;
	width: 100vw;
	background: rgba(255, 255, 255, 0.8);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0);
	transition: all 0.3s ease;
	z-index: 100;
}

.header-nav__item--has-submenu:hover .header-nav__submenu,
.header-nav__item--has-submenu:focus-within .header-nav__submenu {
	opacity: 1;
	visibility: visible;
}

.header-nav__submenu-inner {
	width: 100%;
	max-width: 100%;
	padding: calc(46 * min(100vw, 1400px) / 1400)
		calc(160 * min(100vw, 1400px) / 1400);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: min(5vw, 207px);
}

/* 左：見出し */
.header-nav__submenu-col--title {
	flex-basis: 20%;
	font-size: calc(24 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	line-height: 1;
	color: var(--color-main);
}

/* 右：リスト */
.header-nav__submenu-col--links {
	flex: 1;
}

.header-nav__submenu-list {
	display: grid;
	grid-template-columns: repeat(5, auto);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

/* 1カラム指定（ABOUT用） */
.header-nav__submenu-list--col1 {
	grid-template-columns: repeat(1, 1fr);
}

.header-nav__submenu-item {
	margin: 0;
	padding: 0;
}

.header-nav__submenu-link {
	position: relative;
	display: inline-block;
	font-size: calc(16 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-Serif);
	letter-spacing: 0.027em;
	padding-left: 1.5em;
	color: var(--color-main);
	transition: color 0.2s ease;
	text-decoration: none;
}

.header-nav__submenu-link::before {
	content: '';
	position: absolute;
	top: 0.6em;
	left: 0.5em;
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-top: 1px solid var(--color-main);
	border-right: 1px solid var(--color-main);
	transform: rotate(45deg);
}
.header-nav__submenu-link:hover {
	color: var(--color-point);
	text-decoration: underline;
}

.contact-list {
	display: grid;
}
.contact-list li {
}
.contact-list li a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 1.25rem;
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	color: #fff;
	padding: 0 5vw;
}
.contact-list li a img {
	width: 1em;
	height: 1em;
	object-fit: contain;
	margin-right: 0.5em;
}
.contact-list li a.telBtn {
	background: #c0cd4f;
}
.contact-list li a.webBtn {
	background: #88a5cc;
}

#meta_h1 {
	position: absolute;
	top: 0.35em;
	left: 0.5em;
	z-index: 10000;
	text-shadow:
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff;
}
#meta_h1 h1 {
	font-size: calc(20 * min(100vw, 1400px) / 1400);
}
#front_fv {
	position: relative;
}
#front_fv #meta_h1 {
	top: calc(var(--header-height-pc) + 0.5em);
}
#sub_fv {
	position: relative;
	display: grid;
	grid-template-columns: 5% 1fr;
}
#sub_fv .sub_fv--left {
}
#sub_fv .sub_fv--left {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 1em;
	padding: 32px 0;
}
#sub_fv .sub_fv--left img {
	width: 2em;
	height: 2em;
	object-fit: contain;
}
#sub_fv .sub_fv--left p {
	font-size: calc(28 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-Serif);
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
#sub_fv .sub_fv--left p span {
	font-size: min(4vw, 24px);
	font-family: var(--font-family-Serif);
}
#sub_fv .sub_fv--left p span em {
	font-size: min(4.5vw, 32px);
	font-family: var(--font-family-Serif);
}

#sub_fv .sub_fv--right {
}

#sub_fv #sub_mv {
	position: relative;
}

#sub_fv .sub_mv-title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70%;
	max-width: 520px;
	z-index: 1;
}
#sub_fv .sub_mv-title .main {
	font-size: calc(56 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-Serif);
	color: #3868aa;
	text-align: center;
	padding: 0 1vw;
	background: rgba(255, 253, 248, 0.9);
	width: 100%;
}
#sub_fv .sub_mv-copy.pc-bl {
	position: absolute;
	top: 50%;
	right: clamp(12px, 3vw, 40px);
	transform: translateY(-50%);
	width: 100%;
	height: 100%;
	z-index: 1;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	width: fit-content;
	text-align: start;
}
#sub_fv .sub_mv-copy.pc-bl .sub {
	position: absolute;
	font-size: 2.5vw;
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-Serif);
	letter-spacing: 0.2em;
	text-shadow:
		0 0 6px rgba(255, 255, 255, 0.9),
		0 0 18px rgba(255, 255, 255, 0.9),
		0 0 40px rgba(255, 255, 255, 0.6),
		0 0 80px rgba(255, 255, 255, 0.5),
		0 0 120px rgba(255, 255, 255, 0.7),
		0 0 6px rgba(255, 255, 255, 0.9),
		0 0 18px rgba(255, 255, 255, 0.9),
		0 0 6px rgba(255, 255, 255, 0.9),
		-20px -7px 18px rgba(255, 255, 255, 0.9),
		0 0 40px rgba(255, 255, 255, 0.6),
		0 0 120px rgba(255, 255, 255, 0.7);
	margin-bottom: 0.25em;
}
@media (width <= 820px) {
	#meta_h1 h1 {
		font-size: calc(20 * min(100vw, 820px) / 820);
	}
}
#title-visual {
	background: #9b916d
		url(https://ryogokudental.com/wp-content/themes/ryogoku-dc/images/common/bg-title-visual.webp)
		no-repeat center/cover;
	color: #fff;
	height: 358px;
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	width: 100%;
}

#title-visual .c-inner {
	padding: 50px 0;
	text-align: center;
}
#title-visual .title {
	font-size: min(6vw, 45px);
	font-weight: normal;
	color: #fff;
	letter-spacing: 0.1em;
}

/*料金表*/
.pricing_sheet {
	width: 100%;
	max-width: 900px;
	margin: 30px auto 0;
	table-layout: fixed;
	border-collapse: collapse;
	border-top: 1px solid #555;
	border-left: 1px solid #555;
}
.pricing_sheet th,
.pricing_sheet td {
	padding: 10px;
	border-right: 1px solid #555;
	border-bottom: 1px solid #555;
	font-size: 16px;
}
.pricing_sheet th {
	background: #00b3c2;
	color: #fff;
	font-size: 18px;
}
.pricing_sheet td.subth {
	background: var(--color-point);
	font-weight: bold;
	text-align: center;
}
.pricing_sheet tr td:nth-of-type(2) {
	text-align: center;
}

@media screen and (min-width: 820px) {
	.pricing_sheet {
		margin: 45px auto 0;
	}
}
@media screen and (min-width: 820px) {
	.pricing_sheet th {
		padding: 1.25% 20px;
	}
}
@media screen and (min-width: 820px) {
	.pricing_sheet td {
		padding: 1% 20px;
	}
}
/*2カラム（サイドメニュー）*/
#column2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: min(100%, 1440px);
	margin: 0 auto;
	padding: min(1.04vw, 20px) min(4.17vw, 80px);
}
#column2 aside {
	width: min(16.15vw, 310px);
	margin-top: min(2.34vw, 45px);
	margin-right: min(4.17vw, 80px);
}
#column2 main {
	flex: 1;
	max-width: calc(100% - min(16.15vw, 310px) - min(4.17vw, 80px));
}
#column2 aside .title {
	margin-bottom: min(0.78vw, 15px);
	padding: 0 0 min(0.78vw, 15px) min(2.08vw, 40px);
	color: #01650f;
	font-size: min(1.3vw, 25px);
	font-weight: 500;
	border-bottom: 2px solid var(--color-point);
}
#column2 aside .menu {
	margin: 0 0 min(7.03vw, 135px) 0;
	padding: 0;
	list-style: none;
}
#column2 aside .menu li {
	border-bottom: 1px solid var(--color-point);
}
#column2 aside .menu li a {
	display: block;
	padding: min(0.52vw, 10px) 0 min(0.52vw, 10px) min(2.08vw, 40px);
	color: #545454;
	font-size: min(0.94vw, 18px);
}

.pricelist {
	width: 100%;
	margin: 40px auto;
	border: 3px solid var(--color-point);
	max-width: 1000px;
}
.pricelist .tit {
	margin: 0;
	padding: 15px;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	background: var(--color-point);
	color: #fff;
}
.pricelist .inbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	margin: 20px 0 40px;
	padding: 0 60px;
}
.pricelist .inbox .subtit {
	margin: 0.8em 10px 0 0;
	width: 200px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}
.pricelist .inbox .price_table {
	border-collapse: collapse;
	flex: 1;
	max-width: calc(100% - 200px);
}
.pricelist .inbox .price_table th,
.pricelist .inbox .price_table td {
	padding: 10px 0;
	font-weight: 400;
	text-align: left;
	vertical-align: text-top;
}
.pricelist .inbox .price_table .price {
	text-align: right;
	white-space: nowrap;
}
.pricelist .inbox .price_table tr:not(:last-child) {
	border-bottom: 1px solid #3fa1a8;
}

#main {
	width: 100%;
	max-width: var(--contents-innerMax);
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
	align-items: start;
	margin-bottom: 100px;
}
@media (width <= 820px) {
	#main {
		align-items: stretch;
		flex-direction: column;
	}
	#contents {
		width: 100%;
	}
}
#contents {
	margin-bottom: 40px;
}

@media screen and (min-width: 1024px) {
	#contents {
		width: 730px;
	}
}

.clearfix {
	min-height: 1px;
}

#main .paragraph {
	margin-bottom: 10px;
}

#contents .paragraph p {
	margin: 1em 0;
	line-height: 1.5;
	text-align: justify;
	font-size: 14px;
}

.column_golinkbox.reserve {
	margin-top: 2rem;
}
.column_golinkbox a {
	display: block;
}
.column_golinkbox.reserve a {
	width: 100%;
	height: auto;
}

@media screen and (min-width: 769px) {
	.column_golinkbox.reserve a {
		padding-top: 24.65%;
		background: url(http://teigeki-dental.com/wp-content/uploads/2024/03/article-reservation-bnr.png)
			no-repeat;
		background-size: cover;
	}
}
#column_contents #column_table_of_contents {
	padding: 2rem;
	margin-top: 4rem;
	background: rgba(152, 131, 98, 0.1);
	border-radius: 1rem;
}
#column_contents a,
#column_contents li,
#column_contents p,
#column_contents span {
	word-break: break-all;
}
#column_contents #column_table_of_contents div span {
	font-size: 1.2rem;
	font-weight: bold;
	color: var(--color-point);
}

#contents ul {
	margin: 10px 0;
}

#column_contents ol {
	padding: 2rem;
	background: #f5f5f5;
}
#column_contents ul {
	padding: 2rem;
	background: #f5f5f5;
	list-style: disc;
}
#column_contents ol:nth-child(n + 2),
#column_contents ul:nth-child(n + 2) {
	margin-top: 2rem;
}
#column_contents #column_table_of_contents #toclist {
	display: block;
	padding: 0;
	margin: 1rem 0 0;
	background: none;
}
#column_contents ol li,
#column_contents ul li {
	line-height: 2;
}

@media screen and (min-width: 1024px) {
	nav ul,
	li {
		/* margin: 0 4px !important; */
	}
}
#column_table_of_contents #toclist li {
	position: relative;
	padding-left: 1rem;
	list-style: none;
	line-height: 1.6;
}

#column_contents #column_table_of_contents #toclist li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: '・';
}
#column_contents #column_table_of_contents #toclist li a {
	display: block;
	font-weight: bold;
	color: #555;
	text-decoration: none;
}
#column_contents #column_table_of_contents #toclist li ul {
	padding: 0.5rem 0;
	margin: 0;
	background: none;
}
#column_contents #column_table_of_contents #toclist li ul li {
	list-style: none;
}
#column_contents #column_table_of_contents #toclist li ul li:before {
	content: '';
	display: block;
	width: 0.4rem;
	height: 0.7rem;
	border-left: 2px solid #333;
	border-bottom: 2px solid #333;
}
#column_contents #column_table_of_contents #toclist li:nth-child(n + 2) {
	margin-top: 0.5rem;
}

#contents h2 {
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	width: 100%;
	font-size: 27px;
	line-height: 40px;
	letter-spacing: 2px;
	display: block;
	margin: 40px 0 20px 0;
	padding: 10px 0 15px 0;
	border-top: 1px var(--color-point) solid;
	border-bottom: 1px var(--color-point) solid;
}

#column_contents img,
#contents .paragraph img {
	max-width: 100%;
	height: auto;
}

#column_contents img.aligncenter {
	display: block;
	margin: auto;
}

#contents b {
	background-color: #e0fff2;
	font-weight: normal;
}
#contents h3 {
	font-family: dnp-shuei-mincho-pr6, sans-serif;
	border-left: 6px solid var(--color-point);
	font-size: 27px;
	padding: 0 0 7px 12px;
	letter-spacing: 1px;
	margin: 35px 0 20px 0;
	line-height: 35px;
}
#contents h4 {
	color: var(--color-point);
	font-size: 21px;
	letter-spacing: 3px;
	margin: 30px 0 20px 0;
	font-weight: bold;
}

#column_contents p a,
#column_contents p span,
#column_contents p strong {
	font-size: 100%;
}

#contents table {
	border-collapse: collapse;
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
	margin: 20px 0 15px 0;
	background: #fff;
	font-size: 13px;
}
#contents table td,
#contents table th {
	font-weight: normal;
}
#contents table td {
	border-top: 1px solid #c6baa7 !important;
	border: 1px solid #c6baa7;
	text-align: left;
	padding: 3px 6px;
}

/*spメニュー*/
.p_header_btn {
	text-align: center;
}

.e_menuBtn {
	border: none;
}

.p_header_btnTxt {
	color: var(--color-point);
	font-weight: bold;
	margin-top: 4px;
	font-size: 10px;
	text-align: center;
	font-family:
		'游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium',
		'游ゴシック', 'Yu Gothic', sans-serif;
}

.e_menuBtn_inner {
	width: 7.47vw;
	height: 5.33vw;
	cursor: pointer;
	position: relative;
}

.e_menuBtn_line {
	width: 100%;
	height: 2px;
	position: absolute;
	background-color: #463228;
	border-radius: 0.8vw;
	left: 0;
}
.e_menuBtn_line:nth-child(1) {
	top: 0vw;
	animation: top-span-close 0.4s forwards;
}
.e_menuBtn_line:nth-child(2) {
	top: 2.4vw;
	transition: 0.1s 0.2s ease-out opacity;
}
.e_menuBtn_line:nth-child(3) {
	top: 4.8vw;
	animation: bottom-span-close 0.4s forwards;
}

.p_hamburgerNav_close {
	display: none;
	position: fixed;
	text-align: center;
	background: var(--color-point);
	z-index: 10001;
	top: 0;
	right: 0;
	padding: 20px 20px;
}
.p_hamburgerNav_close .e_menuBtn_line {
	background-color: #fff;
}
.p_hamburgerNav_close .e_menuBtn_line:nth-child(1) {
	top: 2.4vw;
	transform: rotate(45deg);
	animation: none;
}
.p_hamburgerNav_close .e_menuBtn_line:nth-child(2) {
	opacity: 0;
}
.p_hamburgerNav_close .e_menuBtn_line:nth-child(3) {
	top: 2.4vw;
	transform: rotate(-45deg);
	animation: none;
}
.p_hamburgerNav_close .p_header_btnTxt {
	color: #fff;
}

.p_hamburgerNav {
	transform: translateX(100%);
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background: #fff;
	z-index: 10000;
	display: none;
	transition: all 0.3s ease;
	padding: 28.2vw 3.333vw 16vw;
}

@media screen and (max-width: 820px) {
	.p_hamburgerNav {
		display: block;
	}
}
.p_hamburgerNav_item {
	margin-bottom: 12vw;
}

.p_hamburgerNav_itemTtl {
	text-align: center;
	font-size: 5.333vw;
	color: var(--color-point);
	text-shadow: 3px 3px 2px #fff;
	margin-bottom: 6.666vw;
}
.b_hanburgerMenu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3px;
}
.b_hanburgerMenu + .p_hamburgerNav_item {
	margin-top: 2em;
}
.b_hanburgerMenu .b_hanburgerMenu_item {
	display: grid;
	padding: 1px;
}

.b_hanburgerMenu .b_hanburgerMenu_item a {
	border: 2px solid var(--color-point);
	border-radius: 10px;
	box-sizing: border-box;
	text-align: center;
	/* ここから Grid で整える */
	display: grid;
	justify-items: center;

	/* 「アイコン行」「テキスト行」を固定 */
	grid-template-rows: 4em 2.4em; /* 2.4em = 1.2(line-height) × 2行 */
	row-gap: 6px;
	padding: 9px 10px 8px;
}

.b_hanburgerMenu .b_hanburgerMenu_item a img {
	width: 4em;
	height: 4em;
	object-fit: contain;
}

.b_hanburgerMenu .b_hanburgerMenu_item a span {
	color: var(--color-point);
	font-size: calc(30 * min(100vw, 820px) / 820);
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
}

.p_hamburgerNav .p_contactTable {
	margin: 11vw auto;
}

.p_contactTable table {
	border: 1px solid var(--color-point);
	width: 100%;
}
.p_contactTable thead th,
.p_contactTable thead td {
	background: var(--color-point);
	color: #fff;
	text-align: center;
	font-size: 21px;
}

@media screen and (max-width: 820px) {
	.p_contactTable thead th,
	.p_contactTable thead td {
		font-size: 3.866vw;
	}
}
@media screen and (max-width: 820px) {
	.p_contactTable thead th {
		padding: 15px 10px;
	}
}
@media screen and (max-width: 820px) {
	.p_contactTable thead th,
	.p_contactTable thead td {
		font-size: 3.866vw;
	}
}
@media screen and (max-width: 820px) {
	.p_contactTable thead td {
		padding: 15px 5px;
	}
	.p_contactTable th,
	.p_contactTable td {
		height: 30px;
		vertical-align: middle;
		text-align: center;
		padding: 5px;
	}
}
.p_hamburgerBtn {
	width: 100%;
	height: 85px;
	background-color: var(--color-point);
	border-radius: 10px;
	font-size: 30px;
	text-align: center;
	margin-bottom: 5px;
}
.p_hamburgerBtn span {
	position: relative;
	font-size: calc(32 * min(100vw, 820px) / 820);
	line-height: 1;
}
.p_hamburgerBtn span:nth-child(2) {
	font-size: calc(54 * min(100vw, 820px) / 820);
	font-weight: var(--font-weight-regular);
	padding-left: 1em;
}
.p_hamburgerBtn a {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 100%;

	line-height: 1;
	color: #fff;
	vertical-align: middle;
	position: relative;
}
.p_hamburgerBtn a span:nth-child(2)::before {
	content: '';
	background-image: url(images/tel.webp);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1em;
	height: 1em;
	position: absolute;
	top: 0;
	left: 0;
}
.p_hamburgerBtn.webbtn a span:nth-child(2) {
	padding-left: 1.5em;
}
.p_hamburgerBtn.webbtn a span:nth-child(2)::before {
	width: 1.2em;
	height: 1.2em;
	background-image: url(images/pc.webp);
}

.p_hamburgerLink {
	display: flex;
	justify-content: space-between;
	margin-top: 8vw;
	margin-bottom: 8vw;
}
.p_hamburgerLink a {
	display: block;
	width: 49.5%;
	font-size: 30px;
	text-align: center;
	color: var(--color-point);
	padding: 10px 40px 10px 10px;
	border: 1px solid var(--color-point);
	border-radius: 5px;
	position: relative;
}
.p_hamburgerLink a span {
	font-size: 15px;
	display: block;
	margin-top: 5px;
}
.p_hamburgerLink a::after {
	content: '';
	width: 25px;
	height: 25px;
	background-image: url(images/sp-link-arrow.webp);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.sp_menu {
	position: fixed;
	top: 20px;
	right: 20px;
	display: none;
}
header .header_sp {
	display: none;
}

@media screen and (max-width: 820px) {
	header .header_pc {
		display: none;
	}
	header .header_sp {
		display: block;
		height: var(--header-height-sp);
		background: var(--color-header);
	}
	.header_sp .logo {
		position: relative;
		top: 20px;
		left: 20px;
	}
	.header_sp .logo {
		max-width: 182px;
	}
	.header_sp .catch {
		position: absolute;
		top: 0.8em;
		right: 20%;
		display: flex;
		align-items: center;
	}
	.header_sp .catch img {
		width: 1em;
	}
	.header_sp .catch span {
		display: block;
	}

	.sp_menu {
		display: block;
		z-index: 10000;
	}
}
.p_hamburgerNav_close.is_active {
	display: block;
}

.p_hamburgerNav.is_active {
	transform: translateX(0);
}

.case-wrap {
	display: flex;
	flex-flow: column;
	gap: 40px;
}

.case-item {
	padding: 30px;
	background-color: #f5f5f5;
	border-radius: 20px;
	margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
	#sidebar,
	.archive-wrap aside {
		width: 100%;
	}
	.archive-wrap .archive-main {
		width: 100%;
	}
	#main .paragraph,
	.single-blog .cats {
		width: 90%;
		margin: 10px auto;
	}
}
.case-slide {
	max-width: 850px;
	margin: 10px auto;
}

.case-wrap .title {
	background-color: var(--color-point);
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	width: -moz-fit-content;
	width: fit-content;
	padding: 10px 30px;
	margin: 20px auto;
}
.case-wrap .img {
	display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: center;
}
.case-wrap .img .case-img {
	width: 32%;
	line-height: 2;
	font-size: 22px;
	letter-spacing: 6px;
	text-align: center;
	font-weight: bold;
	color: #005d8c;
}
.case-wrap .img .case-img img {
	width: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	height: 100%;
}
.case-wrap .img .arrow {
	width: 2%;
	position: relative;
}
.case-wrap .case-link {
	background-color: #fff;
	border: var(--color-point) 2px solid;
	border-radius: 50px;
	font-weight: bold;
	width: -moz-fit-content;
	width: fit-content;
	display: block;
	text-align: center;
	padding: 10px 30px;
	margin: 20px auto;
}

.case_dl {
	display: flex;
	flex-flow: row wrap;
	margin-top: 20px;
}
.case_dl dt,
.case_dl dd {
	border-bottom: var(--color-point) 1px solid;
	padding: 5px 0;
}
.case_dl dt {
	width: 100px;
	color: #005d8c;
}
.case_dl dd {
	width: calc(100% - 100px);
	padding-left: 20px;
	line-height: 1.5;
}

.t_center {
	display: flex;
	align-items: center;
	justify-content: center;
}
.t_center p {
	width: -moz-fit-content;
	width: fit-content;
}

/*-----------------------------------------
	ここから追加したCSS
-----------------------------------------*/
/*=========================================
 common
=========================================*/
.c-btn {
	color: #fff;
	line-height: 1;
	background-color: var(--color-point);
	border-radius: 0;
	box-shadow: 3px 3px 3px rgba(198, 196, 196, 0.5019607843);
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-btn span {
	position: relative;
	font-size: min(24px, 2vw);
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	padding-left: 2em;
}
.c-btn span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1.75em;
	height: 1.75em;
}

/* tel */
.c-btn.tel {
	background: #67a0ed;
}
.c-btn.tel span::before {
	background: url(images/common/pc_cta-btn01.png) no-repeat center/contain;
}
.c-btn.tel span {
	font-size: calc(24 * min(100vw, 1400px) / 1400);
}

/* web */
.c-btn.web {
	background: var(--color-orange);
}
.c-btn.web span::before {
	background: url(images/common/pc_cta-btn02.png) no-repeat center/contain;
}
.c-btn.web span {
	font-size: calc(27 * min(100vw, 1100px) / 1100);
}

/* tel */
.c-tel {
	line-height: 1;
}
.c-tel span {
	position: relative;
	font-size: calc(53 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	line-height: 1;
	color: var(--color-sub);
	padding-left: 1em;
}
.c-tel span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	background: url(images/common/tel.png) no-repeat center / contain;
}

/*=========================================
 header
=========================================*/

/*=========================================
 footer
=========================================*/
/* TOP footer */

/* 下層 footer */
.footer-under {
	background: var(--color-footer);
}

/* CTA */
#sp_cta-button {
	display: none;
}

.footer-under .inner {
	width: 100%;
	max-width: calc(1240px + var(--post-paddingX) * 2);
	margin: 0 auto;
	padding: var(--post-paddingY) var(--post-paddingX);
}
.footer-under .inner .flex {
	display: flex;
	justify-content: center;
	gap: calc(50 * min(100vw, 1100px) / 1100) calc(50 * min(100vw, 1100px) / 1100);
}
.footer-under .inner .footer_L {
	flex-basis: 45%;
}
.footer-under .inner .footer_R {
	flex-basis: 55%;
}

/* 情報 */
.footer-under .f_logo {
	width: 90%;
	max-width: 400px;
	margin: 0 auto 1vw;
}
.footer-under .c-tel {
	display: block;
	width: fit-content;
	margin: 0 auto 0.7vw;
}
.footer-under .f_address {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-under .f_address p {
	font-size: calc(20 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-regular);
	padding-left: 1em;
}
.footer-under .btns {
	display: flex;
	gap: 1vw;
	margin: min(4vw, 32px) 0;
}
.footer-under .btns .c-btn {
	width: 100%;
	max-width: 320px;
	height: 94px;
}

/* アンカーリンク */
.footer-under .head {
	display: inline-block;
	position: relative;
	font-size: calc(22 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	color: var(--color-main);
	padding-left: 1em;
	margin-bottom: 0.25em;
}
.footer-under .head::before {
	content: '＞';
	position: absolute;
	left: 0;
	transform: scaleX(0.5);
}
.footer-under .head + .footerNavWrap {
	padding: 0.5vw 1.5vw;
}
.footer-under .footerNavWrap {
	display: flex;
	gap: min(10vw, 40px);
}
.footer-under .footerNavWrap + .head {
	margin-top: 1em;
}

/*  style01 */
/*  style02 */
.footer-list.-style02 {
	flex: 1;
}
.footer-list.-style02 li {
}
.footer-list.-style02 li + li {
	margin-top: 0.5em;
}
.footer-list.-style02 li a {
	position: relative;
	font-size: calc(18 * min(100vw, 1400px) / 1400);
	font-weight: var(--font-weight-medium);
	color: var(--color-main);
	padding-left: 0.8em;
}
.footer-list.-style02 li a::before {
	content: '';
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 0.25em;
	height: 0.25em;
	background: var(--color-main);
	border-radius: 100%;
}
.footer-under .footerContents {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: 1.5vw;
	margin-top: min(10vw, 80px);
}

/*=========================================
4. parts
=========================================*/
/* medical table
-----------------------*/
.p_clinicHoursTable_contents {
	background: #ffffeb;
	padding: min(4vw, 16px) min(3vw, 32px);
}

.p_clinicHoursTable {
	background: #ffffeb;
}
.p_clinicHoursTable table {
}
.p_clinicHoursTable table tr,
.p_clinicHoursTable table th,
.p_clinicHoursTable table td {
	font-family: var(--font-family-Serif);
	font-weight: var(--font-weight-regular);
	color: var(--color-main);
	border: 0;
	box-sizing: border-box;
	background: #ffffeb;
}
.p_clinicHoursTable table {
	padding: 10px 20px;
}
.p_clinicHoursTable table th,
.p_clinicHoursTable table td {
	font-size: min(3.5vw, 1.125rem);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
	vertical-align: middle;
}
.p_clinicHoursTable table thead {
	border-bottom: 0;
}
.p_clinicHoursTable table thead th {
	font-size: min(3.5vw, 1.125rem);
	font-family: var(--font-family-Serif);
	font-weight: var(--font-weight-regular);
}
.p_clinicHoursTable table thead th {
	font-size: min(3.5vw, 1.125rem);
	padding: 10px 0;
	height: 45px;
}
.p_clinicHoursTable table tbody th,
.p_clinicHoursTable table tbody td {
	padding: 10px 0;
	width: 45px;
	height: 45px;
}

.p_clinicHoursTable table thead th:first-child,
.p_clinicHoursTable table tbody td:first-child,
.p_clinicHoursTable table tfoot td:first-child {
	width: 25%;
	min-width: 130px;
	text-align: left;
}
.p_clinicHoursTable table tbody td:not(:first-of-type) {
	font-size: min(4vw, 1.25rem);
}
.p_clinicHoursTable table tbody td em,
.p_clinicHoursTable table tbody td span {
	font-size: 60%;
	line-height: 1;
}
.p_clinicHoursTable table tbody td.num {
	position: relative;
}
.p_clinicHoursTable table tbody td.num span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: min(3vw, 0.6875rem);
}
.p_clinicHoursTable table tfoot {
	border-top: 0;
}
.p_clinicHoursTable table tfoot th,
.p_clinicHoursTable table tfoot td {
	font-weight: var(--font-weight-medium);
	padding: 10px 0;
}
.p_clinicHoursTable table tfoot td:first-child {
	font-weight: var(--font-weight-bold);
}
.p_clinicHoursTable_contents .table-btm {
	padding: 10px 0;
}
.p_clinicHoursTable_contents .table-btm p {
	font-family: var(--font-family-Serif);
}

/*=========================================
  pages
=========================================*/
/* 下層共通 */
.page-main {
	width: 100%;
	max-width: calc(
		var(--contents-inner) + var(--post-paddingX) * 2
	); /* 下層コンテンツ幅の指定 */
	padding: var(--post-paddingY) var(--post-paddingX);
	margin: 0 auto;
}
.page-main .c-sec-inner {
	padding-top: var(--post-paddingY);
	padding-bottom: var(--post-paddingY);
	padding-right: 0;
	padding-left: 0;
}
.page-main .c-sec-inner.-sub {
	max-width: 890px;
}
.page-main section .c-sec-inner {
	padding-bottom: 0;
}
.page-main .mt00 {
	margin-top: 0 !important;
}
.page-main .mb00 {
	margin-bottom: 0 !important;
}
.page-main .pt00 {
	padding-top: 0 !important;
}
.page-main .pb00 {
	padding-bottom: 0 !important;
}

.page-main .-right {
	display: flex;
	justify-content: flex-end;
}
.page-main .-left {
	display: flex;
	justify-content: flex-start;
}
.page-main .-center {
	display: flex;
	justify-content: center;
}
.page-main .-flColumn {
	flex-direction: column;
}
.page-main .-aic {
	align-items: center;
}
.page-main .-ais {
	align-items: flex-start;
}
.page-main .-aie {
	align-items: flex-end;
}
.page-main .-aib {
	align-items: baseline;
}
.page-main .-jcs {
	justify-content: flex-start;
}
.page-main .-jce {
	justify-content: flex-end;
}
.page-main .-jcc {
	justify-content: center;
}
.page-main .-jcsb {
	justify-content: space-between;
}
.page-main .-jcsa {
	justify-content: space-around;
}
.page-main .-jcse {
	justify-content: space-evenly;
}

.page-main .-tar {
	text-align: right;
}
.page-main .-tal {
	text-align: left;
}
.page-main .-tac {
	text-align: center;
}
.page-main .-taj {
	text-align: justify;
	word-break: break-all;
}

.page-main .-color1 {
	color: #2c76d2;
}
.page-main .-color2 {
	color: #8fc143;
}
.page-main .-color3 {
	color: #db3939;
}

.page-main a.banner {
	filter: drop-shadow(0px 0px 7px rgba(0, 0, 0, 0.35));
}

.page-main .button-container {
	margin-top: 1vw;
}
.page-main .detail-btn {
	font-size: min(4vw, 18px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	color: #fff;
	padding: 0.1em 1.8em 0.2em;
	background: var(--color-orange);
	border-radius: 50vh;
	margin: 1em 0 0;
	box-shadow:
		inset 0 2px 3px rgba(255, 255, 255, 0.35),
		inset 0 -2px 4px rgba(0, 0, 0, 0.15),
		0 6px 12px rgba(0, 0, 0, 0.25);
}
.page-main .detail-btn:hover {
	background: #2583d6;
	transform: translateY(-1px);
	opacity: 1;
	box-shadow:
		inset 0 2px 3px rgba(255, 255, 255, 0.4),
		inset 0 -2px 4px rgba(0, 0, 0, 0.2),
		0 8px 16px rgba(0, 0, 0, 0.3);
}
.page-main .detail-btn span {
	position: relative;
}
.page-main .detail-btn span::before {
	content: '＞';
	font-size: 12px;
	padding-right: 0.2em;
}

.page-main .container {
	margin: 2vw 0;
}
.page-main .sec-title {
	font-size: min(5vw, 30px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	text-align: center;
	background: #ffffeb;
	border-top: 1px solid;
	border-bottom: 1px solid;
	padding: 0.6vw;
	margin-top: 5vw;
	margin-bottom: min(10vw, 50px);
}
/* 検索よけタイトル */
.page-main .sec-titleImg {
	width: 100%;
	margin-bottom: min(10vw, 50px);
}
.page-main .sec-titleImg img {
	width: auto;
	height: 10vw;
	max-height: 73px;
	object-fit: cover;
}
.page-main .c-sec-inner > .sec-title {
	margin-top: 0;
}

.page-main ul:not([class]) li {
	position: relative;
	font-size: calc(18 * min(100vw, var(--contents-inner)) / 1100);
	padding-left: 0.8em;
}
.page-main ul:not([class]) li::before {
	content: '';
	position: absolute;
	top: 0.85em;
	left: 0;
	width: 0.25em;
	height: 0.25em;
	background: var(--color-main);
	border-radius: 100%;
}

/* 目次 */
.page-main .index-box {
	width: 100%;
	max-width: 890px;
	display: flex;
	background: #e5eaf1;
	padding: min(6vw, 54px) 0;
	margin: 0 auto min(10vw, 68px);
}
.page-main .index-box .content_L {
	flex-basis: 35%;
}
.page-main .index-box .content_R {
	flex: 1;
	padding: 0 min(10vw, 110px);
}
.page-main .index-box .ttl-head {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-right: 1px solid #2c76d2;
}
.page-main .index-box .ttl-head .en {
	font-size: min(4vw, 18px);
	font-weight: var(--font-weight-light);
	letter-spacing: 0;
	color: #2c76d2;
}
.page-main .index-box .ttl-head .ja {
	font-size: min(4vw, 18px);
	font-weight: var(--font-weight-light);
	letter-spacing: 0.08em;
}
.page-main .index-list {
	margin: 0;
}
.page-main .index-list li {
	font-weight: var(--font-weight-regular);
}
.page-main .index-list > li > a {
	position: relative;
	display: inline-block;
	font-size: min(4vw, 16px);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0;
	padding-left: 1.25em;
}
.page-main .index-list > li {
	margin-bottom: 0.5em;
}
.page-main .index-list > li > a::before {
	content: '▶';
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	margin-right: min(4vw, 1em);
}
.page-main .index-list li ul {
	margin: 0.25em 0.5em;
	margin-left: 1em;
}
.page-main .index-list li ul li a {
	font-size: 80%;
}

/* イントロ */
.page-main .intro-contents {
}
.page-main .intro-title {
	font-size: min(4.5vw, 27px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	color: var(--color-main);
	letter-spacing: 0;
	margin-bottom: min(5vw, 37px);
}
.page-main .intro-title strong {
	font-size: 125%;
	font-weight: inherit;
}
.page-main .intro-box {
	background: #ffffeb;
	padding: min(6vw, 37px) 4vw min(6.5vw, 43px);
	margin-top: 3vw;
}
.page-main .intro-box .sec-title {
	margin-bottom: calc(30 * min(100vw, 1100px) / 1100);
}
.page-main .intro-box p {
}

/* 考え方 */
.page-main .plan-contents {
}
.page-main .plan-title {
	width: fit-content;
	font-size: min(4.75vw, 27px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	color: #fff;
	background: #2583d6;
	padding: 0.25em 1em;
	margin: 0 auto 2vw;
}
.page-main .plan-title + .plan-content {
	margin-top: min(10vw, 100px);
}
.page-main .plan-content {
	display: flex;
	gap: min(4vw, 30px);
}
.page-main .plan-content + .plan-content {
	margin-top: calc(30 * min(100vw, 1100px) / 1100);
}
.page-main .plan-content .content_L {
	flex: 1;
}
.page-main .plan-content .content_R {
	flex-basis: 35%;
}
.page-main .plan-titleSub {
	font-size: min(4.5vw, 25px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	margin: 0 auto min(5vw, 48px);
}
.page-main .plan-titleSub strong {
	font-size: 115%;
}
.page-main .plan-titleSub strong em {
	font-size: 115%;
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	color: #2583d6;
	background: #cdddf1;
	padding: 0 0.2em;
	border-radius: 100%;
	margin-right: 0.15em;
}
.page-main .method-titleSub + .plan-contents {
	margin: calc(50 * min(100vw, 1100px) / 1100) auto;
}

/* 治療 */
.page-main .method-contents {
}
.page-main .method-content {
	padding: min(4vw, 25px) min(5vw, 80px) min(4.25vw, 32px);
}
.page-main .method-content + .method-content {
	margin-top: 2em;
}
/* .page-main .method-title {
	font-size: min(5vw, 30px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	margin: 0 2vw 2.5vw;
} */
.page-main .method-title {
	width: fit-content;
	font-size: min(4.75vw, 27px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0px;
	color: rgb(255, 255, 255);
	background: rgb(37, 131, 214);
	padding: 0.25em 1em;
	margin: 0px auto 2vw;
}
.page-main .method-titleMain {
	font-size: min(4.25vw, 24px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	padding-bottom: 0.2em;
	border-bottom: 1px solid;
	margin: 0 0 1.5vw;
}
.page-main .method-titleSub {
	font-size: min(4.15vw, 20px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	color: #fff;
	background: #90b3e0;
	padding: 0.15em 1em;
	margin-bottom: 0.6vw;
}
.page-main .method-content {
	background: #e3ebf6;
}
.page-main .method-content-column {
	display: flex;
	gap: min(6vw, 50px);
}
.page-main .method-content-column .content_L {
	flex-basis: 33.333%;
}
.page-main .method-content-column .content_R {
	flex: 1;
}
.page-main .method-content-column p + .method-titleSub {
	margin-top: 1em;
}

/* 特徴 */
.page-main .features-contents {
}
.page-main .features-title-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(4vw, 1.5em);
	background: #ffffeb;
	border-top: 1px solid;
	border-bottom: 1px solid;
	padding: 0.6vw 0;
	margin-top: 5vw;
	margin-bottom: min(10vw, 50px);
}
.page-main .features-title-wrap + .features-box {
	margin-top: min(10vw, 50px);
}

.page-main .features-content + .features-content {
	margin-top: 5vw;
}
.page-main .features-content .features-title-wrap {
	margin-top: 0;
}
.page-main .features-title-wrap .head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.page-main .features-title-wrap .head span {
	font-size: min(4vw, 18px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	line-height: 1;
}
.page-main .features-title-wrap .head .num {
	font-size: min(7vw, 35px);
	color: #978762;
}
.page-main .features-title-wrap .features-title {
	font-size: min(5vw, 30px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
}
.page-main .features-titleSub {
	font-size: min(4.5vw, 25px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	margin: 1vw auto;
}
.page-main .features-titleSub + .features-box {
	margin-top: 0;
}
.page-main .features-box {
	width: 90%;
	max-width: 880px;
	background: #f6f5f2;
	padding: min(6vw, 37px) 2.5vw min(6.5vw, 43px);
	margin: min(10vw, 50px) auto 4vw;
}

/* FAQ */
.faq-title-wrap {
	text-align: center;
	margin-bottom: min(10vw, 120px);
}
.faq-title-wrap .faq-title {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	font-size: min(4.5vw, 27px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	z-index: 0;
}
.faq-title-wrap .faq-title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-50%, -50%);
	width: 5em;
	height: 100%;
	background: url(images/common/faq-title-bg.png) no-repeat top / contain;
	z-index: -1;
}
.faq-title-wrap .faq-title span {
	font-size: min(5vw, 35px);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	color: var(--color-main);
}
.faq-title-wrap .faq-title em {
	font-family: inherit;
}
.faq-title-wrap .faq-title strong {
	font-size: 160%;
}

/* アコーディオン */
#faq .p_accordion__contents {
	max-width: 820px;
	margin: 0 auto;
	list-style: none;
}
#faq .p_accordion__contents .p_accordion__content {
	padding-bottom: 0;
	transition: all 0.2s;
}
#faq .p_accordion__contents .p_accordion__content:last-child {
	margin-bottom: 0;
}
.p_accordion__content + .p_accordion__content {
	margin-top: min(4vw, 20px);
}

/* タイトルエリア */
#faq .p_accordion__title {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 5px 0;
	padding-right: 0.5em;
	background: #f4f3f9;
}

/* タイトルテキスト */
#faq .p_accordion__label {
	position: relative;
	flex: 1 1 auto;
	font-size: min(4vw, 1rem);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	line-height: 1.6;
	color: #2c3397;
	padding: 0 0.5em;
	margin-bottom: 0;
}
#faq .p_accordion__label::before,
#faq .p_accordion__body p::before {
	top: 0;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 2em;
	font-size: min(4vw, 25px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Sans);
	line-height: 1;
	letter-spacing: 0;
}
#faq .p_accordion__label::before {
	content: 'Q';
	position: absolute;
	left: 0;
	height: 1.15em;
	font-style: normal;
	color: #2c3397;
	border-right: 1px solid;
}
#faq .p_accordion__body p::before {
	content: 'A';
	position: absolute;
	left: 0;
	color: var(--color-main);
	line-height: 1.2;
	background: none;
}

/* アイコン */
#faq .p_accordion__icon {
	position: relative;
	width: min(6vw, 2em);
	height: min(6vw, 2em);
	background-color: none;
	flex: none;
	transition: all 0.2s ease;
}
#faq .p_accordion__icon::before,
#faq .p_accordion__icon::after {
	content: '';
	display: inline-block;
	position: absolute;
}
#faq .p_accordion__icon::before {
	content: '▼';
	position: absolute;
	top: 0.25em;
	left: 0;
	right: 0;
	margin: auto;
	width: min(5vw, 1em);
	height: min(5vw, 1em);
	color: #2c3397;
	transition: all 0.1s;
}
/* #faq .p_accordion__icon::after {
	transform: rotate(90deg);
} */
#faq .p_accordion__body {
	display: none; /* 最初は非表示 */
	padding: 16px 0 32px;
	border-radius: 0;
}
#faq .p_accordion__body p {
	position: relative;
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-Sans);
	padding: 0;
	margin: 0 !important;
}
#faq .p_accordion__label,
#faq .p_accordion__body p {
	font-size: min(4vw, 20px);
	padding-left: 60px;
}

/* テーブル */
.treatment-table {
}
.treatment-table em {
	font-weight: inherit;
	color: inherit;
	border-bottom: 1px solid;
}
.treatment-table th,
.treatment-table td {
	font-size: min(4vw, 18px);
	font-weight: var(--font-weight-medium);
	color: var(--color-sub);
	text-align: center;
	vertical-align: middle;
	padding: 20px;
}
.treatment-table thead {
}
.treatment-table thead th {
	padding: 10px;
	background: #e5eaf1;
	border-right: 5px solid #fff;
	border-bottom: 5px solid #fff;
}
.treatment-table thead th:last-child {
	border-right: 0;
}
.treatment-table tbody tr {
}
.treatment-table tbody td {
	background: #fbf5df;
	border-right: 5px solid #fff;
	border-bottom: 5px solid #fff;
}
.treatment-table tbody td:last-child {
	border-right: 0;
}
.treatment-table tbody td.price {
	text-align: right;
}
.treatment-table tbody td:first-child {
	width: 20%;
	min-width: 160px;
	background: #e5eaf1;
}

/* 流れ */
.page-main .flow-contents {
}
.page-main .flow-content {
	display: flex;
	gap: min(6vw, 50px);
}
.page-main .flow-content .content_L {
	flex-basis: 35%;
}
.page-main .flow-content .content_R {
	flex: 1;
}
.page-main .flow-content .pic {
	background: #e5eaf1;
	padding: 3px;
	box-shadow: 7px 8px 10px rgba(0, 0, 0, 0.14);
}
.page-main .flow-content .pic img {
}
.page-main .flow-content + img.arrow {
	display: block;
	width: 50%;
	max-width: 402px;
	margin: min(10vw, 42px) auto;
}
.page-main .flow-ttl {
	display: flex;
	font-size: min(4.25vw, 24px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	background: #90b3e0;
	padding: 0.15em 1em;
	margin-bottom: min(10vw, 70px);
}
.page-main .flow-ttl span {
	font-size: min(4.5vw, 28px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	color: #fff;
}
.page-main .flow-ttl .num {
	margin-right: 1.5em;
}

.page-main .flow-content p {
	font-family: var(--font-family-Serif);
	font-weight: var(--font-weight-medium);
}

/* 症例 */
.case-content {
}
.case-content__item {
	padding: min(8vw, 35px) min(3vw, 35px);
	background: #fff;
	box-shadow: 7px 8px 21px rgba(0, 0, 0, 0.1);
	margin: 0 auto;
}
.case-content__item + .case-content__item {
	margin-top: min(10vw, 100px);
}
.case-content__item-head {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 80px;
	margin-bottom: 34px;
}
.case-content__item-head p {
	font-size: min(3.75vw, 18px);
	font-weight: var(--font-weight-regular);
	line-height: 1;
	color: var(--color-point);
}
.case-content__item-head .arrow {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, calc(-50% + 1em));
	width: 2.5vw;
	max-width: 58px;
}
.case-content__item-head .before p {
	font-size: min(5vw, 35px);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-en);
	line-height: 1;
	color: #2c3397;
}
.case-content__item-head .after .pic {
	border: 1px solid #978762;
}
.case-content__item-head .after p {
	font-size: min(6vw, 50px);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-en);
	line-height: 1;
	color: #978762;
}

.case-content__item-table {
	display: grid;
}
.case-content__item-table .content {
	display: grid;
	grid-template-columns: 20% auto;
	border-bottom: 1px solid;
}
.case-content__item-table .content .th {
	font-size: min(4.25vw, 20px);
	font-weight: var(--font-weight-regular);
	text-align: center;
	letter-spacing: 0.24em;
	padding: 14px 8px;
}
.case-content__item-table .content .td {
	font-size: min(4vw, 18px);
	font-weight: var(--font-weight-regular);
	padding: 14px 40px;
	background: #fff;
}

/* 種類 */
.page-main .type-contents {
}
.page-main .type-contents .sec-title {
	margin-top: 0;
}
.page-main .type-content {
	display: flex;
	gap: min(6vw, 50px);
	background: #e5eaf1;
	padding: min(5vw, 52px) min(4vw, 34px) min(4vw, 24px);
}
.page-main .type-content + .type-content {
	margin-top: 2em;
}
.page-main .type-content .content_L {
	flex: 1;
}
.page-main .type-content .content_R {
	flex-basis: 40%;
}
.page-main .type-content .ttl {
	font-size: min(4.25vw, 24px);
	font-weight: var(--font-weight-medium);
	text-align: center;
}
.page-main .type-content .ttl + .pic {
	margin-top: min(4vw, 1.5em);
}
.page-main .type-content .pic {
	background: #fff;
}
.page-main .type-content__table {
	background: #fff;
}
.page-main .type-content__table tbody {
}
.page-main .type-content__table tbody th,
.page-main .type-content__table tbody td {
	font-size: min(4vw, 18px);
	color: var(--color-sub);
	padding: 8px 20px;
	border-bottom: 1px solid #bbc3cd;
}
.page-main .type-content__table tbody td:first-child {
	width: 20%;
	min-width: 100px;
	font-size: min();
	text-align: center;
	border-right: 1px solid #bbc3cd;
}
.page-main .type-content ul {
	margin: 0;
}

/* メリット・デメリット */
.page-main .advantages-box {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(10vw, 70px);
	width: 100%;
	margin: 3vw auto 5vw;
}
.page-main .advantages-box .box {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: #f6f5f2;
}
.page-main .advantages-box .box .ttl {
	font-size: min(4.15vw, 20px);
	font-weight: var(--font-weight-medium);
	text-align: center;
	color: var(--color-sub);
	padding: 0.35em;
}
.page-main .advantages-box .box > div {
	display: flex;
	justify-content: center;
	padding: min(4vw, 2em) min(4vw, 1em);
	background: #f6f5f2;
}
.page-main .advantages-box .box.-style01 .ttl {
	background: #f6d691;
}
.page-main .advantages-box .box.-style02 .ttl {
	background: #b1ccee;
}

/* チェックシート */
.page-main .diagnosis-box {
}
.page-main .diagnosis-box p {
	font-size: min(4vw, 16px);
	margin-bottom: 0.5em;
}
.page-main .diagnosis-box .sec-title {
	margin-bottom: min(4vw, 22px);
}
.page-main .diagnosis-box .message {
	font-size: min(4vw, 22px);
	font-weight: var(--font-weight-medium);
	color: #2c3397;
	line-height: 1.318;
	margin-bottom: min(5vw, 36px);
}

.page-main .diagnosis-table {
}
.page-main .diagnosis-table td {
	padding: 18px;
}
.page-main .diagnosis-table thead th {
	font-size: min(4vw, 20px);
	font-weight: var(--font-weight-medium);
	text-align: center;
	padding: 3px 30px;
	background: #b1ccee;
}
.page-main .diagnosis-table tr:nth-child(even) td {
	background: #f6f5f2;
}
.page-main .diagnosis-table th,
.page-main .diagnosis-table td {
	font-weight: var(--font-weight-medium);
	text-align: center;
	vertical-align: middle;
	padding: 20px;
}
.page-main .diagnosis-table thead th:last-child {
	border-right: 0;
}
.page-main .diagnosis-table tbody tr {
}
.page-main .diagnosis-table tbody td {
	width: 80px;
}
.page-main .diagnosis-table tbody td:first-child {
	width: 70%;
	max-width: 200px;
	min-width: 160px;
	text-align: left;
	border-right: 1px solid #e3e1dd;
}
.page-main .diagnosis-table tbody td:last-child {
	border-right: 0;
}
.page-main .diagnosis-table .head td {
	font-size: min(3vw, 12px);
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	padding: 10px 20px;
}
.page-main .diagnosis-table input {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	width: 23px;
	height: 23px;
	background: #fff;
	border: 1px solid #e3e1dd;
	cursor: pointer;
}
.page-main .diagnosis-table input:checked::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 15px;
	height: 15px;
	margin: auto;
	background-color: var(--color-point);
}

.page-main .diagnosis-buttons {
	display: flex;
	align-items: stretch;
}
.page-main .diagnosis-buttons > div {
	padding: 20px;
	background: #f6f5f2;
}
.page-main .diagnosis-buttons .content_L {
	flex-basis: 70%;
	min-width: 160px;
}
.page-main .diagnosis-buttons .content_R {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.page-main .diagnosis-buttons .caption {
	color: #8f2626;
}

.page-main .diagnosis-box .resultTtl {
	font-size: min(4vw, 20px);
	font-weight: var(--font-weight-medium);
	text-align: center;
}
.page-main .diagnosis-box .result {
	/* margin-top: 20px; */
	padding: 15px;
	background: #f6f5f2;
}
.page-main #diagnosisBtn {
	display: inline-block;
	padding: 14px 32px;
	background-color: #2fbf71; /* 緑 */
	color: #fff;
	font-size: min(4vw, 20px);
	font-weight: bold;
	border: none;
	border-radius: 50vh;
	cursor: pointer;
	text-align: center;
	transition: all 0.25s ease;
	/* グラデーション（立体感） */
	background: linear-gradient(to bottom, #7fcd5b 0%, #59b439 55%, #4aa52f 100%);
	/* 立体影 */
	box-shadow:
		inset 0 1px 5px rgba(255, 255, 255, 0.4),
		0 3px 10px rgba(0, 0, 0, 0.25);
}
/* hover */
.page-main #diagnosisBtn:hover {
	background-color: #26a863;
}

/* 料金表 */
.page-main .price-table {
}
.page-main .price-table th,
.page-main .price-table td {
	font-size: min(4vw, 20px);
	font-weight: var(--font-weight-medium);
}
.page-main .price-table td {
	padding: 30px;
	border-right: 1px solid #e3e1dd;
	border-bottom: 1px solid #e3e1dd;
}
.page-main .price-table thead {
}
.page-main .price-table thead th {
	padding: 3px 30px;
	background: #b1ccee;
}
.page-main .price-table thead td {
}
.page-main .price-table tbody tr:first-child td {
	border-top: 1px solid #e3e1dd;
}
.page-main .price-table tbody td:first-child {
	width: 50%;
	max-width: 440px;
	background: #f6f5f2;
	border-left: 1px solid #e3e1dd;
	border-bottom: 1px solid #e3e1dd;
}
.page-main .price-table .price {
	text-align: right;
}

/* セラミック */
.page-main .features-box-contents {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: min(4vw, 2.5em);
	align-items: stretch;
}
.page-main .features-box-content {
	position: relative;
	padding: 0.3vw 1vw;
	padding-right: 1.5vw;
	overflow: visible;
}
.page-main .features-box-content::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: -12px;
	left: -14px;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	opacity: 0.35;
}

.page-main .features-box-content:nth-child(odd) {
	background: rgba(0, 92, 172, 0.25); /* メイン青 */
}
.page-main .features-box-content:nth-child(odd)::before {
	background: #005bacad; /* 背面の薄い青 */
}
.page-main .features-box-content:nth-child(even) {
	background: rgba(127, 176, 107, 0.27); /* メイン緑 */
}
.page-main .features-box-content:nth-child(even)::before {
	background: rgb(127 176 107); /* 背面の薄い緑 */
}
.page-main .features-box-content__num {
	position: absolute;
	top: -0.25em;
	left: 18px;
	transform: translate(-50%, -50%);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-family-Serif);
	font-weight: var(--font-weight-regular);
	font-style: italic;
	font-size: calc(32 * min(100vw, 1100px) / 1100);
	letter-spacing: 0;
	line-height: 1;
	color: #fff;
	padding: 0.5vw 0.7vw 0.7vw 0.5vw;
}
.page-main .features-box-content:nth-child(odd) .features-box-content__num {
	background: rgba(0, 92, 172, 0.75); /* 濃い青 */
}
.page-main .features-box-content:nth-child(even) .features-box-content__num {
	background: rgba(101, 169, 64, 0.75); /* 濃い緑 */
}
.page-main .features-box-content__title {
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Sans);
	font-weight: var(--font-weight-medium);
	color: #fff;
	text-align: center;
	margin: 1vw auto;
}
.page-main .features-box-content__title span {
	display: block;
	font-size: calc(26 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Sans);
	font-weight: var(--font-weight-medium);
	color: #fff;
	line-height: 1;
}
.page-main .features-box-content__text {
}

/* アクセスマップ */
.access-map {
	margin: 0 auto min(10vw, 50px);
	padding: 0;
	width: 100%;
	max-width: 617px;
	height: auto;
}
.access-map iframe {
	width: 100%;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
}

/* SP設定 */
@media (width < 959px) {
}
@media (width <= 820px) {
	:root {
		--post-paddingY: 15vw;
		--post-paddingX: 3%;
	}
	/* header */

	/* footer */

	.footer-under .inner .flex {
		flex-direction: column;
	}
	/*=========================================
 common
=========================================*/
	.c-btn span {
		position: relative;
		font-size: min(24px, 2vw);
		font-weight: var(--font-weight-medium);
		line-height: 1.4;
		padding-left: 2em;
	}
	.c-btn.tel span {
		font-size: calc(34 * min(100vw, 820px) / 820);
	}

	.c-btn.web span {
		font-size: calc(38 * min(100vw, 820px) / 820);
	}

	.c-tel span {
		position: relative;
		font-size: calc(50 * min(100vw, 820px) / 820);
		font-weight: var(--font-weight-bold);
		font-family: var(--font-family-Sans);
		letter-spacing: 0;
		line-height: 1;
		color: var(--color-sub);
		padding-left: 1em;
	}

	.page-main .-rightSp {
		display: flex;
		justify-content: flex-end;
	}
	.page-main .-leftSp {
		display: flex;
		justify-content: flex-start;
	}
	.page-main .-centerSp {
		display: flex;
		justify-content: center;
	}
	.page-main .-flColumnSp {
		flex-direction: column;
	}

	.page-main .-aicSp {
		align-items: center;
	}
	.page-main .-aisSp {
		align-items: flex-start;
	}
	.page-main .-aieSp {
		align-items: flex-end;
	}
	.page-main .-aibSp {
		align-items: baseline;
	}

	.page-main .-jcsSp {
		justify-content: flex-start;
	}
	.page-main .-jceSp {
		justify-content: flex-end;
	}
	.page-main .-jccSp {
		justify-content: center;
	}
	.page-main .-jcsbSp {
		justify-content: space-between;
	}
	.page-main .-jcsaSp {
		justify-content: space-around;
	}
	.page-main .-jcseSp {
		justify-content: space-evenly;
	}

	.page-main .-tarSp {
		text-align: right !important;
	}
	.page-main .-talSp {
		text-align: left !important;
	}
	.page-main .-tacSp {
		text-align: center !important;
	}
	.page-main .-tajSp {
		text-align: justify !important;
	}

	.page-main .-flRowSp {
		flex-direction: row !important;
	}
	.page-main .-flRowReverseSp {
		flex-direction: row-reverse !important;
	}
	.page-main .-flColumnSp {
		flex-direction: column !important;
	}
	.page-main .-flColumnReverseSp {
		flex-direction: column-reverse !important;
	}

	/*=========================================
 header
=========================================*/

	/*=========================================
 footer
=========================================*/
	/* TOP footer */

	/* 下層 footer */
	.footer-under {
		background: var(--color-footer);
	}
	.footer-under .inner {
		padding-bottom: calc(var(--footer-fixed-height) + var(--post-paddingY));
	}
	.footer-under .inner .flex {
		display: flex;
		justify-content: center;
		gap: calc(50 * min(100vw, 820px) / 820) calc(50 * min(100vw, 820px) / 820);
	}
	.footer-under .inner .footer_L {
		position: relative;
	}
	/* 情報 */
	.footer-under .f_logoColumn {
		display: grid;
		grid-template-columns: 1fr 25%;
	}
	.footer-under .f_logoColumn img {
		width: 100%;
	}
	.footer-under .f_logo {
		width: 90%;
		max-width: 100%;
		margin: 0 0 1vw;
	}
	.footer-under .c-tel {
		margin: 3vw auto 1vw;
	}
	.footer-under .f_address {
		margin: 5vw 0;
	}
	.footer-under .f_address img {
		position: absolute;
		top: 0;
		right: 0;
	}
	.footer-under .f_address p {
		font-size: calc(28 * min(100vw, 820px) / 820);
		font-weight: var(--font-weight-regular);
		padding-left: 1em;
	}
	.footer-under .btns {
		display: flex;
		gap: 2vw;
		margin: 6vw 0 0;
	}
	.footer-under .btns .c-btn {
		width: 100%;
		max-width: 100%;
		height: auto;
		padding: 2vw 1vw;
	}

	/* アンカーリンク */
	.footer-under .head {
		font-size: calc(32 * min(100vw, 820px) / 820);
	}
	.footer-under .head::before {
	}
	.footer-under .head + .footerNavWrap {
		padding: 2vw 0;
	}
	.footer-under .footerNavWrap {
		gap: 3vw;
	}
	.footer-under .footerNavWrap + .head {
		margin-top: 1em;
	}

	/*  style01 */
	/*  style02 */
	.footer-list.-style02 {
		flex: 1;
	}
	.footer-list.-style02 li {
	}
	.footer-list.-style02 li a {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}
	.footer-under .footerContents {
		gap: 3vw;
	}

	/* 下層 MV */
	#sub_fv {
		display: flex;
		flex-direction: column-reverse;
	}
	#sub_fv .sub_fv--left {
		display: none !important;
	}

	#sub_fv .sub_fv--left {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 1vw;
		padding: 20px;
	}

	#sub_fv .sub_fv--left img {
	}

	#sub_fv .sub_fv--left p {
		font-size: clamp(24px, 6vw, 80px);
		writing-mode: lr;
		text-orientation: inherit;
	}

	#sub_fv .sub_fv--left p span {
		font-size: clamp(20px, 5vw, 80px);
		margin-left: 0.8em;
	}

	#sub_fv .sub_fv--left p span em {
		font-size: clamp(28px, 6vw, 80px);
	}

	#sub_fv .sub_fv--right {
	}

	#sub_fv #sub_mv {
	}

	#sub_fv .sub_mv-title {
		width: 90%;
	}
	#sub_fv .sub_mv-title .main {
		font-size: clamp(28px, 5vw, 80px);
	}
	#sub_fv .sub_mv-copy .sub {
		font-size: calc(32 * min(100vw, 820px) / 820);
	}
	#sub_fv .sub_mv-copy.sp-bl {
		position: absolute;
		top: 0;
		left: 0;
		transform: translateY(0);
		width: 100%;
		height: 100%;
		z-index: 1;
	}
	#sub_fv .sub_mv-copy.sp-bl .sub {
		width: fit-content;
		font-size: calc(40 * min(100vw, 820px) / 820);
		font-weight: var(--font-weight-regular);
		font-family: var(--font-family-Serif);
		line-height: 2;
		text-shadow:
			0 0 6px rgba(255, 255, 255, 0.9),
			0 0 18px rgba(255, 255, 255, 0.9),
			0 0 40px rgba(255, 255, 255, 0.6),
			0 0 80px rgba(255, 255, 255, 0.5),
			0 0 120px rgba(255, 255, 255, 0.7),
			0 0 6px rgba(255, 255, 255, 0.9),
			0 0 18px rgba(255, 255, 255, 0.9),
			0 0 6px rgba(255, 255, 255, 0.9),
			-20px -7px 18px rgba(255, 255, 255, 0.9),
			0 0 40px rgba(255, 255, 255, 0.6),
			0 0 120px rgba(255, 255, 255, 0.7);
		margin-top: 40vw;
		margin-bottom: 0.25em;
	}

	/* 追従CTA */
	#sp_cta-button {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		width: 100%;
	}
	#sp_cta-button ul {
		position: relative;
		display: flex;
		width: 100%;
	}
	#sp_cta-button ul li {
		flex-basis: 50%;
	}
	#sp_cta-button ul li a {
		width: 100%;
		height: 100%;
		min-height: 64px;
		color: var(--color-point);
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2vw;
		padding: max(1.125rem, 5.5vw) 0;
		background: var(--color-point);
	}
	#sp_cta-button ul li a span {
		font-size: clamp(20px, 4vw, 40px);
		font-weight: var(--font-weight-regular);
		font-family: var(--font-family-Serif);
		letter-spacing: 0;
		line-height: 1;
		color: #fff;
	}
	#sp_cta-button ul li a img {
		width: max(22px, 5vw);
		height: max(28px, 5vw);
		object-fit: contain;
	}
	#sp_cta-button .cta--tel {
		background: #c0cd4f;
	}
	#sp_cta-button .cta--web {
		background: #88a5cc;
	}

	/* 下層 パーツ */
	.page-main {
		padding-top: 0;
	}
	.page-main p {
		font-size: calc(27 * min(100vw, 820px) / 820);
		line-height: 1.8;
	}
	.page-main .c-sec-inner {
	}
	.page-main .c-sec-inner.-sub {
	}

	.page-main section .c-sec-inner {
	}
	.page-main .d-flex {
		width: 90%;
		gap: calc(50 * min(100vw, 820px) / 820) calc(50 * min(100vw, 820px) / 820);
		margin: 0 auto;
	}
	.page-main .d-flex + .d-flex {
		gap: 0;
		margin-top: calc(60 * min(100vw, 820px) / 820);
	}
	.page-main .d-flex .col100 {
		width: 100%;
	}
	.page-main .d-flex .col90 {
		width: 100%;
	}
	.page-main .d-flex .col80 {
		width: 100%;
	}
	.page-main .d-flex .col70 {
		width: 100%;
	}
	.page-main .d-flex .col60 {
		width: 100%;
	}
	.page-main .d-flex .col50 {
		width: 100%;
	}
	.page-main .d-flex .col40 {
		width: 100%;
	}
	.page-main .d-flex .col30 {
		width: 100%;
	}
	.page-main .d-flex div + div {
		margin: min(10vw, 90px) auto;
	}
	.page-main .d-flex .pic {
		text-align: center;
	}
	.page-main h3.sep-no {
		font-size: calc(35 * min(100vw, 820px) / 820);
		font-family: var(--font-family-Sans);
		font-weight: var(--font-weight-medium);
		color: var(--color-main);
		line-height: 1.2;
		margin: 3vw 0;
		text-align: center;
	}

	.page-main .index-box {
		flex-direction: column;
	}
	.page-main .index-box .page-main .features-box-contents {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}
	.page-main .button-container {
		width: 85%;
		margin: 0 auto;
		gap: 1em;
	}

	.page-main .button-container.-spColumn {
		flex-direction: column;
	}

	.page-main .detail-btn {
		width: 100%;
		display: flex;
		text-align: center;
		justify-content: center;
		padding: 1vw 4vw 1.5vw;
	}
	.page-main .detail-btn + .detail-btn {
		margin-top: 0;
	}
	.page-main .detail-btn span {
		font-size: calc(32 * min(100vw, 820px) / 820);
	}

	.page-main .detail-btn span::before {
		font-size: calc(32 * min(100vw, 820px) / 820);
	}

	.page-main .container {
	}

	.page-main .sec-title {
		font-size: calc(44 * min(100vw, 820px) / 820);
		padding: 2vw 1vw;
	}

	/* 検索よけタイトル */
	.page-main .sec-titleImg {
	}

	.page-main .sec-titleImg img {
	}

	.page-main .c-sec-inner > .sec-title {
		margin-bottom: 4vw;
	}

	.page-main ul:not([class]) li {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}
	.page-main ul:not([class]) li::before {
	}

	/* 目次 */
	.page-main .index-box {
		margin: 0 auto 5vw;
	}

	.page-main .index-box .content_L {
	}

	.page-main .index-box .content_R {
	}

	.page-main .index-box .ttl-head {
		width: 90%;
		border-right: 0;
		border-bottom: 1px solid #2c76d2;
		padding-bottom: 3vw;
		margin: 0 auto 6vw;
	}

	.page-main .index-box .ttl-head .en {
		font-size: calc(41 * min(100vw, 820px) / 820);
	}

	.page-main .index-box .ttl-head .ja {
		font-size: calc(41 * min(100vw, 820px) / 820);
	}

	.page-main .index-list {
	}

	.page-main .index-list li {
	}

	.page-main .index-list > li > a {
		font-size: calc(24 * min(100vw, 820px) / 820);
		padding-left: 2em;
	}

	.page-main .index-list > li {
		margin-bottom: 3vw;
	}

	.page-main .index-list > li > a::before {
	}

	.page-main .index-list li ul {
	}

	.page-main .index-list li ul li a {
	}

	/* イントロ */
	.page-main .intro-contents {
	}

	.page-main .intro-title {
		font-size: calc(32 * min(100vw, 820px) / 820);
		text-align: center;
	}

	.page-main .intro-title strong {
		font-size: 115%;
	}

	.page-main .intro-box {
	}

	.page-main .intro-box .sec-title {
	}

	.page-main .intro-box p {
	}

	/* 考え方 */
	.page-main .plan-contents {
	}

	.page-main .plan-title {
		font-size: calc(40 * min(100vw, 820px) / 820);
		text-align: center;
		margin: 0 auto 4vw;
	}

	.page-main .plan-title + .plan-content {
	}

	.page-main .plan-content {
		flex-direction: column-reverse;
	}

	.page-main .plan-content + .plan-content {
		margin-top: calc(60 * min(100vw, 820px) / 820);
	}

	.page-main .plan-content .content_L {
	}

	.page-main .plan-content .content_R {
	}

	.page-main .plan-titleSub {
		font-size: calc(30 * min(100vw, 820px) / 820);
	}

	.page-main .plan-titleSub strong {
		font-size: 135%;
	}
	.page-main .plan-titleSub strong em {
	}

	.page-main .method-titleSub + .plan-contents {
	}

	/* 治療 */
	.page-main .method-contents {
	}

	.page-main .method-content {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 3vw;
	}

	.page-main .method-content + .method-content {
	}

	.page-main .method-title {
		font-size: calc(40 * min(100vw, 820px) / 820);
		margin: 0 auto 4vw;
	}

	.page-main .method-titleMain {
		font-size: calc(28 * min(100vw, 820px) / 820);
		padding-bottom: 2vw;
		border-bottom: 1px solid;
		margin: 0 0 3vw;
	}

	.page-main .method-titleSub {
		font-size: calc(28 * min(100vw, 820px) / 820);
	}

	.page-main .method-content {
		padding: 5vw 3vw 3vw;
	}

	.page-main .method-content-column {
		flex-direction: column;
		gap: 3vw;
	}

	.page-main .method-content-column .content_L {
	}

	.page-main .method-content-column .content_R {
	}
	.page-main .method-content-column .content_L figure.pic {
		width: 90%;
		display: flex;
		aspect-ratio: 3 / 2;
		overflow: hidden;
		margin: 0 auto;
	}
	.page-main .method-content-column .content_L figure.pic img {
		object-fit: contain;
	}
	.page-main .method-content-column p + .method-titleSub {
	}

	/* 特徴 */
	.page-main .features-contents {
	}

	.page-main .features-title-wrap {
	}

	.page-main .features-title-wrap + .features-box {
		margin: min(10vw, 50px) auto 10vw;
	}
	.page-main .features-title-wrap + .features-box p {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	.page-main .features-content + .features-content {
		margin-top: 10vw;
	}

	.page-main .features-content .features-title-wrap {
		align-items: flex-start;
		padding: 2vw;
	}

	.page-main .features-title-wrap .head {
	}

	.page-main .features-title-wrap .head span {
		font-size: calc(30 * min(100vw, 820px) / 820);
	}

	.page-main .features-title-wrap .head .num {
		font-size: calc(59 * min(100vw, 820px) / 820);
	}

	.page-main .features-title-wrap .features-title {
		font-size: calc(42 * min(100vw, 820px) / 820);
		text-align: center;
	}

	.page-main .features-titleSub {
		font-size: calc(30 * min(100vw, 820px) / 820);
		margin: 4vw 0;
	}

	.page-main .features-titleSub + .features-box {
	}

	.page-main .features-box {
		width: 100%;
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	/* FAQ */
	.faq-title-wrap {
	}

	.faq-title-wrap .faq-title {
	}

	.faq-title-wrap .faq-title::before {
		left: -5%;
		transform: translate(0, -50%);
	}
	.faq-title-wrap .faq-title span {
		font-size: calc(40 * min(100vw, 820px) / 820);
	}

	.faq-title-wrap .faq-title em {
	}

	.faq-title-wrap .faq-title strong {
		font-size: 180%;
	}

	/* アコーディオン */
	#faq .p_accordion__contents {
	}

	#faq .p_accordion__contents .p_accordion__content {
	}

	#faq .p_accordion__contents .p_accordion__content:last-child {
	}

	.p_accordion__content + .p_accordion__content {
	}

	/* タイトルエリア */
	#faq .p_accordion__title {
		align-items: center;
		padding: 1vw;
	}

	/* タイトルテキスト */
	#faq .p_accordion__label {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	#faq .p_accordion__label::before,
	#faq .p_accordion__body p::before {
	}

	#faq .p_accordion__label::before {
		width: 1.5em;
		font-size: calc(37 * min(100vw, 820px) / 820);
		padding-right: 0.25em;
		border-right: 0.35vw solid;
	}

	#faq .p_accordion__body p::before {
		width: 1.75em;
		font-size: calc(35 * min(100vw, 820px) / 820);
	}

	/* アイコン */
	#faq .p_accordion__icon {
	}

	#faq .p_accordion__icon::before,
	#faq .p_accordion__icon::after {
	}

	#faq .p_accordion__icon::before {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	/* #faq .p_accordion__icon::after {
} */

	#faq .p_accordion__body {
		padding: 2vw 0 2vw;
	}

	#faq .p_accordion__body p {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	#faq .p_accordion__label,
	#faq .p_accordion__body p {
		padding-left: calc(80 * min(100vw, 820px) / 820);
	}

	/* 診療時間テーブル */
	.p_clinicHoursTable_contents {
		padding: 4vw;
	}

	.p_clinicHoursTable {
	}

	.p_clinicHoursTable table {
	}

	.p_clinicHoursTable table tr,
	.p_clinicHoursTable table th,
	.p_clinicHoursTable table td {
	}

	.p_clinicHoursTable table {
	}

	.p_clinicHoursTable table th,
	.p_clinicHoursTable table td {
		border-bottom: 1px solid oklab(0.65 0 0.03 / 0.22);
	}

	.p_clinicHoursTable table thead {
	}

	.p_clinicHoursTable table thead th {
	}

	.p_clinicHoursTable table thead th {
		font-size: calc(25 * min(100vw, 820px) / 820);
		height: auto;
		padding: 0 0 3vw;
	}

	.p_clinicHoursTable table tbody th,
	.p_clinicHoursTable table tbody td {
		font-size: calc(25 * min(100vw, 820px) / 820);
		height: auto;
		padding: 5vw 0;
	}

	.p_clinicHoursTable table thead th:first-child,
	.p_clinicHoursTable table tbody td:first-child,
	.p_clinicHoursTable table tfoot td:first-child {
		min-width: auto;
	}

	.p_clinicHoursTable table tbody td:not(:first-of-type) {
		font-size: calc(25 * min(100vw, 820px) / 820);
	}

	.p_clinicHoursTable table tbody tr:nth-child(2) td {
		border-bottom: 0;
	}

	.p_clinicHoursTable table tbody td em,
	.p_clinicHoursTable table tbody td span {
	}

	.p_clinicHoursTable table tbody td.num {
	}

	.p_clinicHoursTable table tbody td.num span {
	}

	.p_clinicHoursTable table tfoot {
	}

	.p_clinicHoursTable table tfoot th,
	.p_clinicHoursTable table tfoot td {
	}

	.p_clinicHoursTable table tfoot td:first-child {
	}

	.p_clinicHoursTable_contents .table-btm {
		padding: 0;
	}
	.p_clinicHoursTable_contents .table-btm p {
		font-size: calc(25 * min(100vw, 820px) / 820);
	}

	/* テーブル */
	.treatment-table {
	}

	.treatment-table em {
	}

	.treatment-table th,
	.treatment-table td {
		font-size: calc(24 * min(100vw, 820px) / 820);
		font-weight: var(--font-weight-regular);
		padding: 2vw 0.5vw;
	}
	.treatment-table small {
		display: inline-block;
		font-size: 60%;
	}
	.treatment-table thead {
	}

	.treatment-table thead th {
		padding: 1vw 0;
		border-right: 0.5vw solid #fff;
		border-bottom: 0.5vw solid #fff;
	}

	.treatment-table thead th:last-child {
	}

	.treatment-table tbody tr {
	}

	.treatment-table tbody td {
		width: 25%;
		min-width: max-content;
		border-right: 0.5vw solid #fff;
		border-bottom: 0.5vw solid #fff;
	}

	.treatment-table tbody td:last-child {
	}

	.treatment-table tbody td.price {
	}

	.treatment-table tbody td:first-child {
		width: 20%;
		min-width: 0;
	}

	/* 流れ */
	.page-main .flow-contents {
	}

	.page-main .flow-content {
		flex-direction: column;
		gap: 4vw;
	}

	.page-main .flow-content .content_L {
	}

	.page-main .flow-content .content_R {
	}

	.page-main .flow-content .pic {
	}

	.page-main .flow-content .pic img {
	}

	.page-main .flow-content + img.arrow {
		width: 70%;
		margin: 5vw auto;
	}

	.page-main .flow-ttl {
		margin-bottom: 4vw;
	}
	.page-main .flow-ttl.sp-fl {
		margin-bottom: 4vw;
	}

	.page-main .flow-ttl span {
		font-size: calc(35 * min(100vw, 820px) / 820);
	}

	.page-main .flow-ttl .num {
	}

	.page-main .flow-content p {
	}

	/* 症例 */
	.case-content {
	}

	.case-content__item {
	}

	.case-content__item + .case-content__item {
	}

	.case-content__item-head {
		gap: 10vw;
	}

	.case-content__item-head p {
	}

	.case-content__item-head .arrow {
		top: 55%;
		width: 5.5vw;
	}

	.case-content__item-head .before p {
		font-size: calc(38 * min(100vw, 820px) / 820);
	}

	.case-content__item-head .after .pic {
	}

	.case-content__item-head .after p {
		font-size: calc(54 * min(100vw, 820px) / 820);
	}

	.case-content__item-table {
	}

	.case-content__item-table .content {
		grid-template-columns: 30% auto;
	}

	.case-content__item-table .content .th {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	.case-content__item-table .content .td {
		font-size: calc(27 * min(100vw, 820px) / 820);
		padding: 3vw 5vw;
	}

	/* 種類 */
	.page-main .type-contents {
	}

	.page-main .type-contents .sec-title {
	}

	.page-main .type-content {
		flex-direction: column-reverse;
		gap: 4vw;
	}

	.page-main .type-content + .type-content {
	}

	.page-main .type-content .content_L {
	}

	.page-main .type-content .content_R {
	}

	/* .page-main .type-content .pic {
		width: 100%;
		aspect-ratio: 3/2;
		background: none;
	}
	.page-main .type-content .pic img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: contain;
	} */

	.page-main .type-content .ttl {
		font-size: calc(33 * min(100vw, 820px) / 820);
	}

	.page-main .type-content .ttl + .pic {
	}

	.page-main .type-content__table {
	}

	.page-main .type-content__table tbody {
	}

	.page-main .type-content__table tbody th,
	.page-main .type-content__table tbody td {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	.page-main .type-content__table tbody td:first-child {
	}

	.page-main .type-content ul {
	}

	/* メリット・デメリット */
	.page-main .advantages-box {
		grid-template-columns: repeat(1, 1fr);
		gap: 6vw;
		margin: 5vw auto 10vw;
	}

	.page-main .advantages-box .box {
	}

	.page-main .advantages-box .box .ttl {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}

	.page-main .advantages-box .box > div {
		justify-content: flex-start;
	}

	.page-main .advantages-box .box.-style01 .ttl {
	}

	.page-main .advantages-box .box.-style02 .ttl {
	}

	/*  */
	.page-main .advantages-box ul:not([class]) li {
		font-size: calc(24 * min(100vw, 820px) / 820);
	}

	/* チェックシート */
	.page-main .diagnosis-box {
	}

	.page-main .diagnosis-box p {
		font-size: calc(25 * min(100vw, 820px) / 820);
		margin: 0 0 10vw;
	}

	.page-main .diagnosis-box .sec-title {
		margin: 0 0 10vw;
	}

	.page-main .diagnosis-box .message {
		font-size: calc(33 * min(100vw, 820px) / 820);
		margin: 0 0 10vw;
	}

	.page-main #diagnosisForm {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
	.page-main .diagnosis-table {
	}

	.page-main .diagnosis-table td {
	}

	.page-main .diagnosis-table thead th {
	}

	.page-main .diagnosis-table tr:nth-child(even) td {
	}

	.page-main .diagnosis-table th,
	.page-main .diagnosis-table td {
	}

	.page-main .diagnosis-table thead th:last-child {
		font-size: calc(25 * min(100vw, 820px) / 820);
		padding: 1vw;
		margin: 0 0 10vw;
	}

	.page-main .diagnosis-table tbody tr {
	}

	.page-main .diagnosis-table tbody td {
	}

	.page-main .diagnosis-table tbody td:first-child {
		width: 60%;
		font-size: calc(28 * min(100vw, 820px) / 820);
	}

	.page-main .diagnosis-table tbody td:last-child {
	}

	.page-main .diagnosis-table .head td {
		font-size: calc(20 * min(100vw, 820px) / 820);
		padding: 1vw;
	}

	.page-main .diagnosis-table input {
	}

	.page-main .diagnosis-table input:checked::after {
	}

	.page-main .diagnosis-buttons {
		flex-direction: column;
	}

	.page-main .diagnosis-buttons > div {
		padding: 5vw;
	}
	.page-main .diagnosis-buttons > div + div {
		padding-top: 0;
	}
	.page-main .diagnosis-buttons .content_L {
	}

	.page-main .diagnosis-buttons .content_R {
	}

	.page-main .diagnosis-buttons .caption {
		margin-bottom: 0;
	}

	.page-main .diagnosis-box .resultTtl {
	}

	.page-main .diagnosis-box .result {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.page-main #diagnosisBtn {
		font-size: calc(40 * min(100vw, 820px) / 820);
		padding: 4vw 10vw;
	}

	.page-main #diagnosisBtn:hover {
	}

	/* 料金表 */
	.page-main .price-table {
	}

	.page-main .price-table th,
	.page-main .price-table td {
	}

	.page-main .price-table td {
		padding: 3vw;
	}

	.page-main .price-table thead {
	}

	.page-main .price-table thead th {
		padding: 3px 3vw;
	}

	.page-main .price-table thead td {
	}

	.page-main .price-table tbody tr:first-child td {
	}

	.page-main .price-table tbody td:first-child {
	}

	.page-main .price-table .price {
	}

	/* セラミック */
	.page-main .features-box-contents {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 10vw;
		column-gap: 5vw;
	}

	.page-main .features-box-content {
		padding: 4vw 5vw 4vw 4vw;
	}

	.page-main .features-box-content::before {
	}

	.page-main .features-box-content:nth-child(odd) {
	}

	.page-main .features-box-content:nth-child(odd)::before {
	}

	.page-main .features-box-content:nth-child(even) {
	}

	.page-main .features-box-content:nth-child(even)::before {
	}

	.page-main .features-box-content__num {
		left: auto;
		font-size: calc(56 * min(100vw, 820px) / 820);
		padding-right: 1.7vw;
	}

	.page-main .features-box-content:nth-child(odd) .features-box-content__num {
	}

	.page-main .features-box-content:nth-child(even) .features-box-content__num {
	}

	.page-main .features-box-content__title {
		font-size: calc(30 * min(100vw, 820px) / 820);
		margin: 0 auto 3vw;
	}

	.page-main .features-box-content__title span {
		font-size: calc(36 * min(100vw, 820px) / 820);
	}

	.page-main .features-box-content__text {
	}

	/* アクセスマップ */
	.access-map {
	}
	.access-map iframe {
		height: auto;
	}

	/* 虫歯治療 */
	.page-main .cavities .plan-content {
		position: relative;
		flex-direction: row;
		gap: 0;
	}
	.page-main .cavities .plan-content .content_R {
		flex-basis: 40%;
	}
	.page-main .cavities .plan-content .content_L {
		margin-right: -1em;
		margin-bottom: 10vw;
		z-index: 1;
	}
	.page-main .cavities .method-content-column .content_L figure.pic {
		background: #fff;
	}

	.page-main .cavities .plan-content .plan-titleSub {
		display: flex;
		font-size: calc(34 * min(100vw, 820px) / 820);
		flex-direction: column;
	}
	.page-main .cavities .plan-content .plan-titleSub p {
		font-size: calc(34 * min(100vw, 820px) / 820);
		font-weight: var(--font-weight-semibold);
		font-family: var(--font-family-Serif);
		letter-spacing: 0;
		text-align: center;
		margin-top: 3vw;
	}

	/*  */
	#mission .page-main .intro-title {
		font-size: calc(35 * min(100vw, 820px) / 820);
	}
}

/* =======================================
Base / Layout
======================================= */ /* =======================================
Base / Layout
======================================= */
:root {
	--home-max: 1040px;
	--home-gutter: 24px;
	--home-gutter-sp: 16px;

	--home-radius: 12px;
	--home-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	--home-border: 1px solid rgba(0, 0, 0, 0.08);

	--home-text: #222;
	--home-muted: rgba(0, 0, 0, 0.6);
	--home-bg: #fff;
	--home-sub: #f6f8fb;
}

.main {
	color: var(--home-text);
	background: var(--home-bg);
}

.l-container {
	width: 100%;
	max-width: calc(var(--contents-inner) + var(--post-paddingX) * 2);
	padding-left: var(--post-paddingX);
	padding-right: var(--post-paddingX);
	margin: 0 auto;
}

@media (max-width: 767px) {
	.l-container {
		padding-inline: var(--home-gutter-sp);
	}
}
/* セクション間の余白（まずは共通） */
.home-mv,
.home-feature,
.home-approach,
.home-message,
.home-reason-intro,
.home-reasons,
.home-treatment,
.home-doctor,
.home-dropdown,
.home-clinic,
.home-news,
.home-access,
.home-reserve {
	padding-block: 80px;
}

em.is-blue {
	color: #2c76d2;
}
em.is-green {
	color: #8fc143;
}
em.is-marker.blue {
	background: linear-gradient(transparent 70%, #2c77d299 60%);
}
em.is-marker.green {
	background: linear-gradient(transparent 70%, #73a22b99 60%);
}

.home-title__wrap {
	position: relative;
	bottom: 100%;
	left: 0;
	width: fit-content;
	min-width: 350px;
	background: #94c9e4;
	background: linear-gradient(
		0deg,
		rgba(148, 201, 228, 1) 0%,
		rgba(32, 92, 167, 1) 100%
	);
	padding: calc(10 * min(100vw, 1100px) / 1100) 0;
}
.home-title__wrap .home-titleIcon {
	position: absolute;
	left: -1.5em;
	bottom: 0;
	width: 10em;
	max-width: 110px;
	height: 88px;
	object-fit: contain;
}
.home-title__wrap .home-title {
	font-size: calc(35 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0.08em;
	line-height: 1;
	color: #fff;
	padding: 10px 0;
	padding-left: 110px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

/* =======================================
FV
======================================= */
/* FV base */
.home-front-fv__slider {
	width: 100%;
	height: auto;
}

/* Slick内部要素にも高さを伝播 */
.home-front-fv__slider .slick-list,
.home-front-fv__slider .slick-track {
	width: 100%;
}

/* 各スライドを100vhで成立させる */
.home-front-fv__slide,
.home-front-fv__media,
.home-front-fv__media img {
	width: 100%;
}
/* =======================================
Feature（写真ストリップ + 縦コピー + 4矢印）
======================================= */
.home-feature {
	background: url(images/home/features_bg.png) no-repeat top left / cover;
	background-size: 40%;
	overflow: hidden;
}
.home-feature__photos {
	margin-bottom: 40px;
}

.home-feature__photo-list {
	margin-left: calc(50% - 55vw);
	margin-right: calc(50% - 55vw);
	max-width: 110vw;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: calc(28 * min(100vw, 820px) / 820);
	padding: calc(32 * min(100vw, 820px) / 820);
	background: #f8f7f7;
}

.home-feature__photo-item {
}

.home-feature__photo-item img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.home-feature__content {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 32px;
	align-items: start;
}

.home-feature__headline {
	display: flex;
	gap: calc(16 * min(100vw, 820px) / 820);
	justify-items: start;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: flex-end;
}

.home-feature__headline-vertical {
	font-size: calc(48 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Serif);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0.08em;
	line-height: 1.3;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	padding: 12px 10px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--home-shadow);
}
.home-feature__headline-vertical em {
	font-family: inherit;
	line-height: 1;
}
.home-feature__headline-vertical em:nth-child(1) {
	color: #b68382;
}
.home-feature__headline-vertical em:nth-child(2) {
	color: #6ea21a;
}

.home-feature__point-list {
	display: grid;
	gap: calc(43 * min(100vw, 1100px) / 1100);
	margin-top: 20px;
}

/* 帯本体（薄い黄色＋右に切り欠き） */
.home-feature__point-item a {
	position: relative;
	display: block;
	padding: 10px 44px 10px 32px;
	min-height: 50px;
	background: #ffffeb;
	clip-path: polygon(0% 0%, 96% 0%, 100% 50%, 96% 100%, 0% 100%);

	box-shadow: none;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.18));
}

/* 右側の水色「>」(手前：濃いめ) */
.home-feature__point-item a::before {
	content: '';
	position: absolute;
	top: 0;
	right: 1em;
	width: 76px;
	height: 100%;
	background: #dbe5f2;
	clip-path: polygon(0 0, 58% 0, 100% 50%, 58% 100%, 0 100%, 42% 50%);
	z-index: 0;
}

/* 右側の水色「>」(奥：薄め) */
.home-feature__point-item a::after {
	content: '';
	position: absolute;
	top: 0;
	right: -10px;
	width: 76px;
	height: 100%;
	background: #ffffeb;
	clip-path: polygon(0 0, 58% 0, 100% 50%, 58% 100%, 0 100%, 42% 50%);
	z-index: 0;
}

.home-feature__point-text {
	font-size: calc(31 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	z-index: 1;
}
.home-feature__point-text em {
	font-size: calc(38 * min(100vw, 1100px) / 1100);
	color: #4081e2;
	filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.12));
	line-height: 1;
}

/* =======================================
Approach（4カード）
======================================= */
.home-approach {
	position: relative;
	background: #fff;
	padding-bottom: 140px;
	z-index: 0;
}
.home-approach::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 55%;
	max-height: 420px;
	background: url(images/home/approach_bg.png) no-repeat bottom center / cover;
	z-index: -1;
}
.home-approach__title {
	text-align: center;
	font-size: calc(40 * min(100vw, 1100px) / 1100);
	margin: 0 0 65px;
	letter-spacing: 0.08em;
}
.home-approach__title em {
	font-weight: var(--font-weight-semibold);
	font-family: inherit;
}
.home-approach__title small {
	font-size: calc(35 * min(100vw, 1100px) / 1100);
}

.home-approach__card-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: start;
	gap: 24px;
}

.home-approach__card {
	background: #fff;
	box-shadow: 0 8px 24px rgb(0 0 0 / 15%);
	padding: calc(16 * min(100vw, 1100px) / 1100);
}
.home-approach__card:nth-child(even) {
	margin-top: 50px;
}
.home-approach__card-img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.1;
	object-fit: cover;
}

.home-approach__card-text {
	width: fit-content;
	margin: 0 auto;
	padding: 16px 0 8px;
	line-height: 1.6;
}
.home-approach__card-text em {
	background: linear-gradient(transparent 10%, #ffffeb 0%);
}

/* =======================================
Message（縦見出し + 画像）
======================================= */
.home-message {
	padding-top: 0;
}
.home-message img + img {
	margin-top: 100px;
}
.home-message__grid {
	display: grid;
	gap: 48px;
}

.home-message__block {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 28px;
	align-items: center;
}

.home-message__media {
	border-radius: var(--home-radius);
	overflow: hidden;
}

.home-message__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.home-message__vertical {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	background: rgba(255, 255, 255, 0.92);
	padding: 14px 12px;
	border-radius: 6px;
	margin: 0 0 14px;
	font-size: clamp(18px, 2vw, 28px);
	letter-spacing: 0.08em;
}

.home-message__text p {
	margin: 0 0 10px;
	color: var(--home-muted);
	line-height: 1.9;
}
/* =======================================
Reason intro（大バナー + doctor cut + CTA）
======================================= */

.home-reason-intro {
	position: relative;
	overflow: hidden;
	/* padding: 100px 0; */
}
.home-reason-intro .l-container {
	position: relative;
	z-index: 0;
}
.home-reason-intro .l-container::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 98%;
	max-height: 1350px;
	background: url(images/home/reason-intro_bg.png) no-repeat bottom center /
		cover;
	z-index: -1;
}

.home-reason-intro__staff {
	width: 80%;
	max-width: 840px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.home-reason-intro__hero {
	position: relative;
}
.home-reason-intro__cta {
	position: relative;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 886px;
	background: #ffffeb;
	padding: 56px 30px;
	box-shadow: 0 8px 24px rgb(0 0 0 / 20%);
	margin-top: 83px;
}
.home-reason-intro__cta-lead {
	font-size: calc(30 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	color: #635d52;
}
.home-reason-intro__cta-lead small {
	font-size: calc(24 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	margin-left: 1em;
	color: #635d52;
}
.home-reason-intro__cta-lead small em {
	font-size: 150%;
	font-family: var(--font-family-Serif);
	line-height: 1;
	color: #635d52;
}
.home-reason-intro__cta-title {
	font-size: calc(40 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	text-shadow: var(--home-shadow);
	margin-top: 0.2em;
}
.home-reason-intro__cta-title em {
	font-size: calc(78 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	line-height: 1;
}
.home-reason-intro__cta-title {
	/* ベース */
	--base: #0d3090;

	font-weight: 800;
	letter-spacing: 0.02em;

	/* 文字色は透明にして背景を文字にクリップ */
	color: transparent;
	background-clip: text;
	-webkit-background-clip: text;

	/* サテンっぽい“筋/ハイライト”を多段で重ねる */
	background-image:
    /* 斜めの細いハイライト筋（サテンの繊維感） */
		repeating-linear-gradient(
			120deg,
			rgba(255, 255, 255, 0) 0px,
			rgba(255, 255, 255, 0.1) 6px,
			rgba(255, 255, 255, 0) 12px
		),
		/* 大きめの光だまり（中央ハイライト） */
		radial-gradient(
				120% 180% at 30% 25%,
				rgba(255, 255, 255, 0.35) 0%,
				rgba(255, 255, 255, 0.12) 28%,
				rgba(255, 255, 255, 0) 60%
			),
		/* 陰影（エッジ側を少し暗く） */
		linear-gradient(180deg, #3b63d6 0%, var(--base) 45%, #082060 100%);

	/* 既存の影があるならここで置き換える（外側影として安定） */
	filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.2))
		drop-shadow(0 10px 18px rgba(0, 0, 0, 0.25));

	/* Safari対策で時々必要 */
	-webkit-text-fill-color: transparent;
}

.home-reason-intro__hero-body {
	position: relative;
	color: var(--home-muted);
	line-height: 1.9;
	background: #fff;
	padding: 115px 150px 100px 0px;
	z-index: 0;
}
.home-reason-intro__hero-body::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	z-index: -1;
}
.home-reason-intro__hero-body-bg {
	position: absolute;
	content: '';
	top: 50%;
	left: 0;
	transform: translate(-100%, -50%);
	width: 247px;
	height: 259px;
	z-index: -1;
}

.home-reason-intro__hero-body-title {
	position: absolute;
	top: -6em;
	right: 0;
	color: var(--color-main);
	background: #ffffeb;
	box-shadow: var(--home-shadow);
	padding: 22px 50px 32px;
	width: 80vw;
	margin-right: calc(50% - 50vw);
	margin-left: auto;
}

.home-reason-intro__hero-body-title h2 {
	font-size: calc(35 * min(100vw, 1100px) / 1100);
	letter-spacing: 0;
	color: var(--color-main);
	margin-bottom: 0.25em;
}
.home-reason-intro__hero-body-title h2 em {
	font-size: calc(45 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
}
.home-reason-intro__hero-body-title p {
	font-size: calc(26 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Serif);
	letter-spacing: 0;
	color: var(--color-main);
}

.home-reason-intro__hero-body-doctor {
	position: absolute;
	bottom: -13px;
	right: -8em;
	display: flex;
	justify-content: end;
	width: 30%;
	max-width: 250px;
}

.home-reason-intro__hero-body-doctor img {
}

.home-reason-intro__hero-body-text {
}
.home-reason-intro__hero-body-text p {
	font-weight: var(--font-weight-regular);
	color: var(--color-main);
}
.home-reason-intro__hero-body-text p + p {
	margin-top: 2em;
}
.home-reason-intro__hero-body-text--01 {
	font-size: 18px;
}
.home-reason-intro__hero-body-text--01 strong {
	font-size: calc(22 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-bold);
}
.home-reason-intro__hero-body-text--02 {
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	margin-left: 3em;
}
.home-reason-intro__hero-body-text--02 em {
	font-size: calc(22 * min(100vw, 1100px) / 1100);
	border-bottom: 1px solid;
}
.home-reason-intro__hero-body-text--03 {
	font-size: calc(20 * min(100vw, 1100px) / 1100);
	margin-left: 2em;
}
.home-reason-intro__hero-body-text--03 em {
	font-size: calc(22 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-bold);
	color: #4b9c45;
}

.home-reason-intro__thumb-list {
	position: relative;
	width: 80%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-top: -3em;
	margin-right: auto;
	z-index: 1;
}

.home-reason-intro__thumb-item {
	border-radius: var(--home-radius);
	overflow: hidden;
	margin: 0 -0.5em;
}

.home-reason-intro__thumb-item img {
	width: 100%;
	height: auto;
}

/* =======================================
Reasons（1〜5 ジグザグ）
======================================= */
@media (width >= 820px) {
	.home-reasons {
		padding-top: 0;
		padding-block: 150px;
		overflow: hidden;
	}
	.home-reasons .l-container {
	}

	.home-reasons__list {
		position: relative;
		display: grid;
	}
	.home-reasons__list::before {
		content: '';
		position: absolute;
		top: -5em;
		left: 0;
		width: 100%;
		height: 105%;
		background: url(images/home/reason_bg.png) no-repeat top center / cover;
	}

	.home-reasons__item {
		position: relative;
		display: grid;
		grid-template-columns: 40% 1fr;
		gap: 0;
		align-items: center;
		z-index: 0;
	}
	.home-reasons__item + .home-reasons__item {
		margin-top: 200px;
	}
	.home-reasons__item::before {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		width: 100vw;
		height: 90%;
		background: url(images/home/reasons_item-bg01.png) repeat top / cover;
		z-index: -1;
	}

	.home-reasons__head {
		position: relative;
		display: flex;
		justify-content: center;
		padding: 150px 0px;
	}
	.home-reasons__num {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: calc(215 * min(100vw, 1100px) / 1100);
		font-weight: 900;
		font-family: sans-serif;
		line-height: 1;
		color: #3f6297;
		text-align: center;
		opacity: 0.5;
	}
	.home-reasons__num-text {
		position: relative;
		font-size: calc(22 * min(100vw, 1100px) / 1100);
		font-weight: var(--font-weight-regular);
	}
	.home-reasons__num-text::before,
	.home-reasons__num-text::after {
		content: 'ー';
		position: relative;
		display: inline-block;
		color: #3f6297;
		transform: scaleX(2);
		margin: 0 10px;
	}
	.home-reasons__num-text::before {
		left: 0;
	}
	.home-reasons__num-text::after {
		right: 0;
	}

	.home-reasons__media {
		position: relative;
		margin-top: -8em;
	}
	.home-reasons__photo {
		max-width: 520px;
		border-radius: var(--home-radius);
		overflow: hidden;
		margin-left: auto;
	}

	.home-reasons__photo img {
		width: 100%;
		height: 100%;
		aspect-ratio: 16/10;
		object-fit: cover;
	}

	.home-reasons__card {
		position: absolute;
		top: 70%;
		max-width: 580px;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: var(--home-shadow);
		padding: 42px 32px;
	}
	.home-reasons__card::before {
		content: '';
		position: absolute;
		bottom: 0.25em;
		right: 0.25em;
		width: 0;
		height: 0;
		border-right: 2em solid #4b9c45;
		border-top: 2em solid transparent;
		border-bottom: 0px solid transparent;
	}
	.home-reasons__title {
		font-size: calc(24 * min(100vw, 1100px) / 1100);
		font-family: var(--font-family-Sans);
		font-weight: var(--font-weight-regular);
		letter-spacing: 0;
		text-align: center;
		padding-bottom: 0.35em;
		border-bottom: 2px solid #569a58;
		margin: 0 0 10px;
	}
	.home-reasons__title em.is-green {
		color: #4b9c45;
	}
	.home-reasons__text {
		margin: 0;
		line-height: 1.9;
	}

	.home-reasons__item--reverse {
		grid-template-columns: 1fr 40%;
	}
	.home-reasons__item--reverse::before {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		width: 100vw;
		height: 100%;
		background: url(images/home/reasons_item-bg02.png) repeat top / cover;
		z-index: -1;
	}
	.home-reasons__item--reverse .home-reasons__photo {
		order: 3;
		margin-left: 0;
		margin-right: auto;
	}
	.home-reasons__item--reverse .home-reasons__card {
		order: 2;
		right: 0;
	}

	.home-reasons__item--reverse .home-reasons__num {
		color: #569a58;
	}
}
/* =========================
home-mv
========================= */
.home-mv {
	padding: 0;
	position: relative;
}
.home-mv .l-container {
	width: 100%;
	max-width: 100vw;
	padding: 0;
}
.home-mv__inner {
	position: relative;
}

.home-mv__grid.pc-gd {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.home-mv__panel {
	position: relative;
	overflow: hidden;
}

.home-mv__panel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 縦コピー */
.home-mv__copy {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: stretch;
	gap: 30px;
	z-index: 2;
	height: fit-content;
}

.home-mv__copy-vertical {
	font-size: calc(40 * min(100vw, 1100px) / 1100);
	letter-spacing: 0.08em;
	line-height: 1;
	height: fit-content;
	writing-mode: vertical-rl;
	background: #fff;
	box-shadow: var(--home-shadow);
	border-radius: 0;
	padding: 20px 12px;
	margin: 0;
}
.home-mv__copy p,
.home-mv__copy span,
.home-mv__copy em {
	font-family: var(--font-family-Serif);
	font-weight: var(--font-weight-regular);
}
.home-mv__copy-vertical--main {
	font-size: calc(40 * min(100vw, 1100px) / 1100);
}

.home-mv__copy-vertical span {
	font-size: calc(48 * min(100vw, 1100px) / 1100);
}
.home-mv__copy-vertical em {
	font-size: calc(50 * min(100vw, 1100px) / 1100);
	color: #b68382;
}

/* =========================
home-service
========================= */
.home-service {
	padding: 120px 0;
	background: #faf9f6 url(images/home/service_bg.png) no-repeat top center /
		cover;
	background-size: 1360px;
}

.home-service__list {
	display: flex;
	flex-direction: column;
	gap: 120px;
}

.home-service__link {
	position: relative;
	z-index: 1;
}
/* ラベル */
.home-service__label {
	position: absolute;
	top: 0;
	left: -5em;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #2c6cb0;
	background: linear-gradient(
		0deg,
		rgba(148, 201, 228, 1) 0%,
		rgba(32, 92, 167, 1) 100%
	);
	color: #fff;
	width: 173px;
	height: 173px;
	padding: 10px 16px 30px;
	clip-path: polygon(0% 0%, 100% 0, 100% 85%, 50% 100%, 0 85%);
	z-index: 1;
}

.home-service__label--right {
	left: auto;
	right: -5em;
}

.home-service__label-main {
	width: 100%;
	font-size: calc(35 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	line-height: 1.3;
	text-align: center;
	color: #fff;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #fff;
}

/* 画像 */
.home-service__media {
	position: absolute;
	top: 15%;
	right: -80px;
	width: 480px;
	z-index: -1;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.home-service__media img {
	width: 100%;
	display: block;
}

.home-service__media--left {
	position: absolute;
	top: 20%;
	left: -80px;
	order: -1;
}

.home-service__item {
	position: relative;
	padding-top: 60px; /* label分の余白 */
}

/* カード */
.home-service__content {
	position: relative;
	z-index: 1;
	background: #fff;
	padding: 60px 60px 80px;
	border: 1px solid #569a58;
	z-index: 0;
}

.home-service__content-message {
	padding-left: 90px;
	padding-right: 210px;
}
.home-service__content-message--left {
	padding-right: 90px;
	padding-left: 210px;
}

.home-service__content {
	background: #fff;
	padding: 40px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	border: 1px solid #569a58;
}
.home-service__title {
	font-size: calc(30 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
	color: #322faa;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 50px;
}

.home-service__check {
	position: relative;
	font-size: calc(22 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-Sans);
	letter-spacing: 0;
	padding: 10px;
	padding-left: 2.8em;
	background: #ffffeb;
	margin-bottom: 20px;
}

.home-service__check::before {
	content: '';
	position: absolute;
	top: 0.7em;
	left: 1em;
	color: #2c6cb0;
	width: 1.2em;
	height: 1.2em;
	background: url(images/home/doctor_check.png) no-repeat top center / contain;
	font-weight: bold;
}
.home-service__text + .home-service__check {
	margin-top: 85px;
}
.home-service__text {
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	line-height: 2.222;
	margin: calc(18 * min(100vw, 1100px) / 1100);
}

/* =======================================
Doctor
======================================= */
.home-doctor {
	background: url(images/home/doctor_bg.png) no-repeat top center / cover;
}
.home-doctor .home-title__wrap {
	width: 100%;
	margin-bottom: 40px;
}
.home-doctor .home-title__wrap .home-doctor__title {
	font-family: var(--font-family-Sans);
	text-align: center;
	padding-left: 30px;
	padding-right: 110px;
}
.home-doctor__title em {
	font-size: calc(22 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Sans);
}
.home-doctor .home-title__wrap .home-titleIcon {
	position: absolute;
	right: -1.5em;
	left: auto;
}
.home-doctor__container {
	background: url(images/home/doctor_box-bg.png) repeat top center / cover;
	padding: 50px 0 0;
}
.home-doctor__inner {
}

.home-doctor__top {
	position: relative;
	display: flex;
}
.home-doctor__media {
	flex-basis: 35%;
	margin-top: -4em;
}
.home-doctor__photo {
	margin-left: -2em;
}
.home-doctor__lead {
	margin-left: -5em;
	margin-bottom: 1em;
}
.home-doctor__lead ruby {
	font-size: 120%;
}
.home-doctor__message {
	flex: 1;
	margin-right: 1em;
	margin-bottom: 2em;
}
.home-doctor__text {
	position: relative;
	z-index: 0;
}
.home-doctor__text p {
	margin-right: 5%;
}

.home-doctor__photo-sub {
	position: absolute;
	bottom: -30px;
	right: 0;
	width: 40%;
	max-width: 400px;
	z-index: -1;
}

.home-doctor__bottom {
	background-color: rgba(50, 66, 91, 0.49);
}
.home-doctor__bottom-inner {
	position: relative;
	display: flex;
	padding: 16px 27px;
}
.home-doctor__name {
	max-width: 350px;
	position: absolute;
	top: 0;
	left: 1em;
	transform: translateY(-40%);
}
/* .home-doctor__name {
	max-width: 350px;
	position: absolute;
	top: 0;
	left: 1em;
	transform: translateY(-40%);
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #fff;
	padding: 10px;
}
.home-doctor__name-logo {
	width: 70%;
	margin: 0 auto 8px;
}
.home-doctor__name-role {
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-bold);
	margin-right: 2em;
}
.home-doctor__name-main {
	font-size: calc(26 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-bold);
}
.home-doctor__name-sub {
	font-size: calc(22 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-regular);
	color: #8f98d1;
	margin-left: 1em;
} */

.home-doctor__career {
	flex-basis: 320px;
	margin-top: 70px;
}
.home-doctor__career-title {
	position: relative;
	width: fit-content;
	font-size: calc(20 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Sans);
	color: #fff;
	border-bottom: 1px solid #fff;
	padding-right: 2em;
	padding-left: 1.25em;
	margin-bottom: 0.5em;
}
.home-doctor__career-title::before {
	content: '';
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1em;
	height: 1em;
	background: #fff;
}
.home-doctor__career-list {
}
.home-doctor__career-list li {
	position: relative;
	font-size: calc(16 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	color: #fff;
	padding-left: 0.8em;
}
.home-doctor__career-list li::before {
	content: '';
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 0.3em;
	height: 0.3em;
	background: #fff;
	border-radius: 100vh;
}
.home-doctor__certs {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
/* 証明書 */
.home-doctor__cert-list {
}
.home-doctor__cert-list-1 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	justify-items: center;
}
.home-doctor__cert-list-1 li {
	width: 140px;
}
.home-doctor__cert-list-1 li:first-child {
	grid-column: 1 / -1; /* 1行目を横幅いっぱいに */
}
.home-doctor__cert-list-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

/* =======================================
home-dropdown
======================================= */
.home-dropdown {
	background: url(images/home/dropdown_bg.jpg) no-repeat top / cover;
	margin-bottom: 50px;
}
.home-dropdown .home-title__wrap {
	width: 100%;
	max-width: 660px;
	margin: 0 auto;
	margin-bottom: 33px;
}

.home-dropdown__title {
	text-align: center;
	margin-bottom: calc(50 * min(100vw, 1100px) / 1100);
	font-family: var(--font-family-Serif);
}

/* Grid */
.home-dropdown__grid {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	max-width: 1040px;

	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: calc(70 * min(100vw, 1100px) / 1100);
	row-gap: calc(34 * min(100vw, 1100px) / 1100);
}

/* Item */
.home-dropdown__item {
	position: relative;
}

/* 親カード（button） */
.home-dropdown__card {
	width: 100%;
	padding: calc(36 * min(100vw, 1100px) / 1100)
		calc(20 * min(100vw, 1100px) / 1100);
	display: grid;
	place-items: center;

	background: #ffffff;
	border: none;
	border-radius: 4px;
	cursor: pointer;

	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.home-dropdown__card:hover {
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.home-dropdown__cardText {
	font-size: calc(26 * min(100vw, 1100px) / 1100);
	font-weight: 600;
	font-family: var(--font-family-Serif);
	letter-spacing: 0.06em;
	color: #111;
}

/* 開いている状態（カード強調） */
.home-dropdown__item.is-open .home-dropdown__card,
.home-dropdown__trigger[aria-expanded='true'] {
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.14);
}

/* -------------------------
子メニュー：アニメーション
------------------------- */
.home-dropdown__child {
	display: grid;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		max-height 0.4s ease,
		opacity 0.25s ease;
}

/* 開いた時 */
.home-dropdown__item.is-open .home-dropdown__child {
	max-height: 520px; /* 子リンクが増えても足りる値に（必要なら増やす） */
	opacity: 1;
}

/* 子リンク */
.home-dropdown__childLink {
	display: grid;
	place-items: center;
	padding: calc(20 * min(100vw, 1100px) / 1100);
	text-decoration: none;
	font-size: calc(20 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-regular);
	background: #2c6cb0;
	color: #ffffff;
	transition: background 0.2s ease;
}

.home-dropdown__childLink + .home-dropdown__childLink {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.home-dropdown__childLink:hover {
	background: #355da8;
}

/* =======================================
Treatment
======================================= */

.home-treatment {
	background: url(images/home/treatment_bg.png) repeat-x bottom center / contain;
}
.home-treatment .l-container {
	position: relative;
	width: 100%;
	max-width: 1240px;
	z-index: 0;
}
.home-treatment .l-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	width: 80%;
	height: 50%;
	background: url(images/home/treatment_box-bg.png) no-repeat top center / cover;
	z-index: -1;
}
.home-treatment .l-container::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
	width: 80%;
	height: 50%;
	background: url(images/home/treatment_box-bg.png) no-repeat bottom center /
		cover;
	z-index: -1;
}
.home-treatment__title {
	position: absolute;
	top: -1.5em;
	left: 50%;
	transform: translateX(-50%);
	width: 70%;
	font-size: calc(40 * min(100vw, 1100px) / 1100);
	letter-spacing: 0.02em;
	text-align: center;
	padding: 16px;
	border: 1px solid #205ca7;
	background: #ffffeb;
	margin: 0 auto;
}
.home-treatment__title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 10px solid #fff;
}
.home-treatment__title em {
	font-size: calc(45 * min(100vw, 1100px) / 1100);
	font-family: inherit;
	color: #205ca7;
}

.home-treatment__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	padding: 100px 0 100px;
}
.home-treatment__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

/* デフォルトは4列 */
.home-treatment__item {
	width: 23%;
}

/* 5〜7番目（2列目）を3列に */
.home-treatment__item:nth-child(n + 5):nth-child(-n + 7) {
	width: 25%;
}

/* 8〜11番目（3列目）を4列に戻す */
.home-treatment__item:nth-child(n + 8):nth-child(-n + 11) {
	width: 23%;
}

/* 12〜14番目（4列目）を3列 */
.home-treatment__item:nth-child(n + 12):nth-child(-n + 14) {
	width: 23%;
}

/* 15〜18番目（5列目）を4列 */
.home-treatment__item:nth-child(n + 15):nth-child(-n + 18) {
	width: 23%;
}

.home-treatment__item--accent {
	border-color: rgba(120, 180, 60, 0.35);
}

/* =======================================
Gallery
======================================= */
.home-clinic {
	background: url(images/home/clinic_bg.png) no-repeat center center / contain;
}
.home-clinic .home-title__wrap {
	margin-bottom: 33px;
}

.home-clinic__main {
	/* 追記：フェード用（レイアウトは変えない） */
}
.home-clinic__main img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	transition: opacity 0.35s ease;
}

.home-clinic__main.is-changing img {
	opacity: 0;
}

.home-clinic__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(28 * min(100vw, 800px) / 800);
	margin-top: calc(28 * min(100vw, 800px) / 800);
}

.home-clinic__thumb {
	overflow: hidden;
	cursor: pointer;
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.home-clinic__thumb img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	display: block;
}

.home-clinic__thumb.is-active {
	opacity: 1;
}
.home-clinic__thumb:not(.is-active) {
	opacity: 0.4;
}

/* =======================================
News
======================================= */
.home-news .home-title__wrap {
	position: absolute;
	bottom: 100%;
	left: 0;
}
.home-news__box {
	position: relative;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--home-shadow);
	padding: 90px 40px 100px;
}

.home-news__title {
}

.home-news__list {
}
.home-news__list > p {
	text-align: center;
}

.home-news__item {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 6px;
	border-bottom: var(--home-border);
}

.home-news__item:last-child {
	border-bottom: none;
}

.home-news__date {
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0;
	line-height: 1;
	color: #21344b;
}
.home-news__label {
	display: inline-grid;
	place-items: center;
	padding: calc(8 * min(100vw, 1100px) / 1100)
		calc(10 * min(100vw, 1100px) / 1100);
	background: #3973b4;
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0;
	line-height: 1;
	color: #fff;
}
.home-news__link {
	font-size: calc(18 * min(100vw, 1100px) / 1100);
	line-height: 1.6;
}
.home-news__link:hover {
	text-decoration: underline;
}

.home-news__item {
	position: relative;
}
.home-news__item::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 2em;
	height: 0.5em;
	background: url(images/home/news_arrow.png) no-repeat center / contain;
}
/* =======================================
Access
======================================= */
.home-calendar iframe {
	margin: 0 auto;
}

/* =======================================
Access
======================================= */
.home-access__title {
	font-size: calc(34 * min(100vw, 1100px) / 1100);
	margin: 0 0 28px;
	text-align: center;
}

.home-access__inner {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: calc(44 * min(100vw, 1100px) / 1100);
	align-items: stretch;
}

.home-access__left,
.home-access__right {
}

.home-access__schedule {
	margin-bottom: calc(58 * min(100vw, 1100px) / 1100);
}

.home-access__info {
	display: grid;
	gap: 10px;
}

.home-access__info-row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 12px;
	padding: 10px 0;
}

.home-access__info-row:last-child {
	border-bottom: none;
}

.home-access__info-row dt,
.home-access__info-row dd,
.home-access__info-row dd a {
	font-size: calc(22 * min(100vw, 1100px) / 1100);
}
.home-access__info-row dt {
}
.home-access__info-row dd {
	margin: 0;
	line-height: 1.7;
}

.home-access__map {
	width: 100%;
	height: 100%;
}
.home-access__map iframe {
	height: 100%;
}

.home-access__map img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* HOME SP */
@media (width <= 820px) {
	.main {
		overflow: hidden;
	}

	/* home共通 */
	.home-title__wrap .home-title {
		font-size: calc(35 * min(100vw, 820px) / 820);
		padding-block: 6px;
		padding-left: calc(145 * min(100vw, 820px) / 820);
	}
	.home-title__wrap .home-titleIcon {
		left: -1em;
		bottom: 0;
		width: calc(160 * min(100vw, 820px) / 820);
		max-width: 110px;
		height: auto;
	}
	.home-mv,
	.home-feature,
	.home-approach,
	.home-message,
	.home-reason-intro,
	.home-reasons,
	.home-treatment,
	.home-doctor,
	.home-dropdown,
	.home-clinic,
	.home-news,
	.home-access,
	.home-reserve {
		padding-block: 50px;
	}

	/* features */
	.home-feature {
		background: url(images/home/features_bg.png) repeat-y top left / cover;
		background-size: 40%;
		padding-top: 30px;
	}
	.home-feature .l-container {
		padding-inline: 0;
	}
	.home-feature__photos {
	}
	.home-feature__photo-list {
		position: relative;
		left: 75%;
		width: 200vw;
		transform: translateX(-50%);
		max-width: max-content;
		margin-left: 0;
		margin-right: 0;
	}
	.home-feature__photo-item {
	}
	.home-feature__photo-item img {
	}
	.home-feature__content {
		grid-template-columns: 26% 1fr;
	}
	.home-feature__headline {
		width: fit-content;
		margin-left: var(--home-gutter-sp);
	}
	.home-feature__headline-vertical {
		font-size: calc(50 * min(100vw, 820px) / 820);
	}
	.home-feature__headline-vertical em {
		font-size: inherit;
	}
	.home-feature__headline-vertical:nth-child(2) {
		margin-top: 5em;
	}
	.home-feature__point-list {
	}
	.home-feature__point-item a {
		padding: calc(20 * min(100vw, 820px) / 820)
			calc(60 * min(100vw, 820px) / 820);
	}
	.home-feature__point-item a::before {
		right: 0.5em;
		width: 5em;
		height: 100%;
		clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%, 15% 50%);
	}
	.home-feature__point-item a::after {
		right: 1em;
		width: 5em;
		height: 100%;
		clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%, 15% 50%);
	}
	.home-feature__point-text {
		position: relative;
		font-size: calc(35 * min(100vw, 820px) / 820);
	}
	.home-feature__point-text em {
		font-size: calc(38 * min(100vw, 820px) / 820);
	}

	/* approach */
	.home-approach {
	}
	.home-approach::before {
		height: 70%;
		max-height: none;
	}
	.home-approach__title {
		font-size: calc(39 * min(100vw, 820px) / 820);
	}
	.home-approach__title em {
		font-size: calc(44 * min(100vw, 820px) / 820);
	}
	.home-approach__title small {
	}
	.home-approach__card-list {
		width: 90%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		column-gap: 20px;
		margin: 0 auto;
	}
	.home-approach__card {
		width: 46%;
		padding: calc(18 * min(100vw, 820px) / 820);
	}
	.home-approach__card:nth-child(even) {
		margin-top: 0;
	}
	.home-approach__card:nth-child(odd) {
		margin-top: -2em;
	}
	.home-approach__card-img img {
	}
	.home-approach__card-text {
		font-size: calc(22 * min(100vw, 820px) / 820);
	}
	.home-approach__card-text em {
	}

	/* message */
	.home-message {
		padding-bottom: 0;
	}
	.home-message img + img {
	}
	.home-message__grid {
	}
	.home-message__block {
		grid-template-columns: 1fr;
	}
	.home-message__media {
	}
	.home-message__media img {
	}
	.home-message__vertical {
		writing-mode: horizontal-tb;
	}
	.home-message__text p {
	}

	/* reason */
	.home-reason-intro {
		padding-top: 0;
	}
	.home-reason-intro .l-container {
		height: 95%;
	}
	.home-reason-intro .l-container::before {
	}
	.home-reason-intro__staff {
		width: 100%;
		margin-bottom: -6em;
	}
	.home-reason-intro__hero {
	}
	.home-reason-intro__cta {
		padding: calc(32 * min(100vw, 820px) / 820);
		margin-top: calc(100 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__cta-lead {
		font-size: calc(24 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__cta-lead small {
		font-size: inherit;
	}
	.home-reason-intro__cta-lead small em {
		font-size: inherit;
	}
	.home-reason-intro__cta-title {
		font-size: calc(50 * min(100vw, 820px) / 820);
		text-align: center;
	}
	.home-reason-intro__cta-title em {
		font-size: calc(97 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body {
		padding: 0;
	}
	.home-reason-intro__hero-body::before {
		margin-left: 0;
		margin-right: 0;
	}
	.home-reason-intro__hero-body-bg {
		position: absolute;
		content: '';
		top: 30%;
		left: -10%;
		transform: translate(0, 0);
		width: 30%;
		height: 30%;
		z-index: -1;
	}
	.home-reason-intro__hero-body-title {
		position: relative;
		top: 0;
		left: 0;
		right: 0;
		box-shadow: var(--home-shadow);
		padding: 5vw;
		width: 100vw;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
	}
	.home-reason-intro__hero-body-title h2 {
		font-size: calc(45 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body-title h2 em {
		font-size: calc(58 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body-title p {
		font-size: calc(26 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body-doctor {
		right: -1em;
		width: 32%;
		max-width: 280px;
	}
	.home-reason-intro__hero-body-doctor img {
	}
	.home-reason-intro__hero-body-text {
		padding: calc(100 * min(100vw, 820px) / 820) 2vw
			calc(210 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body-text p {
	}
	.home-reason-intro__hero-body-text p + p {
	}
	.home-reason-intro__hero-body-text--01 {
		font-size: calc(24 * min(100vw, 820px) / 820);
		margin-left: 17vw;
	}
	.home-reason-intro__hero-body-text--01 strong {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body-text--02 {
		font-size: calc(26 * min(100vw, 820px) / 820);
		margin-left: 0;
	}
	.home-reason-intro__hero-body-text--02 em {
		font-size: calc(31 * min(100vw, 820px) / 820);
	}
	.home-reason-intro__hero-body-text--03 {
		font-size: calc(26 * min(100vw, 820px) / 820);
		margin-left: 0;
	}
	.home-reason-intro__hero-body-text--03 em {
		display: inline-block;
		font-size: calc(32 * min(100vw, 820px) / 820);
		margin-top: 1em;
	}
	.home-reason-intro__thumb-list {
		width: 100%;
		margin-left: -2em;
	}
	.home-reason-intro__thumb-item {
		margin: 0;
	}
	.home-reason-intro__thumb-item img {
	}
	.home-reason-intro .is-tac {
		display: block;
		text-align: center;
		margin: 1em 0;
	}
	.home-reasons {
	}
	.home-reasons .l-container {
		padding-inline: 0;
	}
	.home-reasons__list {
		position: relative;
		display: grid;
	}
	.home-reasons__list::before {
		content: '';
		position: absolute;
		top: -5em;
		left: 0;
		width: 170%;
		height: 100%;
		background: url(images/home/reason_bg.png) no-repeat top center / cover;
	}

	.home-reasons__item {
		position: relative;
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		align-items: center;
		justify-items: end;
		z-index: 0;
	}
	.home-reasons__item + .home-reasons__item {
		margin-top: calc(130 * min(100vw, 820px) / 820);
	}
	.home-reasons__item::before {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		width: 100vw;
		height: 90%;
		background: url(images/home/reasons_item-bg01.png) repeat top / cover;
		z-index: -1;
	}

	.home-reasons__head {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		padding: 10vw 0;
		z-index: 1;
	}
	.home-reasons__num {
		position: absolute;
		top: 50%;
		left: 30%;
		transform: translate(-50%, -50%);
		font-size: calc(200 * min(100vw, 820px) / 820);
		font-weight: 900;
		font-family: sans-serif;
		line-height: 1;
		color: #3f6297;
		text-align: center;
		opacity: 0.5;
	}
	.home-reasons__num-text {
		position: relative;
		font-size: calc(35 * min(100vw, 820px) / 820);
		font-weight: var(--font-weight-regular);
	}
	.home-reasons__num-text::before,
	.home-reasons__num-text::after {
		content: 'ー';
		position: relative;
		display: inline-block;
		color: #3f6297;
		transform: scaleX(2);
		margin: 0 10px;
	}
	.home-reasons__num-text::before {
		left: 0;
	}
	.home-reasons__num-text::after {
		right: 0;
	}

	.home-reasons__media {
		position: relative;
		width: 100%;
	}
	.home-reasons__photo {
		width: 60%;
		overflow: hidden;
		margin-left: auto;
		margin-right: 1.5em;
	}

	.home-reasons__photo img {
		width: 100%;
		height: 100%;
		aspect-ratio: 16/10;
		object-fit: cover;
	}

	.home-reasons__card {
		display: block;
		position: relative;
		width: 80%;
		margin: -3em auto 0;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: var(--home-shadow);
		padding: 2vw 4vw;
	}
	.home-reasons__card::before {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-right: 1em solid #4b9c45;
		border-top: 1em solid transparent;
		border-bottom: 0px solid transparent;
	}
	.home-reasons__title {
		font-size: calc(28 * min(100vw, 820px) / 820);
		font-family: var(--font-family-Sans);
		font-weight: var(--font-weight-regular);
		letter-spacing: 0;
		text-align: center;
		padding-bottom: 0.15em;
		border-bottom: min(0.3vw, 2px) solid #569a58;
		margin: 0 0 10px;
	}
	.home-reasons__title em.is-green {
		color: #4b9c45;
	}
	.home-reasons__text {
		font-size: calc(24 * min(100vw, 820px) / 820);
		margin: 0;
		line-height: 1.9;
	}

	.home-reasons__item--reverse {
		grid-template-columns: 1fr;
		justify-items: left;
	}
	.home-reasons__item--reverse::before {
		content: '';
		position: absolute;
		right: 0;
		left: auto;
		width: 100vw;
		height: 90%;
		background: url(images/home/reasons_item-bg02.png) repeat top / cover;
		z-index: -1;
	}
	.home-reasons__item--reverse .home-reasons__head {
		left: auto;
		right: 0;
	}
	.home-reasons__item--reverse .home-reasons__num {
		left: auto;
		right: 30%;
		transform: translate(50%, -50%);
	}
	.home-reasons__item--reverse .home-reasons__photo {
		order: 3;
		margin-left: 1.5em;
		margin-right: auto;
	}
	.home-reasons__item--reverse .home-reasons__card {
		order: 2;
		right: 0;
	}

	.home-reasons__item--reverse .home-reasons__num {
		color: #569a58;
	}
	/* mv */
	.home-mv {
		padding: 40px 0;
	}
	.home-mv .l-container {
	}
	.home-mv__copy {
	}
	.home-mv__panel {
	}
	.home-mv__copy p {
	}
	.home-mv__copy span {
	}
	.home-mv__copy em {
	}
	.home-mv__copy-vertical--main {
	}
	.home-mv__copy-vertical {
		font-size: calc(64 * min(100vw, 820px) / 820);
	}
	.home-mv__copy-vertical span {
		font-size: inherit;
	}
	.home-mv__copy-vertical em {
		font-size: inherit;
	}

	/* service */
	.home-service {
		padding-block: 50px 200px;
		background: #faf9f6 url(images/home/service_bg-sp.png) no-repeat top
			center / cover;
	}
	.home-service__list {
		gap: calc(455 * min(100vw, 820px) / 820);
	}
	.home-service__link {
	}
	.home-service__label {
		left: -0.5em;
		width: 25%;
		height: auto;
		aspect-ratio: 1;
		padding: 3vw 2vw 5vw;
	}
	.home-service__label--right {
		right: -0.5em;
		left: auto;
	}
	.home-service__label-main {
		font-size: calc(36 * min(100vw, 820px) / 820);
		line-height: 1.4;
	}
	.home-service__media {
		position: absolute;
		top: calc(100% - 2em);
		right: 0;
		width: auto;
		max-width: 80%;
		margin-right: calc(50% - 50vw);
	}
	.home-service__media img {
	}
	.home-service__media--left {
		left: 0;
		margin-left: calc(50% - 50vw);
	}
	.home-service__item {
		padding-top: 1em;
	}
	.home-service__content {
		padding: calc(43 * min(100vw, 820px) / 820);
	}
	.home-service__content-message {
	}
	.home-service__content-message--left {
	}
	.home-service__title {
		font-size: calc(36 * min(100vw, 820px) / 820);
		text-align: left;
		margin-left: 23%;
		margin-bottom: calc(34 * min(100vw, 820px) / 820);
	}
	.home-service__check {
		font-size: calc(24 * min(100vw, 820px) / 820);
		margin-bottom: calc(26 * min(100vw, 820px) / 820);
	}
	.home-service__check::before {
	}
	.home-service__text + .home-service__check {
		margin-top: calc(26 * min(100vw, 820px) / 820);
	}
	.home-service__text {
		font-size: calc(27 * min(100vw, 820px) / 820);
		line-height: 1.6;
	}
	.home-service__item--02 .home-service__title {
		margin-left: 0;
		margin-right: 23%;
	}
	/* doctor */
	.home-doctor {
		padding: 50px var(--home-gutter-sp) 0;
	}
	.home-doctor .l-container {
		padding-inline: 0;
	}
	.home-doctor .home-title__wrap {
		margin-bottom: 10px;
	}
	.home-doctor .home-title__wrap .home-doctor__title {
		font-size: calc(30 * min(100vw, 820px) / 820);
		padding-left: 0;
		padding-right: calc(70 * min(100vw, 820px) / 820);
	}
	.home-doctor__title em {
	}
	.home-doctor .home-title__wrap .home-titleIcon {
		width: 3em;
		right: -0.85em;
	}
	.home-doctor__container {
		padding-top: 20px;
	}
	.home-doctor__inner {
	}
	.home-doctor__top {
		position: relative;
		z-index: 1;
		flex-direction: column-reverse;
		align-items: flex-end;
	}
	.home-doctor__media {
		flex-basis: 45%;
	}
	.home-doctor__photo {
		margin-top: 1em;
		margin-left: -1.5em;
	}
	.home-doctor__lead {
		margin-left: 0;
		margin-bottom: 0;
	}
	.home-doctor__lead ruby {
		font-size: 100%;
	}
	.home-doctor__lead p:nth-child(2) {
		margin-left: 25%;
	}
	.home-doctor__lead p {
		font-size: calc(25 * min(100vw, 820px) / 820);
	}
	.home-service__content-message {
		padding-left: 0;
		padding-right: 0;
	}
	.home-doctor__text {
		position: inherit;
	}
	.home-doctor__text p {
		display: none;
	}
	.home-doctor__message {
		margin: 0;
		padding-inline: var(--home-gutter-sp);
	}
	.home-doctor__photo {
		width: 55%;
	}
	.home-doctor__photo-sub {
		position: absolute;
		right: -1em;
		bottom: 10%;
		width: 40%;
		z-index: -1;
	}
	.home-doctor__bottom {
		position: relative;
		z-index: 2;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		max-width: 100vw;
	}
	.home-doctor__bottom-inner {
	}
	.home-doctor__name {
		width: 50%;
	}
	/* .home-doctor__name {
		width: 50%;
	}
	.home-doctor__name-logo {
	}
	.home-doctor__name-role {
		font-size: calc(21 * min(100vw, 820px) / 820);
		margin-right: 1em;
	}
	.home-doctor__name-main {
		font-size: calc(30 * min(100vw, 820px) / 820);
	}
	.home-doctor__name-sub {
		font-size: calc(25 * min(100vw, 820px) / 820);
	} */
	.home-doctor__career {
		flex-basis: auto;
		margin-top: 40px;
		margin-right: -2em;
	}
	.home-doctor__career-title {
		font-size: calc(30 * min(100vw, 820px) / 820);
	}
	.home-doctor__career-title::before {
	}
	.home-doctor__career-list {
	}
	.home-doctor__career-list li {
		font-size: calc(25 * min(100vw, 820px) / 820);
	}
	.home-doctor__career-list li::before {
	}
	.home-doctor__certs {
		width: 30%;
		grid-template-columns: 1fr;
	}
	.home-doctor__cert-list {
	}
	.home-doctor__cert-list-1 {
		display: flex;
		align-items: center;
		order: 2;
	}
	.home-doctor__cert-list-1 li {
		width: 10%;
		min-width: 65px;
	}
	.home-doctor__cert-list-2 {
		display: flex;
		justify-content: right;
		order: 1;
	}
	.home-doctor__cert-list-2 li {
		width: 30%;
	}

	/* dropdown */
	.home-dropdown {
		margin-bottom: 0;
	}
	.home-dropdown .home-title__wrap {
	}
	.home-dropdown__title {
	}
	.home-dropdown__grid {
		column-gap: calc(20 * min(100vw, 820px) / 820);
		row-gap: calc(30 * min(100vw, 820px) / 820);
	}
	.home-dropdown__item {
	}
	.home-dropdown__card {
		padding: calc(10 * min(100vw, 820px) / 820);
	}
	.home-dropdown__card:hover {
	}
	.home-dropdown__cardText {
		font-size: calc(28 * min(100vw, 820px) / 820);
	}
	.home-dropdown__item.is-open .home-dropdown__card {
	}
	.home-dropdown__trigger[aria-expanded='true'] {
	}
	.home-dropdown__child {
	}
	.home-dropdown__item.is-open .home-dropdown__child {
	}
	.home-dropdown__childLink {
		font-size: calc(20 * min(100vw, 820px) / 820);
		height: auto;
		padding: calc(20 * min(100vw, 820px) / 820);
	}
	.home-dropdown__childLink + .home-dropdown__childLink {
	}
	.home-dropdown__childLink:hover {
	}

	/* treatment */
	.home-treatment .l-container::before {
		width: 94%;
		height: 100%;
		background: url(images/home/reasons_item-bg01.png) repeat-y top / contain;
		border: 10px solid #fff;
	}
	.home-treatment .l-container::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%);
		width: 94%;
		height: 100%;
		background: none;
		z-index: -1;
		border: 1px solid #205ca7;
	}
	.home-treatment__title {
		width: 90%;
		font-size: calc(35 * min(100vw, 800px) / 800);
	}
	.home-treatment__title::before {
	}
	.home-treatment__title em {
		font-size: calc(45 * min(100vw, 800px) / 800);
	}
	.home-treatment__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		padding-block: calc(150 * min(100vw, 800px) / 800)
			calc(100 * min(100vw, 800px) / 800);
		padding-inline: 16px;
	}
	.home-treatment__list {
	}
	.home-treatment__item {
		width: 100% !important;
	}
	.home-treatment__item--accent {
	}
	/* clinic */
	.home-clinic {
		padding-bottom: 0;
	}
	.home-clinic .home-title__wrap {
	}
	.home-clinic__main {
	}
	.home-clinic__main img {
	}
	.home-clinic__main.is-changing img {
	}
	.home-clinic__thumbs {
	}
	.home-clinic__thumb {
	}
	.home-clinic__thumb img {
	}
	.home-clinic__thumb.is-active {
	}
	.home-clinic__thumb:not(.is-active) {
	}

	/* news */
	.home-news .home-title__wrap {
		width: 50%;
		min-width: auto;
		margin-bottom: -1.5em;
	}
	.home-news__box {
		padding-block: calc(100 * min(100vw, 820px) / 820)
			calc(60 * min(100vw, 820px) / 820);
		padding-inline: 16px;
	}
	.home-news__title {
	}
	.home-news__list {
	}
	.home-news__list > p {
	}
	.home-news__item {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	.home-news__item::after {
		display: none;
	}
	.home-news__item:last-child .home-news__date {
	}
	.home-news__date {
		font-size: calc(24 * min(100vw, 820px) / 820);
	}
	.home-news__label {
		font-size: calc(22 * min(100vw, 820px) / 820);
		justify-self: start;
	}
	.home-news__link {
		font-size: calc(27 * min(100vw, 820px) / 820);
	}
	.home-news__link:hover .home-news__item::after {
	}
	.home-calendar iframe {
	}
	/* access */
	.home-access__title {
	}
	.home-access__inner {
		grid-template-columns: 1fr;
	}
	.home-access__inner .home-access__left {
		order: 2;
	}
	.home-access__inner .home-access__right {
		order: 1;
	}
	.home-access__schedule {
	}
	.home-access__info {
	}
	.home-access__info-row {
		grid-template-columns: 30% 1fr;
	}
	.home-access__info-row dt,
	.home-access__info-row dd,
	.home-access__info-row dd a {
		font-size: calc(25 * min(100vw, 820px) / 820);
	}
	.home-access__map {
	}
	.home-access__map iframe {
	}
	.home-access__map img {
	}
}
