@charset "utf-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
* {
	box-sizing: border-box;
}

:root {
	--color-main: #fff;
	--color-assort: #c6b275;
	--color-accent: #E194BE;
	--color-text: #323232;
	--color-white: #fff;
	--color-black: #5b5b5b;
	--color-gray: #ccc;
	--color-gray-light: #fdfdfd;
	--color-gray-light02: #ededed;
	--color-gray-light03: #f5f5f5;
	--color-gray-light04: #f6f6f6;
	--color-gray-light05: #f8f8f8;
	--color-gray-dark: #707070;
	--color-gray-dark02: #7e7e7e;
	--color-gold: #c6b275;
	--color-gold-light-very: #fdfbf7;
	--color-gold-light: #f6f1e9;
	--color-gold-light02: #f3e6c9;
	--color-gold-light03: #f7edd8;
	--color-gold-light04: #eee2ca;
	--color-gold-middle: #c4b692;
	--color-gold-middle02: #f2e3bd;
	--color-gold-dark: #968a76;
	--color-brown: #857c7c;
	--color-red: #EB436C;
	--font-serif: "Noto Serif JP", serif;
	--font-sans: "Noto Sans JP", sans-serif;
	--color-nagaokakyo: #e293bd;
	--color-nagaokakyo02: #e8a6c9;
	--color-katsura: #73a9d8;
	--color-katsura02: #8bc0ee;
	--color-saiin: #92a57e;
	--color-saiin02: #b1c997;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 1em;
}

/* html {
	scroll-padding-top: 80px;
}

@media screen and (max-width: 767px) {
	html {
		scroll-padding-top: 80px;
	}
} */

body {
	font-size: 62.5%;
	opacity: 0.1;
	animation: fadeIn 1.5s ease-out forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0.1;
	}

	to {
		opacity: 1;
	}
}

:target {
	scroll-margin-top: 80px;
}

@media screen and (max-width: 767px) {
	:target {
		scroll-margin-top: 160px;
	}
}

body,
table,
input,
textarea,
select,
option {
	font-family: var(--font-sans);
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a,
a:link {
	color: var(--color-text);
	text-decoration: none;
}

a:visited {
	color: var(--color-text);
	text-decoration: none;
}

a:hover {
	color: var(--color-text);
	text-decoration: underline;
}

a:active {
	color: var(--color-text);
	text-decoration: underline;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1160px;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: min(3.73vw, 16px);
	line-height: 1.8;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: var(--color-white);
	width: 100%;
}

html #wpadminbar {
	position: fixed;
}

body.admin-bar {}

body.admin-bar #gHeader {
	top: 46px;
}

body.admin-bar #btn-main-navi {
	top: 46px;
}

body.admin-bar #header-nav-menu {
	top: 46px;
}

@media screen and (min-width:768px) {
	body.admin-bar #gHeader {
		top: 35px;
	}

	body.admin-bar #header-nav-menu {
		top: 179px;
	}
}

#container {
	text-align: justify;
	word-break: break-all;
}

#main {
	margin: 0 auto 96px;
	max-width: 1200px;
}

@media screen and (min-width: 768px) {

	#main {
		display: flex;
		justify-content: space-between;
	}

	#sideBar {
		order: 1;
	}

	#conts {
		order: 2;
	}
}

@media screen and (max-width: 767px) {
	main {
		overflow: hidden;
	}

	#main {
		overflow: hidden;
	}

}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

@media screen and (max-width: 767px) {
	#gHeader {
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 10000;
	}
}

#gHeader .hInner {
	margin: 20px 0 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and (max-width: 767px) {

	#gHeader .hInner {
		margin: 0;
		padding: min(4.26vw, 16px);
		align-items: center;
		position: relative;
		z-index: 100;
		height: 70px;
		background: rgba(255, 255, 255, .9);
	}
}

#gHeader .hInner .logo {
	max-width: 380px;
	display: block;
}

@media screen and (max-width: 767px) {
	#gHeader .hInner .logo {
		width: min(60vw, 380px);
	}
}

#gHeader .hInner .logo img {
	width: 100%;
	height: auto;
	display: block;
}

#gHeader .spMenu {
	padding: 18.46vw 0 0;
	height: 100%;
	background: var(--color-gray-light02);
	box-sizing: border-box;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#gHeader .spMenu li {
	float: left;
	width: 100%;
	font-size: 16px;
	border-bottom: .5px dotted var(--color-gray-dark);
}

#gHeader .spMenu li a {
	padding: 0 min(4.26vw, 16px) 0 min(calc(4.26vw * 2), calc(16px * 2));
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: min(12.8vw, 48px);
	font-size: min(3.73vw, 14px);
	line-height: 1.4;
	position: relative;
	color: var(--color-text);
	text-decoration: none;

	&::before {
		content: "〉";
		position: absolute;
		top: 50%;
		left: min(4.26vw, 16px);
		transform: translateY(-50%);
		z-index: 5;
		color: var(--color-gold-dark);
	}
}

#gHeader .spMenu li ul {
	padding: 0;
	border: none;
}

#gHeader .spMenu li ul li a {
	padding: 11px 17px 11px 35px;
}

#gHeader .spMenu .list>a:before {
	margin-top: -5px;
	width: 9px;
	height: 9px;
	background: url(../img/icon08.gif) no-repeat;
	background-size: 9px 9px;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
}

#gHeader .spMenu .list>a.on:before {
	margin-top: -3px;
	width: 9px;
	height: 6px;
	background: url(../img/icon07.gif) no-repeat;
	background-size: 9px 6px;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
}

#gHeader .reserBox {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 8px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#gHeader .reserBox {
		display: none;
	}
}

#gHeader .reserBox a {
	width: 402px;
	background-color: #f96c8f;
	height: 47px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	text-decoration: none;
}

#gHeader .reserBox a:hover {
	opacity: .7;
}

#gHeader .reserBox a p {
	position: relative;
	color: var(--color-white);
	font-size: 18px;
	font-weight: bold;
}

#gHeader .reserBox a p::before {
	content: "";
	position: absolute;
	left: -44px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	background-repeat: no-repeat;
	background-size: 35px;
	background-image: url("../img/icon_reser01.svg");
	width: 35px;
	height: 30px;
}

#gHeader .reserBox a p::after {
	content: "";
	position: absolute;
	right: -23px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	background-repeat: no-repeat;
	background-size: 15px;
	background-image: url("../img/icon_reser03.svg");
	width: 15px;
	height: 9px;
}


#header-menu-sp .accordion {
	display: flex;
	flex-direction: column;
}

#header-menu-sp .accordion .accordion_ttl {
	padding: 0 min(4.26vw, 16px) 0 min(calc(4.26vw * 2), calc(16px * 2));
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: min(12.8vw, 48px);
	font-size: min(3.73vw, 14px);
	line-height: 1.4;
	position: relative;
	color: var(--color-text);
	text-decoration: none;
	background-size: 3px 1px;
	cursor: pointer;

	&::before {
		content: "〉";
		position: absolute;
		top: 50%;
		left: min(4.26vw, 16px);
		transform: translateY(-50%);
		z-index: 5;
		color: var(--color-gold-dark);
	}

	>span {
		position: relative;
		display: flex;
		width: 100%;

		&::before,
		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			right: 12px;
			transform: translate(0, -50%);
			width: 14px;
			height: 1px;
			background: var(--color-gold-dark);
			transition: 0.2s ease transform;
		}

		&:after {
			transform: translate(0, -50%) rotate(-90deg);
		}
	}
}

#header-menu-sp .accordion .accordion_ttl.active>span:after {
	transform: translate(0, -50%) rotate(0deg);
}

#header-menu-sp .accordion .accordion_cnt {
	padding: 0;
	color: var(--color-white);
	max-height: 0;
	overflow: hidden;
	transition: 0.2s ease max-height;
	background-color: var(--color-white);
}

#header-menu-sp .accordion .accordion_cnt a {
	border-bottom: .5px dotted var(--color-gray-dark);

	&:first-child {
		border-top: .5px dotted var(--color-gray-dark);
	}

	&:last-child {
		border-bottom: 0;
	}
}

#header-menu-sp .spMenu .accordion_cnt a:before {
	content: none !important;
}


#header-menu-sp .accordion_cnt a {
	padding: 0 min(4.26vw, 16px) 0 min(calc(4.26vw * 2), calc(16px * 2)) !important;
	cursor: pointer;
	position: relative !important;

	>span {
		position: relative;
		padding-left: min(4.26vw, 16px) !important;

		&::before {
			content: "〉";
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			z-index: 5;
			color: var(--color-gold-dark);
		}
	}
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/

@media screen and (min-width: 768px) {
	.layout-header-menu-pc {
		display: grid;
		grid-template-columns: 12% 15% 15% 15% 15% 15% 1fr;
		gap: 0;
	}
}

#gNavi li a {
	padding: 14px 0 13px;
	color: var(--color-text);
	font-size: min(4.26vw, 16px);
	display: block;
	text-decoration: none;
	text-align: center;
	border-bottom: 2px solid var(--color-white);
	font-family: var(--font-sans);
}

#gNavi li a:hover {
	border-bottom: 2px solid var(--color-assort);
}

.layout-header-clinic-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(8.4vw, 32px);

	>li {
		width: 100%;
		min-width: 200px;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			right: -16px;
			top: 0;
			width: .5px;
			background-color: var(--color-gray);
			height: 100%;
			z-index: 2;
		}

		&:last-child {
			&::before {
				content: none;
			}
		}
	}

	.title {
		font-size: min(3.46vw, 15px);
		text-align: center;
		color: var(--color-black);
		margin-bottom: 8px;
		border-bottom: 2px solid var(--color-gold);
		font-family: var(--font-serif);
		letter-spacing: 2px;
	}

	.tel-number {
		font-size: min(3.46vw, 18px);
		font-weight: bold;
		margin-bottom: 8px;
		color: var(--color-gold-dark);
		text-align: center;

		>span {
			padding-left: min(6.4vw, 24px);
			position: relative;

			&::before {
				content: "";
				position: absolute;
				top: 50%;
				left: 0;
				transform: translateY(-50%);
				background: url("../img/common/icon-phone.svg") no-repeat center center / 100%;
				width: min(4.26vw, 16px);
				height: min(4.26vw, 16px);
			}
		}
	}

	.list {
		>li {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 4px;
			margin-bottom: 4px;
		}
	}

	.button {
		font-size: min(3.46vw, 14px);
		text-align: center;
		display: block;
		text-decoration: none;
		transition: ease .3s;
		line-height: min(8.53vw, 32px);
		position: relative;
		border: 1px solid var(--color-gray);
		background-color: var(--color-gray-light);
		cursor: pointer;

		&::before {
			content: "▼";
			position: absolute;
			top: 50%;
			right: 20px;
			color: var(--color-gold-dark);
			font-size: min(3.2vw, 12px);
			transform: translateY(-50%);
		}

		&:hover {
			transition: ease .3s;
		}
	}

	li {
		&:nth-of-type(1) {
			.button {
				&::before {
					color: var(--color-nagaokakyo);
				}
			}
		}

		&:nth-of-type(2) {
			.button {
				&::before {
					color: var(--color-katsura);
				}
			}
		}

		&:nth-of-type(3) {
			.button {
				&::before {
					color: var(--color-saiin);
				}
			}
		}
	}
}

.layout-header-dropdown {
	position: relative;

	>.item {
		position: absolute;
		left: 0;
		top: 33px;
		z-index: 99999;
		width: 100%;
		visibility: hidden;
		opacity: 0;
		transition: all .3s;
		background-color: var(--color-gold-light);
		border: 1px solid var(--color-gray);


		>li {
			border-bottom: .5px dashed var(--color-black);

			&:last-child {
				border-bottom: 0;
			}

			a {
				color: var(--color-text);
				font-size: min(3.46vw, 13px);
				height: 40px;
				display: flex;
				justify-content: flex-start;
				padding-left: min(5.8vw, 32px);
				align-items: center;
				text-decoration: none;
				position: relative;

				&:hover {
					text-decoration: underline;
				}

				&::before {
					content: "〉";
					position: absolute;
					top: 50%;
					left: min(2.13vw, 16px);
					transform: translateY(-50%);
					z-index: 5;
					color: var(--color-gold-dark);
				}
			}
		}
	}
}

.layout-header-dropdown:hover>.item,
.layout-header-dropdown .item li:hover>ul,
.layout-header-dropdown .item li:active>ul {
	visibility: visible;
	opacity: 1;
}

@media screen and (max-width: 767px) {
	.layout-header-clinic-pc {
		display: none;
	}
}

/*================================
-ボトムナビ
=================================*/

.layout-bottom-navi {
	display: none;
}

@media screen and (max-width: 767px) {

	.layout-bottom-navi {
		position: fixed;
		width: 100%;
		height: 88px;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		background-color: var(--color-gold-dark);
		color: var(--color-white);
		font-size: min(3.73vw, 14px);
		font-family: var(--font-serif);
		z-index: 100;
	}

	.layout-telUl-item01,
	.layout-telUl-item02,
	.layout-telUl-item03 {
		font-size: min(3.2vw, 12px);
		font-family: var(--font-sans);
		position: relative;
		padding-right: min(3.73vw, 14px);

		&::before {
			content: "▲";
			position: absolute;
			top: calc(50% + 1px);
			right: 0;
			transform: translateY(-50%);
			font-size: min(2.66vw, 10px);
		}
	}

	.layout-telUl-item01 {
		&::before {
			color: var(--color-nagaokakyo02);
		}
	}

	.layout-telUl-item02 {
		&::before {
			color: var(--color-katsura02);
		}
	}

	.layout-telUl-item03 {
		&::before {
			color: var(--color-saiin02);
		}
	}


	.layout-trigger,
	.layout-trigger02,
	.layout-trigger03 {
		text-align: center;
		position: relative;
		z-index: 2;
		background-color: var(--color-white);
		height: 88px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		line-height: 1.4;
		background-color: var(--color-gold-dark);
		border-right: .5px solid var(--color-black);
	}

	.layout-trigger03 {
		border-right: 0;
	}

	.layout-trigger p,
	.layout-trigger02 p,
	.layout-trigger03 p {
		font-weight: 500;
		line-height: 1.6;
		font-size: min(4.26vw, 16px);
	}

	.layout-trigger span,
	.layout-trigger02 span,
	.layout-trigger03 span {
		font-family: var(--font-sans);
	}

	.layout-bottom-navi-button,
	.layout-bottom-navi-button02,
	.layout-bottom-navi-button03 {
		position: absolute;
		z-index: 1;
		width: 100%;
		left: 0;
		bottom: 88px;
		transition: ease .3s;
		opacity: 0;
		user-select: none;
		pointer-events: none !important;

		* {
			pointer-events: none !important;
		}

		>.item {
			display: grid;
			grid-template-columns: 1fr;
			gap: 0;
			background-color: var(--color-gray-light03);
			border: .5px solid var(--color-gray);
			user-select: none;
			pointer-events: none;

			>li {
				border-bottom: .5px solid var(--color-black);

				&:last-child {
					border-bottom: 0;
				}
			}
		}

		a {
			color: var(--color-text);
			font-size: min(3.46vw, 13px);
			height: 48px;
			display: flex;
			justify-content: flex-start;
			padding-left: min(5.8vw, 24px);
			align-items: center;
			text-decoration: none;
			position: relative;

			&::before {
				content: "〉";
				position: absolute;
				top: 50%;
				left: min(2.13vw, 8px);
				transform: translateY(-50%);
				z-index: 5;
				color: var(--color-gold-dark);
			}
		}
	}

	.layout-bottom-navi-button.layout-menu-show,
	.layout-bottom-navi-button02.layout-menu-show,
	.layout-bottom-navi-button03.layout-menu-show {
		transition: ease .3s;
		user-select: initial;
		pointer-events: auto !important;
		opacity: 1;

		* {
			pointer-events: auto !important;
		}
	}

	.layout-bottom-navi-button {
		a {
			&::before {
				color: var(--color-nagaokakyo);
			}
		}
	}

	.layout-bottom-navi-button02 {
		a {
			&::before {
				color: var(--color-katsura);
			}
		}
	}

	.layout-bottom-navi-button03 {
		a {
			&::before {
				color: var(--color-saiin);
			}
		}
	}
}

/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin: 0 auto 40px;
	max-width: 1200px;
	width: 100%;
	font-size: min(3.46vw, 14px);
}

@media screen and (max-width: 767px) {
	#pagePath {
		padding: 0 min(4.26vw, 16px);
	}
}

#pagePath li {
	margin-right: 3px;
	display: inline;
	color: var(--color-gray-dark);
}

#pagePath li a {
	margin-right: 9px;
	color: var(--color-gold-dark);
}

.layout-header-navi-sp {
	.home {
		a {
			&::before {
				content: "" !important;
				background: url("../img/common/icon-home-gold.svg") no-repeat center center / 100%;
				width: min(4.26vw, 16px);
				height: min(4.26vw, 16px);
				left: min(3.2vw, 12px) !important;
				top: 50%;
				transform: translateY(-50%);
				z-index: 5;
			}
		}
	}
}


/*------------------------------------------------------------
	mainImg
------------------------------------------------------------*/
.mainImg {
	margin-bottom: 20px;
	padding: 0;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 80%;
		background-color: var(--color-gray-light02);
		top: 0;
		left: 0;
		z-index: -1;

	}
}

@media screen and (max-width: 767px) {
	.mainImg {
		padding: 70px 0 0 !important;
		background: none;
	}
}

.mainImg h2,
.mainImg .infoBox {
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

.mainImg img {
	width: 100%;
}

@media screen and (max-width: 767px) {

	.mainImg h2 span {
		margin-top: 24px;
		font-size: 16px;
		display: block;
		text-align: center;
	}
}

/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {
	max-width: 800px;
	width: 100%;
}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {
	max-width: 300px;
	width: 100%;
}

#sideBar .searchBox {
	margin-bottom: 20px;
}

#sideBar .searchBox img {
	width: 100%;
}

#sideBar .bannerBox {
	margin-bottom: 20px;
}

#sideBar .bannerBox img {
	width: 100%;
}


#sideBar .sBox {
	margin-bottom: 19px;
	border: .5px solid #ccc;
}

#sideBar .sBox .infoBox {
	border-bottom: none;
}

#sideBar .sBox .title {
	padding: 20px 0;
	background-color: var(--color-black);
	color: var(--color-main);
	font-size: min(4.26vw, 16px);
	font-family: var(--font-serif);
	font-weight: 400;
	text-align: center;
}

#sideBar .sBox .sNavi {
	padding: 0 13px;
}

#sideBar .sBox .sNavi li {
	border-bottom: .5px dashed var(--color-gray);

	&:last-child {
		border-bottom: 0;
	}
}

#sideBar .sBox .sNavi li:first-child {
	background: none;
}

#sideBar .sBox .sNavi li a {
	padding: 14px 0;
	display: block;
	position: relative;
	font-size: min(3.73vw, 14px);
	padding-left: min(3.73vw, 14px);

	&::before {
		content: "〉";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 5;
		color: #c6b275;
	}
}

#sideBar .sBox .linkP {
	padding: 34px 12px 29px 0;
	font-size: 16px;
	font-weight: bold;
	text-align: right;
}

