@charset "utf-8";

.subpage {
	margin-top: calc(var(--header-height) * -1) ;
}

.subpage-mb10 {
	margin-bottom: 10px;
}

.subpage-mb20 {
	margin-bottom: 20px;
}

.subpage-mb40 {
	margin-bottom: clamp(25px,4vw,40px);
}

.subpage-mb80 {
	margin-bottom: clamp(40px,6.5vw,80px);
}

.subpage-header {
	height: 309px;
	background: url(../img/subpage/subpage_header_bg.jpg) no-repeat center;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

.subpage-header__ttl {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: clamp(26px,3vw,36px);
	font-weight: 600;
	padding: 5px clamp(16px,2.9vw,38px);
	position: relative;
	transform: translateY(50%);
	text-align: center;
}

.subpage-header__ttl::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .6);
	backdrop-filter: blur(5px);
}

.subpage-header__ttl span {
	position: relative;
}

.l-breadcrumbs {
	padding-top: 24px;
}

.l-breadcrumbs-list {
	font-size: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.l-breadcrumbs-list__item:not(:last-child)::after {
	content: '>';
	margin-inline: 5px;
}

.subpage-body {
	padding: clamp(40px,6vw,80px) 0;
}

.subpage-content {
	width: 1080px;
	max-width: calc(100% - 40px);
	margin-inline: auto;
}

.subpage-heading-01 {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: clamp(24px,2.8vw,32px);
	color: #1F3D79;
	text-align: center;
	position: relative;
}

.subpage-heading-01::after {
	content: '';
	display: block;
	width: 48px;
	height: 2px;
	background: #E9D6AD;
	margin: 20px auto 0;
}

.subpage-heading-01--left {
	text-align: left;
}

.subpage-heading-01--left::after {
	margin-inline: 0;
}

.subpage-heading-02 {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: clamp(24px,2.8vw,32px);
	background: #1F3D79;
	color: #fff;
	padding: 26px;
}

.subpage-heading-02 span {
	border-left: 6px solid #fff;
	padding-left: 22px;
	display: inline-block;
}

.subpage-heading-03 {
	color: #1F3D79;
	font-size: clamp(22px,2.5vw,28px);
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.subpage-heading-04 {
	color: #1F3D79;
	font-size: clamp(22px,2.5vw,28px);
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	border-bottom: 2px solid #F4F3EF;
	padding-bottom: clamp(16px,1.6vw,24px);
}

.subpage-heading-05 {
	color: #1F3D79;
	font-size: clamp(22px,2.5vw,28px);
	font-weight: 700;
	border-bottom: 2px solid #F4F3EF;
	padding-bottom: clamp(16px,1.6vw,24px);
}

.subpage-heading-05--bb0 {
	border-bottom: 0;
	padding-bottom: 0;
}

.subpage-heading-06 {
	color: #1F3D79;
	font-size: clamp(22px,2.5vw,28px);
	font-weight: 700;
	border-bottom: 1px solid #E9D6AD;
	padding-bottom: clamp(16px,1.6vw,24px);
	text-align: center;
}

.subpage-heading-06--bb0 {
	border-bottom: 0;
	padding-bottom: 0;
}

.subpage-heading-07 {
	color: #1F3D79;
	font-size: clamp(20px,2.1vw,24px);
	font-weight: 700;
	position: relative;
	padding-left: 26px;
}

.subpage-heading-07::before {
	content: '';
	width: 16px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #1F3D79;
	position: absolute;
	top: 8px;
	left: 0;
}

.subpage-linkbtn {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	display: flex;
	border-radius: 5px;
	overflow: hidden;
}

.subpage__link {
	color: #1F3D79;
	text-decoration: underline;
	vertical-align: top;
}

@media screen and (min-width: 768px) {
	.subpage-linkbtn {
		max-width: 525px;
	}

	.subpage-linkbtn--01 {
		max-width: 889px;
	}
}

.subpage-linkbtn__img {
	width: clamp(100px,14vw,203px);
}

.subpage-linkbtn__img img {
	height: 100%;
	object-fit: cover;
}

.subpage-linkbtn__txtbox {
	flex: 1;
	display: flex;
	align-items: center;
	padding-left: clamp(15px,2.5vw,30px);
	padding-right: clamp(15px,3.8vw,50px);
	position: relative;
}

.subpage-linkbtn__txt {
	font-size: clamp(22px,2.5vw,28px);
}

.subpage-linkbtn__arrow {
	width: 22px;
	aspect-ratio: 1;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: clamp(10px,2.7vw,28px);
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.subpage-linkbtn__arrow::after {
	content: '';
	width: 8px;
	height: 10px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: #1F3D79;
	transform: translateX(1px);
}

.subpage-linkbtn--gray .subpage-linkbtn__txtbox {
	background: #D4DBDF;
}

.subpage-linkbtn--blue .subpage-linkbtn__txtbox {
	background: #1F3D79;
	color: #fff;
}

.subpage-linkbtn--center {
	margin-inline: auto;
}

.subpage-btns {
	display: grid;
	gap: clamp(20px,3.5vw,40px);
}

@media screen and (min-width: 768px) {
	.subpage-btns {
		grid-template-columns: repeat(2, 1fr);
	}
}

.subpage-list__item {
	position: relative;
	padding-left: 26px;
}

.subpage-list__item:not(:last-child) {
	margin-bottom: 8px;
}

.subpage-list__item::before {
	content: '';
	width: 16px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #1F3D79;
	position: absolute;
	top: 4px;
	left: 0;
}

.subpage__table {
	border: 1px solid #F4F3EF;
	font-size: 14px;
}

.subpage__table tr:nth-child(odd) {
	background: #F4F3EF;
}

.subpage__table th, .subpage__table td {
	padding-top: clamp(15px,3.7vw,34px);
	padding-bottom: clamp(15px,3.7vw,34px);
}

.subpage__table th {
	color: #1F3D79;
	vertical-align: middle;
	padding-inline: clamp(20px,4vw,40px);
}

.subpage__table td {
	padding-right: 15px;
}

.subpage-checklist {
	font-size: 14px;
}

.subpage-checklist__item {
	position: relative;
	padding-left: 30px;
}

.subpage-checklist__item::before {
	content: '';
	width: 21px;
	aspect-ratio: 1;
	background: #F4F3EF;
	position: absolute;
	top: 0;
	left: 0;
}

.subpage-checklist__item::after {
	content: '';
	width: 12px;
	height: 18px;
	border-right: 4px solid #1F3D79;
	border-bottom: 4px solid #1F3D79;
	position: absolute;
	transform: rotate(45deg);
	top: -4px;
	left: 8px;
}

.subpage-checklist__item:not(:last-child) {
	margin-bottom: 20px;
}

.subpage-flow__item {
	counter-increment: flow;
}

.subpage-flow__item:not(:last-child) {
	margin-bottom: clamp(16px,2.1vw,26px);
}

.subpage-flow__item:not(:last-child)::after {
	content: '';
	width: 36px;
	height: 18px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	display: block;
	margin: 10px auto 0;
	background: #D4DBDF;
}

.subpage-flow__box {
	padding: clamp(20px,4vw,40px);
	background: #F4F3EF;
}

.subpage-flow__header {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 600;
}

.subpage-flow__num {
	width: 33px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #1F3D79;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(20px,2.2vw,24px);
	font-style: normal;
	line-height: 1;
}

.subpage-flow.subpage-flow--gothic .subpage-flow__heading {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

@media screen and (min-width: 768px) {
	.subpage-flow__num {
		transform: translateY(5px);
	}
}

.subpage-flow__num::after {
	content: counter(flow);
}

.subpage-flow__heading {
	font-size: clamp(22px,2.5vw,28px);
	color: #1F3D79;
}

.subpage-block {
	position: relative;
}

.subpage-block:not(:last-child) {
	margin-bottom: clamp(25px,4vw,40px);
}

.subpage-block__box {
	background: #F4F3EF;
}

.subpage-block__heading {
	font-size: clamp(22px,2.5vw,28px);
	font-weight: 700;
	color: #1F3D79;
}

@media screen and (min-width: 768px) {
	.subpage-block__box {
		position: absolute;
		top: 0;
		width: calc(100% - 44px);
		padding-top: clamp(20px,4vw,50px);
		padding-bottom: clamp(20px,4vw,50px);
		margin-bottom: clamp(25px,4vw,40px);
	}

	.subpage-block:nth-child(odd) .subpage-block__box {
		left: 0;
		padding-left: clamp(20px,4vw,50px);
	}

	.subpage-block:nth-child(even) .subpage-block__box {
		right: 0;
		padding-right: clamp(20px,4vw,50px);
	}

	.subpage-block__txtwrap {
		width: clamp(300px,33.5vw,482px);
	}

	.subpage-block:nth-child(even) .subpage-block__txtwrap {
		margin-left: auto;
	}

	.subpage-block__img {
		width: clamp(380px,42vw,500px);
		position: relative;
		padding-top: clamp(20px,4vw,50px);
		/* position: absolute;
		top: clamp(20px,4vw,50px);
		z-index: 2; */
	}

	.subpage-block:nth-child(odd) .subpage-block__img {
		margin-left: auto;
	}

	.subpage-block:nth-child(even) .subpage-block__img {
		margin-right: auto;
	}
}

@media screen and (max-width: 767px) {
	.subpage-block {
		padding: 20px;
		background: #F4F3EF;
	}

	.subpage-block__img {
		margin-top: 20px;
	}
}

.subpage-txtbox {
	display: flex;
	gap: 15px;
}

.subpage-txtbox__content {
	flex: 1;
}

@media screen and (min-width: 768px) {
	.subpage-txtbox--reverse {
		flex-direction: row-reverse;
	}

	.subpage-txtbox__img {
		width: 492px;
	}
}

@media screen and (max-width: 767px) {
	.subpage-txtbox {
		flex-direction: column;
	}
}

.subpage-box {
	background: #F4F3EF;
	padding: clamp(20px,2.6vw,35px) clamp(25px,3.6vw,55px);
}

.subpage-box-type01 {
	border-top: 2px solid #1F3D79;
	border-bottom: 2px solid #1F3D79;
	padding: clamp(20px,3.5vw,45px);
}

.subpage-box-type01-col2 {
	display: grid;
	gap: 20px;
}

@media screen and (min-width: 768px) {
	.subpage-box-type01-col2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 私たちの想い */
.subpage-thoughts-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

.subpage-thoughts-section__wrap {
	display: flex;
	gap: clamp(20px,3.5vw,40px);
}

.subpage-thoughts-section__content {
	flex: 1;
}

@media screen and (min-width: 768px) {
	.subpage-thoughts-section__wrap {
		align-items: center;
	}
	.subpage-thoughts-section:nth-child(even) .subpage-thoughts-section__wrap {
		flex-direction: row-reverse;
	}
	.subpage-thoughts-section__img {
		width: 400px;
	}
}

@media screen and (max-width: 767px) {
	.subpage-thoughts-section__wrap {
		flex-direction: column;
	}
}

/* スタッフ紹介 */
.subpage-doctors-section:not(:last-child) {
	margin-bottom: clamp(40px, 6vw, 80px);
}

.subpage-doctors-section-director {
	display: flex;
	gap: clamp(20px,3.5vw,40px);
}
@media screen and (max-width: 767px) {
	.subpage-doctors-section-director {
		flex-wrap:wrap;
	}
}

.subpage-doctors-section-director__content {
	flex: 1;
}

.subpage-doctors-section-sign {
	color: #1F3D79;
}

.subpage-doctors-section-sign--director {
	margin-top: clamp(25px,4vw,40px);
}

.subpage-doctors-section-sign__namebox {
	display: flex;
	align-items: flex-end;
	gap: 20px;
}

.subpage-doctors-section-sign__name {
	font-size: clamp(22px,2.5vw,28px);
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.subpage-doctors-section-detail {
	margin-top: clamp(25px,4vw,40px);
}

.subpage-doctors-section-detail__header {
	border-bottom: 2px solid #F4F3EF;
	padding-bottom: clamp(16px,1.6vw,24px);
	margin-bottom: clamp(16px,1.6vw,24px);
}

.subpage-doctors-section-detail-career__item {
	display: flex;
	align-items: center;
	gap: clamp(20px,4vw,40px);
	padding: 20px 10px 20px clamp(25px,4vw,44px);
}

.subpage-doctors-section-detail-career__item:nth-child(odd) {
	background: #F4F3EF;
}

.subpage-doctors-section-detail-career__label {
	font-size: 14px;
	font-weight: 700;
	color: #1F3D79;
	width: 60px;
	white-space: nowrap;
}

.subpage-doctors-section-detail-career__content {
	flex: 1;
}

.subpage-doctors-section-detail-career--01 {
	border: 1px solid #F4F3EF;
}

.subpage-doctors-section-detail-career--01 .subpage-doctors-section-detail-career__item {
	padding: 10px 10px 10px clamp(25px,4vw,44px);
}

.subpage-doctors-section-detail-col2 {
	margin-top: clamp(25px,4vw,40px);
	display: grid;
	gap: clamp(20px,4vw,40px);
}

.subpage-doctors-section-detail-box {
	border: 2px solid #F4F3EF;
	padding: clamp(18px,3.7vw,32px);
	height: 100%;
}

.subpage-doctors-section-detail-list__item {
	position: relative;
	padding-left: 25px;
}

.subpage-doctors-section-detail-list__item::before {
	content: '';
	width: 16px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #1F3D79;
	position: absolute;
	top: 4px;
	left: 0;
}

.subpage-doctors-section-detail-list__item:not(:last-child) {
	margin-bottom: 10px;
}

.subpage-doctors-section__message {
	margin-top: 25px;
}

.subpage-doctors-section__staff:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

@media screen and (min-width: 768px) {
	.subpage-doctors-section-director__img {
		width: 400px;
	}
	.subpage-doctors-section-detail-col2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 院内紹介 */
.subpage-clinic-imgwrap {
	display: flex;
	gap: clamp(20px,4vw,40px);
}

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

@media screen and (max-width: 767px) {
	.subpage-clinic-imgwrap {
		flex-direction: column;
	}
}

/* 料金について */
.subpage-price-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

.subpage-price-section__wrap {
	display: flex;
	gap: clamp(20px,3.5vw,40px);
}

.subpage-price-section__content {
	flex: 1;
}

@media screen and (min-width: 768px) {
	.subpage-price-section__wrap {
		align-items: center;
	}

	.subpage-price-section:nth-child(even) .subpage-price-section__wrap {
		flex-direction: row-reverse;
	}

	.subpage-price-section__img {
		width: 527px;
	}

	.subpage-medical-deduction-section__wrap--01 .subpage-price-section__img {
		width: 604px;
	}
}

@media screen and (max-width: 767px) {
	.subpage-price-section__wrap {
		flex-direction: column;
	}
}

/* 医療費控除 */
.subpage-medical-deduction-nav {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.subpage-medical-deduction-nav__item {
	flex: 1;
	max-width: 360px;
}

.subpage-medical-deduction-nav__link {
	color: #fff;
	background: #1F3D79;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	padding: 8px;
}

.subpage-medical-deduction-nav__link::after {
	content: '';
	width: 6px;
	aspect-ratio: 1;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

.subpage-medical-deduction-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

.subpage-medical-deduction-section__wrap {
	display: flex;
	gap: clamp(20px,3.5vw,40px);
}

.subpage-medical-deduction-section__content {
	flex: 1;
}

.subpage-medical-deduction-box {
	background: #F4F3EF;
	padding: clamp(20px,3.5vw,40px) clamp(20px,3.8vw,53px);
}

.subpage-medical-deduction-box--01 {
	background: transparent;
	border: 1px solid #E9D6AD;
}

.subpage-medical-deduction-box-heading01 {
	font-size: 24px;
	font-weight: 700;
	color: #1F3D79;
	position: relative;
	padding-left: 26px;
}

.subpage-medical-deduction-box-heading01::before {
	content: '';
	width: 16px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #1F3D79;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.subpage-medical-deduction-box-heading02 {
	text-align: center;
	color: #1F3D79;
	font-size: 24px;
	font-weight: 700;
	border-bottom: 1px solid #E9D6AD;
	padding-bottom: 8px;
}

.subpage-medical-deduction-faq__item:not(:last-child) {
	margin-bottom: 20px;
}

.subpage-medical-deduction-faq__icon {
	width: 30px;
	aspect-ratio: 1;
	border-radius: 50%;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	font-style: normal;
}

.subpage-medical-deduction-faq__icon--q {
	background: #1F3D79;
	color: #fff;
	margin-top: 8px;
}

.subpage-medical-deduction-faq__icon--a {
	background: #E9D6AD;
	color: #1F3D79;
	margin-top: 3px;
}

.subpage-medical-deduction-faq-q, .subpage-medical-deduction-faq-a {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.subpage-medical-deduction-faq-q {
	margin-bottom: 16px;
}

.subpage-medical-deduction-faq-q__txt {
	flex: 1;
	color: #1F3D79;
	font-size: clamp(22px,2.5vw,28px);
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.subpage-medical-deduction-faq-a__txt {
	flex: 1;
}

.subpage-medical-deduction-howto-calc {
	max-width: 985px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 72px;
}

.subpage-medical-deduction-howto-calc__item {
	background: #F4F3EF;
	color: #1F3D79;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 97px;
	text-align: center;
	position: relative;
}

.subpage-medical-deduction-howto-calc__item--bg-blue {
	color: #fff;
	background: #1F3D79;
}

.subpage-medical-deduction-howto-calc__item:first-child::after {
	content: '';
	width: 24px;
	height: 4px;
	background: #333;
	position: absolute;
	top: 50%;
	transform: translate(100%,-50%);
	left: 100%;
}

.subpage-medical-deduction-howto-calc__item:nth-child(2)::before,
.subpage-medical-deduction-howto-calc__item:nth-child(2)::after {
	content: '';
	width: 24px;
	height: 4px;
	background: #333;
	position: absolute;
	transform: translate(100%,-50%);
	left: 100%;
}

.subpage-medical-deduction-howto-calc__item:nth-child(2)::before {
	top: calc(50% - 4px);
}

.subpage-medical-deduction-howto-calc__item:nth-child(2)::after {
	top: calc(50% + 4px);
}

.subpage-medical-deduction-calc {
	max-width: 804px;
	margin-inline: auto;
}

.subpage-medical-deduction-calc-input {
	display: flex;
	gap: clamp(10px,1.2vw,24px);
}

.subpage-medical-deduction-calc-input:not(:last-child) {
	margin-bottom: clamp(16px,1.6vw,24px);
}

.subpage-medical-deduction-calc-input__label {
	width: 280px;
	color: #1F3D79;
	font-weight: 700;
	position: relative;
}

.subpage-medical-deduction-calc-input__label.is-req::after {
	content: '必須';
	color: #1F3D79;
	background: #E9D6AD;
	font-size: 14px;
	display: inline-block;
	padding: 2px 8px;
	border-radius: 100vh;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

.subpage-medical-deduction-calc-input__field {
	flex: 1;
}

.subpage-medical-deduction-calc-input__field input {
	width: 100%;
	padding: 8px;
	border: 1px solid #F4F3EF;
	border-radius: 5px;
}

.subpage-medical-deduction-calc__submit {
	height: 90px;
	position: relative;
}

.subpage-medical-deduction-calc__submit input {
	width: 100%;
	height: 100%;
	font-size: clamp(22px,2.5vw,28px);
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	text-align: center;
	background: #D4DBDF;
	border-radius: 5px;
}

.subpage-medical-deduction-calc__submit::after {
	content: '';
	width: 6px;
	aspect-ratio: 1;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
}

.subpage-medical-deduction-calc-results__item {
	display: flex;
	justify-content: space-between;
	padding-bottom: 10px;
	border-bottom: 1px solid #F4F3EF;
}

.subpage-medical-deduction-calc-results__item:not(:last-child) {
	margin-bottom: 10px;
}

.subpage-medical-deduction-calc-results__label {
	color: #1F3D79;
	font-weight: 700;
}

.subpage-medical-deduction-links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 30px;
}

.subpage-medical-deduction-links__link {
	color: #1F3D79;
	text-decoration: underline;
	position: relative;
	padding-left: 20px;
}

.subpage-medical-deduction-links__link::before {
	content: '';
	width: 10px;
	aspect-ratio: 1;
	border-top: 3px solid #E9D6AD;
	border-right: 3px solid #E9D6AD;
	transform: rotate(45deg);
	position: absolute;
	top: 3px;
	left: 0;
}

@media screen and (min-width: 768px) {
	.subpage-medical-deduction-section__wrap {
		align-items: center;
	}

	.subpage-medical-deduction-section__img {
		width: 525px;
	}

	.subpage-medical-deduction-section__wrap--01 .subpage-medical-deduction-section__img {
		width: 604px;
	}

	.subpage-medical-deduction-calc-input {
		align-items: center;
	}
}

@media screen and (max-width: 767px) {
	.subpage-medical-deduction-section__wrap {
		flex-direction: column;
	}

	.subpage-medical-deduction-howto-calc {
		gap: 34px;
	}

	.subpage-medical-deduction-howto-calc__item {
		font-size: 10px;
	}

	.subpage-medical-deduction-howto-calc__item:first-child::after {
		width: 12px;
	}

	.subpage-medical-deduction-howto-calc__item:nth-child(2)::before, .subpage-medical-deduction-howto-calc__item:nth-child(2)::after {
		width: 12px;
	}

	.subpage-medical-deduction-calc-input {
		flex-direction: column;
	}
}

/* 診療時間・アクセス */
.subpage-access-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

.subpage-access-imgwrap {
	display: flex;
	gap: clamp(20px,4vw,40px);
}

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

.subpage-access__hours {
	color: #1F3D79;
	border-bottom: 1px solid #F4F3EF;
}

.subpage-access__hours thead tr {
	border-bottom: 1px solid #F4F3EF;
}

.subpage-access__hours thead th {
	padding-bottom: 20px;
}

.subpage-access__hours thead th:not(:first-child) {
	text-align: center;
}

.subpage-access__hours tbody td {
	padding-inline: 16px;
	text-align: center;
}

.subpage-access__hours tbody tr:first-child td {
	padding-top: 20px;
	padding-bottom: 5px;
}
.subpage-access__hours tbody tr:last-child td {
	padding-top: 5px;
	padding-bottom: 20px;
}

.subpage-access__hours tbody th {
	vertical-align: middle;
}

.subpage-access__gmap {
	height: 296px;
}

.subpage-access__gmap iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.subpage-access-imgwrap {
		flex-direction: column;
	}

	.subpage-access__hours {
		font-size: 12px;
	}

	.subpage-access__hours tbody td {
		padding-inline: 5px;
	}
}

/* 治療の流れと一般治療 */
.subpage-treatment-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

.subpage-treatment-flow__item {
	counter-increment: treatment-flow;
}

.subpage-treatment-flow__item:not(:last-child) {
	margin-bottom: clamp(25px,4vw,40px);
}

.subpage-treatment-flow-header {
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	color: #1F3D79;
	font-size: clamp(22px,2.5vw,28px);
	font-weight: 600;
	margin-bottom: 25px;
}

.subpage-treatment-flow-header__num {
	width: 55px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #E9D6AD;
	display: flex;
	justify-content: center;
	align-items: center;
	font-style: normal;
}

.subpage-treatment-flow-header__num::after {
	content: counter(treatment-flow);
}

.subpage-treatment-flow__content {
	display: flex;
	gap: clamp(20px,4vw,55px);
}

.subpage-treatment-flow__txtbox {
	flex: 1;
}

.subpage-treatment-flow-hoken {
	margin-top: clamp(16px,1.6vw,24px);
	display: grid;
	gap: 22px;
}

.subpage-treatment-flow-hoken__box {
	border: 1px solid #F4F3EF;
	border-radius: 5px;
	padding: clamp(16px,1.6vw,24px) 16px clamp(16px,1.6vw,24px) clamp(16px,1.8vw,32px);
}

.subpage-treatment-flow-hoken__heading {
	font-size: 24px;
	font-weight: 700;
	color: #1F3D79;
	position: relative;
	padding-left: 26px;
}

.subpage-treatment-flow-hoken__heading::before {
	content: '';
	width: 16px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #1F3D79;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.subpage-treatment-flow__box {
	margin-top: clamp(16px,1.6vw,24px);
	border: 1px solid #F4F3EF;
	border-radius: 5px;
	padding: clamp(16px,1.6vw,24px) 16px clamp(16px,1.6vw,24px) clamp(16px,1.8vw,32px);
}

.subpage-treatment-cavity {
	display: flex;
	gap: 14px;
}

.subpage-treatment-cavity__content {
	flex: 1;
}

.subpage-treatment-progress__box {
	padding: clamp(15px,3.5vw,30px);
	background: #F4F3EF;
	display: flex;
	gap: 20px;
}

.subpage-treatment-progress__box:not(:last-child) {
	margin-bottom: clamp(20px,3.4vw,28px);
}

.subpage-treatment-progress__content {
	flex: 1;
}

.subpage-treatment-progress__heading {
	color: #1F3D79;
	font-size: 24px;
	font-weight: 700;
}

.subpage-treatment-method__box {
	padding: clamp(20px,4vw,40px) clamp(25px,4.5vw,55px);
	border: 1px solid #F4F3EF;
}

.subpage-treatment-method__box:not(:last-child) {
	margin-bottom: clamp(25px,4vw,40px);
}

.subpage-treatment-method__heading {
	font-size: 24px;
	font-weight: 700;
	color: #1F3D79;
	border-bottom: 1px solid #E9D6AD;
	padding-bottom: 16px;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.subpage-treatment-flow__content {
		align-items: center;
	}

	.subpage-treatment-flow__img {
		width: 495px;
	}

	.subpage-treatment-flow-hoken {
		grid-template-columns: repeat(2, 1fr);
	}

	.subpage-treatment-cavity__img {
		width: 492px;
	}

	.subpage-treatment-progress__illust {
		width: 360px;
	}
}

@media screen and (max-width: 767px) {
	.subpage-treatment-flow__content {
		flex-direction: column;
	}

	.subpage-treatment-cavity {
		flex-direction: column;
	}

	.subpage-treatment-progress__box {
		flex-direction: column;
	}
}

/* PRGF骨再生治療 */
.subpage-prgf-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

/* インプラント治療 */
.subpage-implant-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

.subpage-implant-worried {
	padding: clamp(20px,5.6vw,70px) clamp(30px,6vw,90px);
	border: 1px solid #204C8E;
}

/* 口腔外科 */
.subpage-surgery-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

/* 審美治療 */
.subpage-esthetic-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

/* 歯周病治療 */
.subpage-periodontal-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

/* 顎関節症 */
.subpage-arthrosis-section:not(:last-child) {
	margin-bottom: clamp(40px,6vw,80px);
}

/* 新着情報 */
.subpage-news__wrap {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.subpage-news-list__item {
	padding-bottom: clamp(20px,2.2vw,30px);
	border-bottom: 1px solid #D4DBDF;
}

.subpage-news-list__item:not(:last-child) {
	margin-bottom: clamp(20px,2.2vw,30px);
}

.subpage-news-list__item .icon-category {
	text-transform: uppercase;
	font-size: 11px;
	color: #1F3D79;
	background: #D4DBDF;
	display: inline-block;
	padding: 4px 10px;
	margin-bottom: 15px;
}

.subpage-news-list__item .icon-category::before {
	margin-right: 5px;
}

.subpage-news-list-ttl__link {
	color: #1F3D79;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: clamp(26px,2.8vw,32px);
	font-weight: 600;
	display: block;
	margin-bottom: 20px;
}

.subpage-news-list__meta {
	display: flex;
	gap: 12px;
	margin-top: clamp(30px,4.2vw,50px);
	font-size: 10px;
}

.subpage-news-list__date {
	color: #1F3D79;
}

.subpage-news-list-tags {
	display: flex;
	gap: 8px;
}

.subpage-news-list-tags__link {
	color: #1F3D79;
	display: flex;
	align-items: center;
	gap: 5px;
}

.subpage-news-side__block:not(:last-child) {
	margin-bottom: clamp(20px,3.2vw,46px);
}

.subpage-news-side-heading {
	color: #1F3D79;
	font-weight: 700;
	padding-bottom: 5px;
	margin-bottom: 15px;
	border-bottom: 2px solid #1F3D79;
}

.subpage-news-side-heading__maintxt {
	font-size: 18px;
}

.subpage-news-side-heading__subtxt {
	font-size: 14px;
}

.subpage-news-side .widget_search .searchform {
	position: relative;
}

.subpage-news-side .widget_search .icon-search {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	color: #1F3D79;
}

.subpage-news-side .widget_search input[type="text"] {
	padding: 15px 40px 15px 10px;
	background: #D4DBDF;
	width: 100%;
	font-size: 13px;
}

.subpage-news-side .widget_search input[type="submit"] {
	font-size: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.subpage-news-side-cats__item {
	padding-bottom: 12px;
	border-bottom: 1px solid #D4DBDF;
}

.subpage-news-side-cats__item:not(:last-child) {
	margin-bottom: 12px;
}

.subpage-news-side-cats__link {
	display: block;
}

.subpage-news-side-cats__mainttl {
	display: block;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
}

.subpage-news-side-cats__subttl {
	color: #807E7F;
	font-size: 14px;
}

.subpage-news-side-posts__item {
	padding-bottom: 12px;
	border-bottom: 1px solid #D4DBDF;
}

.subpage-news-side-posts__item:not(:last-child) {
	margin-bottom: 12px;
}

.subpage-news-side-posts__link {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.subpage-news-side-posts__content {
	flex: 1;
}

.subpage-news-side-posts__ttl {
	font-size: 13px;
	font-weight: 700;
}

.subpage-news-side-posts__date {
	font-size: 10px;
	color: #807E7F;
	display: block;
}

.subpage-news-side-posts__thumb {
	width: 48px;
}

.subpage-news-side-posts__thumb img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.subpage-news-side-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.subpage-news-side-tags__link {
	color: #1F3D79;
	border: 1px solid #D4DBDF;
	border-radius: 3px;
	display: block;
	padding: 2px 8px;
	font-size: 14px;
}

.subpage-news-side-tags__link:hover {
	background: #D4DBDF;
}

.subpage-news-side-archive a {
	color: #807E7F;
	text-decoration: underline;
	display: inline-block;
}

.subpage-news-side-archive__item:not(:last-child) {
	margin-bottom: 10px;
}

.subpage-news-side-archive__year {
	position: relative;
	padding-left: 20px;
}

.subpage-news-side-archive__year::before {
	content: '';
	width: 8px;
	aspect-ratio: 1;
	border-top: 1px solid #807E7F;
	border-right: 1px solid #807E7F;
	transform: rotate(45deg) translateY(-50%);
	transform-origin: top;
	position: absolute;
	top: 50%;
	left: 0;
	transition: all .5s;
}

.subpage-news-side-archive__year.is-open::before {
	transform: rotate(135deg) translateY(-50%);
}

.subpage-news-side-archive__item ul {
	margin: 5px 0 0 45px;
	display: none;
}

.pagination {
	border-top: 0;
	padding-top: 0;
}

.pagination ul li a, .pagination ul li span.dots {
	color: #1F3D79;
	font-weight: 700;
	background: none;
	border-radius: 0;
}

.pagination ul li a:hover {
	background: #F4F3EF;
}

.pagination ul li span.current {
	background: #F4F3EF;
	color: #1F3D79;
	border-radius: 0;
	font-weight: 700;
}

.pagination ul li .next::after, .pagination ul li .prev::after {
	content: '';
	width: 8px;
	aspect-ratio: 1;
	border-top: 2px solid #1F3D79;
	border-right: 2px solid #1F3D79;
	position: absolute;
	top: 50%;
}

.pagination ul li .next,
.pagination ul li .prev {
	top: 0;
}

.pagination ul li .next::after {
	right: 10px;
	transform: translateY(-50%) rotate(45deg);
}

.pagination ul li .prev::after {
	left: 10px;
	transform: translateY(-50%) rotate(45deg) scale(-1);
}

.subpage-entry .icon-category {
	text-transform: uppercase;
	font-size: 11px;
	color: #1F3D79;
	background: #D4DBDF;
	display: inline-block;
	padding: 4px 10px;
	margin-bottom: 15px;
}

.subpage-entry .icon-category::before {
	margin-right: 5px;
}

.subpage-entry-ttl {
	color: #1F3D79;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: clamp(26px,2.8vw,32px);
	font-weight: 600;
	display: block;
	margin-bottom: 20px;
}

.subpage-entry__meta {
	display: flex;
	gap: 12px;
	margin-top: clamp(30px,4.2vw,50px);
	font-size: 10px;
}

.subpage-entry__date {
	color: #1F3D79;
}

.subpage-entry-tags {
	display: flex;
	gap: 8px;
}

.subpage-entry-tags__link {
	color: #1F3D79;
	display: flex;
	align-items: center;
	gap: 5px;
}

@media screen and (min-width: 768px) {
	.subpage-news__main {
		width: 700px;
	}

	.subpage-news-side {
		width: 300px;
	}
}

@media screen and (max-width: 767px) {
	.subpage-news__wrap {
		flex-direction: column;
		gap: 50px;
	}
}

/* お問い合わせページ */
.step_list li.current span {
	background: #1F3D79;
}

.inquiryFormTable input[type="checkbox"] + span::before {
	content: '';
	width: 25px;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 2px solid #CBCAC9;
}

.inquiryFormTable input[type="checkbox"]:checked + span::before {
	content: '';
	background: #1F3D79;
	border-color: #1F3D79;
}

.inquiryFormTable input[type="checkbox"]:checked + span::after {
	content: '';
	display: block;
	width: 12px;
	height: 18px;
	border-right: 4px solid #fff;
	border-bottom: 4px solid #fff;
	position: absolute;
	transform: rotate(45deg);
	top: -2px;
	left: 6px;
}

.inquiryFormTable select {
	background: none;
}

.inquiryFormTable .wpcf7-form-select-wrap {
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	background: #EBE9E7;
}

.inquiryFormTable .wpcf7-form-select-wrap::before {
	content: '';
	height: 100%;
	aspect-ratio: 1;
	position: absolute;
	top: 0;
	right: 0;
	background: #CBCAC9;
	pointer-events: none;
}

.inquiryFormTable .wpcf7-form-select-wrap::after {
	content: '';
	width: 6px;
	aspect-ratio: 1;
	border-right: 2px solid #72706E;
	border-bottom: 2px solid #72706E;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	top: 50%;
	right: 22px;
	pointer-events: none;
}

.subpage-contact .inquiryFormTable .wpcf7-submit {
	width: 100% !important;
	text-align: center;
}

.subpage-contact-confirm .inquiryFormTable dt,
.subpage-contact-confirm .inquiryFormTable dd {
	padding-top: 0;
}

.inquiryFormTable .wpcf7-previous {
	float: left;
	width: 37.5% !important;
	padding: 29px 30px 28px;
	border: none;
	margin: 0 auto;
	border-radius: 0 !important;
	outline: 0px;
	text-align: left;
	font-size: 26px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	color: #fff;
	background: #72706E url(/wp-content/themes/genova_tpl/img/icons/ico_arrow02.png) no-repeat 92% center !important;
	background-size: 6px 10px;
	cursor: pointer;
	-webkit-appearance: none;
}

.step_list li span.current:after {
	background: #1F3D79;
}

.btn a {
	background: #1F3D79;
	height: 88px;
	font-size: 26px;
	border-radius: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.btn a::after {
	width: 6px;
	aspect-ratio: 1;
	height: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	border-bottom: 0;
	border-left: 0;
	transform: rotate(45deg) translateY(-50%);
	top: 50%;
	right: 20px;
	bottom: auto;
}