@charset "UTF-8";
*,
*:before,
*:after {
	box-sizing: border-box;
}

html {
	font-size: 16px;
	height: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 6.25rem;
}

body {
	color: #16243A;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

/* bodyがこのクラスを持っている時、スクロールを禁止する */

body.is-fixed {
	height: 100%;
	overflow: hidden;
}

img,
video,
object {
	border: none;
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

a:hover {
	opacity: 0.7;
}

/*===================================================================
# Header
===================================================================*/

.header {
	background-color: #FFFFFF;
	height: 5.875rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.header__inner {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 90rem;
	padding-inline: 2.125rem;
}

.header__logo {
	flex-shrink: 0;
}

.header__logo img {
	aspect-ratio: 194/19;
	display: block;
	height: auto;
	width: 24.25rem;
}

.header__cta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.header__cta-btn {
	align-items: center;
	border: none;
	border-radius: 2.125rem;
	display: flex;
	height: 3.5rem;
	justify-content: center;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	width: 13.5625rem;
}

.header__cta-btn::before {
	background-color: #C8A35A;
	bottom: -0.0625rem;
	content: "";
	left: -1.25rem;
	position: absolute;
	right: -1.25rem;
	top: -0.0625rem;
	transform: translateX(-120%) skewX(15deg);
	transition: transform 0.4s ease;
	z-index: 0;
}

.header__cta-btn--tel {
	background-color: #002F6C;
	box-shadow: inset 0 0 0 0.125rem #002F6C;
	cursor: default;
	flex-direction: column;
}

.header__cta-btn--tel::before {
	display: none;
}

.header__cta-btn--web {
	-moz-column-gap: 0.4375rem;
	background-color: #001D45;
	box-shadow: inset 0 0 0 0.125rem #001D45;
	column-gap: 0.4375rem;
	transition: box-shadow 0.4s ease;
}

.header__cta-icon--tel {
	aspect-ratio: 1/1;
	color: #FFFFFF;
	flex-shrink: 0;
	height: auto;
	position: relative;
	transition: color 0.4s ease;
	width: 1.5rem;
	z-index: 1;
}

.header__cta-icon--web {
	aspect-ratio: 1/1;
	color: #FFFFFF;
	flex-shrink: 0;
	height: auto;
	position: relative;
	transition: color 0.4s ease;
	width: 1.5rem;
	z-index: 1;
}

.header__cta-tel-wrap {
	align-items: center;
	display: flex;
	position: relative;
	z-index: 1;
	-moz-column-gap: 0.1875rem;
	column-gap: 0.1875rem;
	margin-block-start: -0.0625rem;
}

.header__cta-label {
	color: #FFFFFF;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.6;
	position: relative;
	transition: color 0.4s ease;
	white-space: nowrap;
	z-index: 1;
}

.header__cta-number {
	color: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	position: relative;
	transition: color 0.4s ease;
	white-space: nowrap;
	z-index: 1;
}

.header__cta-web-text {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
	transition: color 0.4s ease;
	white-space: nowrap;
	z-index: 1;
}

/*===================================================================
# Global Navigation
===================================================================*/

.nav {
	background-color: #F1F7FC;
	left: 0;
	position: fixed;
	top: 5.875rem;
	width: 100%;
	z-index: 99;
}

body.home .nav {
	display: block;
	position: relative;
	top: auto;
}

body.home .nav.is-fixed {
	position: fixed;
	top: 5.875rem;
}

.nav__inner {
	margin-inline: auto;
	max-width: 90rem;
	padding-block: 1.9375rem 2.125rem;
}

.nav__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
}

.nav__list > li > a {
	display: block;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1;
	padding-inline: 1.75rem;
	position: relative;
	text-decoration: none;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.nav__list > li:not(:last-child) > a::after {
	background-color: rgba(0, 167, 234, 0.2);
	content: "";
	height: 1.4375rem;
	position: absolute;
	right: 0;
	top: 50%;
	translate: 0 -50%;
	width: 0.0625rem;
}

.nav__list > li.nav__link--unclickable > a {
	cursor: default;
	pointer-events: none;
}

.nav__list > .current-menu-item > a,
.nav__list > .current-menu-ancestor > a {
	color: #002F6C;
}

.nav__list > li.menu-item-has-children {
	cursor: pointer;
	position: relative;
}

.nav__list > li.menu-item-has-children > a {
	align-items: center;
	display: flex;
	gap: 0.375rem;
	pointer-events: none;
}

.nav__list > li.menu-item-has-children > a::after {
	background-color: transparent;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="6" viewBox="0 0 9 6" fill="none"><path d="M7.93335 1L4.46668 4.46667L1.00002 1" stroke="%2300A7EA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	flex-shrink: 0;
	height: 0.375rem;
	position: static;
	right: auto;
	top: auto;
	transition: transform 0.3s ease;
	translate: none;
	width: 0.5625rem;
}

.nav__list > li.menu-item-has-children.is-open > a::after {
	transform: rotate(180deg);
}

.nav__list > li.menu-item-has-children > .sub-menu {
	background-color: #FFFFFF;
	border: 0.0625rem solid #D8E0E8;
	border-radius: 0.375rem;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
	display: none;
	grid-template-columns: repeat(3, auto);
	left: 50%;
	list-style: none;
	padding-block: 0.5rem;
	position: absolute;
	top: calc(100% + 0.5rem);
	translate: -50%;
	white-space: nowrap;
	z-index: 10;
}

.nav__list > li.menu-item-has-children > .sub-menu::before {
	content: "";
	height: 0.5rem;
	inset-block-start: -0.5rem;
	left: 0;
	position: absolute;
	right: 0;
}

.nav__list > li.menu-item-has-children > .sub-menu li a {
	display: block;
	font-size: 0.8125rem;
	font-weight: 500;
	padding-block: 0.5rem;
	padding-inline: 1rem;
	text-decoration: none;
}

.nav__list > li.menu-item-has-children.is-open > .sub-menu,
.nav__list > li.menu-item-has-children:not(.is-closed):hover > .sub-menu {
	display: grid;
}

.nav__list > li.menu-item-has-children:not(.is-closed):hover > a::after {
	transform: rotate(180deg);
}

/*===================================================================
# Footer
===================================================================*/

.footer__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-inline: auto;
	max-width: 68.75rem;
	padding-block: 4.375rem 3.6875rem;
	row-gap: 2.5rem;
	width: 100%;
}

.footer__top {
	align-items: center;
	display: flex;
	gap: 6.25rem;
	width: 100%;
}

.footer__info {
	flex: 0 0 24.25rem;
}

.footer__logo {
	display: block;
}

.footer__logo img {
	aspect-ratio: 388/38;
	height: auto;
	width: 24.25rem;
}

.footer__clinic-name,
.footer__address {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04375rem;
	line-height: 1.8;
	text-align: center;
}

.footer__clinic-name {
	margin-block-start: 1rem;
}

.footer__address {
	margin-block-start: 0.1875rem;
}

.footer__contact {
	display: flex;
	flex-direction: column;
	margin-block-start: 1.125rem;
	row-gap: 1.5rem;
}

.footer__tel {
	display: flex;
	-moz-column-gap: 0.28125rem;
	color: inherit;
	column-gap: 0.28125rem;
	pointer-events: none;
	text-decoration: none;
}

.footer__tel-icon {
	flex-shrink: 0;
	height: 3.0625rem;
	margin-block-start: 0.4625rem;
	width: 3.0625rem;
}

.footer__tel-number {
	color: #002F6C;
	font-size: 3.375rem;
	font-weight: 700;
	letter-spacing: 0.10125rem;
	line-height: 1;
}

.footer__schedule {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.9375rem;
}

.footer__hours-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.footer__hours-table thead th {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 1;
	padding-block: 1.125rem;
	text-align: center;
}

.footer__hours-table thead th:not(.footer__hours-time-col) {
	background-image: linear-gradient(to bottom, #002F6C 0.15rem, transparent 0.15rem);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
}

.footer__hours-table .footer__hours-time-col {
	width: 7.8125rem;
}

.footer__hours-table tbody tr:first-child {
	border-block-end: 0.075rem solid #002F6C;
	border-block-start: 0.075rem solid #002F6C;
}

.footer__hours-table .footer__hours-time {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1;
	padding-block: 1.6875rem;
	text-align: center;
	white-space: nowrap;
}

.footer__hours-table .footer__hours-cell {
	background-image: linear-gradient(to bottom, #002F6C 0.15rem, transparent 0.15rem);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
	padding-block: 0.875rem;
	text-align: center;
}

.footer__hours-table .footer__hours-cell--closed {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1;
}

.footer__hours-table .footer__hours-dot {
	aspect-ratio: 1/1;
	background-color: #002F6C;
	border-radius: 50%;
	display: block;
	height: 0.875rem;
	margin-inline: auto;
	width: 0.875rem;
}

.footer__hours-note {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	line-height: 1.8;
}

.footer__divider {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 0;
	width: 100%;
}

.footer__nav {
	display: flex;
	justify-content: center;
	width: 100%;
}

.footer .footer__nav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	-moz-column-gap: 2.375rem;
	column-gap: 2.375rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.6;
	max-width: 40.75rem;
	row-gap: 0.875rem;
}

.footer .footer__nav-list .menu-item-has-children {
	cursor: pointer;
	position: relative;
}

.footer .footer__nav-list .menu-item-has-children > a {
	align-items: center;
	display: flex;
	gap: 0.375rem;
	pointer-events: none;
}

.footer .footer__nav-list .menu-item-has-children > a::after {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="9" height="6" viewBox="0 0 9 6" fill="none"><path d="M7.93335 1L4.46668 4.46667L1.00002 1" stroke="%2300A7EA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	flex-shrink: 0;
	height: 0.375rem;
	transition: transform 0.3s ease;
	width: 0.5625rem;
}

.footer .footer__nav-list .menu-item-has-children.is-open > a::after,
.footer .footer__nav-list .menu-item-has-children:not(.is-closed):hover > a::after {
	transform: rotate(180deg);
}

.footer .footer__nav-list .menu-item-has-children > .sub-menu {
	background-color: #FFFFFF;
	border: 0.0625rem solid #D8E0E8;
	border-radius: 0.375rem;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
	display: none;
	grid-template-columns: repeat(3, auto);
	left: 50%;
	list-style: none;
	padding-block: 0.5rem;
	position: absolute;
	top: calc(100% + 0.5rem);
	translate: -50%;
	white-space: nowrap;
	z-index: 10;
}

.footer .footer__nav-list .menu-item-has-children > .sub-menu::before {
	content: "";
	height: 0.5rem;
	inset-block-start: -0.5rem;
	left: 0;
	position: absolute;
	right: 0;
}

.footer .footer__nav-list .menu-item-has-children > .sub-menu li a {
	display: block;
	font-size: 0.8125rem;
	padding-block: 0.5rem;
	padding-inline: 1rem;
}

.footer .footer__nav-list .menu-item-has-children.is-open > .sub-menu,
.footer .footer__nav-list .menu-item-has-children:not(.is-closed):hover > .sub-menu {
	display: grid;
}

.footer__copyright-bar {
	align-items: center;
	background-color: #F5FCFF;
	display: flex;
	justify-content: center;
	padding-block: 1.0625rem;
	width: 100%;
}

.footer__copyright {
	color: rgba(74, 74, 74, 0.5);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.6;
}

/*===================================================================
# Common（下層ヘッダー・アニメーション・フローティングボタン他）
===================================================================*/

.page-header {
	background-color: #002F6C;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 20.75rem;
	padding-block-start: 7rem;
}

.page-header__inner {
	margin-inline: auto;
	max-width: 90rem;
	width: 100%;
}

.page-header__title-block {
	text-align: center;
}

.page-header__title {
	color: #FFFFFF;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.24rem;
	line-height: 1.6;
}

.page-header__en {
	color: rgba(255, 255, 255, 0.5);
	font-size: 1.875rem;
	font-weight: 500;
	letter-spacing: 0.15rem;
	line-height: 1.4;
	text-transform: uppercase;
}

.page-header--faq {
	background-image: url(../../assets/img/sub-page/bg-faq.webp);
}

.page-header--news {
	background-image: url(../../assets/img/sub-page/bg-news.webp);
}

.page-header--doctor {
	background-image: url(../../assets/img/sub-page/bg-doctor.webp);
}

.page-header--price {
	background-image: url(../../assets/img/sub-page/bg-price.webp);
}

.page-header--first {
	background-image: url(../../assets/img/sub-page/bg-first.webp);
}

.page-header--about {
	background-image: url(../../assets/img/sub-page/bg-about.webp);
}

.page-header--recruit {
	background-image: url(../../assets/img/sub-page/bg-recruit.webp);
}

.page-header--case {
	background-image: url(../../assets/img/sub-page/bg-case.webp);
}

.breadcrumb {
	display: inline-flex;
	-moz-column-gap: 0.625rem;
	color: #16243A;
	column-gap: 0.625rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	line-height: 1;
	margin-block-start: 1.4375rem;
	opacity: 0.5;
	white-space: nowrap;
}

.breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.breadcrumb a:hover {
	text-decoration: underline;
}

/* 出現アニメーション：ふわっと表示 */

.js-fadein {
	opacity: 0;
	transform: translateY(1.875rem);
	transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.js-fadein.is-visible {
	opacity: 1;
	transform: translateY(0);
}

mark.marker-red {
	background: linear-gradient(transparent 60%, rgba(222, 3, 3, 0.3) 60%);
	border-radius: 0;
	color: inherit;
	padding: 0;
}

mark.marker-yellow {
	background: linear-gradient(transparent 60%, #FFE100 60%);
	border-radius: 0;
	color: inherit;
	padding: 0;
}

/*===================================================================
# Button
===================================================================*/

.button {
	align-items: center;
	display: flex;
	-moz-column-gap: 1rem;
	background-color: #C8A35A;
	border-radius: 62.4375rem;
	column-gap: 1rem;
	margin-inline: auto;
	overflow: hidden;
	padding-block: 1.4375rem;
	padding-inline: 3.125rem;
	position: relative;
	transition: color 0.4s ease;
	width: -moz-fit-content;
	width: fit-content;
}

.button > span,
.button > svg {
	position: relative;
	z-index: 1;
}

.button span {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
	transform: translateY(-0.0625rem);
}

.button svg {
	flex-shrink: 0;
	height: 0.5625rem;
	width: 0.375rem;
}

.button svg path {
	stroke: currentColor;
}

.button::before {
	background-color: #002F6C;
	bottom: -0.0625rem;
	content: "";
	left: -1.25rem;
	position: absolute;
	right: -1.25rem;
	top: -0.0625rem;
	transform: translateX(-120%) skewX(15deg);
	transition: transform 0.4s ease;
	z-index: 0;
}

.button--top-service {
	margin-block-start: 1.0625rem;
	margin-inline: 0 auto;
}

.button--top-service span {
	white-space: nowrap;
}

.button--top-doctor {
	margin-inline: 0 auto;
	padding-inline: 3.015625rem;
}

.button--top-access {
	margin: 1.6875rem auto 0 0;
	padding-inline: 3.015625rem;
}

.button--recruit {
	margin-inline-end: auto;
	margin-inline-start: 0;
}

.button--about {
	margin-inline: 0 auto;
}

.button--top-case {
	margin-inline: 0 auto;
}

.button--top-reason {
	margin-block-start: 3.75rem;
}

.button--recruit-link {
	background-color: transparent;
	border-radius: 0;
	overflow: visible;
	padding: 0;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.button--recruit-link::before {
	display: none;
}

.button--recruit-link span {
	transform: none;
}

.button--recruit-link span::after {
	background-color: #002F6C;
	bottom: -0.3125rem;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.button--recruit-link svg {
	height: 1.375rem;
	width: 1.375rem;
}

.button--recruit-link svg path {
	stroke: #FFFFFF;
}

.button--case-link {
	background-color: transparent;
	border-radius: 0;
	overflow: visible;
	padding: 0;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.button--case-link::before {
	display: none;
}

.button--case-link span {
	transform: none;
}

.button--case-link span::after {
	background-color: #002F6C;
	bottom: -0.3125rem;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.button--case-link svg {
	height: 1.375rem;
	width: 1.375rem;
}

.button--case-link svg path {
	stroke: #FFFFFF;
}

.button--service-costs {
	margin-block-start: 1.25rem;
	margin-inline-start: 0;
}

.button--recruit-back {
	background-color: transparent;
	border-radius: 0;
	overflow: visible;
	padding: 0.5rem 0;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.button--recruit-back::before {
	display: none;
}

.button--recruit-back span {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	transform: none;
}

.button--recruit-back span::after {
	background-color: #002F6C;
	bottom: -0.3125rem;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.button--recruit-back svg {
	flex-shrink: 0;
	height: 2.0625rem;
	width: 2.0625rem;
}

.button--recruit-back svg circle,
.button--recruit-back svg path {
	stroke: #002F6C;
}

.button--case-back {
	background-color: transparent;
	border-radius: 0;
	overflow: visible;
	padding: 0.5rem 0;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.button--case-back::before {
	display: none;
}

.button--case-back span {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	transform: none;
}

.button--case-back span::after {
	background-color: #002F6C;
	bottom: -0.3125rem;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.button--case-back svg {
	flex-shrink: 0;
	height: 2.0625rem;
	width: 2.0625rem;
}

.button--case-back svg circle,
.button--case-back svg path {
	stroke: #002F6C;
}

.button--reserve {
	padding-block: 1.25rem;
	padding-inline: 2.375rem 1.875rem;
	-moz-column-gap: 0.4375rem;
	column-gap: 0.4375rem;
}

.button--reserve span {
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.03125rem;
}

.button--reserve svg {
	flex-shrink: 0;
	height: 1.75rem;
	width: 1.75rem;
}

.button--reserve-note {
	margin-inline-start: -0.3125rem;
}

/*===================================================================
# Inner
===================================================================*/

.inner {
	margin-inline: auto;
	width: 100%;
}

.inner--1296 {
	max-width: 81rem;
}

.inner--1200 {
	max-width: 75rem;
}

.inner--1100 {
	max-width: 68.75rem;
}

.inner--1080 {
	max-width: 67.5rem;
}

.inner--1000 {
	max-width: 62.5rem;
}

/*===================================================================
# ドロワー
===================================================================*/

.drawer__icon {
	align-items: center;
	background-color: #001D45;
	border-radius: 50%;
	display: none;
	flex-direction: column;
	flex-shrink: 0;
	height: 2.625rem;
	justify-content: center;
	width: 2.625rem;
	z-index: 102;
}

.drawer__icon--bar {
	background-color: #FFFFFF;
	display: block;
	height: 0.0625rem;
	transition: rotate 0.4s ease, translate 0.4s ease, opacity 0.4s ease;
	width: 1.1875rem;
}

.drawer__icon--bar + .drawer__icon--bar {
	margin-block-start: 0.375rem;
}

.drawer__icon.js-show .drawer__icon--bar:nth-of-type(1) {
	rotate: 45deg;
	translate: 0 0.4375rem;
}

.drawer__icon.js-show .drawer__icon--bar:nth-of-type(2) {
	opacity: 0;
	scale: 0 1;
}

.drawer__icon.js-show .drawer__icon--bar:nth-of-type(3) {
	rotate: -45deg;
	translate: 0 -0.4375rem;
}

.drawer {
	background-color: #F1F7FC;
	height: 100vh;
	height: 100svh;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 3.25rem;
	transition: translate 0.45s ease;
	translate: 101%;
	width: 100%;
	z-index: 101;
}

.drawer.js-show {
	translate: 0%;
}

.drawer__body {
	padding: 2.5rem 1.875rem 3.75rem;
	width: 100%;
}

.drawer__list {
	display: flex;
	flex-direction: column;
	margin-block-end: 1.875rem;
	row-gap: 1.75rem;
}

.drawer__list li a {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.drawer__list li.menu-item-has-children > a {
	cursor: default;
	pointer-events: none;
}

.drawer__list .sub-menu {
	display: flex;
	flex-direction: column;
	margin-block-start: 0.875rem;
	padding-inline-start: 1rem;
	row-gap: 0.875rem;
}

.drawer__list .sub-menu li a {
	font-size: 0.875rem;
}

.drawer__btns {
	align-items: center;
	display: flex;
	flex-direction: column;
	row-gap: 0.75rem;
}

.drawer__tel-btn {
	align-items: center;
	background-color: #002F6C;
	border-radius: 62.4375rem;
	display: flex;
	flex-direction: column;
	height: 3.125rem;
	justify-content: center;
	max-width: 17.5rem;
	row-gap: 0.1875rem;
	text-decoration: none;
	width: 100%;
}

.drawer__tel-label {
	color: #FFFFFF;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.6;
	white-space: nowrap;
}

.drawer__tel-wrap {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.25rem;
	column-gap: 0.25rem;
	margin-block-start: -0.0625rem;
}

.drawer__tel-icon {
	aspect-ratio: 1/1;
	color: #FFFFFF;
	flex-shrink: 0;
	height: auto;
	width: 1.125rem;
}

.drawer__tel-number {
	color: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.drawer__contact-btn {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	-moz-column-gap: 0.625rem;
	background-color: #001D45;
	border-radius: 62.4375rem;
	color: #FFFFFF;
	column-gap: 0.625rem;
	font-size: 1rem;
	font-weight: 700;
	height: 3.125rem;
	line-height: 1;
	max-width: 17.5rem;
	text-decoration: none;
	white-space: nowrap;
	width: 100%;
}

.drawer__contact-btn svg {
	flex-shrink: 0;
}

/*===================================================================
# Pagination
===================================================================*/

.pagination {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-block-start: 4.375rem;
}

.pagination__lists {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
}

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

.pagination__link {
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 50%;
	color: #002F6C;
	display: flex;
	font-size: 1.25rem;
	font-weight: 500;
	height: 2.0625rem;
	justify-content: center;
	letter-spacing: 0.1rem;
	line-height: 1;
	text-decoration: none;
	text-indent: 0.1rem;
	transition: background-color 0.3s ease, color 0.3s ease;
	width: 2.0625rem;
}

.pagination__link--active {
	background-color: #002F6C;
	color: #FFFFFF;
}

.pagination__dot {
	align-items: center;
	color: #002F6C;
	display: flex;
	font-size: 1.1875rem;
	height: 2.0625rem;
	justify-content: center;
	letter-spacing: 0.059375rem;
	line-height: 1;
}

.pagination__arrow {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: 2.0625rem;
	justify-content: center;
	width: 2.0625rem;
}

.pagination__arrow svg {
	display: block;
	height: 2.0625rem;
	width: 2.0625rem;
}

.pagination__arrow svg circle {
	fill: transparent;
	stroke: #002F6C;
	transition: fill 0.3s ease;
}

.pagination__arrow svg path {
	stroke: #002F6C;
	transition: stroke 0.3s ease;
}

.pagination__arrow--prev {
	scale: -1 1;
}

/*===================================================================
# Top - Main Visual
===================================================================*/

.top-mv__inner {
	height: 48.9375rem;
	margin-inline: auto;
	max-width: 90rem;
	position: relative;
}

.top-mv__swiper {
	left: 17.4305555556%;
	position: absolute;
	top: 6.375rem;
	width: 65%;
}

.top-mv__slide img {
	aspect-ratio: 1873/1363;
	display: block;
	height: auto;
	width: 100%;
}

.top-mv__sub {
	align-items: flex-start;
	display: flex;
	left: 6.8055555556%;
	position: absolute;
	top: 8.1875rem;
	-moz-column-gap: 1.0625rem;
	column-gap: 1.0625rem;
}

.top-mv__sub-item {
	align-items: flex-start;
	display: flex;
	-moz-column-gap: 0.6875rem;
	column-gap: 0.6875rem;
}

.top-mv__sub-text {
	color: #002F6C;
	font-feature-settings: "vert" on;
	font-weight: 700;
	letter-spacing: 0.2875rem;
	line-height: 1.3;
	writing-mode: vertical-rl;
}

.top-mv__sub-line {
	align-self: stretch;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='6'%3E%3Cline x1='1' y1='0' x2='1' y2='1' stroke='%2300A7EA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-y;
	background-size: 0.125rem 0.375rem;
	flex-shrink: 0;
	width: 0.125rem;
}

.top-mv__heading {
	align-items: flex-start;
	display: flex;
	flex-direction: row-reverse;
	left: 80.9722222222%;
	position: absolute;
	top: 8.3125rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.top-mv__heading span {
	color: #002F6C;
	font-feature-settings: "vert" on;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.375rem;
	line-height: 1.03;
	writing-mode: vertical-rl;
}

.top-mv__illust {
	left: 3.6805555556%;
	position: absolute;
	top: 37.75rem;
}

.top-mv__illust img {
	aspect-ratio: 145/151;
	height: auto;
	width: 9.0625rem;
}

.top-mv__pagination {
	bottom: auto !important;
	display: flex !important;
	flex-direction: column;
	left: auto !important;
	position: absolute !important;
	right: 2.0833333333% !important;
	row-gap: 0.625rem;
	text-align: left;
	top: 42.125rem !important;
	width: auto !important;
}

.top-mv__pagination .swiper-pagination-bullet {
	background-color: rgba(0, 167, 234, 0.3);
	border-radius: 50%;
	flex-shrink: 0;
	height: 0.5rem;
	margin: 0;
	opacity: 1;
	transition: background-color 0.3s ease;
	width: 0.5rem;
}

.top-mv__pagination .swiper-pagination-bullet-active {
	background-color: #002F6C;
}

/*===================================================================
# Top - Hours
===================================================================*/

.top-hours {
	padding-block: 4.25rem 2.375rem;
}

.top-hours__inner {
	background-color: #F7F9FB;
	padding: 2.1875rem 6.375rem 4.375rem;
	position: relative;
}

.top-hours__heading {
	margin-block-end: 1.6875rem;
	text-align: center;
}

.top-hours__title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.top-hours__title-en {
	color: rgba(0, 167, 234, 0.5);
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.top-hours__table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.top-hours__table thead th {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 1;
	padding-block: 1.125rem;
	text-align: center;
}

.top-hours__table thead th:not(.top-hours__time-col) {
	background-image: linear-gradient(to bottom, #002F6C 0.15rem, transparent 0.15rem);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
}

.top-hours__table .top-hours__time-col {
	width: 11.5rem;
}

.top-hours__table tbody tr:first-child {
	border-block-end: 0.075rem solid #002F6C;
	border-block-start: 0.075rem solid #002F6C;
}

.top-hours__table .top-hours__time {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 1;
	padding-block: 1.6875rem;
	text-align: center;
	white-space: nowrap;
}

.top-hours__table .top-hours__cell {
	background-image: linear-gradient(to bottom, #002F6C 0.15rem, transparent 0.15rem);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
	padding-block: 0.875rem;
	text-align: center;
}

.top-hours__table .top-hours__dot {
	aspect-ratio: 1/1;
	background-color: #002F6C;
	border-radius: 50%;
	display: block;
	height: 1.25rem;
	margin-inline: auto;
	width: 1.25rem;
}

.top-hours__table .top-hours__closed {
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1;
}

.top-hours__illust {
	bottom: -2rem;
	position: absolute;
	right: -2rem;
}

.top-hours__illust img {
	aspect-ratio: 141/134;
	height: auto;
	width: 8.8125rem;
}

/*===================================================================
# Top - News
===================================================================*/

.top-news {
	padding-block: 1.1875rem 7.5rem;
}

.top-news__inner {
	padding-inline: 0;
}

.top-news__heading {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-end: 2.8125rem;
}

.top-news__title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.5;
}

.top-news__title-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.175rem;
	line-height: 1;
	margin-block-start: 0.625rem;
	text-transform: uppercase;
}

.top-news__list {
	display: flex;
	flex-direction: column;
	list-style: none;
	row-gap: 0.625rem;
}

.top-news__item-link {
	align-items: center;
	background-color: #FFFFFF;
	border: 0.0625rem solid #e6e6e6;
	border-radius: 0.125rem;
	display: flex;
	overflow: hidden;
	padding: 1.53125rem 2rem;
	position: relative;
	text-decoration: none;
}

.top-news__item-link::after {
	background-color: #002F6C;
	content: "";
	height: 0.0625rem;
	inset-block-end: 0.9375rem;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.4s ease;
	translate: -50%;
	width: 0;
}

.top-news__date {
	color: rgba(74, 74, 74, 0.4);
	flex-shrink: 0;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
}

.top-news__category {
	align-items: center;
	background-color: #002F6C;
	border-radius: 1.03125rem;
	color: #FFFFFF;
	display: flex;
	flex-shrink: 0;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	margin-inline: 0.875rem 1.125rem;
	padding: 0.25rem 0.78125rem 0.3125rem;
}

.top-news__item-title {
	flex: 1;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.top-news__more {
	display: flex;
	justify-content: flex-end;
	margin-block-start: 1.625rem;
}

.top-news__more-link {
	align-items: center;
	display: inline-flex;
	font-weight: 700;
	gap: 0.375rem;
	letter-spacing: 0.05rem;
	line-height: 1;
	position: relative;
	text-decoration: none;
}

.top-news__more-link::after {
	background-color: #002F6C;
	content: "";
	height: 0.0625rem;
	inset-block-end: -0.25rem;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.4s ease;
	translate: -50%;
	width: 0;
}

.top-news__more-link svg {
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.625rem;
	width: 1.625rem;
}

.top-news__more-link svg circle {
	transition: fill 0.3s ease;
}

.top-news__more-link svg path {
	transition: stroke 0.3s ease;
}

/*===================================================================
# Top - 初めての方へ セクション
===================================================================*/

.top-first {
	background-color: #F1F7FC;
	padding-block: 6.25rem 5.0625rem;
	position: relative;
}

.top-first__illust {
	aspect-ratio: 165/125;
	height: auto;
	left: 50%;
	position: absolute;
	top: -3.1875rem;
	translate: -50%;
	width: 10.3125rem;
}

.top-first__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	row-gap: 2.6875rem;
}

.top-first__heading {
	align-items: center;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.top-first__section-title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.top-first__section-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.top-first__text {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 1.75rem;
	text-align: center;
}

.top-first__cards {
	align-items: stretch;
	display: flex;
	width: 100%;
}

.top-first__rule {
	align-self: stretch;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='6'%3E%3Cline x1='1' y1='0' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-y;
	background-size: 0.125rem 0.375rem;
	border: none;
	flex-shrink: 0;
	margin-block: 0;
	margin-inline: 2.03125rem;
	width: 0.125rem;
}

.top-first__card {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.top-first__card picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.top-first__card picture img {
	aspect-ratio: 322/220;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.top-first__card-body {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-block-start: 1.0625rem;
	row-gap: 0.3125rem;
}

.top-first__card-point {
	color: #002F6C;
	font-weight: 700;
	letter-spacing: 0.08rem;
	line-height: 1;
	text-transform: uppercase;
}

.top-first__card-title {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.0625rem;
	line-height: 1.7;
	text-align: center;
}

/*===================================================================
# Top - 診療内容 セクション
===================================================================*/

.top-service {
	padding-block-start: 5.75rem;
}

.top-service__inner {
	display: flex;
	flex-direction: column;
	row-gap: 3.75rem;
}

.top-service__heading {
	text-align: center;
}

.top-service__title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.top-service__title-en {
	color: rgba(0, 167, 234, 0.5);
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.top-service__items {
	display: flex;
	flex-direction: column;
	row-gap: 5.625rem;
}

.top-service__item {
	align-items: center;
	display: flex;
	-moz-column-gap: 3.5rem;
	column-gap: 3.5rem;
}

.top-service__item--rev {
	flex-direction: row-reverse;
}

.top-service__images {
	flex-shrink: 0;
	height: 21.75rem;
	position: relative;
	width: 33.5625rem;
}

.top-service__image {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
	position: absolute;
	z-index: 1;
}

.top-service__image img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.top-service__image--bl {
	bottom: 0;
	left: 0;
	width: 11.3125rem;
}

.top-service__image--bl img {
	aspect-ratio: 362/564;
}

.top-service__image--tr {
	right: 0;
	top: 0;
	width: 20.875rem;
}

.top-service__image--tr img {
	aspect-ratio: 668/620;
}

.top-service__image--tl {
	left: 0;
	top: 0;
	width: 20.875rem;
}

.top-service__image--tl img {
	aspect-ratio: 668/620;
}

.top-service__image--br {
	bottom: 0;
	right: 0;
	width: 11.3125rem;
}

.top-service__image--br img {
	aspect-ratio: 362/564;
}

.top-service__image-deco {
	align-items: center;
	bottom: 0;
	display: flex;
	left: 10rem;
	position: absolute;
	right: 0;
	-moz-column-gap: 1.125rem;
	column-gap: 1.125rem;
}

.top-service__image-deco--rev {
	flex-direction: row-reverse;
	left: 0;
	right: 10rem;
}

.top-service__image-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='142' height='1' viewBox='0 0 142 1' fill='none'%3E%3Cpath d='M141.5 0.5L0.500002 0.5' stroke='%23BBE5F6' stroke-linecap='round' stroke-dasharray='1 5'/%3E%3C/svg%3E");
	background-position: 0 center;
	background-repeat: repeat-x;
	background-size: 8.875rem 0.0625rem;
	display: block;
	flex: 1;
	height: 0.0625rem;
}

.top-service__image-en {
	color: #bbe5f6;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.top-service__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.top-service__body-top {
	display: flex;
	flex-direction: column;
	row-gap: 0.125rem;
}

.top-service__subtitle {
	color: rgba(74, 74, 74, 0.6);
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.08625rem;
	line-height: 1.6;
}

.top-service__name {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.top-service__name-sub {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.top-service__body-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.0625rem;
	width: 100%;
}

.top-service__text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.top-service__banner {
	margin-block-start: 6.875rem;
	overflow: hidden;
}

.top-service__banner picture {
	display: block;
	line-height: 0;
}

.top-service__banner img {
	aspect-ratio: 1440/439;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.top-service__sub-inner {
	margin-block-start: 5.625rem;
}

.top-service__sub-items {
	display: flex;
	-moz-column-gap: 1.375rem;
	column-gap: 1.375rem;
}

.top-service__sub-item {
	align-items: center;
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	color: inherit;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-block: 1.625rem 0;
	text-decoration: none;
}

.top-service__sub-item:hover {
	opacity: 1;
}

.top-service__sub-item:hover .top-service__sub-image img {
	transform: scale(1.05);
}

.top-service__sub-item:hover .top-service__sub-en {
	opacity: 1;
}

.top-service__sub-item:hover .top-service__sub-link span::after {
	width: 100%;
}

.top-service__sub-top {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.top-service__sub-image {
	border-radius: 50%;
	display: block;
	flex-shrink: 0;
	overflow: hidden;
	width: 7.1875rem;
}

.top-service__sub-image img {
	aspect-ratio: 1;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.top-service__sub-body {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-start: 1.3125rem;
	row-gap: 0.5rem;
	width: 100%;
}

.top-service__sub-name-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	row-gap: 0.25rem;
}

.top-service__sub-name {
	color: #002F6C;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.4;
	text-align: center;
}

.top-service__sub-en {
	color: rgba(0, 167, 234, 0.4);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.07rem;
	line-height: 1;
	text-transform: uppercase;
	transition: opacity 0.4s ease;
}

.top-service__sub-desc {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	line-height: 1.6;
	text-align: center;
}

.top-service__sub-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: 0 center;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.75rem 0;
	width: 100%;
}

.top-service__sub-link {
	align-items: center;
	display: flex;
	justify-content: center;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding-block: 0.75rem 0.75rem;
	width: 100%;
}

.top-service__sub-link span {
	position: relative;
}

.top-service__sub-link span::after {
	background-color: currentColor;
	content: "";
	height: 0.0625rem;
	inset-block-end: -0.375rem;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.4s ease;
	translate: -50%;
	width: 0;
}

.top-service__sub-link svg {
	flex-shrink: 0;
	height: 1.375rem;
	width: 1.375rem;
}

/*===================================================================
# Top - 選ばれる理由 セクション
===================================================================*/

.top-reason {
	background-color: #F5FCFF;
	padding-block: 7.4375rem 6rem;
	position: relative;
}

.top-reason__illust {
	aspect-ratio: 140/135;
	height: auto;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: -3.625rem;
	translate: -50%;
	width: 8.75rem;
	z-index: 1;
}

.top-reason__heading-wrap {
	margin-block-end: 3.8125rem;
	text-align: center;
}

.top-reason__title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.4;
}

.top-reason__title-sm {
	display: block;
	font-size: 1.875rem;
	letter-spacing: 0.15rem;
}

.top-reason__en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.top-reason__cards {
	display: grid;
	gap: 3.8125rem 4.625rem;
	grid-template-columns: 1fr 1fr;
	width: 100%;
}

.top-reason__card {
	position: relative;
}

.top-reason__card-media {
	position: relative;
}

.top-reason__card-picture {
	display: block;
}

.top-reason__card-picture img {
	aspect-ratio: 463/337;
	display: block;
	height: auto;
	width: 100%;
}

.top-reason__card-labels {
	display: flex;
	position: absolute;
	right: 3.4375rem;
	top: 0.5625rem;
	-moz-column-gap: 0.375rem;
	align-items: flex-start;
	column-gap: 0.375rem;
}

.top-reason__card-label {
	background-color: #FFFFFF;
	border-radius: 0.125rem;
	color: #002F6C;
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.12;
	padding: 0.625rem 0.4375rem;
	writing-mode: vertical-rl;
}

.top-reason__card-label .top-reason__punctuation {
	display: inline-block;
	margin-inline-end: -0.525em;
}

.top-reason__card-point {
	color: #002F6C;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1;
	position: absolute;
	right: 2rem;
	text-transform: uppercase;
	top: 1.0625rem;
	writing-mode: vertical-rl;
}

.top-reason__card-text {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
	margin-block-start: 1.28125rem;
	text-align: center;
}

/*===================================================================
# Top - 症状別お悩み セクション
===================================================================*/

.top-condition {
	padding-block-start: 5.375rem;
}

.top-condition__heading {
	margin-block-end: 2.375rem;
	text-align: center;
}

.top-condition__title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.top-condition__title-en {
	color: rgba(0, 167, 234, 0.5);
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.top-condition__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 2.125rem;
	column-gap: 2.125rem;
	row-gap: 0;
}

.top-condition__list-item {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem);
	background-position: bottom;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	list-style: none;
	padding-block: 1.1875rem;
}

.top-condition__list-item:nth-child(-n+3) {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem), radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem);
	background-position: top, bottom;
}

.top-condition__item {
	-webkit-appearance: none;
	-moz-appearance: none;
	align-items: center;
	appearance: none;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	-moz-column-gap: 1.375rem;
	column-gap: 1.375rem;
	width: 100%;
}

.top-condition__item-img {
	aspect-ratio: 1/1;
	flex-shrink: 0;
	height: auto;
	width: 5.5625rem;
}

.top-condition__item-name {
	color: #16243A;
	flex: 1;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1;
	text-align: left;
}

.top-condition__item-arrow {
	flex-shrink: 0;
	height: 1.75rem;
	width: 1.75rem;
}

.top-condition__item-arrow path {
	stroke-width: 0.0625rem;
	vector-effect: non-scaling-stroke;
}

/*===================================================================
# Top - 症例紹介 セクション
===================================================================*/

.top-case {
	overflow: hidden;
	padding-block: 6.8125rem 7rem;
}

.top-case__inner {
	display: flex;
	margin-inline: auto;
	max-width: 90rem;
	padding-inline-start: 10.625rem;
	width: 100%;
	-moz-column-gap: 4.0625rem;
	column-gap: 4.0625rem;
}

.top-case__left {
	display: flex;
	flex: 0 0 25.4375rem;
	flex-direction: column;
	margin-block-start: 1.5625rem;
}

.top-case__heading-top {
	align-items: center;
	display: flex;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

.top-case__title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1;
}

.top-case__title-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	text-transform: uppercase;
}

.top-case__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.3125rem;
	width: 100%;
}

.top-case__lead {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.09rem;
	line-height: 1.6;
}

.top-case__desc {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block: 0.625rem 2rem;
}

.top-case__nav {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.75rem;
	column-gap: 1.75rem;
	margin-block-start: 4rem;
	width: -moz-max-content;
	width: max-content;
}

.top-case__nav-btn {
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	height: 1.5rem;
	justify-content: center;
	padding: 0;
	transition: opacity 0.3s;
	width: 0.9375rem;
}

.top-case__nav-btn svg {
	display: block;
	height: 100%;
	width: 100%;
}

.top-case__nav-btn.swiper-button-disabled {
	cursor: default;
	opacity: 0.3;
	pointer-events: none;
}

.top-case__pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
	align-items: center;
	display: flex;
	position: static;
	-moz-column-gap: 0.4375rem;
	column-gap: 0.4375rem;
	flex-shrink: 0;
	width: auto;
}

.top-case__pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
	background-color: rgba(0, 167, 234, 0.3);
	border-radius: 0;
	flex-shrink: 0;
	height: 0.125rem;
	margin: 0;
	opacity: 1;
	transition: width 0.3s ease, background-color 0.3s ease;
	width: 1.375rem;
}

.top-case__pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
	background-color: #002F6C;
	width: 2.5rem;
}

.top-case__swiper-area {
	flex: 1;
	min-width: 0;
	overflow: visible;
	-webkit-clip-path: inset(0 -100vw 0 0);
	clip-path: inset(0 -100vw 0 0);
}

.top-case__swiper {
	overflow: visible !important;
}

.top-case__slide {
	height: auto;
	width: 27.875rem !important;
}

.top-case__card {
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	display: block;
	height: 100%;
	overflow: hidden;
}

.top-case__card-img-wrap picture {
	display: block;
	overflow: hidden;
}

.top-case__card-img-wrap picture img {
	aspect-ratio: 446/255;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.top-case__card-body {
	padding: 2rem 1.875rem;
}

.top-case__card-cat {
	background-color: #002F6C;
	border-radius: 62.4375rem;
	color: #FFFFFF;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding: 0.28125rem 0.78125rem;
}

.top-case__card-title {
	color: #002F6C;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.12rem;
	line-height: 1.6;
	margin-block-start: 0.3125rem;
}

.top-case__card-profile {
	color: rgba(74, 74, 74, 0.5);
	font-weight: 500;
	letter-spacing: 0.08rem;
	line-height: 1.5;
	margin-block-start: 0.25rem;
}

.top-case__card-desc {
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.125rem;
	overflow: hidden;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.top-case__card-link {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
	margin-block-start: 1rem;
}

.top-case__card-link svg {
	flex-shrink: 0;
}

/*===================================================================
# Top - Doctor セクション
===================================================================*/

.top-doctor {
	padding-block-end: 6.6875rem;
}

.top-doctor__inner {
	align-items: flex-start;
	background-color: #f5fcff;
	display: flex;
	margin-inline: auto;
	max-width: 81.25rem;
	padding: 5.4375rem 9.375rem;
	width: 100%;
	-moz-column-gap: 5.8125rem;
	column-gap: 5.8125rem;
}

.top-doctor__body {
	display: flex;
	flex: 0 0 30.6875rem;
	flex-direction: column;
	margin-block-start: 1.0625rem;
	row-gap: 2.0625rem;
}

.top-doctor__heading {
	position: relative;
}

.top-doctor__section-title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.top-doctor__section-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.top-doctor__illust {
	aspect-ratio: 203/111;
	height: auto;
	position: absolute;
	right: 0rem;
	top: -0.4375rem;
	width: 12.6875rem;
}

.top-doctor__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 0;
	width: 100%;
}

.top-doctor .doctor__intro {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 2;
	padding-block: 0;
}

.top-doctor__photo-wrap {
	flex-shrink: 0;
	position: relative;
	width: 26rem;
}

.top-doctor__photo-wrap picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.top-doctor__photo-wrap picture img {
	aspect-ratio: 416/459;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.top-doctor__photo-overlay {
	background: linear-gradient(to bottom, rgba(64, 64, 64, 0) 6.282%, #404040 100%);
	height: 8.375rem;
	inset-block-end: 0;
	inset-inline-start: 0;
	opacity: 0.6;
	position: absolute;
	width: 100%;
}

.top-doctor__photo-name {
	align-items: center;
	color: #FFFFFF;
	display: flex;
	font-weight: 500;
	inset-block-end: 1.125rem;
	justify-content: space-between;
	left: 50%;
	letter-spacing: 0.05rem;
	line-height: 2;
	max-width: 19.625rem;
	position: absolute;
	translate: -50%;
	white-space: nowrap;
	width: 100%;
}

.top-doctor__photo-name-clinic {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.top-doctor__photo-name-person {
	font-size: 1rem;
}

.top-doctor__photo-deco {
	display: flex;
	inset-block-start: -1.4375rem;
	inset-inline-end: 0.5rem;
	position: absolute;
	-moz-column-gap: 0.4375rem;
	column-gap: 0.4375rem;
}

.top-doctor__photo-deco-strip {
	align-items: flex-start;
	background-color: #FFFFFF;
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding-block: 0.3125rem;
	width: 2.5625rem;
}

.top-doctor__photo-deco-strip:first-child {
	height: 17.3125rem;
}

.top-doctor__photo-deco-strip:last-child {
	height: 18.9375rem;
}

.top-doctor__photo-deco-text {
	color: #002F6C;
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.18125rem;
	line-height: 1.12;
	writing-mode: vertical-rl;
}

/*===================================================================
# Top - Access セクション
===================================================================*/

.top-access {
	background-color: #F7F9FB;
	margin-block-end: 5.875rem;
	padding-block: 4.25rem;
}

.top-access__inner {
	display: flex;
	margin-inline: auto;
	max-width: 68.75rem;
	width: 100%;
	-moz-column-gap: 4.5rem;
	column-gap: 4.5rem;
}

.top-access__map {
	flex-shrink: 0;
	width: 33.75rem;
}

.top-access__map iframe {
	display: block;
	height: 22.75rem;
	width: 100%;
}

.top-access__body {
	flex: 1;
	padding-block-start: 1.15625rem;
}

.top-access__heading {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.top-access__section-title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.top-access__section-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	text-transform: uppercase;
}

.top-access__rule {
	background-image: linear-gradient(to right, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.0625rem);
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 0.5rem;
	width: 100%;
}

.top-access__list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin-block-start: 1rem;
	row-gap: 1.6875rem;
}

.top-access__item {
	display: flex;
	flex-direction: column;
	row-gap: 0.75rem;
}

.top-access__item-head {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.top-access__item-icon {
	flex-shrink: 0;
	height: 1.5rem;
	width: 1.4375rem;
}

.top-access__item-icon--car {
	height: 1.375rem;
	width: 1.5625rem;
}

.top-access__item-title {
	font-size: 1.375rem;
	font-weight: 500;
	letter-spacing: 0.06875rem;
	line-height: 1;
	padding-block-end: 0.25rem;
}

.top-access__item-arrow {
	flex-shrink: 0;
	height: 1.375rem;
	margin-inline-start: 0.1875rem;
	width: 1.375rem;
}

.top-access__item-text {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.2;
}

.top-access__item-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 0;
	width: 100%;
}

/*===================================================================
# CTA（初診予約・お問い合わせ）
===================================================================*/

.cta {
	background-color: #FFFFFF;
}

.cta__inner {
	align-items: stretch;
	display: flex;
	margin-inline: auto;
	max-width: 90rem;
	min-height: 38.5rem;
	padding-inline: 5.25rem;
}

.cta__body {
	background-color: #f5fcff;
	display: flex;
	flex: 0 0 44.5625rem;
	flex-direction: column;
	justify-content: center;
	padding-block: 4.4375rem 10.125rem;
	padding-inline-start: 6.25rem;
	position: relative;
}

.cta__image {
	flex: 1;
	overflow: hidden;
}

.cta__image picture {
	display: block;
	height: 100%;
	width: 100%;
}

.cta__image img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	aspect-ratio: 559/616;
	object-fit: cover;
}

.cta__title {
	color: #002F6C;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
	margin-block-end: 1.625rem;
}

.cta__texts {
	display: flex;
	flex-direction: column;
	margin-block-end: 1.6875rem;
}

.cta__text--bold {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1.8;
}

.cta__text--normal {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 2;
}

.cta__divider {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 2px;
	margin: 0.625rem 0;
	width: 32.125rem;
}

.cta__buttons {
	align-items: flex-start;
	display: flex;
	flex-direction: row;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.cta__btn-tel-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.cta__btn {
	align-items: center;
	border: none;
	border-radius: 62.4375rem;
	cursor: pointer;
	display: flex;
	height: 4.1875rem;
	justify-content: center;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	width: 15rem;
}

.cta__btn::before {
	background-color: #C8A35A;
	bottom: -0.0625rem;
	content: "";
	left: -1.25rem;
	position: absolute;
	right: -1.25rem;
	top: -0.0625rem;
	transform: translateX(-120%) skewX(15deg);
	transition: transform 0.4s ease;
	z-index: 0;
}

.cta__btn--tel {
	background-color: #002F6C;
	box-shadow: inset 0 0 0 0.125rem #002F6C;
	cursor: default;
	flex-direction: column;
	gap: 0.125rem;
	pointer-events: none;
}

.cta__btn--tel::before {
	display: none;
}

.cta__btn--web {
	-moz-column-gap: 0.4375rem;
	background-color: #C8A35A;
	column-gap: 0.4375rem;
}

.cta__btn--web::before {
	background-color: #002F6C;
}

.cta__btn--web .cta__btn-text {
	color: #16243A;
}

.cta__btn--web .cta__btn-icon--web {
	color: #16243A;
}

.cta__btn-tel-inner {
	align-items: center;
	display: flex;
	position: relative;
	z-index: 1;
	-moz-column-gap: 0.1875rem;
	column-gap: 0.1875rem;
}

.cta__btn-label {
	color: #FFFFFF;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
	transition: color 0.4s ease;
	white-space: nowrap;
	z-index: 1;
}

.cta__btn-number {
	color: #FFFFFF;
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: 0.04875rem;
	line-height: 1;
	position: relative;
	transition: color 0.4s ease;
	white-space: nowrap;
	z-index: 1;
}

.cta__btn-text {
	color: #FFFFFF;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
	transition: color 0.4s ease;
	white-space: nowrap;
	z-index: 1;
}

.cta__btn-icon--tel {
	aspect-ratio: 1/1;
	color: #FFFFFF;
	flex-shrink: 0;
	height: auto;
	position: relative;
	transition: color 0.4s ease;
	width: 1.5rem;
	z-index: 1;
}

.cta__btn-icon--web {
	aspect-ratio: 1/1;
	color: #FFFFFF;
	flex-shrink: 0;
	height: auto;
	position: relative;
	transition: color 0.4s ease;
	width: 1.5rem;
	z-index: 1;
}

.cta__reception {
	color: #42526A;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	line-height: 1.8;
	opacity: 0.5;
	text-align: center;
}

.cta__illust {
	bottom: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.cta__illust img {
	aspect-ratio: 172/85;
	height: auto;
	width: 16.1875rem;
}

/*===================================================================
# 採用情報 （コンポーネント）
===================================================================*/

.recruit {
	background-color: #001D45;
	margin-block-start: 6.0625rem;
	position: relative;
}

.recruit__inner {
	align-items: stretch;
	display: flex;
	margin-inline: auto;
	max-width: 90rem;
	min-height: 32.0625rem;
	overflow: hidden;
}

.recruit__body {
	display: flex;
	flex: 0 0 55.2%;
	flex-direction: column;
	padding-block: 5.5rem 3.75rem;
	padding-inline-start: 10.625rem;
	position: relative;
}

.recruit__heading {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	margin-block-end: 1.4375rem;
}

.recruit__title {
	color: #FFFFFF;
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.21rem;
	line-height: 1.6;
}

.recruit__title-en {
	color: rgba(255, 255, 255, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	text-transform: uppercase;
}

.recruit__catchcopy-wrap {
	margin-block-end: 0.625rem;
}

.recruit__catchcopy {
	background-color: #FFFFFF;
	display: inline;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: #001D45;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 2;
	padding-block: 0.1875rem;
	padding-inline-end: 0.125rem;
	padding-inline-start: 0.75rem;
}

.recruit__text {
	color: #FFFFFF;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 2;
	margin-block-end: 1.4375rem;
}

.recruit__illust {
	bottom: -1.4375rem;
	left: 50%;
	position: absolute;
	translate: calc(-50% - 4.75rem);
	z-index: 2;
}

.recruit__illust img {
	aspect-ratio: 202/176;
	height: auto;
	width: 12.625rem;
}

.recruit__photos {
	display: flex;
	flex: 1;
	gap: 0.6875rem;
}

.recruit__photos-col {
	display: flex;
	flex: 0 0 18.125rem;
	flex-direction: column;
	gap: 0.6875rem;
}

.recruit__photo {
	overflow: hidden;
}

.recruit__photo--01 {
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
}

.recruit__photo--01 picture {
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
}

.recruit__photo--02 {
	border-radius: 0.125rem;
}

.recruit__photo--02 picture {
	border-radius: 0.125rem;
}

.recruit__photo--03 {
	border-start-end-radius: 0.125rem;
	border-start-start-radius: 0.125rem;
}

.recruit__photo--04 {
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
}

.recruit__photo--04 picture {
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
}

.recruit__photo--05 {
	border-start-end-radius: 0.125rem;
	border-start-start-radius: 0.125rem;
}

.recruit__photo--05 picture {
	border-start-end-radius: 0.125rem;
	border-start-start-radius: 0.125rem;
}

.recruit__photo--sp-only {
	display: none;
}

.recruit__photo picture {
	display: block;
	overflow: hidden;
}

.recruit__photo img {
	display: block;
	height: auto;
	width: 100%;
}

/*===================================================================
# News 一覧
===================================================================*/

.news {
	padding-block-start: 10.875rem;
}

.news__content {
	margin-inline: auto;
	max-width: 62.5rem;
	padding-block: 5.4375rem 5.875rem;
	width: 100%;
}

.news__list {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.news__item-link {
	align-items: center;
	background-color: #FFFFFF;
	border: 0.0625rem solid #e6e6e6;
	border-radius: 0.125rem;
	display: flex;
	height: 4.625rem;
	overflow: hidden;
	padding-inline: 2rem 1.6875rem;
	position: relative;
	text-decoration: none;
}

.news__item-link::after {
	background-color: #002F6C;
	content: "";
	height: 0.0625rem;
	inset-block-end: 0.9375rem;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.4s ease;
	translate: -50%;
	width: 0;
}

.news__date {
	color: rgba(74, 74, 74, 0.4);
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
}

.news__category {
	align-items: center;
	background-color: #002F6C;
	border-radius: 1.03125rem;
	color: #FFFFFF;
	display: flex;
	flex-shrink: 0;
	font-size: 0.875rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	margin-inline: 0.875rem 1.125rem;
	min-width: 5.25rem;
	padding: 0.28125rem 0.75rem;
}

.news__title {
	flex: 1;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.news__empty {
	font-size: 1rem;
	padding-block: 3.75rem;
	text-align: center;
}

/*===================================================================
# News - Post
===================================================================*/

.news-post {
	padding-block-start: 10.875rem;
}

.news-post__content {
	padding-block: 3.75rem 6.25rem;
}

.news-post__meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.news-post__date {
	color: rgba(74, 74, 74, 0.4);
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
}

.news-post__category {
	align-items: center;
	background-color: #002F6C;
	border-radius: 1.03125rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	height: 1.4375rem;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding-block-end: 0.0625rem;
	padding-inline: 0.78125rem;
	white-space: nowrap;
}

.news-post__title {
	color: #002F6C;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.16rem;
	line-height: 1.5;
	margin-block-start: 1.25rem;
}

.news-post__rule {
	background-color: #002F6C;
	border: none;
	height: 0.25rem;
	margin-block: 2rem 0;
}

.news-post__toc {
	background-color: rgba(0, 159, 223, 0.08);
	margin-block-start: 3.125rem;
	padding: 2.375rem;
}

.news-post__toc-header {
	display: flex;
	flex-direction: column;
}

.news-post__toc-title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05625rem;
	line-height: 1;
	padding-block-end: 1rem;
	position: relative;
}

.news-post__toc-title::after {
	background-color: #002F6C;
	content: "";
	height: 0.0625rem;
	inset-block-end: 0;
	inset-inline-start: 0;
	position: absolute;
	width: 2.25rem;
}

.news-post__toc-list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin-block-start: 1.875rem;
	padding: 0;
}

.news-post__toc-item--h2 {
	align-items: flex-start;
	display: flex;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
}

.news-post__toc-item--h2 a {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	text-decoration: none;
}

.news-post__toc-item--h3 {
	align-items: flex-start;
	display: flex;
	-moz-column-gap: 0.375rem;
	column-gap: 0.375rem;
	padding-inline-start: 2.5rem;
}

.news-post__toc-item--h3::before {
	background-color: #009FDF;
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	height: 0.3125rem;
	margin-block-start: 0.625rem;
	width: 0.3125rem;
}

.news-post__toc-item--h3 a {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.5;
	text-decoration: none;
}

.news-post__toc-item--h2 + .news-post__toc-item--h2 {
	margin-block-start: 1.5625rem;
}

.news-post__toc-item--h2 + .news-post__toc-item--h3 {
	margin-block-start: 0.9375rem;
}

.news-post__toc-item--h3 + .news-post__toc-item--h3 {
	margin-block-start: 0.375rem;
}

.news-post__toc-item--h3 + .news-post__toc-item--h2 {
	margin-block-start: 1.5625rem;
}

.news-post__toc-num {
	align-items: center;
	background-color: #009FDF;
	border-radius: 0.25rem;
	color: #FFFFFF;
	display: flex;
	flex-shrink: 0;
	font-size: 1.125rem;
	font-weight: 500;
	height: 1.625rem;
	justify-content: center;
	line-height: 1;
	padding-block-end: 0.1875rem;
	width: 1.625rem;
}

.news-post__body {
	padding-block-start: 3.75rem;
}

.news-post__body > * + * {
	margin-block-start: 1.875rem;
}

.news-post__body > .news-post__toc {
	margin-block-start: 3.75rem;
}

.news-post__body img {
	height: auto;
	margin-block-start: 3.125rem;
	max-width: 100%;
}

.news-post__body .wp-block-columns {
	margin-block-start: 3.125rem;
}

.news-post__body .wp-block-columns figure,
.news-post__body .wp-block-columns picture,
.news-post__body .wp-block-columns img {
	margin-block-start: 0;
}

.news-post__body h2 {
	background-color: rgba(0, 159, 223, 0.08);
	border-inline-start: 0.25rem solid #002F6C;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.06875rem;
	line-height: 1.5;
	margin-block-start: 3.125rem;
	padding: 1rem 1.25rem;
}

.news-post__body h2 + p {
	margin-block-start: 1.875rem;
}

.news-post__body h3 {
	border-block-end: 0.125rem solid rgba(0, 159, 223, 0.3);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	line-height: 1.5;
	margin-block-start: 3.125rem;
	padding-block-end: 0.625rem;
	position: relative;
}

.news-post__body h3::after {
	background-color: #002F6C;
	content: "";
	height: 0.125rem;
	inset-block-end: -0.125rem;
	inset-inline-start: 0;
	position: absolute;
	width: 6.9375rem;
}

.news-post__body p:not(.news-post__toc-title) {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
}

.news-post__body p:not(.news-post__toc-title) + p {
	margin-block-start: 3.125rem;
}

.news-post__body p:not(.news-post__toc-title):has(> a) + p:has(> a) {
	margin-block-start: 0.5rem;
}

.news-post__body br + a {
	display: inline-block;
	margin-block-start: 0.75rem;
}

.news-post__body br ~ .has-ref-icon {
	display: inline-block;
	margin-block-start: 0.75rem;
}

.news-post__body a:not(.news-post__toc-item--h2 a):not(.news-post__toc-item--h3 a) {
	color: #002F6C;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
	position: relative;
	text-decoration: none;
}

.news-post__body a:not(.news-post__toc-item--h2 a):not(.news-post__toc-item--h3 a)::before {
	background-color: currentColor;
	content: "";
	height: 0.0625rem;
	inset-block-end: -0.1875rem;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.3s ease;
	translate: -50% 0;
	width: 0;
}

.news-post__body a:not(.news-post__toc-item--h2 a):not(.news-post__toc-item--h3 a)[target=_blank]::after {
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M15.8333 8.70833C15.6234 8.70833 15.422 8.79174 15.2735 8.94021C15.1251 9.08867 15.0417 9.29004 15.0417 9.5V14.25C15.0417 14.46 14.9583 14.6613 14.8098 14.8098C14.6613 14.9583 14.46 15.0417 14.25 15.0417H4.75C4.54004 15.0417 4.33867 14.9583 4.19021 14.8098C4.04174 14.6613 3.95833 14.46 3.95833 14.25V4.75C3.95833 4.54004 4.04174 4.33867 4.19021 4.19021C4.33867 4.04174 4.54004 3.95833 4.75 3.95833H9.5C9.70996 3.95833 9.91133 3.87493 10.0598 3.72646C10.2083 3.57799 10.2917 3.37663 10.2917 3.16667C10.2917 2.9567 10.2083 2.75534 10.0598 2.60687C9.91133 2.45841 9.70996 2.375 9.5 2.375H4.75C4.12011 2.375 3.51602 2.62522 3.07062 3.07062C2.62522 3.51602 2.375 4.12011 2.375 4.75V14.25C2.375 14.8799 2.62522 15.484 3.07062 15.9294C3.51602 16.3748 4.12011 16.625 4.75 16.625H14.25C14.8799 16.625 15.484 16.3748 15.9294 15.9294C16.3748 15.484 16.625 14.8799 16.625 14.25V9.5C16.625 9.29004 16.5416 9.08867 16.3931 8.94021C16.2447 8.79174 16.0433 8.70833 15.8333 8.70833Z' fill='%23009FDF'/%3E%3Cpath d='M12.666 3.95833H13.9169L8.9373 8.93C8.8631 9.0036 8.8042 9.09115 8.76401 9.18763C8.72382 9.2841 8.70312 9.38757 8.70312 9.49208C8.70312 9.59659 8.72382 9.70007 8.76401 9.79654C8.8042 9.89301 8.8631 9.98057 8.9373 10.0542C9.01089 10.1284 9.09845 10.1873 9.19493 10.2275C9.2914 10.2676 9.39487 10.2883 9.49938 10.2883C9.60389 10.2883 9.70737 10.2676 9.80384 10.2275C9.90031 10.1873 9.98787 10.1284 10.0615 10.0542L15.041 5.0825V6.33333C15.041 6.5433 15.1245 6.74466 15.2729 6.89313C15.4214 7.04159 15.6228 7.125 15.8327 7.125C16.0427 7.125 16.244 7.04159 16.3925 6.89313C16.541 6.74466 16.6244 6.5433 16.6244 6.33333V3.16667C16.6244 2.9567 16.541 2.75534 16.3925 2.60687C16.244 2.45841 16.0427 2.375 15.8327 2.375H12.666C12.4561 2.375 12.2547 2.45841 12.1063 2.60687C11.9578 2.75534 11.8744 2.9567 11.8744 3.16667C11.8744 3.37663 11.9578 3.57799 12.1063 3.72646C12.2547 3.87493 12.4561 3.95833 12.666 3.95833Z' fill='%23009FDF'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.1875rem;
	margin-inline-start: 0.25rem;
	position: static;
	transition: none;
	translate: 0 -0.125rem;
	vertical-align: middle;
	width: 1.1875rem;
}

.news-post__body .has-ref-icon::after {
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M9.00065 6.59926C8.36359 5.96246 7.49971 5.60474 6.59895 5.60474C5.6982 5.60474 4.83432 5.96246 4.19726 6.59926L1.79478 9.00096C1.15771 9.63803 0.799805 10.5021 0.799805 11.403C0.799805 12.304 1.15771 13.1681 1.79478 13.8051C2.43185 14.4422 3.29591 14.8001 4.19687 14.8001C5.09783 14.8001 5.96188 14.4422 6.59895 13.8051L7.7998 12.6043' stroke='%23009FDF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.59961 9.0009C7.23667 9.63769 8.10055 9.99542 9.00131 9.99542C9.90206 9.99542 10.7659 9.63769 11.403 9.0009L13.8055 6.5992C14.4426 5.96213 14.8005 5.09807 14.8005 4.19711C14.8005 3.29615 14.4426 2.4321 13.8055 1.79503C13.1684 1.15795 12.3044 0.800049 11.4034 0.800049C10.5024 0.800049 9.63838 1.15795 9.00131 1.79503L7.80046 2.99587' stroke='%23009FDF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1rem;
	margin-inline-start: 0.1875rem;
	position: static;
	transition: none;
	translate: 0 -0.125rem;
	vertical-align: middle;
	width: 1rem;
}

.news-post__body figure {
	margin-block-start: 3.125rem;
	margin-inline: 0;
	max-width: 100%;
}

.news-post__body figure img {
	height: auto;
	width: 100%;
}

.news-post__body figure figcaption {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
	line-height: 1.5;
	margin-block-start: 0.75rem;
	overflow-wrap: break-word;
	word-break: break-word;
}

.news-post__body ul {
	list-style: none;
	margin-block-start: 3.125rem;
}

.news-post__body ul li {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	padding-inline-start: 0.6875rem;
	position: relative;
}

.news-post__body ul li::before {
	background-color: #009FDF;
	border-radius: 50%;
	content: "";
	height: 0.3125rem;
	inset-inline-start: 0;
	position: absolute;
	top: 0.6875rem;
	width: 0.3125rem;
}

.news-post__body ul li + li {
	margin-block-start: 0.375rem;
}

.news-post__body table {
	border-collapse: collapse;
	width: 100%;
}

.news-post__body table th,
.news-post__body table td {
	border: 0.0625rem solid #009FDF;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.6;
	padding: 1rem;
}

.news-post__body table th,
.news-post__body table td:first-child {
	background-color: #009FDF;
	border-block-color: #FFFFFF;
	color: #FFFFFF;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.6;
	text-align: center;
	width: 15rem;
}

.news-post__body table tr:first-child th,
.news-post__body table tr:first-child td:first-child {
	border-block-start-color: #009FDF;
}

.news-post__body table tr:last-child th,
.news-post__body table tr:last-child td:first-child {
	border-block-end-color: #009FDF;
}

.news-post__nav {
	align-items: center;
	display: flex;
	justify-content: center;
	-moz-column-gap: 3.375rem;
	column-gap: 3.375rem;
	margin-block-start: 6.25rem;
}

.news-post__nav-prev,
.news-post__nav-next {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.6;
	position: relative;
	text-decoration: none;
}

.news-post__nav-prev svg,
.news-post__nav-next svg {
	flex-shrink: 0;
	height: 2.0625rem;
	width: 2.0625rem;
}

.news-post__nav-prev span,
.news-post__nav-next span {
	position: relative;
}

.news-post__nav-prev span::after,
.news-post__nav-next span::after {
	background-color: currentColor;
	content: "";
	height: 0.0625rem;
	inset-block-end: 0;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.3s ease;
	translate: -50% 0;
	width: 0;
}

.news-post__nav-prev--disabled,
.news-post__nav-next--disabled {
	cursor: default;
	opacity: 0.3;
}

.news-post__nav-index {
	display: inline-block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.6;
	position: relative;
	text-decoration: none;
}

.news-post__nav-index::after {
	background-color: currentColor;
	content: "";
	height: 0.0625rem;
	inset-block-end: 0;
	inset-inline-start: 50%;
	position: absolute;
	transition: width 0.3s ease;
	translate: -50% 0;
	width: 0;
}

/*===================================================================
# 採用情報 一覧
===================================================================*/

.recruit-list {
	padding-block-start: 10.875rem;
}

.recruit-list__content {
	padding-block: 5.25rem 5.875rem;
}

.recruit-list__cards {
	display: grid;
	gap: 3.125rem 2.78125rem;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
}

.recruit-list__card {
	background-color: #f5fcff;
	display: flex;
	flex-direction: column;
	height: 28rem;
	padding: 1.375rem;
	position: relative;
	text-decoration: none;
}

.recruit-list__card .button--recruit-link {
	inset-block-end: 1.375rem;
	inset-inline-start: 50%;
	position: absolute;
	translate: -50%;
}

.recruit-list__card-image {
	margin-block-end: 1rem;
}

.recruit-list__card-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.recruit-list__card-image img {
	aspect-ratio: 293/181;
	display: block;
	height: auto;
	transition: transform 0.4s ease;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.recruit-list__card-title-wrap {
	color: #002F6C;
	letter-spacing: 0.0625rem;
	text-align: center;
}

.recruit-list__card-title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.7;
}

.recruit-list__card-note {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.035rem;
	line-height: 1.7;
	white-space: nowrap;
}

.recruit-list__card-info {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-start: 1rem;
	row-gap: 0.5rem;
}

.recruit-list__badge {
	align-items: center;
	background-color: #002F6C;
	border-radius: 12.5rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	padding: 0.21875rem 1.0625rem;
	white-space: nowrap;
}

.recruit-list__card-desc {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	text-align: center;
}

.recruit-list__card-closed {
	color: #002F6C;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1.6;
	margin-block-start: 0.9375rem;
	text-align: center;
}

.recruit-list__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	inset-block-end: 4rem;
	inset-inline: 1.375rem;
	margin: 0;
	position: absolute;
}

/*===================================================================
# 採用情報 詳細
===================================================================*/

.recruit-post {
	padding-block-start: 10.875rem;
}

.recruit-post__content {
	padding-block: 5.25rem 6.4375rem;
}

.recruit-post__hero {
	align-items: center;
	display: flex;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
	margin-block-end: 6.25rem;
}

.recruit-post__hero-image {
	aspect-ratio: 530/352;
	border-radius: 0.125rem;
	display: block;
	flex-shrink: 0;
	height: auto;
	overflow: hidden;
	width: 33.125rem;
}

.recruit-post__hero-image picture {
	display: block;
	height: 100%;
	width: 100%;
}

.recruit-post__hero-image img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.recruit-post__hero-body {
	display: flex;
	flex-direction: column;
	row-gap: 1.875rem;
}

.recruit-post__hero-title-block {
	color: #002F6C;
	letter-spacing: 0.0625rem;
}

.recruit-post__hero-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 2;
}

.recruit-post__hero-note {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.045rem;
	line-height: 2;
}

.recruit-post__hero-overview {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.recruit-post__hero-closed {
	color: #002F6C;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1.6;
}

.recruit-post__detail {
	display: flex;
	flex-direction: column;
}

.recruit-post__row {
	display: grid;
	grid-template-columns: 9.1875rem 1fr;
	-moz-column-gap: 1.875rem;
	align-items: start;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'%3E%3Cline x1='0' y1='0.5' x2='1' y2='0.5' stroke='%2300A7EA' stroke-opacity='0.4'/%3E%3C/svg%3E");
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 0.0625rem 0.0625rem;
	border-block-end: none;
	column-gap: 1.875rem;
	padding-block-end: 1.875rem;
}

.recruit-post__row:not(:first-child) {
	padding-block-start: 1.875rem;
}

.recruit-post__label {
	align-items: center;
	background-color: #002F6C;
	border-radius: 18.75rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1.125rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.05625rem;
	line-height: 1.6;
	padding: 0.5625rem 2.25rem;
	white-space: nowrap;
}

.recruit-post__value {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 1.6;
	padding-block-start: 0.5625rem;
}

.recruit-post__contact {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-start: 3.125rem;
	row-gap: 0.4375rem;
}

.recruit-post__contact-text {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 2;
}

.recruit-post__contact-tel {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.1875rem;
	color: inherit;
	column-gap: 0.1875rem;
	margin-block-start: 0.28125rem;
	pointer-events: none;
	text-decoration: none;
}

.recruit-post__contact-tel svg {
	flex-shrink: 0;
	height: 3.0625rem;
	width: 3.0625rem;
}

.recruit-post__contact-tel span {
	color: #002F6C;
	font-size: 3.375rem;
	font-weight: 700;
	letter-spacing: 0.10125rem;
	line-height: 1;
	text-decoration: none;
}

.recruit-post__back {
	display: flex;
	justify-content: center;
	margin-block-start: 3.75rem;
}

/*===================================================================
# 症例 一覧
===================================================================*/

.case-list {
	padding-block-start: 10.875rem;
}

.case-list__content {
	margin-block: 6.65625rem 5.875rem;
}

.case-list__cards {
	display: grid;
	gap: 5.625rem 2rem;
	grid-template-columns: repeat(2, 1fr);
	list-style: none;
}

.case-list__card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.case-list__card-images {
	display: flex;
}

.case-list__card-image {
	flex: 1;
	position: relative;
}

.case-list__card-image picture {
	aspect-ratio: 267/255;
	display: block;
	overflow: hidden;
	width: 100%;
}

.case-list__card-image img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	transition: transform 0.4s ease;
}

.case-list__card-image--before picture {
	border-start-start-radius: 0.125rem;
}

.case-list__card-image--after picture {
	border-start-end-radius: 0.125rem;
}

.case-list__card-badge {
	align-items: center;
	border-radius: 62.4375rem;
	display: flex;
	font-weight: 700;
	height: 2.4375rem;
	justify-content: center;
	left: 50%;
	letter-spacing: 0.05rem;
	line-height: 1;
	position: absolute;
	top: 0;
	translate: -50% -50%;
	white-space: nowrap;
	width: 10.25rem;
	z-index: 1;
}

.case-list__card-badge--before {
	background-color: #FCF9A6;
}

.case-list__card-badge--after {
	background-color: #C8A35A;
}

.case-list__card-body {
	background-color: #F7F9FB;
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
	display: flex;
	flex-direction: column;
	padding: 1.875rem 1.875rem 1.625rem;
	row-gap: 1.875rem;
}

.case-list__card-head {
	display: flex;
	flex-direction: column;
	row-gap: 0.3125rem;
	width: 100%;
}

.case-list__card-foot {
	align-items: center;
	display: flex;
	flex-direction: column;
	row-gap: 1.625rem;
	width: 100%;
}

.case-list__card-meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
}

.case-list__card-date {
	color: rgba(74, 74, 74, 0.4);
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
}

.case-list__card-category {
	align-items: center;
	background-color: #002F6C;
	border-radius: 1.03125rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	height: 1.4375rem;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding-inline: 0.78125rem;
	white-space: nowrap;
}

.case-list__card-title {
	color: #002F6C;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.12rem;
	line-height: 1.6;
}

.case-list__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 0;
	width: 100%;
}

/*===================================================================
# 症例 詳細
===================================================================*/

.case-post {
	padding-block-start: 10.875rem;
}

.case-post__content {
	padding-block: 3.125rem 5.875rem;
}

.case-post__head {
	display: flex;
	flex-direction: column;
	row-gap: 0.3125rem;
}

.case-post__meta {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
}

.case-post__date {
	color: rgba(74, 74, 74, 0.4);
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
}

.case-post__category {
	align-items: center;
	background-color: #002F6C;
	border-radius: 1.03125rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	height: 1.4375rem;
	justify-content: center;
	letter-spacing: 0.04375rem;
	line-height: 1;
	padding-block-end: 0.0625rem;
	padding-inline: 0.78125rem;
	white-space: nowrap;
}

.case-post__title {
	color: #002F6C;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.16rem;
	line-height: 1.6;
}

.case-post__rule {
	background-color: #002F6C;
	border: none;
	height: 0.25rem;
	margin-block: 2rem 4.4375rem;
	width: 100%;
}

.case-post__rule--detail {
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	height: 0.125rem;
	margin-block: 1.25rem;
}

.case-post__images {
	align-items: center;
	display: flex;
	margin-block-end: 2.5rem;
}

.case-post__images-arrow {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	padding-inline: 1.25rem;
}

.case-post__images-arrow svg {
	height: 1.25rem;
	width: 0.75rem;
}

.case-post__image {
	flex: 1;
	position: relative;
}

.case-post__image picture {
	aspect-ratio: 474/300;
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
	width: 100%;
}

.case-post__image img {
	aspect-ratio: 474/300;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.case-post__badge {
	border-radius: 2.125rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding: 0.6875rem 3.125rem;
	position: absolute;
	top: 0;
	translate: -50% -50%;
	white-space: nowrap;
	z-index: 1;
}

.case-post__badge--before {
	background-color: #FCF9A6;
}

.case-post__badge--after {
	background-color: #C8A35A;
}

.case-post__detail {
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	padding: 3.125rem 3.125rem 1.875rem;
}

.case-post__row {
	align-items: center;
	display: flex;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.case-post__label {
	align-items: center;
	background-color: #002F6C;
	border-radius: 3.75rem;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.05rem;
	line-height: 1.5;
	min-height: 2.375rem;
	padding: 0.4375rem 1rem;
	text-align: center;
	width: 12rem;
}

.case-post__label-sub {
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.0375rem;
}

.case-post__value {
	flex: 1;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1.4;
}

.case-post__back {
	display: flex;
	justify-content: center;
	margin-block-start: 6.25rem;
}

/*===================================================================
# Service ページ
===================================================================*/

.service {
	padding-block-start: 10.875rem;
}

.service__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	width: 100%;
}

.service__heading {
	display: flex;
	flex-direction: column;
	row-gap: 0.4375rem;
}

.service__heading--center {
	align-items: center;
	text-align: center;
}

.service__section-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.service__section-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	text-transform: uppercase;
}

.service__hero {
	background-color: rgba(0, 167, 234, 0.1);
	mix-blend-mode: multiply;
	padding-block-start: 1.1875rem;
	position: relative;
}

.service__hero-inner {
	display: grid;
	grid-template-columns: 1fr 37.75rem;
	position: relative;
	-moz-column-gap: 6.625rem;
	align-items: center;
	column-gap: 6.625rem;
	margin-inline: auto;
	max-width: 90rem;
	padding-inline-end: 5.8125rem;
	padding-inline-start: 10.625rem;
}

.service__hero-inner--child-orthodontics,
.service__hero-inner--adult-orthodontics {
	-moz-column-gap: 6.125rem;
	column-gap: 6.125rem;
}

.service__hero-inner--retreatment {
	-moz-column-gap: 4.375rem;
	column-gap: 4.375rem;
}

.service__hero-inner--surgical-orthodontics {
	-moz-column-gap: 0;
	column-gap: 0;
}

.service__hero-sub {
	color: #002F6C;
	font-weight: 700;
	letter-spacing: 0.09rem;
	line-height: 1.3;
}

.service__rule--hero {
	margin-block: 1rem 1.125rem;
	margin-inline: 0 auto;
}

.service__rule--hero-speech-therapy {
	width: 23.9375rem;
}

.service__rule--hero-whitening {
	width: 23.9375rem;
}

.service__rule--hero-child-orthodontics {
	width: 28.25rem;
}

.service__rule--hero-adult-orthodontics {
	width: 27.625rem;
}

.service__rule--hero-retreatment {
	width: 25rem;
}

.service__rule--hero-surgical-orthodontics {
	width: 29.375rem;
}

.service__hero-title {
	color: #002F6C;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.24rem;
	line-height: 1.6;
}

.service__hero-title-sub {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.service__hero-lead {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 2.5rem;
}

.service__hero-image {
	width: 37.75rem;
}

.service__hero-image picture {
	border-radius: 1.25rem;
	display: block;
	overflow: hidden;
	width: 100%;
}

.service__hero-image img {
	aspect-ratio: 604/439;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__breadcrumb {
	align-items: center;
	background-color: #F7F9FB;
	display: flex;
	height: 2.5rem;
}

.service__breadcrumb .breadcrumb {
	margin-block-start: 0;
}

.service__content {
	padding-block-start: 6.75rem;
}

.service__concerns {
	padding-block-end: 6.25rem;
}

.service__concerns-inner {
	position: relative;
}

.service__concerns-illust {
	left: 50%;
	position: absolute;
	top: -4.25rem;
	translate: -50%;
}

.service__concerns-illust img {
	aspect-ratio: 86/108;
	height: auto;
	width: 5.375rem;
}

.service__concerns-box {
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	padding-block: 2.5rem;
}

.service__concerns-box .service__heading {
	align-items: center;
	text-align: center;
}

.service__concerns-list {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin-block-start: 2.875rem;
	padding-inline: 3.125rem;
	position: relative;
	row-gap: 3.75rem;
}

.service__concerns-item {
	align-items: center;
	color: #16243A;
	display: flex;
	font-size: 1.25rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.0625rem;
	line-height: 1.7;
	padding-inline: 1.25rem;
	position: relative;
	text-align: center;
	width: 33.3333333333%;
}

.service__concerns-item:not(:nth-child(3n)):not(:last-child)::after {
	background-image: repeating-linear-gradient(to bottom, #002F6C, #002F6C 0.15rem, transparent 0.15rem, transparent 0.3rem);
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
	content: "";
	height: 5.5625rem;
	inset-block-start: 50%;
	inset-inline-end: 0;
	position: absolute;
	translate: 0 -50%;
	width: 0.075rem;
}

.service__concerns-item:nth-child(n+4) {
	min-height: 5.5625rem;
}

.service__concerns-item::before {
	background-image: repeating-linear-gradient(to right, #002F6C, #002F6C 0.15rem, transparent 0.15rem, transparent 0.3rem);
	background-repeat: repeat-x;
	background-size: 0.3rem 0.075rem;
	content: "";
	display: none;
	height: 0.075rem;
	inset-block-end: -2.375rem;
	inset-inline-end: 0.625rem;
	inset-inline-start: 0.625rem;
	position: absolute;
}

.service__concerns-item:nth-child(-n+3):nth-last-child(n+3)::before {
	display: block;
}

.service__concerns-lead {
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.11rem;
	line-height: 1.6;
	margin-block-start: 3.75rem;
	text-align: center;
}

.service__target {
	align-items: center;
	background-color: #f5fcff;
	border-radius: 0.125rem;
	display: flex;
	margin-block-start: 1.75rem;
	padding: 1.25rem 3.75rem;
	position: relative;
}

.service__target--retreatment {
	justify-content: center;
}

.service__target-label {
	align-items: center;
	background-color: #002F6C;
	border-radius: 3.75rem;
	color: #FFFFFF;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.05rem;
	line-height: 1;
	margin-inline-end: 1.25rem;
	padding: 0.6875rem 2.65625rem;
}

.service__target-age {
	font-weight: 700;
	letter-spacing: 0.08rem;
	line-height: 1.8;
	margin-inline-end: 2.4375rem;
}

.service__target-note {
	font-weight: 500;
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.service__target-illust {
	position: absolute;
	right: 5.875rem;
	top: vm(-3);
}

.service__target-illust img {
	aspect-ratio: 166/82;
	height: auto;
	width: 10.375rem;
}

.service__changes {
	background-color: #f5fcff;
	padding-block: 6.25rem;
}

.service__changes-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	-moz-column-gap: 4.125rem;
	column-gap: 4.125rem;
	margin-block-start: 3rem;
	position: relative;
}

.service__changes-item {
	align-items: center;
	display: flex;
	flex-direction: column;
	position: relative;
	row-gap: 0.3125rem;
	text-align: center;
}

.service__changes-item:not(:last-child)::after {
	background-image: linear-gradient(to bottom, rgba(0, 167, 234, 0.4), rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.0625rem, transparent 0.375rem);
	background-repeat: repeat-y;
	background-size: 0.125rem 0.375rem;
	content: "";
	height: calc(100% - 1rem);
	inset-block-start: 1rem;
	inset-inline-end: -2.0625rem;
	position: absolute;
	translate: -50%;
	width: 0.125rem;
}

.service__changes-image {
	border-radius: 0.125rem;
	display: block;
	margin-block-end: 0.75rem;
	overflow: hidden;
	width: 100%;
}

.service__changes-image img {
	aspect-ratio: 322/220;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__changes-number {
	color: #002F6C;
	font-weight: 700;
	letter-spacing: 0.08rem;
	line-height: 1;
	text-transform: uppercase;
}

.service__changes-title {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.0625rem;
	line-height: 1.7;
}

.service__changes-desc {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.service__features {
	padding-block: 6.25rem;
}

.service__features-inner {
	display: grid;
	grid-template-columns: auto 1fr;
	-moz-column-gap: 3.5rem;
	align-items: center;
	column-gap: 3.5rem;
}

.service__features-inner--child-orthodontics .service__features-item {
	white-space: nowrap;
}

.service__features-inner--surgical-orthodontics {
	-moz-column-gap: 2.3125rem;
	column-gap: 2.3125rem;
}

.service__features-images {
	height: 23.5rem;
	position: relative;
	width: 33.5625rem;
}

.service__features-body {
	max-width: 25.4375rem;
}

.service__features-body--surgical-orthodontics {
	max-width: 26.625rem;
}

.service__features-body hr.service__rule {
	margin-block: 1.0625rem;
}

.service__features-list {
	list-style: none;
}

.service__features-item {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	padding-inline-start: 1em;
	text-indent: -1em;
}

.service__features-note {
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	margin-block-start: 1.25rem;
	padding: 1.125rem 1.25rem;
}

.service__features-note-label {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	margin-block-end: 0.5rem;
}

.service__features-note-list {
	list-style: none;
}

.service__features-note-item {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	padding-inline-start: 1em;
	text-indent: -1em;
}

.service__collab {
	padding-block: 6.25rem;
}

.service__collab-inner {
	display: grid;
	grid-template-columns: auto 1fr;
	-moz-column-gap: 3.5rem;
	align-items: center;
	column-gap: 3.5rem;
}

.service__collab-images {
	height: 23.5rem;
	position: relative;
	width: 33.5625rem;
}

.service__collab-image {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
	position: absolute;
}

.service__collab-image img {
	height: auto;
	width: 100%;
}

.service__collab-image--main {
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 20.875rem;
}

.service__collab-image--main img {
	aspect-ratio: 334/310;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__collab-image--sub {
	inset-block-end: 0;
	inset-inline-end: 0;
	width: 11.3125rem;
}

.service__collab-image--sub img {
	aspect-ratio: 181/282;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__collab-body {
	max-width: 25.4375rem;
}

.service__collab-body hr.service__rule {
	margin-block: 1.0625rem;
}

.service__collab-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.service__collab-text strong {
	font-weight: 700;
}

.service__duration {
	padding-block: 5.875rem;
}

.service__duration-box {
	margin-block-start: 2.875rem;
}

.service__duration-bar {
	align-items: center;
	background-color: #fafafa;
	border-radius: 0.125rem;
	display: flex;
	padding: 1.25rem 5.25rem;
	position: relative;
}

.service__duration-bar--retreatment {
	padding: 1.25rem 3rem;
}

.service__duration-bar--surgical-orthodontics {
	padding: 0.65625rem 3rem;
}

.service__duration-items {
	align-items: center;
	display: flex;
	-moz-column-gap: 3.625rem;
	column-gap: 3.625rem;
}

.service__duration-items--retreatment {
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
}

.service__duration-items--surgical-orthodontics {
	-moz-column-gap: 3rem;
	column-gap: 3rem;
}

.service__duration-items--child-orthodontics {
	-moz-column-gap: 3.1875rem;
	column-gap: 3.1875rem;
}

.service__duration-item {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.service__duration-label {
	align-items: center;
	background-color: #002F6C;
	border-radius: 3.75rem;
	color: #FFFFFF;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.05rem;
	line-height: 1;
	min-width: 9.5rem;
	padding-block: 0.6875rem;
}

.service__duration-value {
	font-weight: 700;
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.service__duration-value-note {
	font-size: 0.8125rem;
	letter-spacing: 0.065rem;
}

.service__duration-illust {
	position: absolute;
	right: 5.875rem;
	top: -0.1875rem;
}

.service__duration-illust img {
	aspect-ratio: 166/82;
	height: auto;
	width: 10.375rem;
}

.service__duration-illust--retreatment {
	right: 0;
}

.service__duration-notes {
	margin-block-start: 1.25rem;
	padding-inline-start: 0.6875rem;
}

.service__duration-notes--child-orthodontics {
	padding-inline-start: 5.875rem;
}

.service__duration-note {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.service__flow-list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin-block-start: 2.875rem;
	row-gap: 0.875rem;
}

.service__flow-arrow {
	display: flex;
	justify-content: center;
	list-style: none;
}

.service__flow-arrow img {
	aspect-ratio: 59/18;
	display: block;
	height: auto;
	width: 3.6875rem;
}

.service__flow-item {
	align-items: center;
	display: grid;
	grid-template-columns: 9.5625rem 1fr;
	-moz-column-gap: 2.5625rem;
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	column-gap: 2.5625rem;
	padding: 1rem 3.125rem 0.875rem 0;
}

.service__flow-step {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-start: 0.375rem;
	position: relative;
	row-gap: 0.6875rem;
}

.service__flow-step:not(:last-child)::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='117' viewBox='0 0 2 117' fill='none'%3E%3Cpath opacity='0.4' d='M1 116L1 1' stroke='%2300A7EA' stroke-width='2' stroke-linecap='round' stroke-dasharray='1 5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
	height: 7.3125rem;
	inset-block-start: 50%;
	inset-inline-end: 0;
	position: absolute;
	translate: 0 -50%;
	width: 0.125rem;
}

.service__flow-num {
	color: #002F6C;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1;
	text-align: center;
}

.service__flow-icon {
	display: flex;
	justify-content: center;
}

.service__flow-icon img {
	display: block;
	height: auto;
	max-width: 100%;
}

.service__flow-title {
	color: #002F6C;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1.6;
}

.service__flow-desc {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.375rem;
}

.service__flow-item--surgical {
	align-items: stretch;
	padding-inline-end: 3.125rem;
}

.service__flow-step--surgical {
	justify-content: flex-start;
	margin-block-start: 0.625rem;
}

.service__flow-step--surgical:not(:last-child)::after {
	height: 100%;
	inset-block-start: 0;
	translate: none;
}

.service__flow-badge {
	align-items: center;
	border-radius: 62.4375rem;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 500;
	justify-content: center;
	letter-spacing: 0.046875rem;
	line-height: 1;
	padding: 0.40625rem 1rem;
}

.service__flow-badge--blue {
	background-color: #002F6C;
	color: #FFFFFF;
}

.service__flow-badge--yellow {
	background-color: #f9f20c;
}

.service__flow-body--surgical {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: 1.625rem 1rem;
	row-gap: 1.25rem;
}

.service__flow-sub-item {
	display: flex;
	flex-direction: column;
}

.service__flow-icon--surgical-1 {
	margin-block-start: 3.125rem;
}

.service__flow-icon--surgical-4 {
	margin-block-start: 1.5625rem;
}

.service__system {
	padding-block: 5.9375rem;
}

.service__system-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	list-style: none;
	margin-block-start: 2.875rem;
	margin-inline: auto;
	max-width: 51.3125rem;
}

.service__system-item {
	align-items: center;
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	display: flex;
	flex-direction: column;
	padding-block: 1.75rem 1.1875rem;
	row-gap: 0.875rem;
}

.service__system-image img {
	aspect-ratio: 1;
	border-radius: 50%;
	height: auto;
	width: 7.1875rem;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__system-title {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.4;
	text-align: center;
}

.service__system-note {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 1.25rem;
	text-align: center;
}

.service__costs {
	background-color: #f5fcff;
	padding-block: 5.875rem;
}

.service__costs-box {
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 0.125rem;
	display: grid;
	grid-template-columns: 18.4375rem 1fr;
	margin-block-start: 2.875rem;
	overflow: hidden;
}

.service__costs-image {
	aspect-ratio: 295/203;
	display: block;
	height: 100%;
	width: 100%;
}

.service__costs-image img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__costs-body {
	padding: 1.75rem 2.8125rem;
}

.service__costs-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.service__costs-text strong {
	font-weight: 700;
}

.service__costs-note {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.75rem;
}

.service__faq {
	padding-block: 5.875rem;
}

.service__faq-items {
	display: grid;
	margin-block-start: 2.875rem;
	row-gap: 2.5rem;
}

.service__faq-item {
	width: 100%;
}

.service__faq-summary {
	align-items: center;
	display: flex;
	list-style: none;
	-moz-column-gap: 0.75rem;
	background-color: #F1F7FC;
	border-radius: 0.3125rem;
	column-gap: 0.75rem;
	cursor: pointer;
	padding: 0.5rem 0.75rem 0.5625rem 0.875rem;
}

.service__faq-summary::-webkit-details-marker {
	display: none;
}

.service__faq-label {
	color: #002F6C;
	flex-shrink: 0;
}

.service__faq-label--q {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.6;
}

.service__faq-label--a {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
}

.service__faq-question {
	color: #002F6C;
	flex: 1;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.06875rem;
	line-height: 1.6;
}

.service__faq-icon {
	color: #002F6C;
	flex-shrink: 0;
	height: 1rem;
	position: relative;
	width: 1rem;
}

.service__faq-icon::before,
.service__faq-icon::after {
	background-color: currentColor;
	content: "";
	inset-block-start: 50%;
	inset-inline-start: 50%;
	position: absolute;
	transition: transform 0.25s ease;
}

.service__faq-icon::before {
	height: 0.125rem;
	translate: -50% -50%;
	width: 1rem;
}

.service__faq-icon::after {
	height: 1rem;
	translate: -50% -50%;
	width: 0.125rem;
}

.service__faq-answer-area {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.3s ease, opacity 0.2s ease;
}

.service__faq-answer-inner {
	align-items: flex-start;
	display: flex;
	min-height: 0;
	overflow: hidden;
	-moz-column-gap: 0.25rem;
	column-gap: 0.25rem;
	padding-block-start: 1rem;
	padding-inline-end: 2.375rem;
}

.service__faq-answer {
	flex: 1;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
}

.service__faq-item.is-opened .service__faq-icon::after {
	transform: rotate(90deg);
}

.service__faq-item.is-opened .service__faq-answer-area {
	grid-template-rows: 1fr;
	opacity: 1;
}

/*===================================================================
# FAQ ページ
===================================================================*/

.faq {
	padding-block-start: 10.875rem;
}

.faq__content {
	background-color: #FFFFFF;
	padding-block: 5.4375rem 4.875rem;
}

.faq__tabs-wrapper {
	margin-block-end: 7.5rem;
}

.faq__tabs {
	display: flex;
	gap: 1.375rem;
}

.faq__tab {
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: space-between;
	-moz-column-gap: 1.375rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: bottom;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	color: #002F6C;
	column-gap: 1.375rem;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	padding-block-end: 0.8125rem;
	text-decoration: none;
	white-space: nowrap;
}

.faq__tab-chevron {
	color: #002F6C;
	flex-shrink: 0;
	height: 0.5625rem;
	width: 0.9375rem;
}

.faq__section {
	margin-block-start: 8.375rem;
	scroll-margin-top: 5rem;
}

.faq__section:first-of-type {
	margin-block-start: 0;
}

.faq__section-heading {
	color: #002F6C;
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: 0.15rem;
	line-height: 1.6;
	margin-block-end: 2.5rem;
	text-align: center;
}

.faq__items {
	display: grid;
	row-gap: 1.5rem;
}

.faq__item {
	width: 100%;
}

.faq__summary {
	align-items: center;
	display: flex;
	list-style: none;
	-moz-column-gap: 1rem;
	background-color: #F1F7FC;
	border-radius: 0.3125rem;
	column-gap: 1rem;
	cursor: pointer;
	padding: 0.5rem 0.75rem 0.5625rem 0.875rem;
}

.faq__summary::-webkit-details-marker {
	display: none;
}

.faq__label {
	color: #002F6C;
	flex-shrink: 0;
}

.faq__label--q {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.075rem;
	line-height: 1.6;
}

.faq__label--a {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
}

.faq__question {
	color: #002F6C;
	flex: 1;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	letter-spacing: 0.06875rem;
	line-height: 1.6;
}

.faq__icon {
	color: #002F6C;
	flex-shrink: 0;
	height: 1rem;
	position: relative;
	width: 1rem;
}

.faq__icon::before,
.faq__icon::after {
	background-color: currentColor;
	content: "";
	inset-block-start: 50%;
	inset-inline-start: 50%;
	position: absolute;
	transition: transform 0.25s ease;
}

.faq__icon::before {
	height: 0.125rem;
	translate: -50% -50%;
	width: 1rem;
}

.faq__icon::after {
	height: 1rem;
	translate: -50% -50%;
	width: 0.125rem;
}

.faq__answer-area {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.3s ease, opacity 0.2s ease;
}

.faq__answer-inner {
	align-items: flex-start;
	display: flex;
	min-height: 0;
	overflow: hidden;
	-moz-column-gap: 0.25rem;
	column-gap: 0.25rem;
	padding-block-start: 1rem;
	padding-inline-end: 1.5rem;
}

.faq__answer {
	flex: 1;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
}

.faq__item.is-opened .faq__icon::after {
	transform: rotate(90deg);
}

.faq__item.is-opened .faq__answer-area {
	grid-template-rows: 1fr;
	opacity: 1;
}

/*===================================================================
# Doctor ページ
===================================================================*/

.doctor {
	padding-block-start: 10.875rem;
}

.doctor__section-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.doctor__section-en {
	color: #002F6C;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	opacity: 0.5;
	text-transform: uppercase;
}

.doctor__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.0625rem;
	width: 100%;
}

.doctor__rule--greeting {
	margin-block: 2.0625rem;
}

.doctor__intro {
	padding-block: 1.75rem 6.25rem;
}

.doctor__intro-inner {
	display: flex;
	-moz-column-gap: 3.25rem;
	column-gap: 3.25rem;
}

.doctor__intro-text {
	flex: 1;
	margin-block-start: 3.4375rem;
	min-width: 0;
}

.doctor__intro-catch {
	font-size: 1.5625rem;
	font-weight: 500;
	letter-spacing: 0.125rem;
	line-height: 1.6;
}

.doctor__intro-lead {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.doctor__intro-images {
	flex-shrink: 0;
	height: 27.75rem;
	margin-block-start: -5.75rem;
	position: relative;
	width: 36.125rem;
}

.doctor__intro-image {
	position: absolute;
}

.doctor__intro-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.doctor__intro-image picture img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.doctor__intro-image--main {
	left: 0;
	top: 0;
	width: 20.9375rem;
}

.doctor__intro-image--main picture img {
	aspect-ratio: 335/372;
}

.doctor__intro-image--sub {
	bottom: 0;
	right: 0;
	width: 13.4375rem;
}

.doctor__intro-image--sub picture img {
	aspect-ratio: 215/355;
}

.doctor__greeting-inner {
	background-color: #F1F7FC;
	display: flex;
	gap: 5rem;
	max-width: 81.25rem;
	padding: 5.625rem 6.25rem;
	position: relative;
	width: 100%;
}

.doctor__greeting-photo {
	align-self: flex-start;
	flex-shrink: 0;
	position: relative;
	width: 26rem;
}

.doctor__greeting-photo picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.doctor__greeting-photo picture img {
	aspect-ratio: 416/459;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.doctor__greeting-name-overlay {
	background: linear-gradient(to bottom, rgba(64, 64, 64, 0) 6.282%, #404040 100%);
	border-radius: 0 0 0.125rem 0.125rem;
	bottom: 0;
	height: 8.375rem;
	opacity: 0.6;
	position: absolute;
	width: 100%;
}

.doctor__greeting-name {
	color: #FFFFFF;
	font-weight: 500;
	inset-block-end: 1.125rem;
	letter-spacing: 0.05rem;
	line-height: 2;
	position: absolute;
	text-align: center;
	white-space: nowrap;
	width: 100%;
}

.doctor__greeting-name-clinic {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.doctor__greeting-name-person {
	font-size: 1rem;
}

.doctor__greeting-body {
	flex: 1;
	min-width: 0;
}

.doctor__greeting-heading {
	display: flex;
	flex-direction: column;
}

.doctor__greeting-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 2;
}

.doctor__greeting-text--narrow {
	letter-spacing: 0.00625rem;
}

.doctor__greeting-illust {
	bottom: -5.3125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.doctor__greeting-illust img {
	aspect-ratio: 165.5/124.6;
	height: auto;
	width: 10.34375rem;
}

.doctor__features {
	padding-block: 6.5625rem 8.125rem;
}

.doctor__features-heading {
	margin-block-end: 5rem;
	text-align: center;
}

.doctor__features-inner {
	display: flex;
	flex-direction: column;
	row-gap: 3.75rem;
}

.doctor__feature {
	align-items: center;
	display: flex;
	-moz-column-gap: 3.5rem;
	column-gap: 3.5rem;
}

.doctor__feature-body {
	flex: 1;
	min-width: 0;
}

.doctor__feature-point {
	color: rgba(128, 211, 245, 0.6);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.09rem;
	line-height: 1.6;
}

.doctor__feature-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
	margin-block-start: 0.1875rem;
}

.doctor__feature-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.doctor__feature-images {
	flex-shrink: 0;
	height: 21.75rem;
	position: relative;
	width: 33.5625rem;
}

.doctor__feature-image {
	position: absolute;
}

.doctor__feature-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.doctor__feature-image picture img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.doctor__feature--img-left .doctor__feature-image--main {
	right: 0;
	top: 0;
	width: 20.875rem;
}

.doctor__feature--img-left .doctor__feature-image--main picture img {
	aspect-ratio: 334/310;
}

.doctor__feature--img-left .doctor__feature-image--sub {
	bottom: 0;
	left: 0;
	width: 11.3125rem;
}

.doctor__feature--img-left .doctor__feature-image--sub picture img {
	aspect-ratio: 181/282;
}

.doctor__feature--img-right .doctor__feature-image--main {
	left: 0;
	top: 0;
	width: 20.875rem;
}

.doctor__feature--img-right .doctor__feature-image--main picture img {
	aspect-ratio: 334/310;
}

.doctor__feature--img-right .doctor__feature-image--sub {
	bottom: 0;
	right: 0;
	width: 11.3125rem;
}

.doctor__feature--img-right .doctor__feature-image--sub picture img {
	aspect-ratio: 181/282;
}

.doctor__interview {
	background-color: #F7F9FB;
	padding-block: 6.25rem 8.125rem;
}

.doctor__interview-heading {
	margin-block-end: 3.75rem;
	text-align: center;
}

.doctor__interview-video {
	aspect-ratio: 16/9;
	margin-inline: auto;
	max-width: 50.75rem;
	position: relative;
	width: 100%;
}

.doctor__interview-video iframe {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.doctor__profile {
	background-color: #F7F9FB;
	padding-block: 0 6.875rem;
}

.doctor__profile-heading {
	margin-block-end: 3.75rem;
	text-align: center;
}

.doctor__profile-body {
	display: flex;
	-moz-column-gap: 3.3125rem;
	align-items: flex-start;
	column-gap: 3.3125rem;
}

.doctor__profile-photo {
	flex-shrink: 0;
	position: relative;
	width: 26rem;
}

.doctor__profile-photo picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.doctor__profile-photo picture img {
	aspect-ratio: 416/459;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.doctor__profile-name-overlay {
	background: linear-gradient(to bottom, rgba(64, 64, 64, 0) 6.282%, #404040 100%);
	border-radius: 0 0 0.125rem 0.125rem;
	height: 8.375rem;
	inset-block-end: 0;
	inset-inline-start: 0;
	opacity: 0.6;
	position: absolute;
	width: 100%;
}

.doctor__profile-name {
	bottom: 1.125rem;
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 500;
	left: 50%;
	letter-spacing: 0.05rem;
	line-height: 2;
	position: absolute;
	translate: -50%;
}

.doctor__profile-detail {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	row-gap: 2.5rem;
}

.doctor__profile-section {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.doctor__profile-label {
	align-items: center;
	background-color: #002F6C;
	border-radius: 3.75rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding-block: 0.6875rem;
	white-space: nowrap;
	width: 9.5rem;
}

.doctor__career {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	position: relative;
}

.doctor__career::before {
	background-color: #002F6C;
	content: "";
	height: 20.75rem;
	inset-block-start: 0.875rem;
	inset-inline-start: 4.59375rem;
	position: absolute;
	translate: -50% 0;
	width: 0.0625rem;
}

.doctor__career-row {
	display: flex;
	-moz-column-gap: 2.9375rem;
	column-gap: 2.9375rem;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.08rem;
	line-height: 1.8;
	position: relative;
}

.doctor__career-row::before {
	background-color: #002F6C;
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	inset-block-start: 0.875rem; /* 縦線と同じ水平位置に配置 */
	inset-inline-start: 4.59375rem;
	position: absolute;
	translate: -50% -50%;
	width: 0.5rem;
	z-index: 1;
}

.doctor__career-year {
	flex-shrink: 0;
	white-space: nowrap;
	width: 3.125rem;
}

.doctor__career-desc {
	flex: 1;
}

.doctor__qualifications {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.doctor__qualification {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

.doctor__profile-text {
	font-weight: 500;
	letter-spacing: 0.08rem;
	line-height: 1.8;
}

/*===================================================================
# Access ページ
===================================================================*/

.access {
	padding-block-start: 10.875rem;
}

.access__section-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.access__section-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.access__content {
	display: flex;
	flex-direction: column;
	margin-block-end: 5.875rem;
}

.access__hours {
	padding-block: 5.4375rem 5.5rem;
}

.access__hours-inner {
	display: flex;
	-moz-column-gap: 5rem;
	align-items: flex-start;
	column-gap: 5rem;
}

.access__hours-image {
	flex-shrink: 0;
	width: 29.8125rem;
}

.access__hours-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.access__hours-image picture img {
	aspect-ratio: 477/563;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.access__hours-body {
	flex: 1;
	min-width: 0;
}

.access__hours-heading {
	margin-block-end: 4.375rem;
}

.access__hours-clinic {
	display: flex;
	flex-direction: column;
	margin-block-end: 2.5rem;
	row-gap: 1.125rem;
}

.access__hours-logo {
	aspect-ratio: 309/30;
	height: auto;
	width: 19.3125rem;
}

.access__hours-address {
	align-items: flex-start;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.access__hours-address-icon {
	flex-shrink: 0;
	height: auto;
	margin-block-start: 0.1875rem;
	width: 1rem;
}

.access__hours-address-text {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1.4;
}

.access__hours-table-wrap {
	background-color: #F7F9FB;
	padding: 1rem 0.75rem;
}

.access__hours-table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.access__hours-table thead th {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding-block: 1.25rem;
	text-align: center;
}

.access__hours-table thead th:not(.access__hours-time-col) {
	background-image: linear-gradient(to bottom, #002F6C 0.15rem, transparent 0.15rem);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
}

.access__hours-table .access__hours-time-col {
	width: 6.4375rem;
}

.access__hours-table tbody tr:first-child {
	border-block-end: 0.075rem solid #002F6C;
	border-block-start: 0.075rem solid #002F6C;
}

.access__hours-table .access__hours-time {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding-block: 1.25rem;
	text-align: center;
	white-space: nowrap;
}

.access__hours-table .access__hours-cell {
	background-image: linear-gradient(to bottom, #002F6C 0.15rem, transparent 0.15rem);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 0.075rem 0.3rem;
	padding-block: 1.25rem;
	text-align: center;
}

.access__hours-table .access__hours-dot {
	aspect-ratio: 1/1;
	background-color: #002F6C;
	border-radius: 50%;
	display: block;
	height: 0.875rem;
	margin-inline: auto;
	width: 0.875rem;
}

.access__hours-table .access__hours-closed {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04375rem;
	line-height: 1;
}

.access__hours-note {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1.4;
	margin-block-start: 0.75rem;
}

.access__location {
	background-color: #f5fcff;
	padding-block: 5.8125rem 6.875rem;
}

.access__location-heading {
	margin-block-end: 4.375rem;
	text-align: center;
}

.access__location-inner {
	display: flex;
	-moz-column-gap: 3.5625rem;
	align-items: flex-start;
	column-gap: 3.5625rem;
}

.access__location-list {
	display: flex;
	flex: 1;
	flex-direction: column;
	list-style: none;
	row-gap: 1.875rem;
}

.access__location-item {
	display: flex;
	flex-direction: column;
	row-gap: 0.625rem;
}

.access__location-item-head {
	align-items: flex-start;
	display: flex;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.access__location-badge {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	-moz-column-gap: 0.625rem;
	background-color: #002F6C;
	border-radius: 3.75rem;
	column-gap: 0.625rem;
	flex-shrink: 0;
	min-width: 12rem;
	padding-block: 0.625rem;
}

.access__location-icon {
	flex-shrink: 0;
	height: auto;
	width: 0.875rem;
}

.access__location-icon--car {
	width: 1rem;
}

.access__location-badge-text {
	color: #FFFFFF;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding-block-end: 0.125rem;
	white-space: nowrap;
}

.access__location-text {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1.4;
}

.access__location-text + .access__location-text {
	margin-block-start: 0.875rem;
}

.access__location-map {
	flex-shrink: 0;
	width: 29.375rem;
}

.access__location-map iframe {
	display: block;
	height: 17.5rem;
	width: 100%;
}

.access__parking {
	background-color: #f5fcff;
	padding-block-end: 6.875rem;
}

.access__parking-heading {
	align-items: center;
	display: flex;
	-moz-column-gap: 2.875rem;
	column-gap: 2.875rem;
	margin-block-end: 4.375rem;
	margin-inline: auto;
	max-width: 90rem;
	padding-inline: 10.625rem;
}

.access__parking-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 100%;
	border: none;
	flex: 1;
	height: 0.125rem;
	margin-block: 0;
}

.access__parking-title {
	color: #002F6C;
	flex-shrink: 0;
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: 0.15rem;
	line-height: 1.6;
	text-align: center;
	white-space: nowrap;
}

.access__parking-inner {
	display: flex;
	-moz-column-gap: 3.5625rem;
	align-items: flex-start;
	column-gap: 3.5625rem;
}

.access__parking-map {
	flex-shrink: 0;
	width: 32.4375rem;
}

.access__parking-map picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.access__parking-map picture img {
	aspect-ratio: 519/556;
	display: block;
	height: auto;
	width: 100%;
}

.access__parking-lots {
	display: grid;
	flex: 1;
	gap: 2rem 1.25rem;
	grid-template-columns: 1fr 1fr;
}

.access__parking-lot {
	display: flex;
	flex-direction: column;
	row-gap: 0.625rem;
}

.access__parking-lot-photo {
	flex-shrink: 0;
}

.access__parking-lot-photo picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.access__parking-lot-photo picture img {
	aspect-ratio: 252/180;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.access__parking-lot-info {
	display: flex;
	flex-direction: column;
	row-gap: 0.75rem;
}

.access__parking-lot-name {
	align-items: center;
	display: flex;
	justify-content: center;
	-moz-column-gap: 0.5rem;
	color: #002F6C;
	column-gap: 0.5rem;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.6;
}

.access__parking-lot-number {
	align-items: center;
	background-color: #002F6C;
	border-radius: 50%;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 500;
	height: 2.0625rem;
	justify-content: center;
	line-height: 1;
	vertical-align: middle;
	width: 2.0625rem;
}

.access__parking-lot-count {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1.4;
	text-align: center;
}

/*===================================================================
# Price ページ
===================================================================*/

.price {
	padding-block-start: 10.875rem;
}

.price__content {
	padding-block-end: 5.875rem;
}

.price__intro {
	padding-block: 2.8125rem 5rem;
}

.price__intro-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	text-align: center;
}

.price__body {
	align-items: stretch;
	display: flex;
	margin-inline: auto;
	max-width: 90rem;
}

.price__sidebar {
	background-color: #f5fcff;
	flex-shrink: 0;
	width: 13.75rem;
}

.price__nav {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
	padding: 1.875rem 1.875rem 0;
	position: sticky;
	top: 12.125rem;
}

.price__nav-item + .price__nav-item {
	border-block-start: none;
	position: relative;
}

.price__nav-item + .price__nav-item::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	content: "";
	display: block;
	height: 0.125rem;
}

.price__nav-link {
	align-items: center;
	color: #16243A;
	display: flex;
	font-weight: 500;
	justify-content: space-between;
	letter-spacing: 0.05rem;
	line-height: 1.6;
	padding-block: 1.25rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

.price__nav-link::after {
	background-color: #00A7EA;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M13.9336 10.2656L11.0003 13.199L8.06693 10.2656' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 50%;
	content: "";
	display: inline-flex;
	flex-shrink: 0;
	height: 1.375rem;
	width: 1.375rem;
}

.price__nav-item:first-child .price__nav-link {
	padding-block-start: 0;
}

.price__nav-item:last-child .price__nav-link {
	padding-block-end: 0;
}

.price__nav-link:hover {
	color: #002F6C;
}

.price__main {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	padding-inline: 8.125rem;
	row-gap: 2.5rem;
}

.price__section {
	background-color: #F1F7FC;
	padding: 1.875rem 5rem 2.5rem;
}

.price__section-heading {
	margin-block-end: 3.125rem;
	text-align: center;
}

.price__section-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.price__section-intro {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.5rem;
}

.price__section-note {
	align-items: center;
	display: inline-flex;
	-moz-column-gap: 0.25rem;
	column-gap: 0.25rem;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.875rem;
}

.price__section-body {
	display: flex;
	-moz-column-gap: 3.125rem;
	align-items: flex-start;
	column-gap: 3.125rem;
}

.price__section-image {
	flex-shrink: 0;
	width: 18.5625rem;
}

.price__section-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.price__section-image img {
	aspect-ratio: 297/308;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.price__tables {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3.125rem;
	min-width: 0;
}

.price__table {
	display: flex;
	flex-direction: column;
}

.price__table-label {
	align-items: center;
	background-color: #002F6C;
	border-radius: 12.5rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1.125rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.05625rem;
	line-height: 1.8;
	padding-block: 0.25rem 0.1875rem;
	padding-inline: 1.125rem;
	text-align: center;
	white-space: nowrap;
	width: 9.75rem;
}

.price__table-head {
	display: grid;
	grid-template-columns: 11.25rem 1fr;
	-moz-column-gap: 2.5rem;
	color: #002F6C;
	column-gap: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.04rem;
	line-height: 1.6;
	margin-block-start: 0.875rem;
}

.price__table-rule {
	background-image: repeating-linear-gradient(to right, #00A7EA 0, #00A7EA 0.125rem, transparent 0.125rem, transparent 0.25rem);
	background-position: left center;
	background-repeat: repeat-x;
	background-size: 0.25rem 0.0625rem;
	border: none;
	height: 0.0625rem;
	margin-block: 0.6875rem 1.125rem;
	width: 100%;
}

.price__table-rows {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.price__table-row {
	align-items: flex-start;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 11.25rem 1fr;
}

.price__table-name {
	display: flex;
	font-weight: 500;
	gap: 0.25rem;
	letter-spacing: 0.04rem;
	line-height: 1.6;
}

.price__table-name-sub {
	display: block;
	font-size: 0.875rem;
	letter-spacing: 0.035rem;
	line-height: 1.6;
}

.price__table-price {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04rem;
	line-height: 1.6;
}

.price__bullet {
	background-color: #002F6C;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
	height: 0.75rem;
	margin-block-start: 0.4375rem;
	width: 0.75rem;
}

.price__bullet--note {
	margin-block-start: 0.1875rem;
}

.price__bullet--note-rectangle {
	background-color: #F9F20C;
	border-radius: 0;
}

.price__notice {
	background-color: #FFFFFF;
	margin-block-start: -0.625rem;
	padding: 1.125rem;
}

.price__notice-title {
	color: #002F6C;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.8;
}

.price__notice-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.price__notice-item {
	align-items: flex-start;
	display: flex;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.8;
}

.price__notice-item::before {
	content: "・";
	flex-shrink: 0;
}

/*===================================================================
# First ページ
===================================================================*/

.first {
	padding-block-start: 10.875rem;
}

.first__content {
	margin-block-end: 5.875rem;
}

.first__section-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.first__section-en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.first__intro {
	padding-block: 1.75rem 5.5rem;
}

.first__intro-inner {
	display: flex;
	-moz-column-gap: 3.25rem;
	column-gap: 3.25rem;
}

.first__intro-text {
	flex: 1;
	margin-block-start: 3.4375rem;
	min-width: 0;
}

.first__intro-catch {
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.first__intro-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.0625rem;
	width: 100%;
}

.first__intro-lead {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.first__intro-images {
	flex-shrink: 0;
	height: 27.75rem;
	margin-block-start: -5.75rem;
	position: relative;
	width: 36.125rem;
}

.first__intro-image {
	position: absolute;
}

.first__intro-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.first__intro-image picture img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.first__intro-image--main {
	left: 0;
	top: 0;
	width: 20.9375rem;
}

.first__intro-image--main picture img {
	aspect-ratio: 335/372;
}

.first__intro-image--sub {
	bottom: 0;
	right: 0;
	width: 13.4375rem;
}

.first__intro-image--sub picture img {
	aspect-ratio: 215/355;
}

.first__rule {
	background-image: repeating-linear-gradient(to right, rgba(0, 167, 234, 0.4) 0, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.0625rem, transparent 0.375rem);
	background-repeat: repeat-x;
	background-size: auto 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.0625rem;
	width: 100%;
}

.first__concern {
	background-color: #F7F9FB;
	margin-block-end: 5.5625rem;
	margin-inline: auto;
	max-width: 68.75rem;
	padding: 2.5rem 3.125rem;
	position: relative;
}

.first__concern-illust {
	left: 50%;
	position: absolute;
	top: -4.125rem;
	translate: -50%;
}

.first__concern-illust img {
	aspect-ratio: 86/108;
	display: block;
	height: auto;
	width: 5.375rem;
}

.first__concern-heading {
	margin-block-end: 1.4375rem;
	text-align: center;
}

.first__concerns {
	display: grid;
	gap: 0.625rem;
	grid-template-columns: 1fr 0.075rem 1fr 0.075rem 1fr;
	grid-template-rows: auto 0.075rem auto;
}

.first__concern-vline {
	background-image: repeating-linear-gradient(to bottom, #00a7ea 0, #00a7ea 0.15rem, transparent 0.15rem, transparent 0.3rem);
	grid-row: span 1;
	width: 0.075rem;
}

.first__concern-hline {
	background-image: repeating-linear-gradient(to right, #00a7ea 0, #00a7ea 0.15rem, transparent 0.15rem, transparent 0.3rem);
	height: 0.075rem;
}

.first__concern-spacer {
	display: block;
}

.first__concern-item {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 0.5625rem 0 0.625rem;
	text-align: center;
}

.first__concern-text {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.0625rem;
	line-height: 1.7;
}

.first__policy {
	background-color: #F1F7FC;
	padding-block: 4rem 7.5rem;
}

.first__policy-heading-wrap {
	margin-block-end: 2.875rem;
	text-align: center;
}

.first__policy-inner {
	display: flex;
	flex-direction: column;
	row-gap: 5.625rem;
}

.first__policy-item {
	display: flex;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
}

.first__policy-body {
	flex: 1;
	min-width: 0;
}

.first__policy-point {
	color: rgba(128, 211, 245, 0.6);
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1.6;
	text-transform: uppercase;
}

.first__policy-title {
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.13rem;
	line-height: 1.6;
}

.first__policy-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 1.0625rem;
}

.first__policy-list {
	background-color: #FFFFFF;
	display: flex;
	flex-direction: column;
	list-style: none;
	margin-block-start: 1.0625rem;
	padding: 0;
	padding: 0.75rem 1.25rem;
	row-gap: 0.25rem;
}

.first__policy-list-item {
	display: flex;
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.8;
}

.first__policy-list-item svg {
	flex-shrink: 0;
	height: 0.75rem;
	margin-block-start: 0.4375rem;
	width: 1rem;
}

.first__policy-images {
	flex-shrink: 0;
	height: 27.125rem;
	position: relative;
	width: 31rem;
}

.first__policy-image {
	position: absolute;
}

.first__policy-image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.first__policy-image picture img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.first__policy-image--large {
	width: 19.25rem;
}

.first__policy-image--large picture img {
	aspect-ratio: 308/374;
}

.first__policy-image--small {
	width: 10.4375rem;
}

.first__policy-image--small picture img {
	aspect-ratio: 167/351;
}

.first__policy-item--img-right .first__policy-image--large {
	right: 0;
	top: 0;
}

.first__policy-item--img-right .first__policy-image--small {
	bottom: 0;
	left: 0;
}

.first__policy-item--img-left .first__policy-image--large {
	left: 0;
	top: 0;
}

.first__policy-item--img-left .first__policy-image--small {
	bottom: 0;
	right: 0;
}

.first__flow {
	padding-block: 5.8125rem 6rem;
}

.first__flow-heading {
	text-align: center;
}

.first__steps {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-block-start: 2.875rem;
}

.first__step {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.first__step-box {
	align-items: center;
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	display: grid;
	grid-template-columns: 9.5625rem 0.125rem 1fr;
	min-height: 9.0625rem;
	padding-block: 1rem;
	width: 100%;
}

.first__step-rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='6'%3E%3Cline x1='1' y1='0' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-y;
	background-size: 0.125rem 0.375rem;
	height: 100%;
	width: 0.125rem;
}

.first__step-left {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	row-gap: 0.6875rem;
}

.first__step-number {
	color: #002F6C;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1;
	white-space: nowrap;
}

.first__step-number span {
	font-size: 1.25rem;
}

.first__step-illust {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
}

.first__step-illust img {
	display: block;
	height: auto;
}

.first__step-body {
	padding-inline-start: 2.5625rem;
}

.first__step-title {
	color: #002F6C;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1.6;
}

.first__step-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.375rem;
}

.first__step-arrow {
	display: flex;
	justify-content: center;
	padding-block: 0.84375rem;
}

.first__step-arrow img {
	height: auto;
	width: 3.6875rem;
}

.first__bring {
	padding-block-end: 5.0625rem;
}

.first__bring-heading {
	margin-block-end: 2.375rem;
	text-align: center;
}

.first__bring-items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

.first__bring-item {
	align-items: center;
	background-color: #F7F9FB;
	border-radius: 0.125rem;
	display: flex;
	flex-direction: column;
	padding-block: 1.75rem 2rem;
	position: relative;
}

.first__bring-item--4th {
	padding-block-start: 1.3125rem;
}

.first__bring-icon {
	left: 1.125rem;
	position: absolute;
	top: 1.125rem;
}

.first__bring-icon svg {
	display: block;
	height: auto;
	width: 0.875rem;
}

.first__bring-image picture img {
	aspect-ratio: 1/1;
	height: auto;
	width: 7.1875rem;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.first__bring-label {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	line-height: 1.4;
	margin-block-start: 1.8125rem;
	text-align: center;
}

.first__bring-label--2lines {
	line-height: 1.1;
	margin-block-start: 1.1875rem;
}

.first__bring-label--small {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.first__payment {
	background-color: #f5fcff;
	padding-block: 5.875rem;
}

.first__payment-heading {
	text-align: center;
}

.first__payment-lead {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block: 1.9375rem 2.5625rem;
	text-align: center;
}

.first__payment-items {
	display: flex;
	flex-direction: column;
	row-gap: 1.25rem;
}

.first__payment-item {
	align-items: stretch;
	background-color: #fff;
	border-radius: 0.125rem;
	display: flex;
	overflow: hidden;
}

.first__payment-image {
	flex-shrink: 0;
	width: 18.4375rem;
}

.first__payment-image picture {
	border-radius: 0.125rem 0 0 0.125rem;
	display: block;
	height: 100%;
	overflow: hidden;
}

.first__payment-image picture img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.first__payment-body {
	flex: 1;
	min-width: 0;
	padding: 1.75rem 2.8125rem 1.6875rem;
}

.first__payment-badge {
	background-color: #f5fcff;
	border-radius: 0.125rem;
	color: #002F6C;
	display: inline-block;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1;
	margin-block-end: 0.5rem;
	padding: 0.28125rem 0.46875rem;
}

.first__payment-title {
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.13rem;
	line-height: 1.2;
	margin-block-end: 0.75rem;
}

.first__payment-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.first__payment-info {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	-moz-column-gap: 0.6875rem;
	background-color: #f5fcff;
	column-gap: 0.6875rem;
	margin-block-start: 0.75rem;
	padding: 0.625rem 1rem 0.75rem;
	row-gap: 0.5rem;
}

.first__payment-info-item {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.04375rem;
	line-height: 1.8;
}

.first__payment-info-label {
	color: #002F6C;
}

.first__payment-info-dots {
	letter-spacing: -0.48125rem;
	padding-inline-end: 0.375rem;
}

.first__payment-info-sep {
	background-color: transparent; /* 1. SVGを背景画像として指定（不透明度 0.2 を反映） */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='17' viewBox='0 0 11 17' fill='none'%3E%3Cpath opacity='0.2' d='M9.6709 0.25L0.433594 16.25' stroke='%2300A7EA'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	height: 1.0625rem;
	vertical-align: middle;
	width: 0.6875rem;
}

.first__payment-note {
	border: 0.0625rem solid #0087bd;
	border-radius: 0.125rem;
	padding: 2rem 1.6875rem 1.9375rem;
}

.first__payment-note-title {
	color: #0087bd;
	font-weight: 500;
	letter-spacing: 0.08rem;
	line-height: 1.2;
	margin-block-end: 0.875rem;
}

.first__payment-note-text {
	color: #0087bd;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.0375rem;
	line-height: 1.8;
}

/*===================================================================
# About ページ
===================================================================*/

.about {
	padding-block-start: 10.875rem;
}

.about__content {
	margin-block-end: 5.875rem;
}

.about-intro {
	padding-block: 1.75rem 6.3125rem;
}

.about-intro__inner {
	display: flex;
	-moz-column-gap: 3.25rem;
	column-gap: 3.25rem;
}

.about-intro__text {
	flex: 1;
	margin-block-start: 3.4375rem;
	min-width: 0;
}

.about-intro__catch {
	font-size: 1.5625rem;
	font-weight: 500;
	letter-spacing: 0.125rem;
	line-height: 1.6;
}

.about-intro__rule {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 1.0625rem;
	width: 100%;
}

.about-intro__lead {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.about-intro__images {
	flex-shrink: 0;
	height: 27.75rem;
	margin-block-start: -5.75rem;
	position: relative;
	width: 36.125rem;
}

.about-intro__image {
	position: absolute;
}

.about-intro__image picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.about-intro__image picture img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.about-intro__image--main {
	left: 0;
	top: 0;
	width: 20.9375rem;
}

.about-intro__image--main picture img {
	aspect-ratio: 335/372;
}

.about-intro__image--sub {
	bottom: 0;
	right: 0;
	width: 13.4375rem;
}

.about-intro__image--sub picture img {
	aspect-ratio: 215/355;
}

.about-philosophy {
	padding-block-end: 7.3125rem;
}

.about-philosophy__inner {
	align-items: flex-start;
	background-color: #F7F9FB;
	display: flex;
	position: relative;
}

.about-philosophy__media {
	flex-shrink: 0;
}

.about-philosophy__picture {
	aspect-ratio: 404/494;
	border-radius: 0.125rem 0 0 0.125rem;
	display: block;
	overflow: hidden;
	width: 25.25rem;
}

.about-philosophy__picture img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.about-philosophy__body {
	flex: 1;
	min-width: 0;
	padding: 4.25rem 3.125rem 0 5rem;
}

.about-philosophy__title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.about-philosophy__en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.about-philosophy__content {
	margin-block-start: 2.5625rem;
}

.about-philosophy__content-head {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	margin-block-end: 1.25rem;
}

.about-philosophy__badge {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: top center, bottom center; /* 上下端に配置 */
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	color: #002F6C;
	flex-shrink: 0;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1.6;
	padding-block: 0.375rem;
}

.about-philosophy__catch {
	font-size: 1.5625rem;
	font-weight: 700;
	letter-spacing: 0.125rem;
	line-height: 1.6;
}

.about-philosophy__text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
}

.about-philosophy__illust {
	aspect-ratio: 101/102;
	bottom: -0.625rem;
	height: auto;
	pointer-events: none;
	position: absolute;
	right: -0.875rem;
	width: 6.3125rem;
}

.about-environment {
	background-color: #F5FCFF;
	padding-block: 5rem 6.0625rem;
}

.about-environment__heading-wrap {
	margin-block-end: 3.4375rem;
	text-align: center;
}

.about-environment__title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.about-environment__en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.about-environment__cards {
	display: grid;
	gap: 3.75rem 4.5rem;
	grid-template-columns: 1fr 1fr;
}

.about-environment__card-media {
	position: relative;
}

.about-environment__card-picture {
	display: block;
}

.about-environment__card-picture img {
	aspect-ratio: 464/337;
	display: block;
	height: auto;
	width: 100%;
}

.about-environment__card-labels {
	display: flex;
	position: absolute;
	right: 2rem;
	top: 0.5625rem;
	-moz-column-gap: 0.5625rem;
	align-items: flex-start;
	column-gap: 0.5625rem;
}

.about-environment__card-title {
	display: flex;
	-moz-column-gap: 0.1875rem;
	align-items: flex-start;
	column-gap: 0.1875rem;
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

.about-environment__card-label {
	background-color: #FFFFFF;
	border-radius: 0.125rem;
	color: #002F6C;
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 500;
	height: auto;
	letter-spacing: 0.2rem;
	line-height: 1.27;
	padding: 0.5rem 0.3125rem 0.625rem;
	width: auto;
	writing-mode: vertical-rl;
}

.about-environment__card-label--narrow {
	padding: 0 0.3125rem;
}

.about-environment__card-label .is-bracket-start {
	display: inline-block;
	margin-inline-start: -0.25rem;
	transform: translateY(-0.125rem);
}

.about-environment__card-label .is-bracket-end {
	display: inline-block;
	margin-inline-end: -0.25rem;
	transform: translateY(0.125rem);
}

.about-environment__card-point {
	color: #002F6C;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.075rem;
	line-height: 1;
	margin-inline-start: 0.25rem;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}

.about-environment__card-text {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
	margin-block-start: 0.9375rem;
	text-align: center;
}

.about-message {
	padding-block: 4.3125rem 4.9375rem;
}

.about-message__inner {
	display: flex;
	-moz-column-gap: 5rem;
	align-items: flex-start;
	background-color: #F7F9FB;
	column-gap: 5rem;
	padding: 2rem 3.125rem 2.0625rem 6.25rem;
	position: relative;
}

.about-message__body {
	flex: 1;
	margin-block-start: 5.125rem;
	min-width: 0;
}

.about-message__title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.about-message__en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.about-message__rule {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0%, rgba(0, 167, 234, 0.4) 50%, transparent 50%);
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	border: none;
	height: 0.125rem;
	margin-block: 2.125rem;
	width: 100%;
}

.about-message__text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-end: 2.125rem;
}

.about-message__media {
	flex-shrink: 0;
}

.about-message__picture {
	aspect-ratio: 404/494;
	border-radius: 0.125rem;
	display: block;
	height: auto;
	overflow: hidden;
	width: 25.25rem;
}

.about-message__picture img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.about-message__illust {
	aspect-ratio: 203/111;
	bottom: 0.9375rem;
	height: auto;
	pointer-events: none;
	position: absolute;
	right: 0.3125rem;
	width: 12.6875rem;
}

.about-facilities {
	background-color: #F7F9FB;
	padding-block: 5.5rem 8.25rem;
}

.about-facilities__heading-wrap {
	margin-block-end: 4.9375rem;
	text-align: center;
}

.about-facilities__title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
}

.about-facilities__en {
	color: rgba(0, 167, 234, 0.5);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin-block-start: 0.4375rem;
	text-transform: uppercase;
}

.about-facilities__lead {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 1.9375rem;
}

.about-facilities__group + .about-facilities__group {
	margin-block-start: 5.625rem;
}

.about-facilities__group-head {
	align-items: center;
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	margin-block-end: 2.5rem;
}

.about-facilities__group-rule {
	background-color: rgba(0, 167, 234, 0.4);
	border: none;
	border-radius: 0.0625rem;
	flex: 1;
	height: 0.125rem;
}

.about-facilities__group-title {
	color: #002F6C;
	flex-shrink: 0;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.12rem;
	line-height: 1;
}

.about-facilities__cards {
	display: grid;
	gap: 2.0625rem;
	grid-template-columns: 1fr 0.125rem 1fr 0.125rem 1fr;
	grid-template-rows: auto 0.125rem auto;
}

.about-facilities__card-vline {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='6'%3E%3Cline x1='1' y1='0' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-y;
	background-size: 0.125rem 0.375rem;
	grid-row: span 1;
	width: 0.125rem;
}

.about-facilities__card-hline {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	height: 0.125rem;
}

.about-facilities__card-spacer {
	display: block;
}

.about-facilities__card {
	text-align: center;
}

.about-facilities__card-picture {
	border-radius: 0.125rem;
	display: block;
	overflow: hidden;
}

.about-facilities__card-picture img {
	aspect-ratio: 322/220;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.about-facilities__card-label {
	color: #002F6C;
	font-weight: 700;
	letter-spacing: 0.08rem;
	line-height: 1;
	margin-block-start: 1.0625rem;
	text-transform: uppercase;
}

.about-facilities__card-title {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.0625rem;
	line-height: 1.7;
	margin-block-start: 0.3125rem;
}

.about-facilities__card-title-sub {
	display: inline-block;
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	margin-inline-start: -0.4375rem;
}

.about-facilities__card-text {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.046875rem;
	line-height: 1.8;
	margin-block-start: 0.3125rem;
}

.about-facilities__card-link {
	align-items: center;
	display: inline-flex;
	-moz-column-gap: 0.5rem;
	color: #002F6C;
	column-gap: 0.5rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1;
	margin-block-start: 0.3125rem;
	text-decoration: none;
}

.about-facilities__card-link-text {
	display: inline-block;
	position: relative;
}

.about-facilities__card-link-text::after {
	background-color: currentColor;
	bottom: -0.1875rem;
	content: "";
	height: 1px;
	left: 0;
	opacity: 1;
	position: absolute;
	transition: opacity 0.3s ease;
	width: 100%;
}

.about-facilities__card-link svg {
	flex-shrink: 0;
	height: 1.375rem;
	width: 1.375rem;
}

/*===================================================================
# Policy ページ
===================================================================*/

.policy {
	padding-block-start: 10.875rem;
}

.policy__content {
	padding-block: 5.4375rem 6.875rem;
}

.policy__intro {
	margin-block-end: 3.75rem;
}

.policy__section-title {
	color: #002F6C;
	font-size: 2.25rem;
	font-weight: 500;
	letter-spacing: 0.18rem;
	line-height: 1.6;
	text-align: center;
}

.policy__date {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05rem;
	margin-block-start: 1.25rem;
	text-align: end;
}

.policy__lead {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.09rem;
	line-height: 1.8;
	margin-block-start: 2.5rem;
}

.policy__articles {
	display: flex;
	flex-direction: column;
	row-gap: 2.5rem;
}

.policy__article {
	background-color: #F1F7FC;
	border-radius: 0.3125rem;
	padding: 1.875rem 2.5rem;
}

.policy__article-title {
	color: #002F6C;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.06875rem;
	line-height: 1.6;
	margin-block-end: 1rem;
}

.policy__article-text {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
}

.policy__article-list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin-block-start: 1rem;
	row-gap: 0.625rem;
}

.policy__article-list-item {
	font-weight: 500;
	letter-spacing: 0.05rem;
	line-height: 1.8;
	padding-inline-start: 1.25rem;
	position: relative;
}

.policy__article-list-item::before {
	background-color: #002F6C;
	border-radius: 50%;
	content: "";
	height: 0.5rem;
	inset-block-start: 0.75rem;
	inset-inline-start: 0;
	position: absolute;
	width: 0.5rem;
}

.policy__article-note {
	display: block;
	font-size: 0.875rem;
	line-height: 1.7;
	margin-block-start: 0.25rem;
}

/*===================================================================
# 404
===================================================================*/

.p-404 {
	padding-block-start: 10.875rem;
}

.p-404__content {
	background-color: #f5fcff;
	margin-block-end: 6.0625rem;
	padding-block-end: 6.0625rem;
}

.p-404__number {
	color: #002F6C;
	font-size: 6.25rem;
	font-weight: 500;
	letter-spacing: 0.5rem;
	line-height: 1.6;
	text-align: center;
}

.p-404__subtitle-area {
	margin-block-start: -0.75rem;
	position: relative;
	text-align: center;
}

.p-404__subtitle {
	color: #002F6C;
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.13rem;
	line-height: 1;
	opacity: 0.5;
	text-transform: uppercase;
}

.p-404__illust {
	aspect-ratio: 89.816/93.724;
	bottom: 0;
	height: auto;
	left: calc(50% + 7.5rem);
	position: absolute;
	width: 5.6135rem;
}

.p-404__text {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05625rem;
	line-height: 1.8;
	margin-block: 3rem 3.75rem;
	text-align: center;
}

html.coming-soon-html {
	height: 100%;
	overflow: hidden;
}

body.coming-soon-page {
	height: 100%;
	overflow: hidden;
}

.coming-soon {
	background-color: #00142F;
	height: 100vh;
	height: 100svh;
	min-height: auto;
	overflow: hidden;
}

.coming-soon__hero {
	display: flex;
	flex-direction: column;
	height: 100vh;
	height: 100svh;
	isolation: isolate;
	min-height: auto;
	overflow: hidden;
	position: relative;
}

.coming-soon__bg {
	background-color: #f7fbff;
	height: auto;
	inset: 0 0 5rem;
	min-height: auto;
	position: absolute;
	z-index: -2;
}

.coming-soon__bg::after {
	background-color: rgba(255, 255, 255, 0.18);
	content: "";
	display: block;
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.coming-soon__bg picture {
	display: block;
}

.coming-soon__bg picture,
.coming-soon__bg img {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.coming-soon__bg img {
	aspect-ratio: 2880/1620;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center bottom;
	object-position: center bottom;
}

.coming-soon__content {
	align-items: center;
	color: #001D45;
	display: flex;
	flex: 1;
	flex-direction: column;
	margin-inline: auto;
	max-width: 60rem;
	min-height: calc(100vh - 5rem);
	min-height: calc(100svh - 5rem);
	padding: clamp(3.75rem, 9svh, 8.75rem) 1.875rem 2.625rem;
	text-align: center;
	width: 100%;
}

.coming-soon__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.coming-soon__logo {
	margin: 0;
	width: 21.25rem;
}

.coming-soon__logo img {
	aspect-ratio: 1294/832;
	height: auto;
	width: 100%;
}

.coming-soon__title {
	font-family: "Cormorant Garamond", serif;
	font-size: 5.375rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	margin-block-start: 4.25rem;
}

.coming-soon__title .char {
	opacity: 0;
}

.coming-soon__line {
	background-color: rgba(0, 29, 69, 0.72);
	display: block;
	height: 0.0625rem;
	margin-block-start: 3.625rem;
	width: 5.5rem;
}

.coming-soon__text {
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 2;
	margin-block-end: 0;
	margin-block-start: 2.875rem;
}

.coming-soon__footer {
	align-items: center;
	background-color: #00142F;
	color: #FFFFFF;
	display: flex;
	flex: 0 0 5rem;
	height: 5rem;
	justify-content: center;
	overflow: hidden;
	padding: 0 1.5rem;
	position: relative;
}

.coming-soon__copyright {
	font-family: "Montserrat", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
	position: relative;
	text-align: center;
	z-index: 1;
}

/*===================================================================
# ブレークポイントによる表示 / 非表示
===================================================================*/

.show__sp-only {
	display: none; /* spのみ表示 */
}

.show__sp-only--flex {
	display: none;
}

.show__pc-only {
	display: block; /* pcのみ表示 */
}

.show__pc-only--flex {
	display: flex;
}

@media (any-hover: hover) {

.header__cta-btn:hover {
	opacity: 1;
}

.header__cta-btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.header__cta-btn:hover .header__cta-label,
.header__cta-btn:hover .header__cta-number,
.header__cta-btn:hover .header__cta-web-text {
	color: #16243A;
}

.header__cta-btn:hover .header__cta-icon--tel,
.header__cta-btn:hover .header__cta-icon--web {
	color: #16243A;
}

.header__cta-btn--tel:hover {
	box-shadow: inset 0 0 0 0.125rem #002F6C;
	opacity: 1;
}

.header__cta-btn--tel:hover .header__cta-label,
.header__cta-btn--tel:hover .header__cta-number {
	color: #FFFFFF;
}

.header__cta-btn--tel:hover .header__cta-icon--tel {
	color: #FFFFFF;
}

.header__cta-btn--web:hover {
	box-shadow: inset 0 0 0 0.125rem #C8A35A;
}

.nav__list > li > a:hover {
	color: #002F6C;
}

.nav__list > li.menu-item-has-children:hover > a {
	color: #002F6C;
}

.nav__list > li.menu-item-has-children > .sub-menu li a:hover {
	background-color: #F1F7FC;
	color: #002F6C;
}

.footer .footer__nav-list .menu-item-has-children:hover > a {
	color: #002F6C;
}

.footer .footer__nav-list .menu-item-has-children > .sub-menu li a:hover {
	background-color: #F1F7FC;
	color: #002F6C;
}

.button:hover {
	color: #FFFFFF;
	opacity: 1;
}

.button:hover::before {
	transform: translateX(0) skewX(15deg);
}

.button--recruit-link:hover {
	color: #002F6C;
}

.button--recruit-link:hover span::after {
	transform: scaleX(1);
}

.button--case-link:hover {
	color: #002F6C;
}

.button--case-link:hover span::after {
	transform: scaleX(1);
}

.button--recruit-back:hover {
	color: #002F6C;
	opacity: 1;
}

.button--recruit-back:hover span::after {
	transform: scaleX(1);
}

.button--case-back:hover {
	color: #002F6C;
	opacity: 1;
}

.button--case-back:hover span::after {
	transform: scaleX(1);
}

.pagination__link:not(.pagination__link--active):hover {
	background-color: #002F6C;
	color: #FFFFFF;
}

.pagination__arrow:hover {
	opacity: 1;
}

.pagination__arrow:hover svg circle {
	fill: #002F6C;
}

.pagination__arrow:hover svg path {
	stroke: #FFFFFF;
}

.top-news__item-link {
	opacity: 1 !important;
}

.top-news__item-link:hover::after {
	width: 97%;
}

.top-news__more-link:hover {
	opacity: 1;
}

.top-news__more-link:hover::after {
	width: 100%;
}

.top-news__more-link:hover svg {
	box-shadow: 0 0 0 0.0625rem #002F6C;
}

.top-news__more-link:hover svg circle {
	fill: #FFFFFF;
}

.top-news__more-link:hover svg path {
	stroke: #002F6C;
}

.top-case__nav-btn:hover {
	opacity: 0.7;
}

.cta__btn:hover {
	opacity: 1;
}

.cta__btn:hover::before {
	transform: translateX(0) skewX(15deg);
}

.cta__btn:hover .cta__btn-label,
.cta__btn:hover .cta__btn-number {
	color: #16243A;
}

.cta__btn:hover .cta__btn-icon--tel {
	color: #16243A;
}

.cta__btn--tel:hover {
	box-shadow: inset 0 0 0 0.125rem #002F6C;
	opacity: 1;
}

.cta__btn--tel:hover .cta__btn-label,
.cta__btn--tel:hover .cta__btn-number {
	color: #FFFFFF;
}

.cta__btn--tel:hover .cta__btn-icon--tel {
	color: #FFFFFF;
}

.cta__btn--web:hover .cta__btn-text {
	color: #FFFFFF;
}

.cta__btn--web:hover .cta__btn-icon--web {
	color: #FFFFFF;
}

.news__item-link {
	opacity: 1 !important;
}

.news__item-link:hover::after {
	width: 97%;
}

.news-post__toc-item--h2 a:hover {
	text-decoration: underline;
}

.news-post__toc-item--h3 a:hover {
	text-decoration: underline;
}

.news-post__body a:not(.news-post__toc-item--h2 a):not(.news-post__toc-item--h3 a):hover::before {
	width: 100%;
}

.news-post__nav-prev:hover,
.news-post__nav-next:hover {
	opacity: 1;
}

.news-post__nav-prev:hover span::after,
.news-post__nav-next:hover span::after {
	width: 100%;
}

.news-post__nav-prev--disabled:hover span::after,
.news-post__nav-next--disabled:hover span::after {
	width: 0;
}

.news-post__nav-index:hover {
	opacity: 1;
}

.news-post__nav-index:hover::after {
	width: 100%;
}

.recruit-list__card:hover {
	opacity: 1;
}

.recruit-list__card:hover .recruit-list__card-image img {
	transform: scale(1.05);
}

.recruit-list__card:hover .button--recruit-link {
	color: #002F6C;
}

.recruit-list__card:hover .button--recruit-link span::after {
	transform: scaleX(1);
}

.case-list__card:hover {
	opacity: 1;
}

.case-list__card:hover .case-list__card-image img {
	transform: scale(1.05);
}

.case-list__card:hover .button--case-link {
	color: #002F6C;
}

.case-list__card:hover .button--case-link span::after {
	transform: scaleX(1);
}

.about-facilities__card-link:hover .about-facilities__card-link-text::after {
	opacity: 0;
}

}

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

html {
	font-size: calc(16 / 1440 * 100vw);
}

}

@media screen and (min-width: 1441px) {

html {
	font-size: 16px;
}

.top-service__banner {
	height: 27.4375rem;
}

.top-service__banner picture {
	height: 100%;
}

.top-service__banner img {
	aspect-ratio: auto;
	height: 100%;
}

html.coming-soon-html {
	font-size: calc(16 / 1440 * 100vw);
}

}

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

html {
	font-size: min(16px, calc(16 / 390 * 100vw));
}

.header {
	height: 3.25rem;
}

.header__inner {
	padding-inline: 0.375rem;
}

.header__logo img {
	width: 14.8125rem;
}

.header__cta {
	display: none;
}

.nav {
	display: none;
}

body.home .nav {
	display: block;
	position: relative;
	z-index: 1;
}

body.home .nav.is-fixed {
	position: relative;
	top: auto;
}

body.home .nav__inner {
	padding-block: 1.78125rem;
	position: relative;
	z-index: 1;
}

body.home .nav__list > .nav__break ~ li:not(.nav__break) {
	margin-block-start: 1.4375rem;
}

body.home .nav__list > li > a {
	font-size: 0.875rem;
	padding-inline: 0.625rem;
	text-align: center;
}

body.home .nav__list > li.nav__row-end:not(.menu-item-has-children) > a::after {
	display: none;
}

body.home .nav__break {
	height: 0;
	list-style: none;
	padding: 0;
	pointer-events: none;
	width: 100%;
}

body.home .nav__list > li.menu-item-has-children {
	position: static;
}

.nav__list > li.menu-item-has-children > .sub-menu {
	grid-template-columns: repeat(2, 1fr);
	left: 50%;
	right: auto;
	top: 3.15625rem;
	translate: -50%;
	white-space: normal;
	width: 20.9375rem;
}

.nav__list > li.menu-item-has-children > .sub-menu li a {
	font-size: 0.75rem;
	padding-block: 0.375rem;
	padding-inline: 0.5rem;
}

.footer__inner {
	padding-block: 3.125rem 1.6875rem;
	padding-inline: 1.25rem;
	row-gap: 1.875rem;
}

.footer__top {
	align-items: stretch;
	flex-direction: column;
	gap: 1.875rem;
}

.footer__info {
	flex: 1;
}

.footer__logo img {
	width: 100%;
}

.footer__clinic-name {
	line-height: 1.4;
	margin-block-start: 1.25rem;
}

.footer__address {
	margin-block-start: 0.375rem;
}

.footer__contact {
	align-items: center;
	margin-block-start: 1.25rem;
	row-gap: 1.25rem;
}

.footer__tel {
	-moz-column-gap: 0.1875rem;
	column-gap: 0.1875rem;
	pointer-events: auto;
}

.footer__tel-icon {
	height: 1.5rem;
	margin-block-start: 0.15625rem;
	width: 1.5rem;
}

.footer__tel-number {
	font-size: 1.625rem;
	letter-spacing: 0.04875rem;
}

.footer__schedule {
	gap: 1.125rem;
}

.footer__hours-table thead th {
	font-size: 0.75rem;
	padding-block: 0.5625rem;
}

.footer__hours-table thead th:not(.footer__hours-time-col) {
	background-size: 0.05rem 0.1875rem;
}

.footer__hours-table .footer__hours-time-col {
	width: 5.125rem;
}

.footer__hours-table tbody tr:first-child {
	border-block-end-width: 0.04375rem;
	border-block-start-width: 0.04375rem;
}

.footer__hours-table .footer__hours-time {
	font-size: 0.6875rem;
	padding-block: 0.625rem;
}

.footer__hours-table .footer__hours-cell {
	background-size: 0.05rem 0.1875rem;
	font-size: 0.75rem;
	padding-block: 0.625rem;
}

.footer__hours-table .footer__hours-dot {
	height: 0.625rem;
	width: 0.625rem;
}

.footer .footer__nav-list {
	display: block;
	-moz-column-count: 2;
	column-count: 2;
	-moz-column-gap: 3.75rem;
	column-gap: 3.75rem;
	max-width: 100%;
}

.footer .footer__nav-list > li {
	-moz-column-break-inside: avoid;
	break-inside: avoid;
	margin-block-end: 0.8125rem;
	white-space: nowrap;
}

.footer .footer__nav-list .menu-item-has-children > .sub-menu {
	grid-template-columns: repeat(2, 1fr);
	left: 0;
	translate: none;
	white-space: normal;
}

.footer .footer__nav-list .menu-item-has-children > .sub-menu li a {
	font-size: 0.75rem;
	padding-block: 0.375rem;
	padding-inline: 0.5rem;
}

.footer__copyright-bar {
	padding-block: 0.875rem;
}

.page-header {
	min-height: 9.875rem;
	padding-block-start: 3.1875rem;
}

.page-header__title {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.page-header__en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
	margin-block-start: 0.4375rem;
}

.page-header--faq {
	background-image: url(../../assets/img/sub-page/bg-faq-sp.webp);
}

.page-header--news {
	background-image: url(../../assets/img/sub-page/bg-news-sp.webp);
}

.page-header--doctor {
	background-image: url(../../assets/img/sub-page/bg-doctor-sp.webp);
}

.page-header--price {
	background-image: url(../../assets/img/sub-page/bg-price-sp.webp);
}

.page-header--first {
	background-image: url(../../assets/img/sub-page/bg-first-sp.webp);
}

.page-header--about {
	background-image: url(../../assets/img/sub-page/bg-about-sp.webp);
}

.page-header--recruit {
	background-image: url(../../assets/img/sub-page/bg-recruit-sp.webp);
}

.page-header--case {
	background-image: url(../../assets/img/sub-page/bg-case-sp.webp);
}

.breadcrumb {
	font-size: 0.6875rem;
	-moz-column-gap: 0.1875rem;
	column-gap: 0.1875rem;
	flex-wrap: wrap;
	margin-block-start: 1rem;
	row-gap: 0.375rem;
	white-space: normal;
}

.button {
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
	padding-block: 1.125rem;
	padding-inline: 2.25rem;
}

.button--top-service {
	justify-content: center;
	padding-inline: 1.25rem;
	width: 100%;
}

.button--top-first {
	justify-content: center;
	padding-block: 1.4375rem;
	padding-inline: 1.25rem;
	width: 100%;
}

.button--top-first span {
	white-space: nowrap;
}

.button--top-doctor {
	order: 5;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	margin-inline: auto;
	padding-block: 1.4375rem;
	padding-inline: 3.015625rem;
}

.button--top-access {
	margin: 1.6875rem auto 0;
	order: 4;
	padding: 1.4375rem 3.15625rem;
}

.button--recruit {
	padding: 1.4375rem 3.125rem;
}

.button--about {
	margin-inline: auto;
}

.button--top-case {
	margin-block-start: 1.875rem;
	margin-inline: auto;
	order: 4;
}

.button--top-reason {
	margin-block-start: 1.875rem;
}

.button--first-flow {
	justify-content: center;
	padding-block: 1.4375rem;
	padding-inline: 1.25rem;
	width: 100%;
}

.button--first-flow span {
	white-space: nowrap;
}

.button--recruit-link {
	padding: 0;
}

.button--case-link {
	padding: 0;
}

.button--service-costs {
	margin-inline-start: auto;
}

.button--recruit-back {
	padding: 0;
}

.button--case-back {
	padding: 0;
}

.button--reserve {
	justify-content: center;
	padding-block: 1.40625rem;
	padding-inline: 0;
	width: 100%;
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
}

.button--reserve span {
	font-size: 1rem;
}

.button--reserve svg {
	height: 1.3125rem;
	width: 1.3125rem;
}

.inner {
	padding-inline: 1.25rem;
}

.drawer__icon {
	display: flex;
}

.pagination {
	gap: 0.375rem;
	margin-block-start: 2.5rem;
}

.pagination__lists {
	gap: 0.375rem;
}

.pagination__link {
	font-size: 1rem;
	height: 1.75rem;
	letter-spacing: 0.05rem;
	text-indent: 0.05rem;
	width: 1.75rem;
}

.pagination__dot {
	font-size: 1rem;
	height: 1.75rem;
	letter-spacing: 0.05rem;
}

.pagination__arrow {
	height: 1.75rem;
	width: 1.75rem;
}

.pagination__arrow svg {
	height: 1.75rem;
	width: 1.75rem;
}

.top-mv__inner {
	height: 31.125rem;
}

.top-mv__swiper {
	left: 1.3333333333%;
	top: 14.5rem;
	width: 97.6%;
}

.top-mv__sub {
	left: 1.25rem;
	top: 5.4375rem;
	-moz-column-gap: 0.5625rem;
	column-gap: 0.5625rem;
}

.top-mv__sub-item {
	-moz-column-gap: 0.5625rem;
	column-gap: 0.5625rem;
}

.top-mv__sub-text {
	font-size: 0.8125rem;
	letter-spacing: 0.25rem;
}

.top-mv__heading {
	left: auto;
	right: 1.25rem;
	top: 5.4375rem;
	-moz-column-gap: 0.0625rem;
	column-gap: 0.0625rem;
}

.top-mv__heading span {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
	line-height: 1.65;
}

.top-mv__illust {
	bottom: -0.6875rem;
	left: 0.6875rem;
	top: auto;
	z-index: 2;
}

.top-mv__illust img {
	width: 4.25rem;
}

.top-mv__pagination {
	bottom: 0.625rem !important;
	flex-direction: row;
	right: 1.25rem !important;
	row-gap: 0;
	top: auto !important;
	-moz-column-gap: 0.25rem;
	column-gap: 0.25rem;
}

.top-mv__pagination .swiper-pagination-bullet {
	height: 0.375rem;
	width: 0.375rem;
}

.top-hours {
	padding: 1.875rem 0.625rem 2.375rem;
}

.top-hours__inner {
	padding: 1.25rem 0.625rem 1.75rem;
}

.top-hours__heading {
	margin-block-end: 1.375rem;
}

.top-hours__title {
	font-size: 1.5rem;
	letter-spacing: 0.12rem;
}

.top-hours__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
	margin-block-start: 0;
}

.top-hours__table thead th {
	font-size: 0.75rem;
	padding-block: 0.5625rem;
}

.top-hours__table thead th:not(.top-hours__time-col) {
	background-size: 0.05rem 0.1875rem;
}

.top-hours__table .top-hours__time-col {
	width: 4.9375rem;
}

.top-hours__table tbody tr:first-child {
	border-block-end-width: 0.04375rem;
	border-block-start-width: 0.04375rem;
}

.top-hours__table .top-hours__time {
	font-size: 0.6875rem;
	padding-block: 0.8125rem;
}

.top-hours__table .top-hours__cell {
	background-size: 0.05rem 0.1875rem;
	padding-block: 0.625rem;
}

.top-hours__table .top-hours__dot {
	height: 0.65625rem;
	width: 0.65625rem;
}

.top-hours__table .top-hours__closed {
	font-size: 0.75rem;
}

.top-hours__illust {
	bottom: -2.375rem;
	right: -0.125rem;
}

.top-hours__illust img {
	width: 4rem;
}

.top-news {
	padding-block: 1.375rem 3.75rem;
}

.top-news__inner {
	padding-inline: 1.25rem;
}

.top-news__heading {
	margin-block-end: 1.875rem;
}

.top-news__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.top-news__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.075rem;
	margin-block-start: 0.4375rem;
}

.top-news__list {
	row-gap: 0.5rem;
}

.top-news__item-link {
	align-items: center;
	flex-wrap: wrap;
	height: auto;
	padding: 1.125rem 0.9375rem 1.125rem 1.125rem;
	row-gap: 0.1875rem;
}

.top-news__category {
	margin-inline: 0.875rem 0;
}

.top-news__item-title {
	-webkit-line-clamp: 2;
	display: -webkit-box;
	flex-basis: 100%;
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	line-height: 1.8;
	white-space: normal;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.top-news__more {
	justify-content: center;
	margin-block-start: 1.8125rem;
}

.top-first {
	padding-block: 3.75rem 3.75rem;
}

.top-first__illust {
	top: -2rem;
	width: 5.78125rem;
}

.top-first__inner {
	row-gap: 1.875rem;
}

.top-first__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.top-first__section-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-first__text {
	margin-block-start: 1.875rem;
	text-align: left;
}

.top-first__cards {
	flex-direction: column;
	row-gap: 1.875rem;
}

.top-first__rule {
	display: none;
}

.top-first__card picture img {
	aspect-ratio: 335/181;
}

.top-first__card-point {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-first__card-title {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.top-service {
	padding-block-start: 3.75rem;
}

.top-service__inner {
	row-gap: 1.875rem;
}

.top-service__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	line-height: 1.5;
}

.top-service__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-service__items {
	row-gap: 3.125rem;
}

.top-service__item {
	flex-direction: column;
	row-gap: 1.25rem;
}

.top-service__item--rev {
	flex-direction: column;
}

.top-service__images {
	height: 14.25rem;
	width: 100%;
}

.top-service__image--bl {
	width: 7.0625rem;
}

.top-service__image--tr {
	width: 13rem;
}

.top-service__image--tl {
	width: 13rem;
}

.top-service__image--br {
	width: 7.0625rem;
}

.top-service__image-deco {
	-moz-column-gap: 0.625rem;
	bottom: 0.75rem;
	column-gap: 0.625rem;
	left: 2.4375rem;
}

.top-service__image-deco {
	left: 2.4375rem;
	right: 0;
}

.top-service__image-deco--rev {
	left: 0;
	right: 2.4375rem;
}

.top-service__image-en {
	font-size: 0.75rem;
	letter-spacing: 0.06rem;
}

.top-service__subtitle {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
}

.top-service__name {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.top-service__name-sub {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
}

.top-service__body-rule {
	background-size: 0.375rem 0.0625rem;
	height: 0.0625rem;
}

.top-service__banner {
	margin-block-start: 3.75rem;
}

.top-service__banner img {
	aspect-ratio: 375/141;
}

.top-service__sub-inner {
	margin-block-start: 3.125rem;
}

.top-service__sub-items {
	flex-direction: column;
	row-gap: 1.875rem;
}

.top-service__sub-item {
	padding-block-start: 0;
}

.top-service__sub-top {
	align-items: flex-start;
	flex-direction: row;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	padding: 1.25rem 1rem 0;
}

.top-service__sub-image {
	width: 5.5rem;
}

.top-service__sub-body {
	align-items: flex-start;
	flex: 1;
	margin-block-start: 0;
	row-gap: 0.625rem;
}

.top-service__sub-name-wrap {
	align-items: flex-start;
}

.top-service__sub-name {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
	text-align: left;
}

.top-service__sub-en {
	font-size: 0.75rem;
	letter-spacing: 0.06rem;
}

.top-service__sub-desc {
	line-height: 1.8;
	text-align: left;
}

.top-service__sub-rule {
	background-size: 0.375rem 0.0625rem;
	height: 0.0625rem;
	margin-block: 1.25rem 0;
}

.top-service__sub-link {
	padding-block: 0.75rem 0.8125rem;
}

.top-reason {
	padding-block: 4.375rem 4.375rem;
}

.top-reason__illust {
	top: -1.6875rem;
	width: 4.875rem;
}

.top-reason__heading-wrap {
	margin-block-end: 1.25rem;
}

.top-reason__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.top-reason__title-sm {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.top-reason__en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-reason__cards {
	grid-template-columns: 1fr;
	row-gap: 1.875rem;
}

.top-reason__card {
	padding-block-start: 1.5625rem;
}

.top-reason__card-labels {
	right: 1.6875rem;
	top: -1.5625rem;
}

.top-reason__card-label {
	font-size: 1.25rem;
	letter-spacing: 0.15rem;
	padding: 0.46875rem 0.4375rem;
}

.top-reason__card-point {
	right: 0.4375rem;
	top: -1.0625rem;
}

.top-reason__card-text {
	margin-block-start: 1.0625rem;
}

.top-condition {
	padding-block-start: 4.375rem;
}

.top-condition__heading {
	margin-block-end: 2.5rem;
}

.top-condition__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.top-condition__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-condition__grid {
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 1.9375rem;
	column-gap: 1.9375rem;
	row-gap: 1.5625rem;
}

.top-condition__list-item {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem);
	background-position: top;
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	padding-block: 1.5625rem 0;
}

.top-condition__list-item:nth-child(-n+3) {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem);
	background-position: top;
}

.top-condition__list-item:nth-child(n+5) {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem), radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0.0625rem, transparent 0.06875rem);
	background-position: top, bottom;
	padding-block-end: 1.5625rem;
}

.top-condition__item {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.top-condition__item-img {
	width: 2.375rem;
}

.top-condition__item-name {
	font-size: 1.125rem;
	letter-spacing: 0.03125rem;
}

.top-condition__item-arrow {
	height: 1.25rem;
	width: 1.25rem;
}

.top-case {
	padding-block: 4.375rem;
}

.top-case__inner {
	flex-direction: column;
	padding-inline: 1.25rem;
	-moz-column-gap: 0;
	column-gap: 0;
}

.top-case__left {
	display: contents;
	flex: none;
}

.top-case__heading {
	order: 1;
}

.top-case__heading-top {
	align-items: flex-start;
	flex-direction: column;
	row-gap: 0.4375rem;
}

.top-case__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	line-height: 1.5;
}

.top-case__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-case__rule {
	margin-block: 1.875rem 1.25rem;
}

.top-case__lead {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.top-case__desc {
	margin-block: 0.625rem 0;
}

.top-case__nav {
	margin-block-start: 1.875rem;
	margin-inline: auto;
	order: 3;
}

.top-case__swiper-area {
	flex: none;
	margin-block-start: 1.875rem;
	order: 2;
	overflow: visible;
	width: 100%;
	-webkit-clip-path: inset(0 -100vw 0 0);
	clip-path: inset(0 -100vw 0 0);
}

.top-case__slide {
	width: 19.625rem !important;
}

.top-case__card-img-wrap picture img {
	aspect-ratio: 314/180;
}

.top-case__card-body {
	padding: 1.25rem;
}

.top-case__card-title {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.top-case__card-profile {
	font-size: 1rem;
	letter-spacing: 0.08rem;
	line-height: 1.6;
	margin-block-start: 0.3125rem;
}

.top-case__card-link {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.top-doctor {
	padding-block-end: 2.5rem;
}

.top-doctor__inner {
	flex-direction: column;
	max-width: 20.9375rem;
	padding: 1.875rem 1.25rem;
}

.top-doctor__body {
	display: contents;
}

.top-doctor__heading {
	order: 1;
	width: 100%;
}

.top-doctor__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	line-height: 1.5;
}

.top-doctor__section-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-doctor__illust {
	right: -0.875rem;
	top: -0.5rem;
	width: 8.0625rem;
}

.top-doctor__rule {
	margin-block: 1.875rem 2.5rem;
	order: 2;
}

.top-doctor .doctor__intro {
	margin-block: 1.25rem;
	order: 4;
}

.top-doctor__photo-wrap {
	order: 3;
	width: 100%;
}

.top-doctor__photo-overlay {
	height: 7.5rem;
}

.top-doctor__photo-name {
	inset-block-end: 0.5rem;
	left: auto;
	padding-inline: 0.5rem 0.6875rem;
	translate: 0;
}

.top-doctor__photo-name-clinic {
	font-size: 0.75rem;
	letter-spacing: 0.0375rem;
}

.top-doctor__photo-name-person {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.top-doctor__photo-deco {
	inset-block-start: -1.25rem;
	inset-inline-end: 0.8125rem;
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
}

.top-doctor__photo-deco-strip {
	width: 2.1875rem;
}

.top-doctor__photo-deco-strip:first-child {
	height: 13.125rem;
}

.top-doctor__photo-deco-strip:last-child {
	height: 14.625rem;
}

.top-doctor__photo-deco-text {
	font-size: 1.25rem;
	letter-spacing: 0.125rem;
}

.top-access {
	margin-block-end: 0;
	padding-block-start: 4.375rem;
}

.top-access__inner {
	flex-direction: column;
	padding-inline: 1.25rem;
}

.top-access__map {
	margin-block-start: 1.875rem;
	order: 2;
	width: 100%;
}

.top-access__map iframe {
	height: 14rem;
}

.top-access__body {
	display: contents;
}

.top-access__heading {
	align-items: center;
	flex-direction: column;
	order: 1;
	-moz-column-gap: 0;
	column-gap: 0;
	row-gap: 0.4375rem;
	width: 100%;
}

.top-access__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.top-access__section-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.top-access__rule {
	margin-block: 0.875rem;
	order: 2;
}

.top-access__list {
	margin-block-start: 1.6875rem;
	order: 3;
	width: 100%;
}

.top-access__item-head {
	-moz-column-gap: 0.4375rem;
	column-gap: 0.4375rem;
}

.top-access__item-icon {
	height: 1.0625rem;
	width: 1rem;
}

.top-access__item-icon--car {
	height: 1rem;
	width: 1.125rem;
}

.top-access__item-title {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.top-access__item-arrow {
	height: 1.25rem;
	margin-inline-start: 0.375rem;
	width: 1.25rem;
}

.top-access__item-text {
	letter-spacing: 0.0375rem;
}

.cta__inner {
	flex-direction: column;
	min-height: 0;
	padding: 0;
}

.cta__body {
	flex: none;
	padding-block: 1.875rem 6.1875rem;
	padding-inline: 1.25rem;
	width: 100%;
}

.cta__image {
	flex: none;
	height: 13rem;
	order: -1;
	width: 100%;
}

.cta__image img {
	aspect-ratio: 375/208;
}

.cta__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	margin-block-end: 1.25rem;
	text-align: center;
}

.cta__texts {
	margin-block-end: 1.1875rem;
}

.cta__text--bold {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.cta__divider {
	width: 100%;
}

.cta__buttons {
	align-items: center;
	flex-direction: column;
	row-gap: 0.875rem;
}

.cta__btn-tel-wrap {
	width: 100%;
}

.cta__btn {
	border-radius: 62.4375rem;
	height: 4.1875rem;
	width: 100%;
}

.cta__btn--tel {
	pointer-events: auto;
}

.cta__btn-text {
	font-size: 1rem;
}

.cta__btn-icon--web {
	width: 1.3125rem;
}

.cta__illust img {
	width: 9.9375rem;
}

.recruit {
	margin-block-start: 0;
}

.recruit__inner {
	flex-direction: column;
	min-height: 0;
}

.recruit__body {
	flex: none;
	padding-block: 1.4375rem 2.5rem;
	padding-inline: 1.25rem;
	position: relative;
	width: 100%;
}

.recruit__heading {
	margin-block-end: 0.8125rem;
}

.recruit__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.recruit__title-en {
	font-size: 0.875rem;
}

.recruit__catchcopy-wrap {
	margin-block-end: 0.8125rem;
}

.recruit__catchcopy {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
	line-height: 1.9;
}

.recruit__text {
	margin-block-end: 0.75rem;
}

.recruit__illust {
	bottom: -0.9375rem;
	left: auto;
	position: absolute;
	right: 0.625rem;
	translate: 0;
}

.recruit__illust img {
	aspect-ratio: 100/87;
	height: auto;
	width: 6.25rem;
}

.recruit__photos {
	gap: 0.5rem;
	order: -1;
	padding-inline: 0.65625rem;
	width: 100%;
}

.recruit__photos-col {
	flex: 1;
	gap: 0.5rem;
}

.recruit__photo--02 {
	border-end-end-radius: 0;
	border-end-start-radius: 0;
}

.recruit__photo--02 picture {
	border-end-end-radius: 0;
	border-end-start-radius: 0;
}

.recruit__photo--05 {
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
}

.recruit__photo--05 picture {
	border-end-end-radius: 0.125rem;
	border-end-start-radius: 0.125rem;
}

.recruit__photo--06 {
	border-start-end-radius: 0.125rem;
	border-start-start-radius: 0.125rem;
}

.recruit__photo--pc-only {
	display: none;
}

.recruit__photo--sp-only {
	display: block;
}

.news {
	padding-block-start: 3.25rem;
}

.news__content {
	padding-block: 2rem 3.75rem;
	padding-inline: 1.25rem;
}

.news__item-link {
	align-items: center;
	flex-wrap: wrap;
	height: auto;
	min-height: 4rem;
	padding-block: 0.75rem;
	row-gap: 0.5rem;
}

.news__date {
	font-size: 0.75rem;
	letter-spacing: 0.0375rem;
	width: auto;
}

.news__category {
	font-size: 0.75rem;
	height: 1.25rem;
	letter-spacing: 0.0375rem;
	margin-inline: 0.5rem 0;
	min-width: 4.375rem;
}

.news__title {
	-webkit-line-clamp: 2;
	display: -webkit-box;
	flex-basis: 100%;
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	white-space: normal;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-post {
	padding-block-start: 3.25rem;
}

.news-post__content {
	padding-block: 2.5rem 3.75rem;
}

.news-post__meta {
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
}

.news-post__date {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.news-post__title {
	font-size: 1.375rem;
	letter-spacing: 0.06875rem;
}

.news-post__rule {
	margin-block: 1rem 0;
}

.news-post__toc {
	margin-block-start: 2.5rem;
	padding: 1.5rem;
}

.news-post__toc-title {
	font-size: 1rem;
	letter-spacing: 0.05rem;
	padding-block-end: 0.75rem;
}

.news-post__toc-list {
	margin-block-start: 1.5625rem;
}

.news-post__toc-item--h2 a {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.news-post__toc-item--h3 a {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.news-post__toc-num {
	border-radius: 0.21875rem;
	font-size: 1rem;
	height: 1.375rem;
	padding-block-end: 0.15625rem;
	width: 1.375rem;
}

.news-post__body {
	padding-block-start: 2.5rem;
}

.news-post__body > .news-post__toc {
	margin-block-start: 2.5rem;
}

.news-post__body img {
	margin-block-start: 2.5rem;
}

.news-post__body .wp-block-columns {
	margin-block-start: 2.5rem;
}

.news-post__body h2 {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
	margin-block-start: 2.5rem;
	padding: 0.75rem 1rem;
}

.news-post__body h2 + p {
	margin-block-start: 1.5rem;
}

.news-post__body h3 {
	font-size: 1.0625rem;
	letter-spacing: 0.053125rem;
	margin-block-start: 2.5rem;
	padding-block-end: 0.625rem;
}

.news-post__body h3::after {
	width: 5rem;
}

.news-post__body p:not(.news-post__toc-title) {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	line-height: 2;
}

.news-post__body p:not(.news-post__toc-title) + p {
	margin-block-start: 2.5rem;
}

.news-post__body figure {
	margin-block-start: 2.5rem;
}

.news-post__body ul {
	margin-block-start: 2.5rem;
}

.news-post__body ul li {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.news-post__body table th,
.news-post__body table td {
	font-size: 0.875rem;
	padding: 0.625rem 0.75rem;
}

.news-post__body table th,
.news-post__body table td:first-child {
	width: 5.625rem;
}

.news-post__nav {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	margin-block-start: 3.75rem;
}

.news-post__nav-prev,
.news-post__nav-next {
	font-size: 0.875rem;
	-moz-column-gap: 0.375rem;
	column-gap: 0.375rem;
}

.news-post__nav-prev svg,
.news-post__nav-next svg {
	height: 1.625rem;
	width: 1.625rem;
}

.news-post__nav-index {
	font-size: 0.875rem;
}

.recruit-list {
	padding-block-start: 3.25rem;
}

.recruit-list__content {
	padding-block: 1.875rem 3.75rem;
}

.recruit-list__cards {
	grid-template-columns: 1fr;
	row-gap: 1.875rem;
}

.recruit-post {
	padding-block-start: 3.25rem;
}

.recruit-post__content {
	padding-block: 2.5rem 3.75rem;
}

.recruit-post__hero {
	flex-direction: column;
	margin-block-end: 2.5rem;
	row-gap: 1.875rem;
}

.recruit-post__hero-image {
	width: 100%;
}

.recruit-post__hero-body {
	row-gap: 1.25rem;
	width: 100%;
}

.recruit-post__hero-title-block {
	text-align: center;
}

.recruit-post__hero-title {
	font-size: 1.25rem;
	letter-spacing: 0.0625rem;
}

.recruit-post__hero-note {
	font-size: 0.875rem;
	letter-spacing: 0.035rem;
	line-height: 1.6;
}

.recruit-post__hero-overview {
	font-size: 0.875rem;
	letter-spacing: 0.0375rem;
}

.recruit-post__row {
	grid-template-columns: 1fr;
	padding-block-end: 1.25rem;
	row-gap: 0.625rem;
}

.recruit-post__row:not(:first-child) {
	padding-block-start: 1.25rem;
}

.recruit-post__label {
	font-size: 0.9375rem;
	letter-spacing: 0.0375rem;
	padding: 0.375rem 1.5rem;
	width: -moz-fit-content;
	width: fit-content;
}

.recruit-post__value {
	font-size: 0.9375rem;
	letter-spacing: 0.0375rem;
	padding-block-start: 0;
}

.recruit-post__contact {
	margin-block-start: 2.5rem;
}

.recruit-post__contact-text {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
	text-align: center;
}

.recruit-post__contact-tel {
	pointer-events: auto;
}

.recruit-post__contact-tel svg {
	height: 2.25rem;
	width: 2.25rem;
}

.recruit-post__contact-tel span {
	font-size: 2.25rem;
	letter-spacing: 0.0625rem;
}

.recruit-post__back {
	margin-block-start: 2.5rem;
}

.case-list {
	padding-block-start: 3.25rem;
}

.case-list__content {
	margin-block: 2.75rem 3.75rem;
}

.case-list__cards {
	grid-template-columns: 1fr;
	row-gap: 2.75rem;
}

.case-list__card-badge {
	font-size: 0.875rem;
	height: 1.53125rem;
	letter-spacing: 0.04375rem;
	width: 6.4375rem;
}

.case-list__card-body {
	align-items: center;
	padding: 0.875rem 0 1.25rem;
	row-gap: 1.25rem;
}

.case-list__card-head {
	padding-inline: 1rem;
}

.case-list__card-foot {
	row-gap: 1.25rem;
}

.case-list__card-title {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.case-post {
	padding-block-start: 3.25rem;
}

.case-post__content {
	padding-block: 2.5rem 3.75rem;
}

.case-post__meta {
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
}

.case-post__date {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.case-post__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.case-post__rule {
	height: 0.125rem;
	margin-block: 0.625rem 2.5rem;
}

.case-post__rule--detail {
	margin-block: 1.25rem;
}

.case-post__images-arrow {
	padding-inline: 0.5rem;
}

.case-post__images-arrow svg {
	height: 0.75rem;
	width: 0.5rem;
}

.case-post__badge {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	padding: 0.3125rem 0.75rem;
}

.case-post__detail {
	padding: 1.875rem 1rem 1.25rem;
}

.case-post__row {
	align-items: flex-start;
	flex-direction: column;
	row-gap: 1.25rem;
}

.case-post__label-sub {
	font-size: 0.6875rem;
}

.case-post__value {
	font-size: 0.9375rem;
	letter-spacing: 0.05625rem;
}

.case-post__back {
	margin-block-start: 3.125rem;
}

.service {
	padding-block-start: 3.25rem;
}

.service__heading--collab,
.service__heading--features {
	text-align: center;
}

.service__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	line-height: 1.5;
}

.service__section-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.service__hero {
	padding-block-start: 1.875rem;
}

.service__hero-inner {
	display: block;
	padding-inline: 1.25rem;
}

.service__hero-sub {
	font-size: 0.875rem;
	letter-spacing: 0.07625rem;
}

.service__rule--hero {
	margin-block: 0.75rem 1.25rem;
	margin-inline: auto;
}

.service__rule--hero-speech-therapy {
	width: 100%;
}

.service__rule--hero-whitening {
	width: 100%;
}

.service__rule--hero-child-orthodontics {
	width: 100%;
}

.service__rule--hero-adult-orthodontics {
	width: 100%;
}

.service__rule--hero-retreatment {
	width: 100%;
}

.service__rule--hero-surgical-orthodontics {
	width: 100%;
}

.service__hero-title {
	font-size: 1.5rem;
	letter-spacing: 0.12rem;
}

.service__hero-title-sub {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.service__hero-lead {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	margin-block-start: 1rem;
}

.service__hero-image {
	margin-block-start: 1.875rem;
	width: 100%;
}

.service__breadcrumb {
	height: 1.875rem;
}

.service__content {
	padding-block-start: 2.5rem;
}

.service__concerns {
	padding-block-end: 3.75rem;
}

.service__concerns-illust {
	top: -1.875rem;
}

.service__concerns-illust img {
	width: 3.125rem;
}

.service__concerns-box {
	padding-block: 2.6875rem 0.625rem;
}

.service__concerns-list {
	flex-direction: column;
	margin-block-start: 0.625rem;
	padding-inline: 1.125rem;
	row-gap: 0;
}

.service__concerns-item:nth-child(n+4) {
	min-height: unset;
}

.service__concerns-item {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	padding: 1.25rem 0;
	width: 100%;
}

.service__concerns-item::after {
	display: none;
}

.service__concerns-item::before {
	display: block;
	inset-block-end: 0;
	inset-inline-end: 0;
	inset-inline-start: 0;
}

.service__concerns-item:last-child::before {
	display: none;
}

.service__concerns-lead {
	font-size: 1rem;
	letter-spacing: 0.08rem;
	margin-block-start: 1.25rem;
	text-align: start;
}

.service__target {
	flex-wrap: wrap;
	padding: 1.125rem 1.125rem 0 1.125rem;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
	margin-block-start: 0.625rem;
	row-gap: 0.5rem;
}

.service__target-label {
	margin-inline-end: 0;
	padding: 0.46875rem 1.84375rem;
}

.service__target-age {
	margin-inline-end: 0;
}

.service__target-note {
	flex-basis: 100%;
}

.service__target-illust {
	margin: 0.375rem auto 0;
	position: relative;
	right: auto;
	top: auto;
}

.service__target-illust img {
	width: 7.5rem;
}

.service__changes {
	padding-block: 3.75rem;
}

.service__changes-list {
	grid-template-columns: 1fr;
	margin-block-start: 1.875rem;
	row-gap: 2.5rem;
}

.service__changes-item:not(:last-child)::after {
	display: none;
}

.service__changes-image {
	margin-block-end: 0.4375rem;
}

.service__changes-image img {
	aspect-ratio: 335/199;
}

.service__changes-title {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.service__features {
	padding-block: 3.75rem;
}

.service__features-inner {
	grid-template-columns: 1fr;
	row-gap: 2.5rem;
}

.service__features-inner--child-orthodontics .service__features-item {
	white-space: normal;
}

.service__features-images {
	height: 13.75rem;
	margin-inline: auto;
	max-width: 22.1875rem;
	width: 100%;
}

.service__features-body {
	max-width: none;
}

.service__collab {
	padding-block: 3.75rem 5rem;
}

.service__collab-inner {
	display: flex;
	flex-direction: column;
}

.service__collab-images {
	height: 13.75rem;
	margin-block-start: 1.875rem;
	margin-inline: auto;
	max-width: 22.1875rem;
	order: 2;
	width: 100%;
}

.service__collab-image--main {
	inset-inline-start: 0;
	width: 13rem;
}

.service__collab-image--main img {
	aspect-ratio: 208/193;
}

.service__collab-image--sub {
	inset-block-end: 0;
	inset-inline-end: 0;
	width: 7.0625rem;
}

.service__collab-image--sub img {
	aspect-ratio: 113/176;
}

.service__collab-body {
	display: contents;
}

.service__collab-body hr.service__rule {
	display: none;
}

.service__collab-text {
	margin-block-start: 1.65625rem;
	order: 3;
}

.service__duration {
	padding-block: 3.75rem;
}

.service__duration-box {
	margin-block-start: 3.75rem;
}

.service__duration-bar {
	flex-wrap: wrap;
	padding: 1rem 1.25rem;
	row-gap: 0.5rem;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
}

.service__duration-items {
	align-items: flex-start;
	flex-direction: column;
	row-gap: 0.5rem;
}

.service__duration-item--retreatment {
	align-items: flex-start;
	flex-direction: column;
	row-gap: 0.5rem;
}

.service__duration-label {
	padding-block: 0.46875rem;
}

.service__duration-illust {
	right: 0.3125rem;
	top: -2.8125rem;
}

.service__duration-illust img {
	width: 7.5rem;
}

.service__duration-notes {
	padding-inline-start: 0;
}

.service__duration-notes--child-orthodontics {
	padding-inline-start: 0;
}

.service__duration-note {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
}

.service__flow-inner {
	padding-inline: 0.625rem;
}

.service__flow-list {
	margin-block-start: 1.875rem;
	row-gap: 0.5625rem;
}

.service__flow-arrow img {
	width: 1.75rem;
}

.service__flow-item {
	grid-template-columns: 5.75rem 1fr;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	padding: 1rem 0.625rem 1rem 1.0625rem;
}

.service__flow-step {
	padding-inline-end: 1.0625rem;
	row-gap: 0.875rem;
}

.service__flow-num {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.service__flow-icon img {
	max-width: 4.6875rem;
}

.service__flow-title {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.service__flow-desc {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	line-height: 1.5;
}

.service__system {
	padding-block: 5rem 3.75rem;
}

.service__system-list {
	grid-template-columns: 1fr;
	margin-block-start: 1.875rem;
	row-gap: 0.625rem;
}

.service__system-item {
	flex-direction: row;
	row-gap: 0;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
	padding: 0.875rem;
}

.service__system-image {
	flex-shrink: 0;
}

.service__system-image img {
	width: 5rem;
}

.service__system-title {
	font-size: 1rem;
	letter-spacing: 0.08rem;
	text-align: start;
}

.service__system-note {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	margin-block-start: 0.625rem;
	text-align: left;
}

.service__costs {
	padding-block: 3.75rem;
}

.service__costs-box {
	grid-template-columns: 1fr;
	margin-block-start: 1.875rem;
}

.service__costs-image {
	aspect-ratio: 335/174;
}

.service__costs-image img {
	aspect-ratio: 335/174;
}

.service__costs-body {
	padding: 1rem;
}

.service__faq {
	padding-block: 3.75rem;
}

.service__faq-items {
	margin-block-start: 1.875rem;
	row-gap: 1.875rem;
}

.service__faq-summary {
	padding: 0.625rem 0.75rem;
	-moz-column-gap: 0.5rem;
	align-items: flex-start;
	column-gap: 0.5rem;
}

.service__faq-label--q {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.service__faq-question {
	font-size: 1rem;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.service__faq-icon {
	height: 0.75rem;
	margin-block-start: 0.25rem;
	margin-inline-start: 0.25rem;
	width: 0.75rem;
}

.service__faq-answer-inner {
	padding-block-start: 0.75rem;
	padding-inline-end: 0;
}

.service__faq-answer {
	line-height: 1.6;
}

.faq {
	padding-block-start: 3.25rem;
}

.faq__content {
	padding-block: 1.875rem 3.75rem;
}

.faq__tabs-wrapper {
	margin-block-end: 4.375rem;
}

.faq__tabs {
	display: grid;
	gap: 0.625rem 1.5625rem;
	grid-template-columns: 1fr 1fr;
}

.faq__tab {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
	-moz-column-gap: 0.6875rem;
	column-gap: 0.6875rem;
	padding-block-end: 0.625rem;
}

.faq__tab-chevron {
	height: 0.4375rem;
	width: 0.6875rem;
}

.faq__section {
	margin-block-start: 4.375rem;
}

.faq__section-heading {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
	margin-block-end: 1rem;
}

.faq__items {
	row-gap: 1.125rem;
}

.faq__summary {
	padding: 0.625rem 0.75rem 0.625rem 0.5rem;
	-moz-column-gap: 0.5rem;
	align-items: flex-start;
	column-gap: 0.5rem;
}

.faq__label--q {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
}

.faq__question {
	font-size: 1rem;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}

.faq__icon {
	height: 0.75rem;
	margin-block-start: 0.25rem;
	margin-inline-start: 0.25rem;
	width: 0.75rem;
}

.faq__answer-inner {
	padding-block-start: 0.75rem;
	padding-inline-end: 0;
}

.faq__answer {
	line-height: 1.5;
}

.doctor {
	padding-block-start: 3.25rem;
}

.doctor__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.doctor__section-en {
	font-size: 0.8125rem;
	letter-spacing: 0.065rem;
}

.doctor__rule--greeting {
	display: none;
}

.doctor__intro {
	padding-block: 2.5rem;
}

.doctor__intro-inner {
	flex-direction: column-reverse;
	gap: 2rem;
	padding-inline: 1.25rem;
}

.doctor__intro-text {
	margin-block-start: -0.1875rem;
}

.doctor__intro-catch {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.doctor__intro-images {
	height: 16.5625rem;
	margin-block-start: -5.875rem;
	width: 100%;
}

.doctor__intro-image--main {
	width: 12.5rem;
}

.doctor__intro-image--sub {
	width: 8rem;
}

.doctor__greeting-inner {
	flex-direction: column;
	gap: 1.75rem;
	padding: 3.75rem 1.25rem;
}

.doctor__greeting-photo {
	order: 2;
	width: 100%;
}

.doctor__greeting-name {
	white-space: normal;
}

.doctor__greeting-name-clinic {
	font-size: 0.75rem;
}

.doctor__greeting-name-person {
	font-size: 0.875rem;
}

.doctor__greeting-body {
	display: contents;
}

.doctor__greeting-heading {
	order: 1;
}

.doctor__greeting-text {
	order: 3;
}

.doctor__greeting-illust {
	bottom: -2.375rem;
}

.doctor__greeting-illust img {
	width: 6.25rem;
}

.doctor__features {
	padding-block: 3.75rem;
}

.doctor__features-heading {
	margin-block-end: 2.25rem;
	padding-inline: 1.25rem;
}

.doctor__features-inner {
	padding-inline: 1.25rem;
	row-gap: 3rem;
}

.doctor__feature {
	flex-direction: column-reverse;
	row-gap: 1.875rem;
}

.doctor__feature-body .doctor__rule {
	margin-block: 0.75rem;
}

.doctor__feature-title {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.doctor__feature-images {
	height: 13.75rem;
	width: 100%;
}

.doctor__feature--img-left .doctor__feature-images {
	order: 2;
}

.doctor__feature--img-left .doctor__feature-body {
	order: 1;
}

.doctor__feature--img-left .doctor__feature-image--main {
	width: 62%;
}

.doctor__feature--img-left .doctor__feature-image--sub {
	width: 34%;
}

.doctor__feature--img-right .doctor__feature-image--main {
	left: auto;
	right: 0;
	width: 62%;
}

.doctor__feature--img-right .doctor__feature-image--sub {
	left: 0;
	right: auto;
	width: 34%;
}

.doctor__interview {
	padding-block: 3.75rem;
}

.doctor__interview-inner {
	padding-inline: 1.25rem;
}

.doctor__interview-heading {
	margin-block-end: 1.75rem;
}

.doctor__profile {
	padding-block: 0 3.75rem;
}

.doctor__profile-inner {
	padding-inline: 1.25rem;
}

.doctor__profile-heading {
	margin-block-end: 2rem;
}

.doctor__profile-body {
	flex-direction: column;
	row-gap: 2.5rem;
}

.doctor__profile-photo {
	width: 100%;
}

.doctor__career::before {
	height: 26.25rem;
	inset-block-end: 0.875rem;
	inset-inline-start: 4.0625rem;
}

.doctor__career-row {
	font-size: 0.9375rem;
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
}

.doctor__career-row::before {
	inset-block-start: 0.84375rem;
	inset-inline-start: 4.0625rem;
}

.doctor__qualification {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.doctor__profile-text {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
}

.access {
	padding-block-start: 3.25rem;
}

.access__section-title {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.access__section-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.access__content {
	margin-block-end: 3.75rem;
}

.access__hours {
	padding-block: 2.5rem 3.75rem;
}

.access__hours-inner {
	align-items: stretch;
	flex-direction: column;
	row-gap: 0;
}

.access__hours-image {
	margin-block-end: 2.5rem;
	order: 2;
	width: 100%;
}

.access__hours-image picture img {
	aspect-ratio: 375/208;
	-o-object-fit: contain;
	object-fit: contain;
}

.access__hours-body {
	display: contents;
}

.access__hours-heading {
	margin-block-end: 2.5rem;
	order: 1;
	text-align: center;
}

.access__hours-clinic {
	margin-block-end: 1.875rem;
	order: 3;
	row-gap: 0.75rem;
}

.access__hours-logo {
	width: 13.75rem;
}

.access__hours-address-text {
	font-size: 0.9375rem;
	letter-spacing: 0.04375rem;
}

.access__hours-table-wrap {
	order: 4;
	padding: 0.75rem 0.5rem;
}

.access__hours-table thead th {
	font-size: 0.75rem;
	padding-block: 0.5625rem;
}

.access__hours-table thead th:not(.access__hours-time-col) {
	background-size: 0.05rem 0.1875rem;
}

.access__hours-table .access__hours-time-col {
	width: 4.5rem;
}

.access__hours-table .access__hours-time {
	font-size: 0.6875rem;
	letter-spacing: 0.040625rem;
	padding-block: 0.625rem;
}

.access__hours-table .access__hours-cell {
	background-size: 0.05rem 0.1875rem;
	padding-block: 0.5rem;
}

.access__hours-table .access__hours-dot {
	height: 0.625rem;
	width: 0.625rem;
}

.access__hours-table .access__hours-closed {
	font-size: 0.75rem;
}

.access__hours-note {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	order: 5;
}

.access__location {
	padding-block: 2.5rem 3.75rem;
}

.access__location-heading {
	margin-block-end: 2.5rem;
}

.access__location-inner {
	flex-direction: column-reverse;
	row-gap: 2.5rem;
}

.access__location-list {
	row-gap: 1.5rem;
	width: 100%;
}

.access__location-item-head {
	flex-direction: column;
	row-gap: 0.75rem;
}

.access__location-badge {
	min-width: 5rem;
	padding-block: 0.375rem;
	padding-inline: 0.625rem;
	-moz-column-gap: 0.5rem;
	border-radius: 1.875rem;
	column-gap: 0.5rem;
}

.access__location-text {
	font-size: 0.9375rem;
	letter-spacing: 0.053125rem;
}

.access__location-text + .access__location-text {
	margin-block-start: 0.625rem;
}

.access__location-map {
	width: 100%;
}

.access__location-map iframe {
	height: 14rem;
}

.access__parking {
	padding-block-end: 3.75rem;
}

.access__parking-heading {
	padding-inline: 1.25rem;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	margin-block-end: 1.875rem;
}

.access__parking-title {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.access__parking-inner {
	flex-direction: column;
	row-gap: 1.875rem;
}

.access__parking-map {
	width: 100%;
}

.access__parking-map picture img {
	aspect-ratio: 335/263;
}

.access__parking-lots {
	grid-template-columns: 1fr;
	row-gap: 1.25rem;
}

.access__parking-lot {
	align-items: center;
	flex-direction: row;
	-moz-column-gap: 1.125rem;
	column-gap: 1.125rem;
	row-gap: 0;
}

.access__parking-lot-photo {
	width: 10.1875rem;
}

.access__parking-lot-info {
	row-gap: 0.5rem;
}

.access__parking-lot-name {
	font-size: 1.125rem;
	justify-content: flex-start;
	letter-spacing: 0.09rem;
}

.access__parking-lot-number {
	font-size: 1.25rem;
	height: 1.6875rem;
	padding-block-end: 0.0625rem;
	width: 1.6875rem;
}

.access__parking-lot-count {
	font-size: 0.9375rem;
	letter-spacing: 0.053125rem;
	text-align: left;
}

.price {
	padding-block-start: 3.25rem;
}

.price__content {
	padding-block-end: 3.75rem;
}

.price__intro {
	padding-block: 1.875rem 3.125rem;
}

.price__intro-inner {
	padding-inline: 1rem;
}

.price__intro-text {
	font-size: 0.875rem;
	letter-spacing: 0.04375rem;
	text-align: left;
}

.price__body {
	flex-direction: column;
}

.price__sidebar {
	background-color: transparent;
	width: 100%;
}

.price__nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding-block-end: 0;
	padding-block-start: 0;
	padding-inline: 1.25rem;
	position: static;
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
}

.price__nav-item {
	padding-block-end: 1.375rem;
}

.price__nav-item:last-child {
	grid-column: 1/-1;
	padding-block-end: 0;
}

.price__nav-item::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='2'%3E%3Cline x1='0' y1='1' x2='1' y2='1' stroke='%2300A7EA' stroke-opacity='0.4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	content: "";
	display: block;
	height: 0.125rem;
	margin-block-start: 0.75rem;
}

.price__nav-item:last-child::after {
	display: none;
}

.price__nav-item + .price__nav-item::before {
	display: none;
}

.price__nav-item:last-child .price__nav-link {
	padding-block-end: 1.25rem;
}

.price__nav-link {
	font-size: 1rem;
	letter-spacing: 0.05rem;
	line-height: 1;
	padding-block: 0 1.25rem;
	width: 100%;
}

.price__nav-link br {
	display: none;
}

.price__nav-link .show__sp-only {
	display: inline;
}

.price__main {
	padding-block-start: 3.125rem;
	padding-inline: 1.25rem;
}

.price__section {
	padding: 1.25rem 1.25rem 2.5rem;
}

.price__section-heading {
	margin-block-end: 1.25rem;
}

.price__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.price__section-intro {
	text-align: left;
}

.price__section-note {
	margin-block-start: 0.25rem;
}

.price__section-body {
	flex-direction: column;
	gap: 1.25rem;
}

.price__section-image {
	width: 100%;
}

.price__section-image img {
	aspect-ratio: 297/196;
}

.price__tables {
	gap: 2.5rem;
}

.price__table-label {
	font-size: 0.9375rem;
	letter-spacing: 0.046875rem;
	margin-inline: auto;
	padding-block: 0.40625rem;
}

.price__table-head {
	grid-template-columns: 11.25rem auto;
	justify-content: start;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.price__table-row {
	grid-template-columns: 11.25rem auto;
	justify-content: start;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.first {
	padding-block-start: 3.25rem;
}

.first__content {
	margin-block-end: 4.375rem;
}

.first__section-title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	line-height: 1.5;
}

.first__section-en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.first__intro {
	padding-block: 1.875rem 3.75rem;
}

.first__intro-inner {
	flex-direction: column;
	padding-inline: 1.25rem;
	row-gap: 2.5rem;
}

.first__intro-text {
	margin-block-start: 0;
}

.first__intro-catch {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.first__intro-images {
	height: 16.5625rem;
	margin-block-start: 0rem;
	width: 100%;
}

.first__intro-image--main {
	width: 12.5rem;
}

.first__intro-image--sub {
	width: 8rem;
}

.first__concern {
	margin-block-end: 3.75rem;
	max-width: calc(100% - 2.5rem);
	padding: 3rem 0 0;
}

.first__concern-inner {
	padding-inline: 1.875rem;
}

.first__concern-illust {
	top: -2.5rem;
}

.first__concern-illust img {
	width: 3.75rem;
}

.first__concern-heading {
	margin-block-end: 1.75rem;
}

.first__concerns {
	display: block;
}

.first__concern-hline {
	display: none;
}

.first__concern-item {
	border-block-start: dashed 1.2px #00a7ea;
	padding: 0.875rem 0;
}

.first__concern-item:first-child {
	border-block-start: none;
}

.first__concern-text {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.first__policy {
	padding-block: 3.75rem;
}

.first__policy-heading-wrap {
	margin-block-end: 2.5rem;
}

.first__policy-inner {
	row-gap: 3.125rem;
}

.first__policy-item {
	flex-direction: column-reverse;
	row-gap: 1.25rem;
}

.first__policy-item--img-right .first__policy-images {
	order: 2;
}

.first__policy-item--img-right .first__policy-body {
	order: 1;
}

.first__policy-point {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.first__policy-title {
	font-size: 1.125rem;
	letter-spacing: 0.05625rem;
	margin-block-start: 0.125rem;
}

.first__policy-text {
	margin-block-start: 1.125rem;
}

.first__policy-list {
	margin-block-start: 1.125rem;
	padding: 0.625rem;
}

.first__policy-list-item {
	line-height: 1.4;
}

.first__policy-list-item svg {
	height: 0.375rem;
	margin-block-start: 0.4375rem;
	width: 0.5625rem;
}

.first__policy-images {
	height: 14.25rem;
	width: 100%;
}

.first__policy-image--large picture img {
	aspect-ratio: 208/194;
}

.first__policy-image--large {
	width: 13rem;
}

.first__policy-image--small picture img {
	aspect-ratio: 113/177;
}

.first__policy-image--small {
	width: 7.0625rem;
}

.first__policy-item--img-left .first__policy-image--large {
	bottom: 0;
	left: auto;
	right: 0;
	top: auto;
	width: 7.0625rem;
}

.first__policy-item--img-left .first__policy-image--large picture img {
	aspect-ratio: 226/354;
}

.first__policy-item--img-left .first__policy-image--small {
	bottom: auto;
	left: 0;
	right: auto;
	top: 0;
	width: 13rem;
}

.first__policy-item--img-left .first__policy-image--small picture img {
	aspect-ratio: 416/388;
}

.first__flow {
	padding-block: 3.125rem;
}

.first__flow-inner {
	padding-inline: 1.25rem;
}

.first__steps {
	margin-block-start: 1.875rem;
}

.first__step-box {
	grid-template-columns: 5rem 0.125rem 1fr;
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
	min-height: 6.25rem;
}

.first__step-left {
	padding-block: 1rem;
	row-gap: 0.5rem;
}

.first__step-number {
	font-size: 1rem;
}

.first__step-number span {
	font-size: 1rem;
	letter-spacing: 0.06rem;
}

.first__step-body {
	padding-inline-start: 0.25rem;
}

.first__step-title {
	font-size: 1rem;
	letter-spacing: 0.04rem;
}

.first__step-text {
	font-size: 0.875rem;
	letter-spacing: 0.035rem;
	margin-block-start: 0.25rem;
}

.first__step-arrow img {
	width: 2.25rem;
}

.first__bring {
	padding-block-end: 3.75rem;
}

.first__bring-inner {
	padding-inline: 1.25rem;
}

.first__bring-heading {
	margin-block-end: 1.75rem;
}

.first__bring-items {
	grid-template-columns: 1fr;
	row-gap: 0.625rem;
}

.first__bring-item {
	align-items: center;
	flex-direction: row;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
	padding: 0.875rem;
}

.first__bring-icon {
	left: 0.5rem;
	top: 0.5rem;
}

.first__bring-image {
	flex-shrink: 0;
}

.first__bring-image picture img {
	width: 5rem;
}

.first__bring-label {
	font-size: 1rem;
	letter-spacing: 0.08rem;
	margin-block-start: 0;
	text-align: start;
}

.first__payment {
	padding-block: 3.75rem;
}

.first__payment-inner {
	padding-inline: 1.25rem;
}

.first__payment-lead {
	margin-block: 1.25rem 2rem;
	text-align: left;
}

.first__payment-item {
	flex-direction: column;
}

.first__payment-image {
	width: 100%;
}

.first__payment-image picture {
	border-radius: 0.125rem;
}

.first__payment-image picture img {
	aspect-ratio: 295/184;
	height: auto;
}

.first__payment-body {
	padding: 1.25rem;
}

.first__payment-badge {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.first__payment-title {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.09rem;
}

.first__payment-info {
	padding: 0.625rem 0.75rem;
}

.first__payment-info-sep {
	display: none;
}

.first__payment-note {
	padding: 1.25rem;
}

.first__payment-note-title {
	font-size: 0.9375rem;
	letter-spacing: 0.075rem;
}

.first__payment-note-text {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.about {
	padding-block-start: 3.25rem;
}

.about__content {
	margin-block-end: 4.375rem;
}

.about-intro {
	padding-block: 1.875rem 3.75rem;
}

.about-intro__inner {
	flex-direction: column;
	row-gap: 2.5rem;
}

.about-intro__text {
	margin-block-start: 0;
}

.about-intro__catch {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.about-intro__rule {
	margin-block: 0.75rem;
}

.about-intro__images {
	height: 16.5625rem;
	margin-block-start: 0;
	width: 100%;
}

.about-intro__image--main {
	width: 12.5rem;
}

.about-intro__image--sub {
	width: 8rem;
}

.about-philosophy {
	padding-block-end: 3.75rem;
}

.about-philosophy__inner {
	flex-direction: column;
	padding-inline: 0;
	row-gap: 2rem;
}

.about-philosophy__picture {
	aspect-ratio: 375/208;
	border-radius: 0;
	width: 100%;
}

.about-philosophy__body {
	padding: 1.875rem 1.25rem;
}

.about-philosophy__heading-wrap {
	text-align: center;
}

.about-philosophy__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
	text-align: center;
}

.about-philosophy__en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.about-philosophy__content {
	margin-block-start: 1.75rem;
}

.about-philosophy__content-head {
	justify-content: center;
}

.about-philosophy__badge {
	font-size: 1rem;
	letter-spacing: 0.05rem;
}

.about-philosophy__catch {
	font-size: 1.125rem;
	letter-spacing: 0.075rem;
}

.about-philosophy__illust {
	bottom: -1.875rem;
	right: 0.625rem;
	width: 4.75rem;
}

.about-environment {
	padding-block: 3.5rem 3.75rem;
}

.about-environment__heading-wrap {
	margin-block-end: 1.25rem;
}

.about-environment__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.about-environment__en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.about-environment__cards {
	grid-template-columns: 1fr;
	row-gap: 1.875rem;
}

.about-environment__card-picture {
	margin-block-start: 1.5625rem;
}

.about-environment__card-labels {
	right: 0.4375rem;
	top: -1.5625rem;
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
}

.about-environment__card-title {
	-moz-column-gap: 0.375rem;
	column-gap: 0.375rem;
}

.about-environment__card-label {
	font-size: 1.25rem;
	letter-spacing: 0.125rem;
	padding: 0.5rem 0.3125rem;
}

.about-environment__card-point {
	margin-inline-start: 0.5rem;
}

.about-environment__card-text {
	padding-inline: 0.9375rem;
}

.about-message {
	padding-block: 3.125rem 3.75rem;
}

.about-message__inner {
	flex-direction: column;
	row-gap: 3.75rem;
}

.about-message__body {
	margin-block-start: 0;
}

.about-message__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.about-message__en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.about-message__rule {
	margin-block: 1.0625rem;
}

.about-message__media {
	width: 100%;
}

.about-message__picture {
	aspect-ratio: 375/291;
	width: 100%;
}

.about-message__illust {
	width: 9.5rem;
}

.about-facilities {
	padding-block: 3.5rem 3.75rem;
}

.about-facilities__heading-wrap {
	margin-block-end: 2.5rem;
}

.about-facilities__title {
	font-size: 1.375rem;
	letter-spacing: 0.11rem;
}

.about-facilities__en {
	font-size: 0.875rem;
	letter-spacing: 0.07rem;
}

.about-facilities__lead {
	font-size: 0.875rem;
	letter-spacing: 0.035rem;
}

.about-facilities__group + .about-facilities__group {
	margin-block-start: 3.125rem;
}

.about-facilities__group-head {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	margin-block-end: 1.875rem;
}

.about-facilities__group-title {
	font-size: 1.125rem;
	letter-spacing: 0.09rem;
}

.about-facilities__cards {
	display: block;
}

.about-facilities__card-hline {
	display: none;
}

.about-facilities__card-spacer {
	display: none;
}

.about-facilities__card {
	display: grid;
	grid-template-columns: 9.25rem 1fr;
	padding-block: 1.5rem;
	position: relative;
	text-align: left;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	row-gap: 0.5rem;
}

.about-facilities__card::after {
	background-image: radial-gradient(circle at center, rgba(0, 167, 234, 0.4) 0%, rgba(0, 167, 234, 0.4) 50%, transparent 50%);
	background-repeat: repeat-x;
	background-size: 0.375rem 0.125rem;
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 100%;
}

.about-facilities__card:first-of-type {
	padding-block-start: 0;
}

.about-facilities__card-picture {
	align-self: center;
	grid-column: 1;
	grid-row: 1/3;
}

.about-facilities__card-picture img {
	aspect-ratio: 148/102;
}

.about-facilities__card-label {
	align-self: end;
	font-size: 0.875rem;
	grid-column: 2;
	grid-row: 1;
	letter-spacing: 0.07rem;
	margin-block-start: 0;
}

.about-facilities__card-title {
	align-self: start;
	font-size: 1.125rem;
	grid-column: 2;
	grid-row: 2;
	letter-spacing: 0.05625rem;
	line-height: 1.4;
	margin-block-start: 0;
}

.about-facilities__card-title--narrow {
	letter-spacing: -0.0225rem;
}

.about-facilities__card-text--narrow {
	letter-spacing: -0.015rem;
}

.about-facilities__card-text {
	grid-column: 1/3;
	grid-row: 3;
	line-height: 1.4;
	margin-block-start: 0;
}

.about-facilities__card-link {
	grid-column: 1/3;
	grid-row: 4;
	margin-block-start: 0;
}

.policy {
	padding-block-start: 3.25rem;
}

.policy__content {
	padding-block: 2.5rem 3.75rem;
}

.policy__intro {
	margin-block-end: 2.5rem;
}

.policy__section-title {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
}

.policy__date {
	font-size: 0.875rem;
	margin-block-start: 1rem;
}

.policy__lead {
	font-size: 0.9375rem;
	letter-spacing: 0.053125rem;
	line-height: 1.7;
	margin-block-start: 1.5rem;
}

.policy__articles {
	row-gap: 1.75rem;
}

.policy__article {
	padding: 1.25rem 1.125rem;
}

.policy__article-title {
	font-size: 1.0625rem;
	letter-spacing: 0.053125rem;
	margin-block-end: 0.75rem;
}

.policy__article-text {
	font-size: 0.875rem;
	line-height: 1.7;
}

.policy__article-list {
	margin-block-start: 0.75rem;
	row-gap: 0.5rem;
}

.policy__article-list-item {
	font-size: 0.875rem;
	line-height: 1.7;
	padding-inline-start: 1rem;
}

.policy__article-list-item::before {
	height: 0.375rem;
	inset-block-start: 0.5625rem;
	width: 0.375rem;
}

.policy__article-note {
	font-size: 0.75rem;
}

.p-404 {
	padding-block-start: 3.25rem;
}

.p-404__content {
	margin-block-end: 3.75rem;
	padding-block-end: 3.75rem;
}

.p-404__number {
	font-size: 3.5rem;
	letter-spacing: 0.25rem;
}

.p-404__subtitle {
	font-size: 1rem;
}

.p-404__illust {
	left: auto;
	right: 1.25rem;
	width: 4.6875rem;
}

.p-404__text {
	font-size: 0.875rem;
	margin-block: 1.5rem 2.25rem;
}

.coming-soon__hero {
	height: 100vh;
	height: 100svh;
	min-height: auto;
}

.coming-soon__bg {
	height: auto;
	inset: 0 0 5rem;
	min-height: auto;
}

.coming-soon__bg img {
	aspect-ratio: 780/1040;
}

.coming-soon__content {
	min-height: calc(100vh - 5rem);
	min-height: calc(100svh - 5rem);
	padding: clamp(1.5rem, 6svh, 3.75rem) 1.5rem 3rem;
}

.coming-soon__logo {
	width: 13.125rem;
}

.coming-soon__title {
	font-size: 3.5rem;
	margin-block-start: 3.125rem;
}

.coming-soon__line {
	margin-block-start: 2.5rem;
	width: 4.5rem;
}

.coming-soon__text {
	font-size: 0.875rem;
	line-height: 1.9;
	margin-block-start: 2.125rem;
}

.coming-soon__footer {
	flex-basis: 5rem;
	height: 5rem;
	padding: 0 1.25rem;
}

.coming-soon__copyright {
	font-size: 0.6875rem;
}

.show__sp-only {
	display: block;
}

.show__sp-only--flex {
	display: flex;
}

.show__pc-only {
	display: none;
}

.show__pc-only--flex {
	display: none;
}

}

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

.case-post__images-arrow {
	padding-inline: 0.25rem;
}

.price__nav-item::after {
	margin-block-start: 0;
}

.price__nav-item:last-child::after {
	display: block;
}

}