#sideBar .sBox .linkP a {
	padding-right: 34px;
	color: #1E1E1E;
	display: inline-block;
	background: url(../img/icon03.gif) no-repeat right 3px;
}

#sideBar .borderBox {
	margin-bottom: 20px;
	padding: 17px 10px 14px;
	border: 1px solid #E0E0E0;
}

#sideBar .borderBox .top {
	margin-bottom: 16px;
	color: #1E1E1E;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.7;
	text-align: center;
}

#sideBar .borderBox .top span {
	display: block;
	color: #1E1E1E;
	font-size: 12px;
	font-weight: normal;
}

#sideBar .borderBox .imgBox {
	margin-bottom: 15px;
}

#sideBar .borderBox .imgBox img {
	width: 100%;
}

#sideBar .borderBox .textUl {
	margin: 0 15px 14px;
}

#sideBar .borderBox .textUl li {
	margin-top: 7px;
	padding-top: 7px;
	color: #1E1E1E;
	background: url(../img/line01.gif) repeat-x left top;
}

#sideBar .borderBox .textUl li:first-child {
	margin: 0;
	padding-top: 0;
	background: none;
}

#sideBar .borderBox .textUl li span {
	padding-left: 18px;
	display: inline-block;
	background: url(../img/icon04.gif) no-repeat 2px 3px;
}

#sideBar .borderBox .link {
	margin: 0 3px;
}

#sideBar .borderBox .link img {
	width: 100%;
}

#sideBar .borderBox .link a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#sideBar .colorBox {
	margin-bottom: 20px;
	padding: 21px 0 19px;
	background-color: #F9EDF7;
}

#sideBar .colorBox p {
	margin-bottom: 24px;
}

#sideBar .colorBox p img {
	margin: 0 auto;
	width: 218px;
	display: block;
}

#sideBar .colorBox .photo img {
	margin: 0 auto;
	width: 174px;
	display: block;
}

#sideBar .colorBox .photo01 img {
	margin: 0 auto;
	display: block;
}



/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding-bottom: 16px;
	position: relative;
	background-color: var(--color-black);
}

@media screen and (max-width: 767px) {
	#gFooter {
		padding-bottom: 96px;
	}
}

.layout-footer-information {
	background-color: var(--color-gray-light02);

	>.inner {
		max-width: 1200px;
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 40px 0;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.layout-footer-information {
		>.inner {
			padding: 40px min(4.26vw, 16px);
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
	}
}

.layout-footer-information-contents {
	font-size: min(3.46vw, 14px);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;

	.logo {
		display: flex;
		max-width: 300px;

		.image {
			display: block;

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

		}
	}

	.text {
		margin-top: 32px;
		font-weight: normal;
	}
}

@media screen and (min-width: 768px) {
	.layout-footer-information-contents {
		.logo {
			&:hover {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-footer-information-contents {
		.logo {
			margin: 0 auto 16px;
			width: 70vw;

			&:active {
				opacity: .7;
				transition: ease .3s;
			}
		}

		.text {
			margin-top: 8px;
		}
	}
}

.layout-footer-information-contents02 {
	font-size: min(3.73vw, 12px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	line-height: 1.4;

	.title {
		font-size: min(3.73vw, 15px);
		font-family: var(--font-serif);
		letter-spacing: 2px;
		text-align: center;
		width: 100%;
		padding-bottom: 8px;
		margin-bottom: 8px;
		border-bottom: 1px solid var(--color-gray-dark);
		text-align: left;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			left: 0;
			top: calc(50% - 4px);
			transform: translateY(-50%);
			width: 4px;
			height: min(4.26vw, 40px);
			background-color: var(--color-gray);

		}
	}

	.address {
		width: 100%;
	}

	.button {
		font-size: min(3.46vw, 14px);
		text-align: center;
		display: block;
		text-decoration: none;
		transition: ease .3s;
		line-height: min(8.53vw, 32px);
		border: 1px solid var(--color-gray);

		>span {
			position: relative;
			padding-left: min(4.26vw, 16px);

			&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				font-size: min(3.2vw, 12px);
				color: var(--color-gold);
			}
		}
	}

	a {
		text-decoration: none;
		width: 100%;
		display: block;
		position: relative;
	}
}

@media screen and (min-width: 768px) {
	.layout-footer-information-contents02 {

		>li {
			position: relative;
			border-left: .5px dashed var(--color-black);

			&:first-child {
				border-left: 0;
			}

			&:last-child {
				border-right: 0;

				a {
					padding-right: 0;
				}
			}
		}

		.title {
			text-align: center;

			&::before {
				content: none;
			}
		}

		.address {
			height: 56px;
		}

		a {
			padding: 0 min(4.26vw, 16px);
			transition: ease .3s;

			&::before {
				right: 4px;
				bottom: 0;
			}

			&:hover {
				opacity: .7;
				transition: ease .3s;
			}
		}

		.nagaokakyo {
			>span {
				&::before {
					color: var(--color-nagaokakyo);
				}
			}
		}

		.saiin {
			>span {
				&::before {
					color: var(--color-saiin);
				}
			}
		}

		.katsura {
			>span {
				&::before {
					color: var(--color-katsura);
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-footer-information-contents02 {
		grid-template-columns: repeat(1, 1fr);
		gap: 32px;
		width: 100%;
		font-size: min(3.46vw, 14px);
		margin-top: 40px;
		gap: 8px;

		>li {
			background-color: var(--color-gray-light);
			padding: 0;
		}

		.title {
			margin-bottom: 16px;
			padding: 0 0 8px min(3.46vw, 24px);
		}

		.nagaokakyo {
			&::before {
				background-color: var(--color-nagaokakyo);
			}
		}

		.katsura {
			&::before {
				background-color: var(--color-katsura);
			}
		}

		.saiin {
			&::before {
				background-color: var(--color-saiin);
			}
		}

		.button {
			width: 100%;
			margin-top: 20px;
			border: .5px solid var(--color-gray);
			color: var(--color-gold-dark);

			>span {
				&::before {
					color: var(--color-white);
				}
			}
		}

		a {
			padding: min(5.33vw, 24px);
			width: 100%;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			width: 100%;
			min-height: min(42.6vw, 160px);
			border: .5px solid var(--color-gold);
			transition: ease .3s;

			&::before {
				right: 0;
				bottom: 0;
			}

			&:active {
				background-color: var(--color-gray-light);
				transition: ease .3s;
			}
		}

		.nagaokakyo {
			span {
				&::before {
					color: var(--color-nagaokakyo);
				}
			}
		}

		.saiin {
			span {
				&::before {
					color: var(--color-saiin);
				}
			}
		}

		.katsura {
			span {
				&::before {
					color: var(--color-katsura);
				}
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.footer-menu-list-2fr {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}
}

#gFooter .fBox {
	margin-bottom: 40px;
	padding: 47px 0 40px;
	background: var(--color-black);
}

#gFooter .fBox .infoBox {
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

#gFooter .fBox .infoBox p {
	margin-bottom: 20px;
	padding-bottom: 14px;
	font-size: 15px;
	font-weight: bold;
	border-bottom: 1px solid var(--color-white);
}

@media screen and (max-width: 767px) {
	#gFooter .fBox .infoBox p {
		border-bottom: .5px solid var(--color-gray-dark);
	}
}

#gFooter .fBox .infoBox p a {
	color: var(--color-white);
	padding-left: min(6.4vw, 24px);
	position: relative;
	display: inline-block;
	font-weight: 400;

	&::before {
		content: "";
		position: absolute;
		background: url("../img/common/icon-home-wt.svg") no-repeat center center / 100%;
		width: min(3.73vw, 16px);
		height: min(3.73vw, 16px);
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 5;
	}

}

#gFooter .fNavi li {
	margin-right: 10px;
	float: left;
}

#gFooter .fNavi li a {
	color: var(--color-white);
}

#gFooter .fNavi li ul li {
	float: none;
	width: auto;
	font-size: min(3.2vw, 14px);
}

#gFooter .fNavi li ul li a {
	padding: 4px 0 4px min(4.26vw, 16px);
	display: inline-block;
	position: relative;
	line-height: 1.4;

	&::before {
		content: "〉";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}

#gFooter .fNavi li ul li ul {
	padding-left: 15px;
}

#gFooter .fNavi li ul li ul li a {
	padding: 4px 0 4px min(4.26vw, 16px);

	&::before {
		content: "- ";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}

#gFooter .fLogo {
	margin-bottom: 35px;
	text-align: center;
}

#gFooter .fLogo img {
	width: 305px;
}

#gFooter .btmText {
	margin-bottom: 34px;
	line-height: 1.4;
	text-align: center;
	font-size: min(3.2vw, 13px);
}

#gFooter .copyright {
	font-size: min(3.2vw, 13px);
	text-align: center;
	color: var(--color-white);

	a {
		text-decoration: underline;
		color: var(--color-white);
	}
}

@media screen and (min-width: 768px) {
	#gFooter .copyright {
		a {
			&:hover {
				text-decoration: none;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	#gFooter .copyright {
		a {
			&:active {
				text-decoration: none;
			}
		}
	}
}

.sp {
	display: none !important;
}

@media all and (min-width: 0) and (max-width: 767px) {

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	a:hover img {
		filter: alpha(opacity=100) !important;
		opacity: 1 !important;
	}

	body {
		min-width: inherit;
	}

	#gHeader .spBox {
		position: relative;
		z-index: 100;
		background-color: var(--color-black);
	}

	#gHeader .spMenuBoxUl {
		display: grid;
		grid-template-columns: 59.1% 40.9%;
	}

	#gHeader .spMenuBoxUl>li {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 39px;
	}

	#gHeader .spReser {
		border-right: .5px solid var(--color-text);
	}

	#gHeader .spReser a {
		display: block;
		width: 100%;
		height: 100%;
		color: var(--color-white);
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 15px;
	}

	#gHeader .spReser a:hover {
		text-decoration: none;
	}

	#gHeader .spBox .spReser a p {
		position: relative;
		padding-left: 24px;
	}

	#gHeader .spBox .spReser a p::before {
		content: "";
		position: absolute;
		left: -8px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		background-repeat: no-repeat;
		background-size: 24px;
		background-image: url("../img/icon_reser01.svg");
		width: 24px;
		height: 21px;
	}

	#gHeader .spBox .spReser a p::after {
		content: "";
		position: absolute;
		right: -18px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		background-repeat: no-repeat;
		background-size: 11px;
		background-image: url("../img/icon_reser03.svg");
		width: 11px;
		height: 7px;
	}

	#gHeader .spBox .spTel {
		text-align: center;
		box-sizing: border-box;
	}

	#gHeader .spBox .spTel a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		color: var(--color-white);
		font-size: 15px;
	}

	#gHeader .spBox .spTel a:hover {
		text-decoration: none;
	}

	#gHeader .spBox .spTel p {
		position: relative;
		padding-left: 14px;
	}

	#gHeader .spBox .spTel a p::before {
		content: "";
		position: absolute;
		left: -2px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		background-repeat: no-repeat;
		background-size: 13px;
		background-image: url("../img/icon_tel.svg");
		width: 13px;
		height: 19px;
	}

	#gHeader .spBox .spTel img {
		width: 86px;
	}

	#gHeader .spBox .menu {
		position: absolute;
		top: calc(-50% - 35px);
		transform: translateY(-50%);
		right: min(4.26vw, 16px);
		width: min(10.66vw, 40px);
		height: min(10.66vw, 40px);
		text-align: center;
	}

	#gHeader .spBox .menu .closeImg {
		display: none;
	}

	#gHeader .spBox .menu .menuImg,
	#gHeader .spBox .menu .on .closeImg {
		display: block;
		margin: 0 auto;
		width: 100%;
		height: auto;
	}

	#gHeader .spBox .menu .on .menuImg {
		display: none;
	}

	#gNavi {
		display: none;
	}

	#main {
		margin-bottom: 0;
		width: auto;
	}

	#conts {
		width: auto;
		float: none;
	}

	#sideBar {
		display: none;
		width: auto;
		float: none;
	}

	#sideBar .borderBox {
		margin: 0 16px 10px;
		padding: 12px 10px 6px;
	}

	#sideBar .borderBox .top {
		margin-bottom: 15px;
		font-size: 13px;
	}

	#sideBar .borderBox .top span {
		font-size: 10px;
	}

	#sideBar .borderBox .imgBox {
		margin: 0;
		float: right;
		width: 45%;
		border-radius: 6px;
		overflow: hidden;
	}

	#sideBar .borderBox .imgBox img {
		width: 100%;
	}

	#sideBar .borderBox .textUl {
		margin: 0;
		padding-right: 47%;
	}

	#sideBar .borderBox .textUl li {
		padding-top: 4px;
		margin-top: 2px;
		font-size: 11px;
	}

	#sideBar .borderBox .textUl li span {
		padding-left: 13px;
		background-size: 8px 9px;
	}

	#sideBar .borderBox .link {
		display: none;
	}

	#sideBar .bannerBox {
		display: none;
	}

	#sideBar .searchBox {
		display: none;
	}

	#sideBar .sBox {
		display: none;
	}

	#sideBar .colorBox {
		margin: 0 16px 10px;
		padding: 5px 10px 7px;
		overflow: hidden;
	}

	#sideBar .colorBox p {
		float: left;
		margin: 0;
		padding: 12% 0 0 8px;
		width: 64%;
	}

	#sideBar .colorBox p img {
		width: 100%;
	}

	#sideBar .colorBox .photo {
		float: right;
		width: 25.5%;
	}

	#sideBar .colorBox .photo img {
		width: 100%;
	}

	#sideBar .colorBox .photo01 {
		margin: 0 auto;
		width: 90%;
	}

	#sideBar .colorBox .photo01 img {
		width: 100%;
	}


	#sideBar .faceBook {}

	#sideBar .faceBook iframe,
	#sideBar .faceBook object,
	#sideBar .faceBook embed {
		margin-left: 7%;
	}

	#gFooter .fBox {
		margin-bottom: 26px;
		padding: 20px 0 0;
	}

	#gFooter .fBox .infoBox {
		width: 100%;
	}

	#gFooter .fBox .infoBox p {
		margin-bottom: 0;
		padding-bottom: 7px;
		padding: 7px;
	}

	#gFooter .fNavi>li>ul {
		display: flex;
		flex-wrap: wrap;
	}

	#gFooter .fNavi li {
		margin-right: 0;
		float: none;
		width: 100%;
	}

	#gFooter .fNavi>li>ul>li {
		float: none;
		width: 50%;
	}

	#gFooter .fNavi li ul li {
		border-right: .5px solid var(--color-gray-dark);
		border-bottom: .5px solid var(--color-gray-dark);
		border-top: .5px solid var(--color-gray-dark);
		margin-top: -1px;
	}

	#gFooter .fNavi li ul li a {
		display: flex;
		align-items: center;
		height: 52px;
		border-collapse: collapse;
		padding: 4px 0 4px min(5.33vw, 20px);

		&::before {
			left: min(2.13vw, 8px);
		}
	}

	#gFooter .fNavi li ul li:nth-child(2n) {
		border-right: none;
	}

	#gFooter .fNavi li ul li ul {
		padding-left: 0;
	}

	#gFooter .fNavi li ul li ul li a {
		padding: 4px 0 4px min(5.33vw, 20px);

		&::before {
			left: min(2.13vw, 8px);
		}
	}

	#gFooter .fNavi li .ulStyle01 li {
		width: 100%;
	}

	#gFooter .fNavi li .ulStyle01>li {
		border-right: none;
	}

	#gFooter .fNavi li .ulStyle01 li ul {
		display: flex;
		flex-wrap: wrap;
	}

	#gFooter .fNavi li .ulStyle01 ul {
		border-top: .5px solid var(--color-gray-dark);
	}

	#gFooter .fNavi li .ulStyle01 li li {
		width: 50%;
	}

	#gFooter .fNavi li .ulStyle01 li li:last-child {
		border-bottom: none;
	}

	#gFooter .fLogo,
	#gFooter .btmText {
		display: block;
	}

	#gFooter .btmText {
		margin-bottom: 0;
		line-height: 1.6;
		text-align: center;
	}

}

.banner_ikai {
	text-align: center;
	margin: min(4.26vw, 16px) auto;
	display: block;
}

@media screen and (max-width:767px) {
	.banner_ikai img {
		display: block;
		width: 180px;
		height: auto;
		margin: auto;
	}
}

/* アコーディオンボックス */
#acBoxUl {
	list-style: none;
	width: 100%;
	margin: 0 auto;

}

@media screen and (max-width: 767px) {
	#acBoxUl {
		grid-template-columns: 1fr;
	}
}

.acTtl,
.acTtl02,
.acTtl03 {
	position: relative;
	cursor: pointer;
	font-size: 1.6rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	height: 56px;
	line-height: 1.4;
	padding: 0 16px;
	transition: all .3s ease;

}

.acTtl::after,
.acTtl02::after,
.acTtl03::after {
	content: '';
	position: absolute;
	top: 95%;
	right: 1%;
	width: 24px;
	height: 24px;
	border: 1px solid #F0527D;
	transform: translateY(-50%);
	box-sizing: border-box;

	/* ＋を描く */
	background:
		linear-gradient(#F0527D, #F0527D) center / 14px 1px no-repeat,
		linear-gradient(#F0527D, #F0527D) center / 1px 14px no-repeat;

	transition: .3s;
}

/* 開いたとき（−） */
.acTtl.close::after,
.acTtl02.close::after,
.acTtl03.close::after {
	background:
		linear-gradient(#F0527D, #F0527D) center / 14px 1px no-repeat;
}


.acBoxConts,
.acBoxConts02,
.acBoxConts03 {
	display: none;
	margin-top: -1px;
	padding: 16px;
	font-size: 1rem;
	line-height: 1.8;
	background-color: #FEEEF1;
	border-top: 0;
	overflow-y: auto;
}

.acBoxConts {
	height: 200px;
}

.acBoxConts02 {
	height: 250px;
}

.acBoxConts03 {
	height: 350px;
}


.acBoxConts img {
	display: block;
	margin: 30px auto 30px;
}


.acoimg {
	width: 700px;
	height: auto;
}

.acBoxUl__in h4 {

	width: 100%;
	display: block;
	text-align: center;
	font-size: 18px;
	margin-bottom: 32px;
	margin-top: -16px;
}

@media screen and (max-width:767px) {

	.acBoxConts img {

		width: 80%;
		height: auto;
	}


	.acBoxUl__in h4 {
		font-size: 16px;

	}

	.acBoxConts {
		height: 320px;
	}

	.acBoxConts02 {
		height: 390px;
	}

	.acBoxConts03 {
		height: 490px;
	}
}


.acBoxUl__in .text02 span {
	margin-top: 19px;
	display: block;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

/*================================
-メインビジュアル
=================================*/

.layout-mainvisual {
	margin: 0 auto 80px;
	display: block;
	position: relative;
	width: 100%;

	>.inner {
		background-color: var(--color-gray-light02);
		margin: 0 auto;
	}

	>.inner02 {
		max-width: 1200px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.layout-mainvisual {
		margin: 70px auto 56px;
	}
}

.layout-visual-slider-main {
	margin: 0 auto 20px;
	max-width: 1200px;
	overflow: hidden;
	position: relative;

	.image {
		cursor: pointer;
		position: relative;
		transition: ease .3s;

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

	.text {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 100%;
		background-color: #F1F0EC;
		font-size: min(2.8vw, 18px);
		padding: min(2.13vw, 24px) min(4vw, 24px);
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: justify;
	}
}

@media screen and (min-width: 1212px) {
	.layout-visual-slider-main {
		.text {
			max-width: 894px;
			height: 114px;
		}
	}
}

@media screen and (max-width: 1211px) {
	.layout-visual-slider-main {
		.text {
			max-width: 865px;
			height: 208px;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-visual-slider-main {
		.text {
			height: auto;
		}
	}
}

.layout-visual-slider-thumb {
	margin: 24px auto 0;

	>.inner {
		width: 100% !important;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 8px;
		margin: auto;
	}
}

@media screen and (min-width: 768px) {
	.layout-visual-slider-thumb {
		max-width: calc(1200px + 32px);
	}
}

@media screen and (max-width: 767px) {
	.layout-visual-slider-thumb {
		margin: 0 auto;
		padding: 0 min(4.26vw, 16px);
	}
}

.layout-visual-slider-thumb-image {
	margin: 0 !important;
	padding: 0 !important;
	transition: ease .3s;
	cursor: pointer;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, .2);
		z-index: 2;
	}

	img {
		width: 100%;
		height: auto;
		display: block;
		border: 1px solid var(--color-gray-light02);
		overflow: hidden;
		position: relative;
	}
}

.swiper-slide-thumb-active {
	&::before {
		background-color: initial;
	}

	img {
		border: 1px solid var(--color-gold);
	}
}

@media (min-width: 768px) {
	.layout-visual-slider-thumb-image {
		width: 100% !important;

		&:hover {
			transition: ease .3s;
			opacity: .7;
		}
	}
}

@media (max-width: 767px) {
	.layout-visual-slider-thumb-image {
		&:active {
			transition: ease .3s;
			opacity: .7;
		}
	}
}

.layout-visual-slide-text {
	display: flex;
	justify-content: center;
	font-size: min(3.46vw, 14px);
	margin: auto;
	padding: 24px min(4.26vw, 16px) 0;

	>span {
		text-align: center;
	}
}

/*================================
-レイアウト 医院ページ外枠
=================================*/

.layout-clinic-wrapper {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: auto;

	.contents {
		order: 2;
	}
}

/*================================
-260212 外枠
=================================*/

.layout-top-section,
.layout-top-section-background {
	margin: 0 auto 120px;
	text-align: justify;

	>.inner {
		margin: 0 auto;
		padding: 0;
	}
}

.layout-top-section-background {
	>.inner {
		background-color: var(--color-gray-light03);
		margin: 0 auto;
		padding: min(8.53vw, 44px) min(4.26vw, 32px);
	}
}

@media screen and (max-width: 767px) {

	.layout-top-section,
	.layout-top-section-background {
		margin: 0 auto min(19.2vw, 72px);
	}

	.layout-top-section {
		>.inner {
			padding: 0 min(4.26vw, 16px);
		}
	}

	.layout-top-section-background {
        background-color: var(--color-gray-light03);
		padding-top: min(19.2vw, 72px) !important;

		.layout-top-headline02 {
			margin-bottom: min(4.26vw, 16px);
		}

		>.inner02+.inner {
			padding-top: min(14.93vw, 56px);
		}

		>.inner {
			&:last-child {
				padding-bottom: min(14.93vw, 56px);
			}
		}
	}
}

/*================================
-パンくず（各医院ページ）
=================================*/


@media screen and (min-width: 768px) {
	.layout-top-clinic-breadcrumb {
		margin-top: -56px;
	}
}

@media screen and (max-width: 767px) {
	.layout-top-clinic-breadcrumb {
		display: block;

		#pagePath {
			display: block;
			margin-top: -20px;
			padding: 0 min(4.26vw, 16px);
		}
	}
}

/*================================
-見出し
=================================*/

@media screen and (min-width: 768px) {
	.layout-mainvisual-headline {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 2;
		width: 100%;
		max-width: 1200px;
	}
}

@media screen and (max-width: 767px) {
	.layout-mainvisual-headline {
		position: relative;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 2;
	}
}

.layout-top-headline01 {
	font-family: var(--font-serif);
	font-size: min(3.2vw, 14px);
	letter-spacing: 0.05rem;
	font-weight: 400;
}

@media screen and (min-width: 768px) {
	.layout-top-headline01 {
		display: inline-flex;
		margin: 16px auto 0;
		position: absolute;
		top: 0;
		right: min(4.26vw, 16px);
		justify-content: flex-end;
		padding: 0 min(2.13vw, 8px);
		background-color: rgba(255, 255, 255, .9);
		height: min(4vw, 24px);
		line-height: min(4vw, 24px);
		text-align: right;
	}
}

@media screen and (max-width: 767px) {
	.layout-top-headline01 {
		text-align: center;
		background-color: var(--color-black);
		color: var(--color-white);
		width: 100%;
		justify-content: center;
		display: flex;
		padding: min(2.13vw, 8px);
	}
}

.layout-top-headline02 {
	font-family: var(--font-serif);
	font-size: min(5.86vw, 30px);
	line-height: 1.6;
	margin-bottom: min(14.93vw, 64px);
	position: relative;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0.1rem;

	&::before {
		content: "";
		position: absolute;
		left: calc(50% - 24px);
		bottom: -24px;
		transform: translateX(-50%);
		width: 40px;
		height: 3px;
		border-radius: 2px;
		background-color: var(--color-gold);
		z-index: 1;
	}

	&::after {
		content: "・・・・";
		position: absolute;
		left: calc(50% + 24px);
		bottom: -24px;
		transform: translateX(-50%);
		font-size: 20px;
		height: 3px;
		line-height: 3px;
		letter-spacing: -6px;
		color: var(--color-gold);
	}

	.large {
		font-size: min(10.66vw, 48px);
		color: var(--color-gold);
		display: inline-block;
		line-height: 1.2;
	}

	u {
		text-decoration: none;
		color: var(--color-gold);
	}
}

.layout-top-headline03 {
	font-weight: 600;

	.small {
		font-size: min(3.2vw, 16px);
		display: inline-block;
		padding: 0 min(1.06vw, 4px);
	}
}

.layout-top-headline03-b {
	/* background-color: var(--color-brown);
	color: var(--color-white); */
	border-bottom: 2px solid var(--color-gray);
	font-family: var(--font-serif);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: min(5.06vw, 22px);
	text-align: center;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 24px;
	letter-spacing: 0.1rem;
	position: relative;
	overflow: hidden;

	span {
		z-index: 5;
		position: relative;
		width: 100%;
		display: block;

		&::before,
		&::after {
			content: "・・・・";
			font-size: min(4.26vw, 16px);
			line-height: min(12.8vw, 48px);
			letter-spacing: -6px;
			color: var(--color-gray);
			display: inline-block;
			height: min(12.8vw, 48px);
		}

		&::before {
			left: min(4.26vw, 16px);
			padding-right: min(5.33vw, 20px);
		}

		&::after {
			right: min(4.26vw, 16px);
			padding-left: min(5.33vw, 20px);
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-top-headline03-b {
		font-weight: 600;
	}
}

/*================================
-見出し（下層用）
=================================*/

.layout-sub-headline03,
.layout-sub-headline03-c {
	font-family: var(--font-serif);
	font-size: min(4.8vw, 22px);
	text-align: left;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 24px;
	letter-spacing: 0.1rem;
	position: relative;
	overflow: hidden;
	border-bottom: 2px solid var(--color-brown);
	padding-bottom: min(2.13vw, 8px);

	.small {
		display: inline-block;
		font-size: min(3.46vw, 13px);
	}
}

@media screen and (min-width: 768px) {

	.layout-sub-headline03,
	.layout-sub-headline03-c {
		.small {
			padding-left: min(2.13vw, 8px);
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-sub-headline03,
	.layout-sub-headline03-c {
		display: block;

		.small {
			display: block;
		}
	}
}

.layout-sub-headline03-b {
	background-color: var(--color-brown);
	color: var(--color-white);
	font-family: var(--font-serif);
	padding: min(2.13vw, 8px) min(4.26vw, 16px);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: min(12.8vw, 48px);
	font-size: min(4.8vw, 20px);
	text-align: center;
	font-weight: 400;
	line-height: 1.4;
	margin-bottom: 24px;
	letter-spacing: 0.1rem;
	position: relative;
	overflow: hidden;

	span {
		z-index: 5;
		position: relative;
		width: 100%;
		display: block;

		&::before,
		&::after {
			content: "・・・・";
			font-size: min(4.26vw, 16px);
			line-height: min(12.8vw, 48px);
			letter-spacing: -6px;
			color: var(--color-white);
			display: inline-block;
			height: min(12.8vw, 48px);
		}

		&::before {
			left: min(4.26vw, 16px);
			padding-right: min(5.33vw, 20px);
		}

		&::after {
			right: min(4.26vw, 16px);
			padding-left: min(5.33vw, 20px);
		}
	}
}

.layout-sub-headline03-c {
	border-bottom: 2px solid var(--color-gold);
}

.layout-sub-headline04 {
	background-color: var(--color-brown);
	color: var(--color-white);
	font-family: var(--font-serif);
	padding: min(2.13vw, 8px) min(4.26vw, 16px);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: min(12.8vw, 48px);
	font-size: min(4.26vw, 18px);
	text-align: center;
	font-weight: 400;
	line-height: 1.4;
	margin-bottom: 24px;
	letter-spacing: 0.1rem;
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 767px) {

	.layout-sub-headline03,
	.layout-sub-headline03-b,
	.layout-sub-headline04 {
		font-weight: 600;
	}
}

/*================================
-症例一覧
=================================*/

.layout-top-case-photo {
	margin: 0;

	img {
		width: 100%;
		height: auto;
		display: block;
		margin: 0;
	}
}

@media screen and (max-width: 767px) {
	.layout-top-case-photo {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;
		background-color: #fafafa;
		padding: 0;
	}
}

.layout-top-case {
	display: grid;
	grid-template-columns: 52% 1fr;
	gap: min(5.33vw, 40px);
	background-color: var(--color-gray-light03);
	padding: min(8.53vw, 44px) min(4.26vw, 32px);
}

@media screen and (max-width: 767px) {
	.layout-top-case {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-top-case02 {
	padding: 0 min(4.26vw, 32px) min(8.53vw, 44px);
	background-color: var(--color-gray-light03);
}

@media screen and (max-width: 767px) {
	.layout-top-case02 {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;
		padding-bottom: min(14.93vw, 56px);
	}
}

.layout-top-case-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;

	>li {
		background-color: #5b5b5b;
		color: var(--color-white);
		padding: min(2.13vw, 8px);
		border-radius: min(2.13vw, 8px);
		font-size: min(3.46vw, 14px);

		>span {
			position: relative;
			display: block;
			padding-left: min(2.13vw, 12px);
			text-align: center;

			&::before {
				content: "";
				position: absolute;
				left: 3px;
				top: calc(50% - 3px);
				width: 10px;
				height: 5px;
				border-left: 1px solid var(--color-white);
				border-bottom: 1px solid var(--color-white);
				transform: rotate(-45deg) translateY(-50%);
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-top-case-list {
		>li {
			>span {
				text-align: center;
			}
		}
	}
}


/*================================
-症例検索
=================================*/

.layout-top-search {
	background-color: var(--color-gray-light);
	position: relative;
	display: grid;
	grid-template-columns: 60% 1fr;
	gap: 16px;
	text-align: justify;
	border: 2px solid var(--color-gray-light02);

	.image {
		margin: 0;

		>img {
			width: 100%;
			height: 100%;
			display: block;
			aspect-ratio: 141 / 100;
			object-fit: cover;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-top-search {
		grid-template-columns: 1fr;
		gap: 0;

		.image {
			padding: min(4.26vw, 32px) min(4.26vw, 32px) 0;
			overflow: hidden;
			margin: auto;

			>img {
				aspect-ratio: 2 / 1;
			}
		}

		.layout-top-search-contents {
			order: 2;
		}

		.image {
			order: 1;
		}
	}
}

.layout-top-search-contents {
	padding: min(5.33vw, 32px) min(4.26vw, 32px);
	position: relative;
	z-index: 5;

	.button {
		margin: 40px auto 0;
		display: flex;
		justify-content: center;

		a {
			font-size: min(3.73vw, 14px);
			height: min(12.8vw, 48px);
			display: flex;
			align-items: center;
			background-color: var(--color-gold-dark);
			color: var(--color-white);
			max-width: 280px;
			width: 100%;
			transition: ease .3s;
			justify-content: center;

			span {
				text-align: center;
				position: relative;
				padding-left: min(4.26vw, 16px);

				&::before {
					content: "▶";
					position: absolute;
					left: 0;
					top: 50%;
					transform: translateY(-50%);
					font-size: min(3.2vw, 12px);
				}
			}

			&:hover {
				transition: ease .3s;
				text-decoration: none;
				opacity: .7;
			}
		}
	}
}



/*================================
-3つの特徴
=================================*/

.layout-top-feauture-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;

	>li {
		border: 2px solid var(--color-gray-light02);
		background-color: var(--color-gray-light);
		padding: min(8.53vw, 32px) min(4.26vw, 32px);
		position: relative;
		min-height: 240px;

		&::before {
			content: "";
			position: absolute;
			display: block;
			left: 0;
			top: 0;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(10.66vw, 40px) min(10.66vw, 40px) 0px 0px;
			border-color: var(--color-gray-light02) transparent transparent transparent;
		}
	}
}

.layout-top-feauture-headline {
	position: relative;
	font-size: min(5.06vw, 22px);
	font-family: "Noto Serif JP", serif;
	margin-bottom: 32px;
	padding-left: min(14.93vw, 56px);

	.number {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		font-size: min(10.66vw, 40px);
		color: var(--color-gold);
		transform: translateY(-50%);
		letter-spacing: -8px;
	}

	.layout-top-headline03 {
		padding-left: min(4vw, 20px);
		border-left: 1px solid #ccc;
		height: min(14.93vw, 56px);
		font-weight: 500;
		display: flex;
		align-items: center;
	}
}

.layout-top-feauture-item-2fr {
	display: grid;
	grid-template-columns: 35% 1fr;
	gap: 32px;
}

@media screen and (max-width: 767px) {
	.layout-top-feauture-item-2fr {
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-top-feauture-box {
	background-color: var(--color-gold-light);
	padding: min(4.26vw, 16px);
	font-family: "Noto Serif JP", serif;
	font-size: min(3.73vw, 14px);

	.text-att {
		margin: 0 auto;
		display: flex;
		justify-content: center;

		>span {
			position: relative;
			padding-left: min(calc(3.73vw + 1px), calc(14px + 1px));
			display: block;

			&::before {
				content: "※";
				position: absolute;
				left: 0;
				top: 0;
				z-index: 1;
			}
		}
	}

	.small {
		font-size: min(3.2vw, 12px);
	}
}

@media screen and (max-width: 767px) {
	.layout-top-feauture-box {
		.text-att {
			justify-content: flex-start;
		}
	}
}

.layout-top-feauture-box-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;

	>li {
		border-bottom: .5px dashed #97907c;
		display: flex;
		align-items: center;
		height: min(8.53vw, 32px);
		padding-left: min(4.26vw, 16px);
		white-space: nowrap;
		position: relative;
		line-height: 1.4;

		&::before {
			content: "・";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			z-index: 1;
		}

		&:last-child {
			border-bottom: 0;
		}
	}

	.small {
		font-size: min(3.2vw, 11px);
	}
}

@media screen and (max-width: 767px) {
	.layout-top-feauture-box-list {
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-top-feauture-extraction {
	font-weight: bold;
	margin: 24px auto 8px;
	padding-bottom: 8px;
	text-align: center;
	font-size: min(4.26vw, 14px);
	border-bottom: .5px solid #1E1E1E;
}

/*================================
-院長紹介
=================================*/

.layout-top-greeting {
	margin: -40px auto 32px;

	.image {
		margin: 0 auto 40px;
		position: relative;
		overflow: hidden;

		&::before {
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			background-color: #5b5b5b;
			width: 100%;
			height: min(53.3vw, 200px);
			z-index: 1;
		}

		>img {
			width: 50%;
			height: auto;
			display: block;
			position: relative;
			z-index: 5;
		}

		figcaption {
			position: absolute;
			font-size: min(4.8vw, 22px);
			right: min(10.66vw, 80px);
			top: calc(50% + min(5.33vw, 64px));
			transform: translateY(-50%);
			color: var(--color-white);
			z-index: 4;
			padding-bottom: min(2.13vw, 8px);
			border-bottom: 1px solid var(--color-white);

			span {
				font-size: min(4.26vw, 16px);
				display: inline-block;
				margin-right: min(5.33vw, 20px);
			}
		}
	}

	.image02 {
		margin: 40px auto;
		display: block;
		max-width: 500px;

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

	.title {
		background-color: var(--color-black);
		display: flex;
		align-items: center;
		margin-bottom: 24px;
		position: relative;

		>span {
			padding: 12px min(4.16vw, 16px);
			width: 100%;
			position: relative;
			display: flex;
			overflow: hidden;
			font-weight: 400;
			line-height: 1.4;
			color: var(--color-white);
			font-size: min(5.06vw, 22px);
			font-family: "Noto Serif JP", serif;
			position: relative;
			z-index: 5;

			&:before {
				content: "";
				position: absolute;
				right: 64px;
				top: 50%;
				width: 1px;
				height: 300%;
				background-color: var(--color-gold);
				transform: rotate(45deg) translateY(-50%);
			}
		}


		&:after {
			content: "";
			position: absolute;
			left: min(5.33vw, 20px);
			bottom: -6px;
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(2.13vw, 10px) min(5.33vw, 20px) 0px min(5.33vw, 20px);
			border-color: var(--color-black) transparent transparent transparent;
			z-index: 1;
		}

	}

	.text {
		margin-bottom: 24px;
		text-align: justify;

		b,
		strong {
			font-weight: 400;
			display: inline;
			background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
		}
	}

	.text+.title {
		margin-top: 64px;
	}

	.contents {
		margin-bottom: 40px;

		.text {
			&:last-child {
				margin-bottom: 0;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-top-greeting {
		.image {
			width: calc(100% + 4.26vw * 2);
			margin-left: -4.26vw;

			&::before {
				height: min(34.6vw, 240px);
			}

			img {
				width: 55vw;
				left: -6vw;
			}
		}
	}
}

/*=============================
--スライダー
=============================*/

.galleryWrap {

	margin: 0 auto 80px;
	overflow: hidden;
	padding-bottom: 16px;
	margin-left: -40px;
}

.galleryBoxImg {
	width: 100%;
	height: auto;
}

.galleryBoxImg>img {
	width: 95%;
	height: auto;
}

@media (max-width: 767px) {
	.galleryWrap {

		padding: 16px;
	}
}

#slickThumb {
	margin-top: 8px;
}

#slickThumb li {
	padding: 0 4px;
}

/* slickCSS */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.layout-slick-thumbnail {
	width: calc(100% + 4px);
	margin: 16px 0 0 -2px;
}

@media screen and (max-width: 767px) {
	.layout-slick-thumbnail {
		width: calc(100% + 16px);
		margin: 16px 0 0 -8px;
	}
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}


.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

.slick-loading .slick-list {
	background: var(--color-white);
}

.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 20px;
	height: 20px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	color: transparent;
	outline: none;
	background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: .25;
}

.slick-prev:before,
.slick-next:before {
	font-family: 'slick';
	font-size: 20px;
	line-height: 1;
	opacity: .75;
	color: var(--color-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-prev {
	left: -25px;
}

[dir='rtl'] .slick-prev {
	right: -25px;
	left: auto;
}

.slick-prev:before {
	content: '←';
}

[dir='rtl'] .slick-prev:before {
	content: '→';
}

.slick-next {
	right: -25px;
}

[dir='rtl'] .slick-next {
	right: auto;
	left: -25px;
}

.slick-next:before {
	content: '→';
}

[dir='rtl'] .slick-next:before {
	content: '←';
}

.slick-dotted.slick-slider {
	margin-bottom: 120px;

}

.slick-dots {
	position: absolute;
	bottom: -25px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}

.slick-dots li button:before {
	font-family: 'slick';
	font-size: 6px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	content: '•';
	text-align: center;
	opacity: .25;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
	opacity: .75;
	color: #000;
}

.slick-dots {
	bottom: -40px;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.slick-dots li button:before {
	font-size: 25px !important;
}

.slick-track {
	overflow: hidden;
}

/*# sourceMappingURL=index.css.map */


.gropin img {
	width: 45%;
	height: auto;
	padding: 10px;
}

.gropin {
	text-align: center;
	margin-bottom: 64px;

}

.grpin {
	position: relative;
	margin-bottom: 50px;
	font-size: 20px;
}

.grpin::after {
	content: "";
	display: inline-block;
	background: url(../../img/index/sp_h3_img.png);
	position: absolute;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	bottom: -40px;
	width: 90%;
	height: 100px;
	left: 50%;
	transform: translate(-50%);
}



.slid_cont {
	margin: 0 auto;
	width: 100%;
}

.slid_cont img {
	height: auto;
	width: 100%;

}

@media screen and (max-width:767px) {

	.slid_cont {
		overflow: hidden;
		margin-top: 16px;
		height: 67vw;
	}

	.fb-page {
		text-align: center;
	}

}

.slick-dots {
	margin: 10px;
}


.thumbnail-img {
	border: 0;
	padding: 0 4px !important;
}

#gHeader .hBox .linkUl li .spaceDel {
	padding: 6px 4px 6px 3px;
}

#gHeader .hBox .linkUl li .spaceDel02 {
	padding: 6px 4px 6px 0;
	margin-left: -1px;
}

.bnrBox:not(:last-child) {
	margin-bottom: 15px;
}

.bnrBox img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width:767px) {
	.bnrBox {
		display: flex;
		justify-content: space-between;
		width: 92%;
		margin: 0 auto;
		padding: 12px 0 48px;
	}

	.bnrBox p {
		width: 49%;
	}

}

.att-box {
	margin-bottom: 16px;
	position: relative;
	padding-left: 1.1em;
	text-indent: -1.1em;
}

.att-box::before {
	content: "※";
}

@media screen and (max-width:767px) {
	.att-box {
		margin: 0 16px 24px;
	}
}

/* 240321 追加 */

.search-case-button {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	width: 80%;
	margin: auto;
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.search-case-button {
		grid-template-columns: repeat(1, 1fr);
		width: 100%;
	}
}

.search-case-button>li {
	width: 100%;
}

.search-case-button>li>a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 56px;
	background-color: #ededed;
	border-radius: 8px;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	padding-left: 72px;
}

.search-case-button>li>a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: url("../img/common/search-button.svg") no-repeat center center / 100%;
	width: 58px;
	height: 56px;
	z-index: 2;
	pointer-events: none;
}

.search-case-button>li>a:hover {
	text-decoration: none;
	opacity: .7;
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.search-case-button>li>a:hover {
		opacity: 1;
	}

	.search-case-button>li>a:active {
		opacity: .7;
	}


}

.search-case-button>li:nth-of-type(1)>a {
	background-color: #f04a70;
	border: 1px solid #f04a70;
	color: var(--color-white);
}

.search-case-button>li:nth-of-type(2)>a {
	background-color: #c5e933;
	border: 1px solid #c5e933;
	color: #000;
}

.search-case-button>li:nth-of-type(3)>a {
	background-color: #ef889c;
	border: 1px solid #ef889c;
	color: var(--color-white);
}

.search-case-button>li:nth-of-type(4)>a {
	background-color: #289fd1;
	border: 1px solid #289fd1;
	color: var(--color-white);
}

@media all and (min-width: 0px) and (max-width: 767px) {

	.search-case-button>li {
		margin: auto;
		max-width: 240px;
	}
}

.search-case-button>li>a>span {
	font-size: min(3.4vw, 16px);
	line-height: 1.4;
	font-weight: 600;
}

/*================================
-経歴
=================================*/

/* 240321 追加 */
.layout-top-profile-career-box {
	background-color: var(--color-gray-light);
	border: 2px solid var(--color-gray-light02);
	padding: min(5.33vw, 40px);
	display: grid;
	grid-template-columns: 56% 1fr;
	gap: 24px;

	.ttl {
		font-size: min(4.8vw, 18px);
		font-family: var(--font-serif);
		color: var(--color-gold-dark);
		margin-bottom: 16px;
	}
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.layout-top-profile-career-box {
		grid-template-columns: repeat(1, 1fr);
		gap: 24px;
	}
}

.layout-top-profile-career-box>li dd,
#conts .doctorBox p {
	line-height: 1.6;
	font-size: min(3.46vw, 14px);
}

.layout-top-profile-career-box dl {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 8px;
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.layout-top-profile-career-box dl {
		grid-template-columns: 21vw 1fr;
	}
}

.layout-top-profile-career-box dt {
	white-space: nowrap;
	font-weight: 600;
	font-family: var(--font-serif);
}

.profile-belong-box,
.layout-top-profile-career-box__inner {
	border-left: 1px solid var(--color-black);
	padding-left: 24px;
	font-size: min(3.46vw, 14px);
	line-height: 1.6;
}

@media all and (min-width: 0px) and (max-width: 767px) {

	.profile-belong-box,
	.layout-top-profile-career-box__inner {
		padding-left: 12px;
	}
}

.profile-belong-box {
	margin-top: 8px;
}

.profile-belong-box p {
	padding: 4px 0 4px 16px;
	position: relative;
}

.profile-belong-box p:before {
	content: "・";
	position: absolute;
	z-index: 2;
	left: 0;
	top: 5px;
}

.profile-belong-box-space {
	margin-bottom: 24px;
}

/*================================
-スタッフ紹介
=================================*/

.layout-top-staff-box {
	.headline {
		font-size: min(4.8vw, 18px);
		font-family: var(--font-serif);
		color: var(--color-white);
		padding: min(2.13vw, 8px) min(4.26vw, 16px);
		background-color: var(--color-black);
		margin-bottom: 24px;
		font-weight: 400;
		line-height: 1.6;
		letter-spacing: 0.1rem;
	}

	dl {
		font-size: min(3.46vw, 14px);
	}

	dt {
		font-family: var(--font-serif);
		font-size: min(4vw, 15px);
		font-weight: 600;
	}
}

@media screen and (min-width: 768px) {
	.layout-top-staff-box {
		width: 100%;
		margin: 0 auto;

		dl {
			display: flex;
			flex-flow: row wrap;
			line-height: 1.6;
		}

		dt {
			width: 20%;
			padding: 0 0 16px;
		}

		dd {
			width: 80%;
			margin: 0 0 16px;
			padding-left: 16px;
			border-left: 1px solid var(--color-black);
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-top-staff-box {
		.headline {
			text-align: center;
		}

		dl {
			display: flex;
			display: block;
			line-height: 1.6;
		}

		dt {
			width: 100%;
			padding: 0 0 4px;
		}

		dd {
			width: 100%;
			padding: 0;
			margin-bottom: 24px;
			border-left: 1px solid var(--color-black);
			padding-left: 12px;

			&:last-child {
				margin-bottom: 0;
			}

			a {
				color: #F25B7E;
			}
		}
	}
}

.layout-top-staff-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	font-size: min(4vw, 15px);
	gap: min(4.26vw, 16px);

	>li {
		font-family: var(--font-serif);
		font-weight: 600;
		position: relative;
		padding-left: min(4vw, 15px);

		&::before {
			content: "・";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			z-index: 5;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-top-staff-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

.layout-top-staff-2fr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(4.26vw, 16px);
}

@media screen and (max-width: 767px) {
	.layout-top-staff-2fr {
		grid-template-columns: repeat(1, 1fr);
		gap: min(10.66vw, 40px);
	}
}

/*================================
-240607 add case
=================================*/

.layout-case-risk {
	padding: 0 !important;

	>.inner {
		height: 220px;
		overflow-y: scroll;
		padding: min(2.13vw, 16px) min(4.26vw, 16px);
		text-align: justify;
	}
}

.layout-case-list,
.layout-case-list-ol {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;

	>li {
		position: relative;
		padding-left: 15px;
		font-size: min(3.46vw, 13px);
	}
}

.layout-case-list {
	>li {
		&::before {
			content: "・";
			position: absolute;
			left: 0;
			top: 0;
		}
	}
}

.layout-case-list-ol {
	counter-reset: item;
	list-style-type: none;

	>li {
		padding-left: 24px;

		&::before {
			counter-increment: item;
			content: "0" counter(item)'.';
			position: absolute;
			left: 0;
			top: 0;
			color: var(--color-gold-dark);
			font-weight: 500;
		}

		&:nth-of-type(10),
		&:nth-of-type(11),
		&:nth-of-type(12),
		&:nth-of-type(13),
		&:nth-of-type(14),
		&:nth-of-type(15),
		&:nth-of-type(16),
		&:nth-of-type(17),
		&:nth-of-type(18),
		&:nth-of-type(19),
		&:nth-of-type(20) {
			&::before {
				content: counter(item)'.';
			}
		}
	}
}

.layout-case-title {
	margin-top: 24px;
	padding-bottom: 4px;
	font-weight: 500;
	border-bottom: .5px solid var(--color-gold-dark);
	color: var(--color-gold-dark);
	margin-bottom: 12px !important;
}

@media all and (min-width: 0px) and (max-width: 767px) {

	.slide_selector {
		overflow: hidden;
	}
}

.layout-sub-case-introduce {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(10.66vw, 40px);
}

@media screen and (min-width: 768px) {
	.layout-sub-case-introduce {
		li {
			position: relative;

			&:nth-of-type(odd) {
				&::before {
					content: "";
					position: absolute;
					top: 0;
					right: max(-5.33vw, -20px);
					width: .5px;
					height: 100%;
					border-right: .5px dashed var(--color-gray);
					z-index: 2;
				}

			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-case-introduce {
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-sub-case-introduce-photo,
.layout-sub-case-introduce-photo-single,
.layout-sub-case-introduce-photo-single-1fr {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 8px);
	margin: 0 auto;
	max-width: 600px;

	.image {
		display: block;

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

	figcaption {
		font-size: min(3.46vw, 13px);
		font-family: var(--font-serif);
		margin: min(2.13vw, 8px) auto min(4.26vw, 16px);
		display: flex;
		font-weight: 500;
		color: var(--color-brown);
		justify-content: center;
		text-align: center;
	}
}

.layout-sub-case-introduce-photo-single,
.layout-sub-case-introduce-photo-single-1fr {
	margin: min(8.53vw, 40px) auto;

	figcaption {
		margin-bottom: 0;
	}
}

.layout-sub-case-introduce-photo-single-1fr {
	grid-template-columns: repeat(1, 1fr);

	.image {
		display: block;
		margin: auto;
		width: min(40vw, 296px);
	}
}

.layout-sub-case-introduce-photo-3fr {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(10.66vw, 40px);
	margin-bottom: min(4.26vw, 16px);

	li {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: min(1.06vw, 4px);
		position: relative;

		&::before {
			content: "";
			position: absolute;
			left: 50%;
			bottom: max(-5.86vw, -22px);
			transform: translateX(-50%);
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(5.33vw, 20px) min(8vw, 30px) 0px min(8vw, 30px);
			border-color: var(--color-gold-light03) transparent transparent transparent;
		}

		&:last-child {
			&::before {
				content: none;
			}
		}
	}

	.image {
		display: block;

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

	figcaption,
	span {
		font-size: min(3.46vw, 13px);
		font-family: var(--font-serif);
		margin: min(2.13vw, 8px) auto min(4.26vw, 16px);
		display: flex;
		font-weight: 500;
		color: var(--color-brown);
		justify-content: center;
		text-align: center;
	}
}

/*================================
-250221 add recruit-banner
=================================*/

.layout-banner-box-pc,
.layout-banner-box-sp {
	margin: 24px auto 40px;
	max-width: 1000px;

	a {
		display: block;
		width: 100%;
		height: auto;

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

.layout-banner-box-sp {
	display: none;
}

@media (max-width: 767px) {
	.layout-banner-box-pc {
		display: none;
	}

	.layout-banner-box-sp {
		display: block;
		width: 92%;
		margin: 24px auto 32px;
	}
}

/*================================
-250306 sidebar title
=================================*/
.h3-icon {
	font-size: 23px;
	font-weight: bold;
	color: #333333;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.h3-icon:before {
	content: "";
	display: inline-block;
	width: 23px;
	height: 23px;
	background-image: url('../img/icon-h3.svg');
	background-size: cover;
	margin-right: 10px;
	vertical-align: middle;
}

/*================================
-250507　risk
=================================*/

.risk-txt {
	height: 150px;
	overflow-y: auto;
}

a.dr_shift {
	text-decoration: underline;
	color: var(--color-gold-dark);
	margin-right: 1em;
	display: inline-block;
	margin: 1em 0 0;
}

@media all and (min-width: 0) and (max-width: 767px) {

	a.dr_shift {
		margin: 1em 0 0;
	}
}

.bannerUl img {
	width: 100%;
}

/*================================
-画像（1カラム）
=================================*/

.layout-sub-contents-image {
	position: relative;
	display: block;
	margin: min(10.66vw, 40px) auto;
	max-width: 400px;

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

@media screen and (max-width: 767px) {
	.layout-sub-contents-image {
		img {
			width: 80%;
			margin: auto;
		}
	}
}

.layout-sub-contents-image-large {
	position: relative;
	display: block;
	margin: min(10.66vw, 40px) auto;

	img {
		width: 100%;
		height: auto;
		display: block;
		aspect-ratio: 240 / 100;
		object-fit: cover;
	}
}

/*================================
-汎用画像＋テキスト
=================================*/

.layout-sub-contents {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: min(10.66vw, 40px);

	.text {
		p {
			margin-bottom: 24px;

			b,
			strong {
				font-weight: 400;
				display: inline;
				background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
			}

			&:last-child {
				margin-bottom: 0;
			}
		}
	}

	.image {
		display: block;
		margin: auto;

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

@media screen and (min-width: 768px) {
	.layout-sub-contents {
		.image {
			display: flex;
			align-items: flex-start;
			height: 100%;
			order: 2;
		}

		.text {
			order: 1;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-contents {
		grid-template-columns: repeat(1, 1fr);

		.image {
			width: 80%;
		}
	}
}

/*================================
-汎用枠線ボックス
=================================*/

.layout-border-box-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(4.26vw, 16px);
}

.layout-border-box,
.layout-border-box-merit,
.layout-border-box-demerit {
	border: 2px solid var(--color-gray-light02);
	padding: min(8.53vw, 40px) min(4.26vw, 32px);
	background-color: var(--color-gray-light);
	width: 100%;

	p {
		margin-bottom: min(6.4vw, 24px);

		strong {
			font-weight: 400;
			display: inline;
			background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
		}

		&:last-child {
			margin-bottom: 0;
		}
	}

	.layout-sub-headline03 {
		border-bottom: 2px solid var(--color-gray);
	}
}

.layout-border-box+.layout-border-box,
.layout-border-box+.layout-border-box-merit,
.layout-border-box+.layout-border-box-demerit,
.layout-border-box-merit+.layout-border-box-demerit,
.layout-border-box-merit+.layout-border-box-merit,
.layout-border-box-merit+.layout-border-box,
.layout-border-box-demerit+.layout-border-box,
.layout-border-box-demerit+.layout-border-box-demerit {
	margin-top: min(4.26vw, 16px);
}

.layout-border-box-merit {
	.layout-sub-headline03 {
		color: var(--color-gold-dark);
		border-bottom: 2px solid var(--color-gold);
	}
}

.layout-border-box-demerit {
	background-color: var(--color-gray-light03);

	.layout-sub-list,
	.layout-sub-list-border,
	.layout-sub-list-border-2fr {
		li {
			&::before {
				border-left: 2px solid var(--color-gray-dark02);
				border-bottom: 2px solid var(--color-gray-dark02);
			}
		}
	}
}

.layout-border-box02 {
	margin: min(10.66vw, 40px) auto;
	padding: min(8.53vw, 40px) min(4.26vw, 32px);
	border-top: .5px solid var(--color-gray);
	border-bottom: .5px solid var(--color-gray);
	width: 100%;
}

/*================================
-汎用注釈ボックス
=================================*/

.layout-att-box {
	margin: min(10.66vw, 40px) auto;
	padding: min(4.8vw, 20px) min(4.26vw, 32px);
	background-color: var(--color-gray-light02);
	width: 100%;
	font-size: min(3.46vw, 14px);

	b {
		font-size: min(4.26vw, 18px);
		font-weight: 500;
		margin-bottom: min(8.53vw, 32px);
		font-family: var(--font-serif);
		display: block;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			width: 100%;
			height: 1px;
			border-bottom: 1px solid var(--color-gray);
			left: 0;
			bottom: max(-3.2vw, -12px);
			z-index: 1;
		}
	}
}

.layout-att-box-min {
	padding: min(4.8vw, 20px) min(4.26vw, 32px);
	border: .5px solid var(--color-gray);

	p {
		margin-bottom: 0 !important;

		b {
			background: initial !important;
			font-weight: 500;
		}
	}
}

/*================================
-汎用色付きボックス
=================================*/

.layout-background-box {
	margin: min(10.66vw, 40px) auto;
	padding: min(4.8vw, 20px) min(4.26vw, 32px);
	background-color: var(--color-gold-light);
	width: 100%;
	font-size: min(3.46vw, 14px);

	b {
		font-size: min(4.26vw, 18px);
		font-weight: 500;
		margin-bottom: var(8.53vw, 32px);
		font-family: var(--font-serif);
		display: block;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			width: 100%;
			height: 1px;
			border-bottom: 1px solid var(--color-gold);
			left: 0;
			bottom: max(-3.2vw, -12px);
			z-index: 1;
		}
	}
}

.layout-att-box+.layout-background-box,
.layout-background-box+.layout-att-box,
.layout-border-box02+.layout-background-box,
.layout-background-box+.layout-border-box02 {
	margin-top: min(4.26vw, 16px);
}

/*================================
-汎用テーブル
=================================*/

.layout-sub-table,
.layout-sub-table-case {
	margin-bottom: min(10.66vw, 40px);
	width: 100%;
	border-collapse: collapse;

	th,
	td {
		font-size: min(3.46vw, 14px);
		padding: min(3.2vw, 12px) min(4.26vw, 16px);
		text-align: justify;
		word-break: break-all;
		vertical-align: top;
		border: .5px solid var(--color-gray);
	}

	th {
		font-family: var(--font-serif);
		font-size: min(3.73vw, 15px);
		font-weight: 500;
		font-size: min(3.73vw, 14px);
		color: var(--color-white);
		background-color: var(--color-gray-dark02);

		span {
			display: inline-block;
			margin: min(1.06vw, 4px);
			font-size: min(3.2vw, 12px);
		}
	}

	.layout-text-list,
	.layout-text-list-small {
		text-align: left !important;
		margin-bottom: 0 !important;
	}
}

@media screen and (min-width: 768px) {

	.layout-sub-table,
	.layout-sub-table-case {
		th {
			width: 40%;
		}

		td {
			text-align: right;
		}
	}

	.layout-sub-table {
		th {
			width: 35%;
		}

		td {
			text-align: left;
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-sub-table,
	.layout-sub-table-case {

		th,
		td {
			display: block;
			width: 100%;
		}
	}
}

.layout-sub-case-lisk {
	height: min(40vw, 200px);
	overflow-y: scroll;
}

.layout-sub-table + .layout-sub-case-lisk {
	margin-top: min(4.26vw, 16px);
}


/*================================
-260218 サイドバー
=================================*/

.layout-sidebar-pickup,
.layout-sidebar-other,
.layout-sidebar-clinic {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 8px;

	>li {
		border: 2px solid var(--color-gray-light02);
		font-family: var(--font-serif);
		font-size: min(4.26vw, 16px);
		line-height: 1.8;
	}

	a {

		&:hover {
			opacity: .7;
			transition: ease .3s;
		}
	}
}

.layout-sidebar-pickup,
.layout-sidebar-other {
	margin-bottom: 20px;

	>li {
		border: 0;
	}

	a {
		display: flex;
		gap: 16px;
		text-decoration: none;
		transition: ease .3s;

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

.layout-sidebar-other {
	margin-top: 40px;
}

.layout-sidebar-clinic {
	margin-bottom: 20px;

	a {
		display: grid;
		grid-template-columns: 83px 1fr;
		gap: 0;
		text-decoration: none;
		transition: ease .3s;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			display: block;
			right: 0;
			bottom: 0;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(3.2vw, 16px) min(3.2vw, 16px) 0px 0px;
			border-color: transparent var(--color-gold) transparent transparent;
		}

		.image {
			width: 100%;
			height: 100%;
			aspect-ratio: 141 / 100;

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

		.title,
		.title02 {
			padding: min(6.4vw, 24px) min(4.26vw, 16px);
			display: flex;
			flex-direction: column;
			align-items: center;
			font-size: min(4.8vw, 19px);
			letter-spacing: 1px;

			>span {
				display: inline-block;
				letter-spacing: .5px;
				margin-bottom: 4px;
			}
		}

		.title {
			>span {
				font-size: min(2.93vw, 11px);
			}
		}

		.title02 {
			>span {
				display: block;
				width: 100%;
				text-align: center;
				color: var(--color-gold-dark);
				font-size: min(2.93vw, 11px);
				border: .5px solid var(--color-gray);
				padding: 0 min(2.13vw, 8px);
			}
		}
	}
}

/*================================
-Googleマップ・画像マップ
=================================*/

.layout-map {
	aspect-ratio: 16 / 9;

	iframe {
		width: 100%;
		height: 100%;
	}
}

@media screen and (max-width: 767px) {
	.layout-map {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;
	}
}

.layout-map-box {
	border: 2px solid var(--color-gray-light02);
	padding: min(8.53vw, 40px) min(4.26vw, 32px);
	background-color: var(--color-gray-light);

	.title {
		background-color: var(--color-black);
		color: var(--color-white);
		padding: min(2.13vw, 8px) min(4.26vw, 16px);
		text-align: center;
		margin-bottom: 24px;
		letter-spacing: 0.1rem;
	}

	.image {
		display: block;
		margin: 40px auto;
		max-width: 500px;

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

	.border {
		border: .5px solid var(--color-gray);
	}
}

.layout-map-table {
	font-size: min(3.46vw, 14px);
	padding: min(4.26vw, 32px);
	background-color: var(--color-gold-light);
	margin-bottom: 24px;

	dt {
		margin-bottom: 16px;
		padding-bottom: 8px;
		border-bottom: 1px solid var(--color-black);
		font-size: min(4.26vw, 16px);
	}

	dd {
		p {
			margin-bottom: 24px;

			&:last-child {
				margin-bottom: 0;
			}
		}
	}
}

.layout-map-table-list {
	font-size: min(3.46vw, 14px);
	padding: min(4.26vw, 32px);
	background-color: var(--color-gold-light);
	margin-bottom: 24px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 4px;

	>li {
		padding-left: min(4.26vw, 16px);
		position: relative;

		&::before {
			content: "・";
			position: absolute;
			left: 0;
			top: 0;
			z-index: 1;
		}
	}

}

.layout-map-table+.layout-map-table {
	margin-top: -8px;
}

/*================================
-汎用ボタン
=================================*/

.layout-button,
.layout-button-map {
	display: flex;
	justify-content: center;
	margin: min(10.66vw, 40px) auto;

	a {
		text-decoration: none;
		font-size: min(3.73vw, 14px);
		height: min(14.93vw, 56px);
		padding: min(2.13vw, 8px);
		display: flex;
		align-items: center;
		background-color: var(--color-gold-dark);
		color: var(--color-white);
		max-width: 320px;
		width: 100%;
		transition: ease .3s;
		justify-content: center;
		line-height: 1.4;

		span {
			text-align: center;
			position: relative;
		}
	}
}

@media screen and (min-width: 768px) {

	.layout-button,
	.layout-button-map {
		a {
			&:hover {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-button,
	.layout-button-map {
		a {
			&:active {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

.layout-button {
	a {
		span {
			padding-left: min(4.26vw, 16px);

			&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				font-size: min(3.2vw, 12px);
			}
		}
	}
}

.layout-button-map {
	a {
		background-color: var(--color-white);
		color: var(--color-gold-dark);
		border: 1px solid var(--color-gold);

		span {
			padding-left: min(8vw, 32px);

			&::before {
				content: "";
				background: url("../img/common/icon-map.svg") no-repeat center center / 100%;
				width: min(5.33vw, 20px);
				height: min(10.13vw, 38px);
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
			}
		}
	}
}

.layout-banner-link {
	margin: 0 auto;

	.link {
		.image {
			display: block;

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

@media screen and (min-width: 768px) {
	.layout-banner-link {

		.link {
			transition: ease .3s;

			&:hover {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-banner-link {

		.link {
			transition: ease .3s;

			&:active {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

.layout-sub-button-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 8px);
	justify-content: center;
	margin: min(10.66vw, 40px) auto;
	max-width: 600px;
	width: 100%;

	.layout-button {
		margin: 0 auto;
		display: flex;
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-button-list {
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-text-link {
	color: var(--color-gold-dark) !important;
	text-decoration: underline !important;
	position: relative;
	padding-left: min(3.46vw, 14px);

	&::before {
		content: "▶";
		position: absolute;
		top: 2px;
		left: 0;
		z-index: 2;
		font-size: min(3.2vw, 12px);
	}
}

@media screen and (min-width: 768px) {
	.layout-text-link {
		&:hover {
			text-decoration: none !important;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-text-link {
		&:active {
			text-decoration: none !important;
		}
	}
}

/*================================
-各医院ナビゲーションメニュー
=================================*/

.layout-top-clinic-menu {
	background-color: var(--color-gray-light03);
	padding-bottom: min(2.13vw, 8px);

	.title {
		background-color: var(--color-black);
		color: var(--color-white);
		font-family: var(--font-serif);
		padding: 0 min(4.26vw, 16px);
		display: flex;
		justify-content: center;
		align-items: center;
		height: min(12.8vw, 48px);
		text-align: center;
		font-weight: 400;
		line-height: 1.4;
		margin-bottom: 16px;
		letter-spacing: 0.1rem;
		position: relative;
		overflow: hidden;

		&::before {
			content: "";
			position: absolute;
			left: min(4.26vw, 16px);
			top: 65%;
			transform: translateY(-50%);
			background: url("../img/common/icon-logo.svg") no-repeat center center / 100%;
			width: min(40vw, 120px);
			height: min(40vw, 120px);
			opacity: .05;
			pointer-events: none;
			z-index: 2;
		}

		>span {
			position: relative;
			font-size: min(4.26vw, 18px);
			z-index: 5;
		}
	}

	.nagaokakyo {
		background-color: var(--color-nagaokakyo);
	}

	.katsura {
		background-color: var(--color-katsura);
	}

	.saiin {
		background-color: var(--color-saiin);
	}

	.list,
	.list-index {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0 min(2.13vw, 8px);
		padding: 0 min(4.26vw, 32px);

		>li {
			border-bottom: .5px dashed var(--color-gray);
		}
	}

	.list {
		>li {
			&:last-child {
				border-bottom: 0;
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-top-clinic-menu {
		.list-index {
			>li {
				&:nth-last-child(-n+3) {
					border-bottom: 0;
				}
			}
		}

		.border {
			border-bottom: .5px dashed var(--color-gray) !important;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-top-clinic-menu {
		width: calc(100% + 4.26vw * 2);
		margin: 0 0 0 -4.26vw;
		padding-top: min(8.53vw, 44px);

		.title {
			margin: 0 min(4.26vw, 32px) min(4.26vw, 16px);
		}

		.list,
		.list-index {
			grid-template-columns: repeat(1, 1fr);
			gap: 0;
		}
	}
}

.layout-top-clinic-menu-item {

	a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		height: min(12.8vw, 56px);
		font-size: min(3.46vw, 14px);
		padding: 0 min(4.26vw, 16px);

		>span {
			position: relative;
			padding-left: min(4.26vw, 16px);
			line-height: 1.4;

			&::before {
				content: "〉";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
			}
		}
	}

	.home {
		>span {
			&::before {
				content: "";
				position: absolute;
				background: url(../img/common/icon-home.svg) no-repeat center center / 100%;
				width: min(3.73vw, 16px);
				height: min(3.73vw, 16px);
				left: -4px;
				top: 50%;
				transform: translateY(-50%);
				z-index: 5;
			}
		}
	}
}

/*================================
-クリニック案内
=================================*/

.layout-information-table {
	margin-bottom: 80px;

	table {
		width: 100%;
		border: 2px solid var(--color-gray-light02);
		border-collapse: collapse;
		background-color: var(--color-gray-light);
		line-height: 1.4;
		font-size: min(3.46vw, 14px);
	}

	th,
	td {
		text-align: left;
		padding: min(4.26vw, 16px);
	}

	th {
		background-color: var(--color-gray-light03);
		font-family: var(--font-serif);
		letter-spacing: .1rem;
		font-size: min(3.73vw, 15px);
		font-weight: 400;
	}

	.link {
		color: var(--color-gold-dark);
		text-decoration: underline;
		position: relative;
		padding-left: min(3.46vw, 14px);

		&::before {
			content: "▶";
			position: absolute;
			top: 2px;
			left: 0;
			z-index: 2;
			font-size: min(3.2vw, 12px);
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-information-table {
		th {
			width: 21%;
			vertical-align: top;
			border-bottom: .5px solid var(--color-gray);
		}

		td {
			border-bottom: .5px solid var(--color-gray);
		}

		.link {
			&:hover {
				text-decoration: none;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-information-table {

		th,
		td {
			display: block;
		}

		.link {
			&:active {
				text-decoration: none;
			}
		}
	}
}

.layout-information-time {
	display: grid;
	grid-template-columns: 17% 1fr;
	gap: 0;

	>dt {
		font-weight: bold;
	}
}

@media screen and (max-width: 767px) {
	.layout-information-time {
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-information-access {
	dt {
		margin-bottom: 8px;
		display: block;
	}

	>dd ul {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 4px;

		>li {
			padding-left: min(4.26vw, 16px);
			position: relative;

			&::before {
				content: "・";
				position: absolute;
				left: 0;
				top: 0;
				z-index: 1;
			}
		}
	}
}

.layout-information-att {
	margin-top: 24px;
	padding: min(4.26vw, 16px);
	background-color: var(--color-gold-light);

	p {
		margin-bottom: 24px;
	}
}

/*================================
-院内風景
=================================*/

.layout-clinic-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 8px);

	.image {
		display: block;

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

		>figcaption {
			font-size: min(3.46vw, 13px);
			line-height: 1.4;
			text-align: center;
			margin: min(4.26vw, 16px);
		}
	}
}



/*================================
-241113 add カレンダー
=================================*/

.layout-top-date-box {
	width: 100%;
	margin: 24px auto;
	border-left: .5px solid var(--color-gray);

	.bgTable {
		background: var(--color-white);
		padding: min(4.26vw, 20px);
	}
}

.layout-top-date-tab {
	width: 100%;
	border-collapse: collapse;

	th {
		width: 25%;
		text-align: left;
		font-weight: 500;
		line-height: 1.45;
	}

	th,
	td {
		padding: min(2.13vw, 16px);
		width: 11%;
		font-size: min(3.46vw, 15px);
		text-align: center;
		vertical-align: middle;
		border-right: .5px solid var(--color-gray);
		border-bottom: .5px solid var(--color-gray);
		background-color: var(--color-white);
		box-sizing: border-box;
		word-break: break-all;
	}

	.title {
		font-family: var(--font-serif);
		white-space: nowrap;
		background-color: var(--color-black);
		color: var(--color-white);
	}
}

.layout-top-date-tab .trStyle01 th,
.layout-top-date-tab .trStyle01 td {
	padding: 12px 10px 13px;
	background-color: var(--color-gray-light02);
	border-top: .5px solid var(--color-gray);
}

.layout-top-date-tab td span {
	display: block;
	font-size: min(2.13vw, 11px);
}

@media (max-width: 767px) {

	#access table.clinic th,
	#access table.clinic td {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
}

.layout-top-date-tab small {
	font-size: min(2.13vw, 13px);
	white-space: nowrap;
}

/*================================
-汎用テキスト
=================================*/

.layout-text-att,
.layout-text-att-notice,
.layout-text-att-point,
.layout-text-att-small {
	position: relative;
	padding-left: min(calc(3.73vw + 1px), calc(14px + 1px));

	&::before {
		content: "※";
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}

	a {
		color: var(--color-gold-dark);
		text-decoration: underline;
	}
}

.layout-text-att-notice {

	b,
	strong {
		font-weight: 400;
		display: inline;
		background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
	}
}

.layout-text-att-point {
	font-size: min(4vw, 16px) !important;
	padding-left: min(calc(4.26vw + 1px), calc(16px + 1px));
	line-height: 1.6;

	b {
		font-weight: 400;
		display: inline;
		background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
	}
}

.layout-text-att-small {
	font-size: min(3.46vw, 14px) !important;
	padding-left: min(calc(3.46vw + 1px), calc(14px + 1px));
}

@media screen and (min-width: 768px) {

	.layout-text-att,
	.layout-text-att-notice,
	.layout-text-att-point,
	.layout-text-att-small {
		a {
			&:hover {
				text-decoration: none;
			}
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-text-att,
	.layout-text-att-notice,
	.layout-text-att-small {
		a {
			&:active {
				text-decoration: none;
			}
		}
	}
}

.layout-text-list,
.layout-text-list-small {
	position: relative;
	padding-left: min(calc(3.73vw + 1px), calc(15px + 1px));

	&::before {
		content: "・";
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
	}
}

.layout-text-list-small {
	font-size: min(3.46vw, 14px) !important;
	padding-left: min(calc(3.46vw + 1px), calc(14px + 1px));
}

.layout-text-center-box,
.layout-text-center-box-column {
	display: flex;
	justify-content: center;
}

.layout-text-center-box-column {
	flex-direction: column;
	align-items: center;
}

.layout-text-center {
	text-align: center;
}

/*================================
-クリニックのリスト
=================================*/

.layout-clinic-list-item {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(1.06vw, 8px);
	background-color: var(--color-black);
	padding: min(4.26vw, 16px);

	>li {
		/* border: 1px solid var(--color-gray); */
	}
}

@media screen and (max-width: 767px) {
	.layout-clinic-list-item {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;
	}
}

.layout-clinic-list-link {
	text-decoration: none;
	font-size: min(3.2vw, 20px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	position: relative;
	background-color: var(--color-white);
	background-color: var(--color-gray-light);

	&::before {
		content: "";
		position: absolute;
		display: block;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: min(3.2vw, 16px) min(3.2vw, 16px) 0px 0px;
		border-color: transparent var(--color-gold) transparent transparent;
	}

	&::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		background-color: var(--color-white);
		width: 100%;
		height: 100%;
		opacity: 0;
		pointer-events: none;
		z-index: 5;
		transition: ease .3s;
	}

	.image {
		display: block;

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

	.button {
		margin: 0 min(2.13vw, 20px) min(2.13vw, 16px);
		font-size: min(3.46vw, 14px);
		text-align: center;
		display: block;
		text-decoration: none;
		transition: ease .3s;
		line-height: min(8.53vw, 32px);
		color: var(--color-gold-dark);

		>span {
			position: relative;
			padding-left: min(4.26vw, 16px);

			&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				font-size: min(3.2vw, 12px);
				color: var(--color-gold);
			}
		}
	}

	.nagaokakyo {
		>span {
			&::before {
				color: var(--color-nagaokakyo);
			}
		}
	}

	.katsura {
		>span {
			&::before {
				color: var(--color-katsura);
			}
		}
	}

	.saiin {
		>span {
			&::before {
				color: var(--color-saiin);
			}
		}
	}

	&:hover {
		text-decoration: none;
	}
}

@media screen and (min-width: 768px) {
	.layout-clinic-list-link {

		.button {
			border: 1px solid var(--color-gray);
		}

		&:hover {
			&::after {
				transition: ease .3s;
				opacity: .3;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-clinic-list-link {

		.item {
			display: grid;
			grid-template-columns: repeat(1, 1fr);
			gap: 0;
		}

		.button {
			border-top: 1px solid var(--color-gray);
		}

		&:active {
			&::after {
				transition: ease .3s;
				opacity: .3;
			}
		}
	}
}

.layout-clinic-list-access,
.layout-clinic-list-access02,
.layout-clinic-list-access03 {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: min(4.26vw, 16px) min(2.13vw, 20px) min(4.26vw, 32px);
	flex-direction: column;
	font-family: var(--font-serif);

	.title {
		font-size: min(4.8vw, 20px);
		font-weight: 600;
		width: 100%;
		display: block;
		border-bottom: 1px solid var(--color-gray);
	}

	.text {
		font-size: min(3.46vw, 14px);
		display: block;
		position: relative;
		width: 100%;
		font-weight: 600;
	}

	.number {
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 2;
	}

	.large,
	.large02 {
		font-size: min(5.33vw, 40px);
		display: inline-block;
		padding: 0 min(2.13vw, 8px);
		color: var(--color-gold-dark);
		background-color: var(--color-gray-light);
		line-height: 1;
		font-weight: normal;
	}

	.large02 {
		font-size: min(5.33vw, 32px);
		padding: 0 0 0 min(2.13vw, 8px);
	}
}

.layout-clinic-list-access {
	.title {
		color: var(--color-nagaokakyo);
	}
}

.layout-clinic-list-access02 {
	.title {
		color: var(--color-katsura);
	}
}

.layout-clinic-list-access03 {
	.title {
		color: var(--color-saiin);
	}
}

@media screen and (max-width: 767px) {

	.layout-clinic-list-access,
	.layout-clinic-list-access02,
	.layout-clinic-list-access03 {
		padding-top: min(1.6vw, 6px);

		.title {
			text-align: center;
		}

		.text {
			text-align: center;
			line-height: 1.4;
		}

		.date {
			height: min(13.86vw, 56px);
			display: flex;
			justify-content: center;
			align-items: center;
		}

		.number {
			position: relative;
			display: flex;
			align-items: flex-end;
			justify-content: center;
			height: min(5.4vw, 24px);
		}
	}
}

/*================================
-リンクバナーボックス
=================================*/

.layout-banner-box {
	margin: 24px auto;
}

@media screen and (max-width: 767px) {
	.layout-banner-box-header {
		padding: min(5.33vw, 20px) min(4.26vw, 16px);
		border-bottom: .5px dotted var(--color-gray-dark);
	}
}

.layout-banner-link-large,
.layout-banner-link-header {
	position: relative;
	display: block;

	&::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		background-color: var(--color-white);
		width: 100%;
		height: 100%;
		opacity: 0;
		pointer-events: none;
		z-index: 5;
		transition: ease .3s;
	}


	.image {
		display: block;

		img,
		source {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

@media screen and (min-width: 768px) {

	.layout-banner-link-large,
	.layout-banner-link-header {

		&:hover {
			&::after {
				transition: ease .3s;
				opacity: .3;
			}
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-banner-link-large,
	.layout-banner-link-header {

		&:active {
			&::after {
				transition: ease .3s;
				opacity: .3;
			}
		}
	}
}

/*================================
-矯正メニュー
=================================*/

.layout-ortho-menu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(2.13vw, 8px);
	background-color: var(--color-gray-light03);
}

@media screen and (max-width: 767px) {
	.layout-ortho-menu {
		grid-template-columns: repeat(2, 1fr);
	}
}

.layout-ortho-menu-link {
	border: 2px solid var(--color-gray-light02);
	background-color: var(--color-gray-light);
	position: relative;
	display: block;
	transition: ease .3s;

	&:hover {
		text-decoration: none;
	}

	&::before {
		content: "";
		position: absolute;
		display: block;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: min(3.2vw, 16px) min(3.2vw, 16px) 0px 0px;
		border-color: transparent var(--color-gold) transparent transparent;
	}

	.image {
		display: block;

		>img {
			width: 100%;
			height: auto;
			display: block;
			aspect-ratio: 141 / 100;
			object-fit: cover;
			background-color: var(--color-gray);
		}
	}

	.contents {
		/* padding: min(4.26vw, 16px) min(4.26vw, 32px); */
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.title {
		font-family: var(--font-serif);
		height: min(17.06vw, 80px);
		text-align: center;
		font-weight: 400;
		font-size: min(3.73vw, 16px);
		color: var(--color-gold-dark);
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		line-height: 1.4;
	}
}

@media screen and (min-width: 768px) {
	.layout-ortho-menu-link {
		&:hover {
			opacity: .7;
			transition: ease .3s;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-ortho-menu-link {
		border: .5px solid var(--color-gray);

		.title {
			font-weight: 600;
		}

		&:active {
			opacity: .7;
			transition: ease .3s;
		}
	}
}

/*================================
-ピックアップリスト
=================================*/

.layout-pickup-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 8px);

	a {
		background-color: var(--color-white);
		border: 2px solid var(--color-gray-light02);
		display: grid;
		grid-template-columns: min(25vw, 120px) 1fr;
		gap: 0;
		position: relative;
		font-size: min(4vw, 16px);

		&:hover {
			text-decoration: none;
		}

		&::before {
			content: "";
			position: absolute;
			display: block;
			right: 0;
			bottom: 0;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(3.2vw, 16px) min(3.2vw, 16px) 0px 0px;
			border-color: transparent var(--color-gold) transparent transparent;
		}

		&::after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			background-color: var(--color-white);
			width: 100%;
			height: 100%;
			opacity: 0;
			pointer-events: none;
			z-index: 5;
			transition: ease .3s;
		}

		.image {
			display: block;

			>img {
				width: 100%;
				height: auto;
				display: block;
				background-color: var(--color-gray-light02);
			}
		}

		.text {
			display: flex;
			justify-content: center;
			align-items: center;
			padding: min(4.26vw, 16px) min(5.33vw, 20px);
			color: var(--color-gold-dark);
			flex-direction: column;
			font-family: var(--font-serif);
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-pickup-list {
		a {
			&:hover {
				&::after {
					transition: ease .3s;
					opacity: .3;
					transition: ease .3s;
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-pickup-list {
		grid-template-columns: repeat(1, 1fr);

		a {
			border: .5px solid var(--color-gray);

			&:active {
				&::after {
					transition: ease .3s;
					opacity: .3;
					transition: ease .3s;
				}
			}
		}
	}
}

/*================================
-記事一覧
=================================*/

.layout-post {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(2.13vw, 16px);
	margin: min(10.66vw, 40px) auto;
}

.layout-post-thumbnail {
	display: grid;
	grid-template-columns: min(25vw, 150px) 1fr;
	gap: 0;
	border: .5px solid var(--color-gray);
	background-color: var(--color-gray-light);
	position: relative;

	&:before {
		content: "";
		position: absolute;
		display: block;
		right: 0;
		bottom: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: min(3.2vw, 16px) min(3.2vw, 16px) 0px 0px;
		border-color: transparent var(--color-gold) transparent transparent;
	}

	.image {
		width: 100%;
		height: 100%;
		display: block;

		&:hover {
			text-decoration: none;
		}

		>img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
			background-color: var(--color-gray-light);
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-post-thumbnail {
		.image {
			aspect-ratio: 1 / 1;
			transition: ease .3s;

			&:hover {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-post-thumbnail {
		.image {
			transition: ease .3s;

			&:active {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

.layout-post-contents {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: min(4.26vw, 16px) min(4.26vw, 24px);

	.title {
		font-family: var(--font-serif);
		font-size: min(4.26vw, 18px);
		color: var(--color-text);
		display: -webkit-box !important;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		line-clamp: 1;
		text-align: left;
		margin-bottom: min(2.13vw, 8px);
		line-height: 1.4;
	}

	.text {
		font-size: min(3.46vw, 13px);
		color: var(--color-gray);
		line-height: 1.4;
		display: -webkit-box !important;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		text-align: left;
		margin-bottom: min(2.13vw, 8px);
	}

	.readmore {
		display: inline-block;

		>a {
			padding-left: min(4.26vw, 16px);
			font-size: min(3.46vw, 15px);
			color: var(--color-gold-dark);
			position: relative;

			&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				font-size: min(3.2vw, 12px);
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-post-contents {
		.title {
			-webkit-line-clamp: 2;
			line-clamp: 2;
		}
	}
}


/*================================
-共通全文を開く
=================================*/

.layout-readmore,
.layout-readmore-wt {
	position: relative;
	margin-bottom: 40px;

	input {
		display: none;
	}

	label {
		position: absolute;
		display: flex;
		flex-direction: column;
		align-items: center;
		z-index: 10;
		bottom: 0;
		width: 100%;
		height: 40px;
		cursor: pointer;
		text-align: center;
		background: linear-gradient(to bottom, #fbfbfb00 0%, #fbfbfbf2 90%);

		&::before {
			content: "";
			position: absolute;
			line-height: 1.4;
		}

		&::after {
			z-index: 2;
			position: absolute;
			bottom: -48px;
			content: "すべて開く +";
			color: var(--color-text);
			font-size: min(3.73vw, 15px);
			color: var(--color-gold-dark);
			font-family: var(--font-serif);
			font-weight: 500;
		}
	}

	.layout-readmore-item {
		overflow: hidden;
		height: 240px;
		transition: all 0.5s;
	}
}

.layout-readmore-wt {
	margin-bottom: 140px;

	label {
		background: linear-gradient(to bottom, #ffffff00 0%, #fffffff2 90%);
	}
}

@media screen and (max-width: 767px) {

	.layout-readmore-item {
		height: 120px;
	}
}

/* 開いた時にグラデーションを消す */
.layout-readmore,
.layout-readmore-wt {

	input:checked+label {
		background: inherit;
	}

	input:checked+label:after {
		content: "閉じる -";
	}

	input:checked+label:before {
		left: 50%;
		transform: translateX(-50%);
	}

	input:checked~.layout-readmore-item {
		height: auto;
		padding-bottom: 40px;
		transition: all 0.5s;
	}
}

.layout-readmore-menu {
	padding-bottom: min(2.13vw, 24px);

	input,
	label {
		display: none;
	}
}

@media screen and (max-width: 767px) {

	.layout-readmore-menu {
		position: relative;
		margin-bottom: 80px;

		label {
			position: absolute;
			display: flex;
			flex-direction: column;
			align-items: center;
			z-index: 10;
			bottom: 0;
			width: 100%;
			height: 40px;
			cursor: pointer;
			text-align: center;
			background: linear-gradient(to bottom, #f5f5f500 0%, #f5f5f5f2 90%);

			&::before {
				content: "";
				position: absolute;
				line-height: 1.4;
			}

			&::after {
				z-index: 2;
				position: absolute;
				bottom: -48px;
				content: "すべて開く +";
				color: var(--color-text);
				font-size: min(3.73vw, 15px);
				color: var(--color-gold-dark);
				font-family: var(--font-serif);
				font-weight: 500;
			}
		}

		.layout-readmore-item {
			overflow: hidden;
			height: 200px;
			transition: all 0.5s;
		}

		input:checked+label {
			background: inherit;
		}

		input:checked+label:after {
			content: "閉じる -";
		}

		input:checked+label:before {
			left: 50%;
			transform: translateX(-50%);
		}

		input:checked~.layout-readmore-item {
			height: auto;
			padding-bottom: 40px;
			transition: all 0.5s;
		}
	}

}

/*================================
-アコーディオン（共通部）
=================================*/
/*アコーディオンタイトル*/
.layout-menu-accordion {
	position: relative;
	/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.layout-menu-accordion::before,
.layout-menu-accordion::after {
	position: absolute;
	content: "";
	width: 10px;
	height: 1px;
	background-color: var(--color-white);
}

.layout-menu-accordion::before {
	top: 50%;
	left: 18px;
	-webkit-transform: translateX(-50%) rotate(0deg);
	transform: translateX(-50%) rotate(0deg);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.layout-menu-accordion::after {
	top: 50%;
	left: 18px;
	-webkit-transform: translateX(-50%) rotate(90deg);
	transform: translateX(-50%) rotate(90deg);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.layout-menu-accordion.close::before {
	-webkit-transform: translateX(-50%) rotate(0deg);
	transform: translateX(-50%) rotate(0deg);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.layout-menu-accordion.close::after {
	-webkit-transform: translateX(-50%) rotate(0deg);
	transform: translateX(-50%) rotate(0deg);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

/*アコーディオンで現れるエリア*/
.layout-menu-accordion-item {
	display: none;
	/*はじめは非表示*/
	background-color: var(--color-gray-light02);
}

/*================================
-下層 外枠
=================================*/

.layout-sub-wrapper {
	text-align: justify;
}

.layout-sub-section {
	margin: 0 auto min(19.2vw, 120px);
	text-align: justify;

	.inner-space {
		margin: 0 auto min(14.93vw, 80px);
	}

	.text-box {
		p {
			margin-bottom: 24px;

			&:last-child {
				margin-bottom: 0;
			}
		}
	}
}

.layout-sub-section-top {
	margin-top: min(5.33vw, 40px);
}

@media screen and (max-width: 767px) {
	.layout-sub-section {
		padding: 0 min(4.26vw, 16px);
	}
}

/*================================
-下部共通部
=================================*/

.layout-sub-bottom {
	margin: min(21.3vw, 120px) auto 0;
	max-width: 800px;
	width: 100%;
	padding: min(14.93vw, 44px) min(4.26vw, 32px);
	background-color: var(--color-gray-light03);
}

@media screen and (max-width: 767px) {
	.layout-sub-bottom {
		padding: min(14.93vw, 56px) min(4.26vw, 32px);
	}
}

.layout-sub-bottom * {
	list-style: none;
}

.layout-sub-bottom-banner {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(6.4vw, 24px);
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: .5px solid var(--color-gray);

	a {
		&:active {
			opacity: .7;
			transition: ease .3s;
		}
	}

	.image {
		display: block;

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

@media screen and (min-width: 768px) {
	.layout-sub-bottom-banner {
		a {
			transition: ease .3s;

			&:hover {
				opacity: .7;
				transition: ease .3s;
			}

		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-bottom-banner {
		a {
			transition: ease .3s;

			&:active {
				opacity: .7;
				transition: ease .3s;
			}

		}
	}
}

.layout-sub-bottom-menu {

	>.title {
		background-color: var(--color-black);
		color: var(--color-white);
		font-family: var(--font-serif);
		font-size: min(4.26vw, 16px);
		padding: 0 min(4.26vw, 16px);
		display: flex;
		justify-content: center;
		align-items: center;
		height: min(12.8vw, 48px);
		text-align: center;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: 0.1rem;
		position: relative;
		overflow: hidden;
		margin-bottom: 0;

		&::before {
			content: "";
			position: absolute;
			left: min(4.26vw, 16px);
			top: 65%;
			transform: translateY(-50%);
			background: url("../img/common/icon-logo.svg") no-repeat center center / 100%;
			width: min(40vw, 120px);
			height: min(40vw, 120px);
			opacity: .05;
			pointer-events: none;
			z-index: 2;
		}

		>span {
			position: relative;
			padding-right: min(5.33vw, 20px);
			font-size: min(4.26vw, 18px);
			z-index: 5;

			&::before {
				content: "▼";
				position: absolute;
				font-size: min(3.2vw, 13px);
				right: 0;
				top: 50%;
				transform: translateY(-50%);
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-bottom-menu {
		background-color: var(--color-white);
		padding: min(5.33vw, 24px);

		>.title {
			margin-bottom: 24px;
		}
	}
}

.layout-sub-bottom-menu-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);

	>li {
		padding: min(4.26vw, 16px);
	}

	.title {
		font-size: min(4.26vw, 16px);
		font-family: var(--font-serif);
		letter-spacing: 2px;
		text-align: center;
		width: 100%;
		margin-bottom: 16px;
		padding-bottom: 8px;
		border-bottom: 2px solid var(--color-gray);
		font-weight: 600;
	}

	.nagaokakyo {
		border-bottom: 2px solid var(--color-nagaokakyo);
	}

	.katsura {
		border-bottom: 2px solid var(--color-katsura);
	}

	.saiin {
		border-bottom: 2px solid var(--color-saiin);
	}

	.button {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: min(2.13vw, 8px);

		a {
			text-decoration: none;
			font-size: min(3.46vw, 14px);
			height: min(12.8vw, 48px);
			display: flex;
			align-items: center;
			color: var(--color-gold-dark);
			border: 1px solid var(--color-gray);
			max-width: 280px;
			width: 100%;
			transition: ease .3s;
			justify-content: center;

			>span {
				padding-left: min(5.86vw, 28px);
				position: relative;

				&::before {
					content: "";
					position: absolute;
					top: 50%;
					transform: translateY(-50%);
					left: 0;
					z-index: 2;
				}
			}

			&:nth-of-type(1) {
				>span {
					&::before {
						width: min(3.46vw, 13px);
						height: min(5.33vw, 20px);
						background: url("../img/common/icon-reservation-gold.svg") no-repeat center center / 100%;
					}
				}
			}

			&:nth-of-type(2) {
				>span {
					&::before {
						width: min(4vw, 15px);
						height: min(3.73vw, 14px);
						background: url("../img/common/icon-contact-gold.svg") no-repeat center center / 100%;
					}
				}
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-sub-bottom-menu-list {
		background-color: var(--color-white);
		gap: 0;

		>li {
			padding: min(4.26vw, 16px);
			position: relative;

			&::before {
				content: "";
				position: absolute;
				right: 0;
				top: 16px;
				width: .5px;
				height: calc(100% - 32px);
				background-color: var(--color-gray);
			}


			&:last-child {
				&::before {
					content: none;
				}
			}
		}

		.button {

			a {
				transition: ease .3s;

				&:hover {
					opacity: .7;
					transition: ease .3s;
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-bottom-menu-list {
		grid-template-columns: repeat(1, 1fr);
		gap: min(7.46vw, 28px);

		>li {
			padding: 0;
		}

		.button {
			grid-template-columns: repeat(2, 1fr);

			a {
				transition: ease .3s;

				&:active {
					opacity: .7;
					transition: ease .3s;
				}
			}
		}
	}
}

.layout-sub-bottom-banner-sp {
	display: none;
}

@media screen and (max-width: 767px) {
	.layout-sub-bottom-banner-sp {
		margin-top: 16px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: min(2.13vw, 8px);
		background-color: var(--color-white);
		padding: min(5.33vw, 24px);

		a {
			&:active {
				opacity: .7;
				transition: ease .3s;
			}
		}

		.image {
			display: block;

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

/*================================
-サブページ メインビジュアル
=================================*/

.layout-sub-mainvisual {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;

	.image {
		display: block;

		img,
		srcset {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-mainvisual {
		.image {

			img,
			srcset {
				width: 100%;
				height: 100%;
				aspect-ratio: 2 / 1;
				object-fit: cover;
				object-position: top center;
				display: block;
			}
		}
	}
}

.layout-sub-headline {
	position: absolute;
	z-index: 2;
	padding: min(5.33vw, 32px);

	.headline {
		font-family: var(--font-serif);
		font-size: min(4.8vw, 30px);
		line-height: 1.6;
		position: relative;
		text-align: left;
		font-weight: 500;
		letter-spacing: 0.1rem;
		z-index: 3;
		width: 100%;
		display: block;
	}

	/* .small {
		position: relative;
		z-index: 3;
		font-size: min(2.93vw, 14px);
		font-weight: 400;
		letter-spacing: 0.1rem;
		width: 100%;
		text-align: left;
		display: block;
	} */
}

@media screen and (min-width: 768px) {
	.layout-sub-headline {
		top: 0;
		left: 0;
		background-color: var(--color-black);
		height: 100%;
		max-width: 460px;
		width: 100%;
		display: flex;
		color: var(--color-white);
		align-items: flex-start;
		justify-content: center;
		flex-direction: column;

		&::before {
			content: "";
			position: absolute;
			right: -60px;
			top: 0;
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 302px 0px 0px 60px;
			border-color: transparent transparent transparent var(--color-black);
			z-index: 1;
		}

		&::after {
			content: "";
			position: absolute;
			left: -40px;
			top: 65%;
			transform: translateY(-50%);
			background: url(../img/common/icon-logo.svg) no-repeat center center / 100%;
			width: min(40vw, 400px);
			height: min(40vw, 400px);
			opacity: .1;
			pointer-events: none;
			z-index: 1;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-headline {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background-color: rgba(255, 255, 255, .9);
		width: 100%;
		max-width: calc(100% - min(calc(4.26vw * 2), calc(16px * 2)));
		overflow: hidden;

		&::after {
			content: "";
			position: absolute;
			left: -5.33vw;
			top: -4.26vw;
			background: url(../img/common/icon-logo.svg) no-repeat center center / 100%;
			width: min(40vw, 400px);
			height: min(40vw, 400px);
			opacity: .05;
			pointer-events: none;
			z-index: 1;
		}

		.headline,
		.small {
			text-align: center;
		}
	}
}

/*================================
-CMS カテゴリ・アーカイブ
=================================*/

.layout-sub-select-archive {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 16px);

	.item {
		position: relative;

		&::before {
			content: "›";
			position: absolute;
			top: 50%;
			right: min(4.26vw, 16px);
			transform: translateY(-50%) rotate(90deg);
			z-index: 2;
			user-select: none;
		}

		label {
			display: none;
		}
	}

	select {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		border: .5px solid var(--color-gray);
		background-color: var(--color-gray-light03);
		font-family: var(--font-sans);
		text-decoration: none;
		font-size: min(3.73vw, 14px);
		height: min(12.8vw, 48px);
		text-align: center;
		padding: 0 min(4.26vw, 16px);
		cursor: pointer;
		appearance: none;
		position: relative;
	}
}

.layout-sub-select-archive .item.select-a-on:after {
	transform: rotate(0) !important;
}

@media screen and (min-width: 768px) {
	.layout-sub-select-archive {
		.item {
			transition: ease .3s;

			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-select-archive {
		grid-template-columns: repeat(1, 1fr);
		padding: 0 min(4.26vw, 16px);


		.item {
			transition: ease .3s;

			&:active {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

/*================================
-リスト
=================================*/

.layout-sub-list,
.layout-sub-list-2fr,
.layout-sub-list-ol,
.layout-sub-list-border,
.layout-sub-list-border-2fr,
.layout-sub-list-demerit,
.layout-sub-list-demerit-border {
	position: relative;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 0;
	font-size: min(3.73vw, 15px);

	a {
		color: var(--color-gold-dark);
		text-decoration: underline;
	}

	b,
	strong {
		font-weight: 400;
		display: inline;
		background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
	}

	li {
		padding-left: min(6.4vw, 24px);
		min-height: min(14.93vw, 56px);
		display: flex;
		align-items: flex-start;
		justify-content: center;
		flex-direction: column;
		position: relative;
		line-height: 1.6;

		&::before {
			content: "";
			position: absolute;
			top: min(50% - 2px);
			left: 0;
			width: min(3.2vw, 12px);
			height: min(1.6vw, 6px);
			border-left: 2px solid var(--color-gold);
			border-bottom: 2px solid var(--color-gold);
			transform: rotate(-45deg) translateY(-50%);
			z-index: 2;
		}
	}
}

@media screen and (min-width: 768px) {

	.layout-sub-list-2fr,
	.layout-sub-list-border-2fr {
		grid-template-columns: repeat(2, 1fr);
		gap: 0 min(4.26vw, 16px);
	}
}

.layout-sub-list-demerit,
.layout-sub-list-demerit-border {
	li {
		&::before {
			border-left: 2px solid var(--color-gray);
			border-bottom: 2px solid var(--color-gray);
		}
	}
}

.layout-sub-list-border,
.layout-sub-list-border-2fr,
.layout-sub-list-demerit-border {
	li {
		border-bottom: .5px dashed var(--color-gray-dark);
	}
}

.layout-sub-list-ol {
	counter-reset: count;

	li {
		&::before {
			counter-increment: count;
			content: counter(count)".";
			font-family: var(--font-serif);
			position: absolute;
			font-weight: bold;
			top: 50%;
			transform: translateY(-50%);
			left: 0;
			color: var(--color-brown);
			z-index: 2;
			border: 0;
			height: 100%;
			display: flex;
			align-items: center;
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-sub-list,
	.layout-sub-list-2fr,
	.layout-sub-list-ol,
	.layout-sub-list-border,
	.layout-sub-list-border-2fr,
	.layout-sub-list-demerit,
	.layout-sub-list-demerit-border {

		.border-none {
			border-bottom: 0;
		}
	}
}

/*================================
-治療の流れ・フロー
=================================*/

.layout-sub-flow {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(21.3vw, 80px);

	>li {
		border: 2px solid var(--color-gray-light02);
		padding: min(8.53vw, 40px) min(4.26vw, 32px);
		background-color: var(--color-gray-light);
		position: relative;

		&::before {
			content: "";
			position: absolute;
			left: 50%;
			bottom: max(-13.33vw, -50px);
			transform: translateX(-50%);
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: min(5.33vw, 20px) min(8vw, 30px) 0px min(8vw, 30px);
			border-color: var(--color-gold) transparent transparent transparent;
		}

		&:last-child {
			&::before {
				content: none;
			}
		}
	}
}

.layout-sub-flow-att {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border: 1px solid var(--color-gold);
	font-weight: 500;
	padding: 0 min(4.26vw, 16px);
	bottom: max(-11.73vw, -44px);
	z-index: 2;
	color: var(--color-gold-dark);
	background-color: var(--color-gold-light-very);
	font-size: min(3.2vw, 12px);
	line-height: 1.6;
	letter-spacing: .1rem;
}

.layout-sub-flow-headline,
.layout-sub-flow-headline-no-border {
	position: relative;
	margin-bottom: min(6.4vw, 24px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	border-bottom: 3px solid var(--color-gray);
	padding-bottom: min(5.33vw, 20px);
	min-height: min(17.06vw, 64px);

	.headline {
		letter-spacing: 0.1rem;
		font-size: min(4.8vw, 20px);
		line-height: 1.4;
		font-family: var(--font-serif);
		font-weight: 500;
		padding-left: min(5.33vw, 20px);
	}

	>span {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		width: min(17.06vw, 64px);
		flex-shrink: 0;
		height: min(17.06vw, 64px);
		font-size: min(4.8vw, 20px);
		font-weight: 500;
		line-height: 1.4;
		padding-top: min(4vw, 16px);
		font-family: var(--font-serif);
		background-color: var(--color-gray-dark);
		color: var(--color-white);

		&::before {
			content: "STEP";
			position: absolute;
			left: 50%;
			top: min(3.2vw, 12px);
			transform: translateX(-50%);
			text-align: center;
			font-size: min(2.9vw, 11px);
			letter-spacing: 2px;
			white-space: nowrap;
			z-index: 1;
		}
	}
}

.layout-sub-flow-headline-no-border {
	margin-bottom: 0;
	border-bottom: 0;
	padding-bottom: 0;
}

.layout-sub-flow-contents {
	display: grid;
	grid-template-columns: 1fr 200px;
	gap: min(6.4vw, 40px);

	.image {
		display: block;
		order: 2;
		max-width: 175px;
		margin: 0 auto;

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

	ul,
	ol {
		font-size: min(3.73vw, 15px);
	}

	.text-box {
		order: 1;

		p {
			margin-bottom: min(6.4vw, 24px);
			font-size: min(3.73vw, 15px);

			b,
			strong {
				font-weight: 400;
				display: inline;
				background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
			}

			&:last-child {
				margin-bottom: 0;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-flow-contents {
		display: grid;
		grid-template-columns: repeat(1, 1fr);

		.image {
			order: 1;
		}

		.text-box {
			order: 2;
		}
	}
}

.layout-sub-flow-contents-single {

	ul,
	ol {
		font-size: min(3.73vw, 15px)
	}

	p {
		margin-bottom: min(6.4vw, 24px);
		font-size: min(3.73vw, 15px);

		b,
		strong {
			font-weight: 400;
			display: inline;
			background: linear-gradient(transparent 70%, var(--color-gold-light03) 70%);
		}

		&:last-child {
			margin-bottom: 0;
		}
	}
}

/*================================
-ポイントリスト
=================================*/

.layout-sub-point,
.layout-sub-point-2fr {
	padding: min(8.53vw, 40px) min(4.26vw, 32px);
	position: relative;
	background: var(--color-gray-light);
	border: 2px solid var(--color-gray-light02);

	.list {
		counter-reset: count;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: min(2.13vw, 8px);
	}

	li {
		padding: min(4.26vw, 16px) min(4.26vw, 16px) min(4.26vw, 16px) min(12.8vw, 80px);
		font-size: min(3.46vw, 14px);
		background-color: var(--color-white);
		border: .5px solid var(--color-gold-dark);
		position: relative;
		min-height: min(25.6vw, 96px);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		letter-spacing: 0.05rem;

		p {
			line-height: 2;
		}

		&:first-child {
			margin: 0;
		}

		&::before {
			counter-increment: count;
			content: counter(count);
			position: absolute;
			font-family: var(--font-serif);
			left: 0;
			top: 0;
			background-color: var(--color-gray-dark);
			color: var(--color-white);
			font-size: min(4.8vw, 22px);
			text-align: center;
			display: flex;
			justify-content: center;
			align-items: center;
			width: min(8.53vw, 48px);
			height: 100%;
		}

		.headline {
			margin-bottom: 5px;
			display: block;
			font-family: var(--font-serif);
			color: var(--color-gold-dark);
			font-size: min(4.26vw, 20px);
			line-height: 1.6;
			font-weight: 500;
		}
	}
}

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


/*================================
-チェックポイントコンテンツ
=================================*/

.layout-sub-point-box {
	background-color: var(--color-gold-light);
	padding: min(6.4vw, 32px) min(5.33vw, 20px) min(6.4vw, 32px) min(25.6vw, 96px);
	position: relative;
	font-family: var(--font-serif);
	margin: min(10.66vw, 40px) auto;
	line-height: 1.6;

	&::before {
		content: "POINT";
		position: absolute;
		top: 50%;
		left: min(5.33vw, 20px);
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		width: min(17.06vw, 56px);
		height: min(17.06vw, 56px);
		font-size: min(3.73vw, 13px);
		font-weight: 500;
		line-height: 1.4;
		font-family: var(--font-serif);
		background-color: var(--color-gray-dark);
		color: var(--color-white);
	}
}


/*================================
-よくあるご質問
=================================*/

.layout-faq {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(2.13vw, 8px);
}

.layout-faq-contents {
	border: .5px solid var(--color-gray);
	background-color: var(--color-gray-light);
	position: relative;

	&::before {
		content: "";
		position: absolute;
		display: block;
		left: 0;
		top: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: min(10.66vw, 40px) min(10.66vw, 40px) 0px 0px;
		border-color: var(--color-gray-light04) transparent transparent transparent;
	}

	.headline {
		width: 100%;
		height: 100%;
		min-height: min(21.3vw, 80px);
		font-size: min(4vw, 17px);
		color: var(--color-text);
		font-family: var(--font-serif);
		font-weight: 500;
		letter-spacing: .05rem;
		padding: min(4.26vw, 16px) min(14.93vw, 56px) min(4.26vw, 16px) min(17.06vw, 96px);
		position: relative;
		display: flex;
		align-items: center;
		z-index: 2;
		cursor: pointer;
		line-height: 1.4;

		>span {
			position: absolute;
			height: calc(100% - min(4.26vw, 16px));
			top: 50%;
			left: min(2.13vw, 20px);
			transform: translateY(-50%);
			margin-right: min(2.13vw, 16px);
			padding-right: min(2.13vw, 16px);
			border-right: .5px solid var(--color-gray);
			color: var(--color-gold-dark);
			display: flex;
			align-items: center;
		}

		&::before,
		&::after {
			content: "";
			position: absolute;
			top: 50%;
			display: block;
			width: min(4.26vw, 16px);
			height: 1px;
			background-color: var(--color-gold);
			right: min(4.26vw, 24px);
		}

		&::before {
			transform: translateY(-50%);
		}

		&::after {
			transition: transform 0.5s;
			transform: translateY(-50%) rotate(-90deg);
		}
	}

	.read-text {
		border-top: .5px solid var(--color-gray);
		margin: 0 min(4.26vw, 24px) min(4.26vw, 16px);
		padding-top: min(4.26vw, 16px);
		display: block;
		cursor: pointer;

		p {
			font-size: min(3.73vw, 14px);
			margin-bottom: min(6.4vw, 24px);
			text-align: left;

			a {
				text-decoration: underline;
				color: var(--color-gold-dark);
			}

			b,
			strong {
				font-weight: 400;
				display: inline;
				background: linear-gradient(transparent 70%, var(--color-gold-light04) 70%);
			}

			&:last-child {
				margin-bottom: 0;
			}
		}
	}

	.link {
		display: inline-block;
		margin-top: min(4.26vw, 16px);
		padding-left: min(4.26vw, 16px);
		font-size: min(3.46vw, 15px);
		color: var(--color-gold-dark);
		position: relative;

		&::before {
			content: "▶";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			font-size: min(3.2vw, 12px);
		}
	}
}


.layout-faq-answer {
	opacity: 0;
	overflow: hidden;
	height: 0;
	transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border-top: .5px solid var(--color-gray);
	margin: 0 min(4.26vw, 24px) min(5.33vw, 20px);
	padding-top: min(5.33vw, 20px);

	p {
		font-size: min(3.73vw, 14px);
		margin-bottom: min(6.4vw, 24px);
		text-align: justify;
		word-break: break-all;

		a {
			text-decoration: underline;
			color: var(--color-gold-dark);
		}

		b,
		strong {
			font-weight: 400;
			display: inline;
			background: linear-gradient(transparent 70%, var(--color-gold-light04) 70%);
		}

		&:last-child {
			margin-bottom: 0;
		}

		.layout-text-link {
			&::before {
				top: 0;
			}
		}
	}

	.answer {
		background-color: var(--color-gold-dark);
		font-family: var(--font-serif);
		color: var(--color-white);
		height: min(8.53vw, 32px);
		display: flex;
		justify-content: center;
		align-items: center;
		width: min(10.66vw, 40px);
		height: min(10.66vw, 40px);
		line-height: min(10.66vw, 40px);
		border-radius: min(5.33vw, 20px);
		font-size: min(5.33vw, 20px);
		position: relative;
		z-index: 2;

		&:before {
			content: "";
			position: absolute;
			width: 0;
			height: 0;
			left: 50%;
			transform: translateX(-50%);
			bottom: max(-1.6vw, -6px);
			border-style: solid;
			border-width: min(2.13vw, 8px) min(1.06vw, 4px) 0px min(1.06vw, 4px);
			border-color: var(--color-gold-dark) transparent transparent transparent;
			z-index: 1;
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-faq-answer {
		p {
			a {
				&:hover {
					text-decoration: none;
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-faq-answer {
		p {
			a {
				&:active {
					text-decoration: none;
				}
			}
		}
	}
}

.layout-faq-contents[open] {
	.headline {
		&::after {
			transform: translateY(-50%) rotate(0deg);
		}
	}

	.layout-faq-answer {
		opacity: 1;
		/* transform: translateY(0); */
	}
}

.layout-faq-answer-item {
	padding: min(4.26vw, 20px);
	background-color: var(--color-gold-light);
}


/*================================
-目次
=================================*/

#main-nav-box,
#main-nav-box-none {
	background-color: var(--color-gray-light);
	margin: min(10.66vw, 80px) auto min(25.6vw, 104px);
	padding: min(8.53vw, 32px) min(4.26vw, 32px);
	position: relative;
	z-index: 2;

	ul {
		border-top: 1px var(--color-black) solid;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 min(2.13vw, 8px);

		li {
			border-bottom: .5px var(--color-gray) dashed;
			list-style: none;

			a {
				position: relative;
				display: flex;
				flex-flow: column nowrap;
				justify-content: center;
				align-items: start;
				line-height: 1.5;
				min-height: min(14.93vw, 56px);
				font-size: min(3.46vw, 13px);
				padding-left: min(4.26vw, 16px);

				&::before {
					content: "〉";
					position: absolute;
					top: 50%;
					left: 0;
					transform: translateY(-50%);
					z-index: 5;
					color: var(--color-gold-dark);
				}
			}
		}
	}

	ul.parent {
		border-bottom: .5px var(--color-gray) dashed;

		li {
			border: 0;
		}
	}

	ul.indent {
		border-top: 0;

		a {
			padding-left: min(calc(4.26vw * 2), calc(16px * 2));

			&::before {
				content: "−";
				left: min(5.33vw, 20px);
			}
		}
	}

	ul.border-none {
		border-top: 0;
	}
}

#main-nav-box {
	overflow: hidden;

	ul {
		margin-bottom: min(14.93vw, 56px);
		height: min(27.73vw, 120px);
	}
}

@media screen and (min-width: 768px) {

	#main-nav-box,
	#main-nav-box-none {
		border: 2px solid var(--color-gray-light02);
	}
}

@media screen and (max-width: 767px) {

	#main-nav-box,
	#main-nav-box-none {
		width: calc(100% + min(calc(4.26vw * 2), calc(16px * 2)));
		margin-left: max(-4.26vw, -16px);
		border-top: 2px solid var(--color-gray-light02);
		border-bottom: 2px solid var(--color-gray-light02);

		ul {
			grid-template-columns: repeat(1, 1fr);
			gap: 0;
		}
	}
}

#main-nav-tit {
	padding-bottom: min(2.13vw, 8px);
	font-size: min(4.26vw, 18px);
	font-family: var(--font-serif);
	font-weight: 500;
	margin-bottom: 0 !important;
}

#btn-main-nav {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: 100%;
	height: min(32vw, 120px);
	background: linear-gradient(to bottom, #fdfdfd00 0%, #fdfdfd 50%, #fdfdfd 100%);
	z-index: 10;
}

#btn-main-nav p {
	margin: 0 auto min(4.26vw, 16px) !important;
	padding: min(2.13vw, 8px) min(4.26vw, 16px) !important;
	font-size: min(3.73vw, 15px) !important;
	font-weight: 500 !important;
	color: var(--color-gold-dark);
	font-family: var(--font-serif);
}

#btn-main-nav-close {
	display: none;
}

.btn-main-nav-on {
	height: auto !important;
	overflow: visible !important;
	padding-bottom: 12.82vw !important;
}

#main-nav-box.open ul {
	height: auto;
}

#main-nav-box.open #btn-main-nav {
	height: auto;
	background: none;
}

#btn-main-nav-open,
#btn-main-nav-close {
	cursor: pointer;
}

#main-nav-box.open #btn-main-nav-open {
	display: none;
}

#main-nav-box.open #btn-main-nav-close {
	display: block;
}

/*================================
-ページネーション
=================================*/

#page-nav {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	margin: 0 auto min(10.66vw, 40px);
}

#page-nav a {
	color: var(--color-black);
	text-decoration: none;
	transition: ease .3s;
}

#page-nav a:hover {
	background: var(--color-gold-dark);
	color: var(--color-white);
	transition: ease .3s;
}

.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(10.66vw, 40px);
	height: min(10.66vw, 40px);
	line-height: min(10.66vw, 40px);
	background: var(--color-gray-light);
	border: .5px solid var(--color-gray);
	font-family: var(--font-serif);
	text-align: center;
	margin: 0 min(1.06vw, 4px);
	font-size: min(3.73vw, 15px);
	color: var(--color-gold-dark);
}

#page-nav .current {
	background: var(--color-gold-dark);
	color: var(--color-white);
}

#page-nav .dots {
	color: var(--color-black);
}

.layout-pagenation {
	margin-top: 80px;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(2.13vw, 8px);
	width: 100%;

	.link {
		text-decoration: none;
		font-size: min(3.73vw, 14px);
		height: min(14.93vw, 56px);
		display: flex;
		align-items: center;
		background-color: var(--color-gold-dark);
		color: var(--color-white);
		width: 100%;
		transition: ease .3s;
		justify-content: center;
		transition: ease .3s;
	}

	.prev,
	.next {
		position: relative;

		&::before {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			z-index: 2;
		}
	}

	.prev {
		&::before {
			content: "〈";
			left: 0;
		}
	}

	.next {
		&::before {
			content: "〉";
			right: 0;
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-pagenation {
		.link {
			&:hover {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-pagenation {
		.link {
			&:active {
				opacity: .7;
				transition: ease .3s;
			}
		}
	}
}


/*================================
-フォームのリードコンテンツ
=================================*/

.layout-form-read {
	margin-bottom: min(10.66vw, 40px);


	>.inner {
		border-bottom: .5px solid var(--color-gray);
	}

	.headline {
		background-color: var(--color-gray-dark);
		color: var(--color-white);
		font-family: var(--font-serif);
		padding: 0 min(4.26vw, 16px);
		display: flex;
		justify-content: center;
		align-items: center;
		height: min(12.8vw, 48px);
		font-size: min(4.8vw, 20px);
		text-align: center;
		font-weight: 400;
		line-height: 1.4;
		margin-bottom: 24px;
		letter-spacing: 0.1rem;
		position: relative;
		overflow: hidden;
	}

	.headline.nagaokakyo {
		background-color: var(--color-nagaokakyo);
	}

	.headline.katsura {
		background-color: var(--color-katsura);
	}

	.headline.saiin {
		background-color: var(--color-saiin);
	}
}

.layout-form-read-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(2.13vw, 8px);
	margin: min(10.66vw, 40px) auto;
	width: 100%;

	.link {
		text-decoration: none;
		font-size: min(3.73vw, 14px);
		height: min(14.93vw, 56px);
		padding: min(2.13vw, 8px) min(4.26vw, 16px);
		display: flex;
		align-items: center;
		border: 1px solid var(--color-gray);
		color: var(--color-gold-dark);
		width: 100%;
		transition: ease .3s;
		justify-content: center;
		line-height: 1.4;

		span {
			text-align: center;
			position: relative;
			padding-left: min(4.26vw, 16px);

			&::before {
				content: "▶";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				font-size: min(3.2vw, 12px);
			}
		}
	}

	.nagaokakyo {
		span {
			&::before {
				color: var(--color-nagaokakyo);
			}
		}
	}

	.katsura {
		span {
			&::before {
				color: var(--color-katsura);
			}
		}
	}

	.saiin {
		span {
			&::before {
				color: var(--color-saiin);
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-form-read-list {
		max-width: 640px;

		.link {
			&:hover {
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-form-read-list {
		grid-template-columns: repeat(1, 1fr);

		.link {
			justify-content: flex-start;

			&:active {
				opacity: .7;
			}
		}
	}
}

.layout-form-att {
	p {
		color: var(--color-red);
	}
}

#gHeader .hBox {
	display: none;
}




/*------------------------------------------------------------
  #header-nav
------------------------------------------------------------*/

#header-nav {}

#header-nav-menu {
	position: fixed;
	top: 0;
	left: 100%;
	width: calc(100% - 7.69vw);
	height: 100%;
	background: var(--color-gray-light02);
	overflow-y: scroll;
	margin: 0 0 0 7.69vw;
	padding: 0 0 15.38vw;
	transition: ease .3s;
	z-index: 99;
}

#header-nav-menu.clicked {
	left: 0;
	transition: ease .3s;
}

@media screen and (min-width:768px) {
	#header-nav {}

	#header-nav-menu {
		position: absolute;
		top: 167px;
		left: calc(50% - 600px);
		width: 1200px;
		height: auto;
		background: none;
		overflow: visible;
		margin: 0 auto;
		padding: 0;
	}
}




#btn-main-navi {
	position: absolute;
	position: fixed;
	top: 1.03vw;
	right: min(4.26vw, 16px);
	width: 11.54vw;
	height: 11.54vw;
	background: none;
	border: none;
	text-align: center;
	transition: all 0.4s linear;
	z-index: 99999;
}

#btn-main-navi span:nth-child(1) {
	position: absolute;
	top: 3.59vw;
	left: 2.2vw;
	width: 7.18vw;
	height: 1px;
	background: var(--color-text);
}

#btn-main-navi span:nth-child(2) {
	position: absolute;
	top: 5.64vw;
	left: 2.2vw;
	width: 7.18vw;
	height: 1px;
	background: var(--color-text);
}

#btn-main-navi span:nth-child(3) {
	position: absolute;
	top: 7.69vw;
	left: 2.2vw;
	width: 7.18vw;
	height: 1px;
	background: var(--color-text);
}

#btn-main-navi b {
	position: absolute;
	top: 9.74vw;
	left: 50%;
	width: 100%;
	margin: 0 0 0 -50%;
	font-size: 2.34vw;
	color: var(--color-text);
	font-weight: 400;
	font-family: var(--font-sans);
	font-style: normal;
	letter-spacing: 0.08em;
}

#btn-main-navi b i {
	font-style: normal;
}

#btn-main-navi b i:last-child {
	display: none;
}

.btn-hn-on {}

.btn-hn-on b {
	color: var(--color-text) !important;
}

.btn-hn-on b i:first-child {
	display: none;
	transition: all 0.2s linear;
}

.btn-hn-on b i:last-child {
	display: block !important;
	transition: all 0.2s linear;
}

.btn-hn-on span:nth-child(1) {
	top: 5.515vw !important;
	left: 1.54vw !important;
	width: 8.34vw !important;
	background: var(--color-text) !important;
	transform: rotate(30deg);
	transition: all 0.2s linear;
}

.btn-hn-on span:nth-child(2) {
	display: none;
}

.btn-hn-on span:nth-child(3) {
	top: 5.515vw !important;
	left: 1.54vw !important;
	width: 8.34vw !important;
	background: var(--color-text) !important;
	transform: rotate(-30deg);
	transition: all 0.2s linear;
}

@media screen and (min-width:768px) {
	#btn-main-navi {
		display: none;
	}
}




.clicked-nav {
	position: relative;
}

.clicked-nav:after {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.4);
	z-index: 9997;
}

.clicked-nav #header-wrap {
	background: none;
}




#header-nav-ul {
	padding: 0 0 10.25vw;
}

#header-nav-ul>li {
	border-bottom: 0.5px var(--color-text) dotted;
	list-style: none;
	position: relative;
}

#header-nav-ul>li>a,
#header-nav-ul>li>mark {
	display: flex;
	align-items: center;
	height: 14.1vw;
	line-height: 1.5;
	background: none;
	color: var(--color-text);
	font-weight: 400;
	text-decoration: none;
	position: relative;
	font-size: min(3.73vw, 15px);
	padding: 0 min(2.13vw, 8px) 0 min(8.53vw, 32px);

	&:before {
		content: "〉";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: min(4.26vw, 16px);
		color: var(--color-gold-dark);
		z-index: 1;
		pointer-events: none;
	}
}

@media screen and (max-width:767px) {
	#header-nav-ul>li:first-of-type>a {
		padding: 0 0 0 min(8.53vw, 32px);

		&::before {
			content: "";
			background: url(../img/common/icon-home-gold.svg) no-repeat center center / 100%;
			left: min(3.2vw, 12px);
			width: min(3.73vw, 16px);
			height: min(3.73vw, 16px);
		}
	}

	#header-nav-ul .btn-hd-sub-open {

		&::before,
		&::after {
			content: "";
			position: absolute;
			top: 50%;
			right: min(4.26vw, 16px);
			width: min(4.26vw, 16px);
			height: 1px;
			background: var(--color-gold-dark);
		}

		&::after {
			transform: rotate(90deg);
			transition: ease .3s;
		}
	}

	#header-nav-ul .btn-hd-sub-open.on:after {
		transform: rotate(0deg);
		transition: ease .3s;
		display: block;
	}
}

@media screen and (min-width:768px) {
	#header-nav-ul {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		margin: 0;
		padding: 0;
		position: relative;
	}

	#header-nav-ul>li {
		border-bottom: 2px var(--color-white) solid;
		position: relative;
	}

	#header-nav-ul>li>a,
	#header-nav-ul>li>mark {
		display: block;
		height: auto;
		padding: 10px 12px;
		color: var(--color-text);
		position: relative;
	}

	#header-nav-ul>li>a:before {
		display: none;
	}

	#header-nav-ul>li>a:after {
		display: none;
	}

	#header-nav-ul>li.dn-annai>mark {
		padding: 10px 24px 10px 12px;
	}

	#header-nav-ul>li.dn-annai>mark:before {
		content: "▼";
		position: absolute;
		top: 50%;
		left: initial;
		right: 0;
		font-size: min(3.2vw, 12px);
		color: var(--color-gold);
		transform: translateY(-50%);
	}

	#header-nav-ul>li:hover {
		border-bottom: 2px var(--color-gold) solid;
		transition: 0.3s ease;
		cursor: pointer;
	}

	#header-nav-ul>li>a:hover::before,
	#header-nav-ul>li>mark:hover::before {
		opacity: 1;
		transition: 0.3s ease;
	}
}

.header-ul-sub li {
	border-bottom: 0.5px var(--color-text) dotted;
	list-style: none;
	position: relative;
}

.header-ul-sub li:first-of-type {
	border-top: 0.5px var(--color-text) dotted;
}

.header-ul-sub li a {
	display: flex;
	align-items: center;
	height: min(14.1vw, 56px);
	background: var(--color-white);
	color: var(--color-text);
	text-decoration: none;
	position: relative;
	font-size: min(3.73vw, 14px);
	padding: 0 min(2.13vw, 8px) 0 min(12.8vw, 48px);

	&:before {
		content: "〉";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: min(8.53vw, 32px);
		z-index: 1;
	}
}

.header-ul-sub li mark {
	display: flex;
	align-items: center;
	height: min(13.84vw, 56px);
	line-height: 1.5;
	background: var(--color-gray-light02);
	padding: 0 min(2.13vw, 8px) 0 min(12.8vw, 48px);
	font-size: min(3.73vw, 14px);
	text-decoration: none;
	position: relative;

	&:before {
		content: "〉";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: min(8.53vw, 32px);
		z-index: 1;
	}
}

@media screen and (max-width:767px) {
	.header-ul-sub {
		max-height: 0;
		overflow: hidden;
		transition: max-height .5s ease;

		li {
			&:last-child {
				border-bottom: 0;
			}
		}

		.indent-sp a {
			padding: 0 min(2.13vw, 8px) 0 min(17.06vw, 64px);

			&::before {
				left: min(12.8vw, 48px);
			}
		}

	}

	.header-ul-sub-on {
		max-height: 1000svh;
	}

	.btn-hd-sub-open {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 13.84vw;
	}

	.btn-hs-on:after {
		transform: rotate(0deg) !important;
		transition: ease .3s !important;
	}

	.header-ul-sub li mark {
		background-color: var(--color-gold-light);
		font-weight: initial;
	}
}

@media screen and (min-width:768px) {
	.btn-hd-sub-open {
		display: none;
	}

	.btn-hs-on:after {}

	.header-ul-sub {
		opacity: 0;
		max-height: 0;
		overflow: hidden;
		pointer-events: none;
		transition: max-height .25s ease, opacity .25s ease;
		display: flex;
		flex-flow: row wrap;
		position: absolute;
		top: 44.5px;
		left: 0;
		width: 550px;
		background: var(--color-gray-light05);
		z-index: 99999;
		cursor: initial;
		border: .5px solid var(--color-gray);
	}

	.header-ul-sub-on {
		opacity: 1;
		max-height: 100svh;
		pointer-events: auto;
	}

	.header-ul-sub p {
		display: block;
		height: auto;
		font-weight: 600;
	}

	#header-nav-ul>li:last-child .header-ul-sub {
		right: 0;
	}

	.header-ul-sub li {
		width: 50%;
		border-bottom: .5px var(--color-gray) solid;
	}

	.header-ul-sub li:first-of-type {
		border-top: none;
	}

	.header-ul-sub li:nth-of-type(odd) {
		border-right: .5px var(--color-gray) solid;
	}

	.header-ul-sub li:nth-of-type(even) {
		border-right: .5px var(--color-gray) solid;
	}

	.header-ul-sub li a {
		color: var(--color-text);
		position: relative;
		background-color: var(--color-gray-light05);
		transition: 0.3s ease;
	}

	.header-ul-sub li:has(mark) {
		width: 550px;
	}

	.header-ul-sub li a,
	.header-ul-sub li mark {
		padding: 0 min(2.13vw, 8px) 0 min(12.8vw, 32px);

		&::before {
			left: min(4.26vw, 16px);
		}
	}

	.header-ul-sub li a:hover {
		background: var(--color-gold-light);
		transition: 0.3s ease;
	}

	/* .header-ul-sub li a:hover::before {
		background: #2E70B0;
		transition: 0.6s ease;
	} */
}




/*------------------------------------------------------------
  #footer-nav
------------------------------------------------------------*/
#footer-nav-ul {
	padding: 0;
}

#footer-nav-ul>li {
	border-bottom: 0.5px #707070 solid;
	list-style: none;
	position: relative;
}

#footer-nav-ul>li>a,
#footer-nav-ul>li>mark {
	display: flex;
	align-items: center;
	height: 12.82vw;
	line-height: 1.6;
	background: none;
	padding: 0 min(4.26vw, 16px) 0 min(8.53vw, 32px);
	font-size: min(3.73vw, 14px);
	color: var(--color-white);
	font-weight: 400;
	text-decoration: none;
	position: relative;
}

#footer-nav-ul>li>a:before,
#footer-nav-ul>li>mark:before {
	content: "〉";
	position: absolute;
	top: 50%;
	left: min(4.26vw, 16px);
	transform: translateY(-50%);
	z-index: 1;
}

.btn-ft-sub-open {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 12.82vw;

	&::before,
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		right: min(4.26vw, 16px);
		width: min(4.26vw, 16px);
		height: 1px;
		background: var(--color-white);
	}

	&::after {
		transform: rotate(90deg);
		transition: ease .3s;
	}
}

.btn-fs-on:after {
	transform: rotate(0deg);
	transition: ease .3s;
}

.footer-ul-sub {

	li {
		border-bottom: 0.5px #ccc solid;
		list-style: none;

		a {
			display: flex;
			align-items: center;
			height: min(12.8vw, 48px);
			background: var(--color-white);
			line-height: 1.6;
			padding: 0 min(2.13vw, 8px) 0 min(12.8vw, 48px);
			font-size: min(3.73vw, 14px);
			color: var(--color-text);
			text-decoration: none;
			position: relative;

			&::before {
				content: "〉";
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				left: min(8.53vw, 32px);
			}
		}

		mark {
			display: flex;
			align-items: center;
			height: min(12.8vw, 48px);
			background: var(--color-gray-light02);
			line-height: 1.6;
			padding: 0 min(2.13vw, 8px) 0 min(12.8vw, 48px);
			font-size: min(3.73vw, 14px);
			color: var(--color-text);
			position: relative;

			&::before {
				content: "〉";
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				left: min(8.53vw, 32px);
			}
		}
	}
}

@media screen and (max-width:767px) {
	#footer-nav-ul>li:first-of-type a {

		&::before {
			content: "";
			left: min(3.2vw, 12px);
			background: url("../img/common/icon-home-wt.svg") no-repeat center center / 100%;
			width: min(3.73vw, 16px);
			height: min(3.73vw, 16px);
		}
	}

	.footer-ul-sub {
		max-height: 0;
		overflow: hidden;
		transition: max-height .5s ease;

		.indent-sp a {
			padding: 0 min(2.13vw, 8px) 0 min(17.06vw, 64px);

			&::before {
				left: min(12.8vw, 48px);
			}
		}
	}

	.footer-ul-sub-on {
		max-height: 200svh;
	}

	.footer-ul-sub li:first-of-type {
		border-top: 0.5px #ccc solid;
		list-style: none;
	}
}

@media screen and (min-width:768px) {
	#footer-nav {
		width: 1200px;
		margin: 0 auto;
		padding: 100px 0 0;
		position: relative;
	}

	#footer-nav-ul {
		display: flex;
		flex-flow: column wrap;
		height: 700px;
		padding: 0;
	}

	#footer-nav-ul>li {
		border-bottom: none;

		.indent-pc {
			position: relative;

			&::before {
				content: "";
				position: absolute;
				left: 0;
				top: calc(50% + 6px);
				transform: translateY(-50%);
				background-color: var(--color-white);
				width: min(2.13vw, 8px);
				height: 1px;
			}
		}
	}

	#footer-nav-ul>li:first-of-type {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		background: url(../img/common/icon-home-wt.svg) no-repeat left 44px/16px auto;
		border-bottom: 1px var(--color-white) solid;
		padding: 40px 0 0 10px;
	}

	#footer-nav-ul>li:first-of-type a:before {
		display: none;
	}

	#footer-nav-ul .dn-annai {
		position: relative;
	}

	#footer-nav-ul .dn-annai mark {
		padding-left: 0;
		font-weight: 500;
		font-size: min(3.73vw, 14px);

		&::before {
			content: none;
		}
	}

	#footer-nav-ul>li>a,
	#footer-nav-ul>li>mark {
		height: auto;
		background: none;
		padding: 0 0 10px 15px;
		font-size: 15px;
	}

	#footer-nav-ul>li>a:before {
		top: 12px;
		left: 0;
	}

	#footer-nav-ul>li>a:after {
		display: none;
	}

	#footer-nav-ul>li>a:hover {
		text-decoration: underline;
		transition: 1s ease;
	}

	.btn-ft-sub-open {
		display: none;
	}

	.footer-ul-sub {
		display: flex;
		flex-flow: column wrap;
		height: 700px;
		padding: 0;

		li {
			width: 260px;
			border-bottom: none;

			a {
				height: auto;
				background: none;
				padding: 0 0 8px 15px;
				font-size: 14px;
				color: var(--color-white);

				&::before {
					top: 12px;
					left: 0;
				}

				&::after {
					display: none;
				}

				&:hover {
					text-decoration: underline;
					transition: 1s ease;
				}
			}

			mark {
				height: auto;
				background: none;
				padding: 20px 0 10px 20px;
				font-size: 15px;
				color: var(--color-white);
			}
		}
	}
}

@media screen and (min-width:768px) {
	.ma5 {
		padding-left: 1rem;
	}
}