@charset "utf-8";

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.topBox {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100% !important;
	text-align: center;
	box-sizing: border-box;
	/* background: url(../img/index/sec06_bg.jpg) no-repeat center top / cover; */
	overflow: hidden;
	background: #3B0A0C;
}

.topBox::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background-color: rgba(255, 255, 255, 0.2); */
	/* 透明な黒（0.5の透明度） */
	z-index: 1;
	/* 子要素よりも背面に配置 */
}

.background_txtImg {
	/* width: 100%;
	height: 100%; */
	/* position: absolute; */
	/* transform: translate(-50%, -50%); */
	/* left: 50%;
	top: 40%; */
	/* z-index: 1; */
	/* margin: 40px 0; */
	width: 100%;
}

.background_txtImg img {
	object-fit: cover;
	width: 100%;
}

.background_txtImg img:last-of-type {
	display: none;
}

@media(max-width:576px) {
	.background_txtImg {
		width: 100%;
		height: 100%;
		left: 40%;
	}

	.background_txtImg img:first-child {
		display: none;
		object-fit: cover;
		height: 100%;
	}

	.background_txtImg img:last-of-type {
		display: block;
		/* height: 100%; */
		object-fit: cover;
	}
}

.background_txtImg_date {
	position: absolute;
	transform: translateX(-50%);
	bottom: 0;
	left: 50%;
	z-index: 2;
}

@media(max-width:576px) {
	.background_txtImg_date {
		top: 80%;
		width: 90%;
	}
}

.background_txtImg_date_right {
	position: absolute;
	top: 50%;
	left: 80%;
	transform: translate(-50%, -50%);
	width: 11%;
	z-index: 2;
}

@media(max-width:576px) {
	.background_txtImg_date_right {
		top: 45%;
		left: 90%;
		width: 20%;
	}
}

.background_shoplogo {
	position: absolute;
	top: 15%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: 30%;
}

@media(max-width:576px) {
	.background_shoplogo {
		width: 80%;
	}
}

.topBox .bg {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: 50%;
	transition: all ease 2s;
	z-index: 101;
	border: 5000px solid #490C0F;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	opacity: 1;
	visibility: visible;
}

.topBox .bg.hide {
	opacity: 0;
	visibility: hidden;
}

.topBox .subBox {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 102;
}

.topBox .box01,
.topBox .box02 {
	display: none;
}

.topBox .subBox .titleImg {
	margin-top: 14px;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 64px;
	transform: translate(-50%, -50%);
}

.topBox .btn {
	position: fixed;
	right: 19px;
	bottom: 30px;
	z-index: 110;
}

.topBox .btn a:hover {
	opacity: 0.7;
}

.topBox .txtImg {
	z-index: 2;
	width: 15%;
}

.topBox p {
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 2.8rem;
	letter-spacing: 0.08em;
	text-align: center;
	color: #fff;
	z-index: 100;
}

.sec01 {
	background: linear-gradient(to bottom, #C19A6B 0%, #8B6B4A 100%);
}

.sec01 .imgBox {
	display: flex;
}

.sec01 .imgBox:nth-child(2n) {
	flex-direction: row-reverse;
}

.sec01 .imgBox:nth-child(2n) .textBox .subBox {
	margin: 0 -178px 0 auto;
}

.sec01 .imgBox .photoBox {
	width: calc(50% + 157px);
	height: 600px;
}

@media(max-width:992px) {
	.sec01 .imgBox .photoBox {
		height: initial;
	}
}

.sec01 .imgBox .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.sec01 .imgBox .textBox {
	padding: 14px 20px 40px;
	display: flex;
	align-items: center;
	flex: 1;
}

.sec01 .imgBox .textBox .subBox {
	padding: 78px 73px 74px 74px;
	position: relative;
	z-index: 100;
	max-width: 600px;
	margin-left: -178px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
}

.sec01 .imgBox .textBox .subBox::before {
	position: absolute;
	left: 24px;
	bottom: -52px;
	width: 2px;
	height: 160px;
	content: '';
	background: #490c0f;
	transform: rotate(-45deg);
}

.sec01 .imgBox .textBox .subBox::after {
	position: absolute;
	right: 27px;
	top: -52px;
	width: 2px;
	height: 158px;
	content: '';
	background: #490c0f;
	transform: rotate(-45deg);
}

.sec01 .imgBox p {
	font-weight: normal;
	font-size: 18px;
	letter-spacing: 0.04em;
	line-height: 28px;
	text-align: left;
	color: #333;
}

/* specialty */
.specialty {
	padding: 91px 0 77px;
}

.specialty h2 {
	margin-bottom: 24px;
	color: #490C0F;
	font-size: 2.3rem;
	font-weight: 600;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.12rem;
	text-align: center;
}

.specialty .img {
	margin: 0 auto 32px;
	max-width: 129px;
}

.specialty p {
	font-size: 2.4rem;
	font-weight: bold;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	letter-spacing: 0.04em;
	line-height: 2;
}

.sec02 img {
	width: 100%;
}

.sec03 {
	padding: 95px 0 106px;
	background-color: #490C0F;
	overflow: hidden;
}

.sec03 .inner {
	margin: 0 auto;
	padding-left: 66px;
	max-width: 863px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sec03 .inner p {
	margin-top: -9px;
	color: #FFFFFF;
	font-size: 3.5rem;
	font-weight: bold;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.12em;
	position: relative;
	z-index: 3;
}

.sec03 .inner p img {
	width: 300px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	margin-left: -3px;
	opacity: 0.3;
}

.sec04 {
	padding: 40px 10px 40px;
	background-color: #8b6b4a;
}

.sec04 p {
	color: #f5f0e5;
	font-size: 2.8rem;
	font-weight: 900;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.08em;
	line-height: 2;
	text-align: center;
}

.sec05 {
	padding: 114px 0 71px;
	overflow: hidden;
	position: relative;
}

.sec05::after {
	position: absolute;
	top: -323px;
	left: -59px;
	right: -23px;
	bottom: 0;
	content: '';
	z-index: 2;
	background: url(../img/index/sec05_bg.png) no-repeat top center / cover;
	z-index: -1;
}

.sec05 .content {
	margin: 0 auto;
	max-width: 1200px;
}

.sec05 .content .inner {
	width: 720px;
	margin: 40px auto;
}

.sec05 .content .inner p {
	margin-bottom: 7px;
	font-size: 24px;
	letter-spacing: 1px;
	font-weight: 700;
}

@media(max-width:896px) {
	.sec05 .content .inner {
		width: auto;
		margin: 40px 35px;
	}

	.sec05 .content .inner p {
		margin-bottom: 14px;
		font-size: 13px;
		letter-spacing: 0;
	}
}

.sec05 h2 {
	margin: 0 -5px 6px 0;
	position: relative;
	z-index: 6;
}

.sec05 h2 img {
	width: 100%;
}

.sec05 .photo01 {
	margin-bottom: 58px;
	position: relative;
	z-index: 5;
}

.sec05 .photo01 img {
	width: 100%;
}

.sec05 .photo02 {
	margin: 0 auto;
	max-width: 1060px;
	position: relative;
	z-index: 5;
}

.sec05 .photo02 img {
	width: 100%;
}

@media all and (max-width: 896px) {
	.topBox {
		/* min-height: 520px; */
		height: 100% !important;
	}

	.topBox .subBox .titleImg {
		width: 30px;
		margin-top: 0;
	}

	.topBox .txtImg {
		width: 118px;
		margin-top: 40px;
	}

	.topBox .btn {
		right: 14px;
		bottom: 50px;
		width: 94px;
	}

	.sec01 {
		background: transparent;
	}

	.sec01 .imgBox {
		display: block;
		background: linear-gradient(#f7f1e5 0%, #f2d59d 100%);
	}

	.sec01 .imgBox .photoBox {
		width: auto;
	}

	.sec01 .imgBox .textBox {
		padding: 14px 18px 56px;
		display: block;
		margin-top: -40px;
	}

	.sec01 .imgBox .textBox .subBox {
		padding: 48px 31px 48px;
		max-width: inherit;
		margin-left: 0;
	}

	.sec01 .imgBox p {
		font-size: 1.6rem;
		line-height: 1.75;
	}

	.sec01 .imgBox .textBox .subBox::after {
		right: 7px;
		top: -33px;
		height: 116px;
	}

	.sec01 .imgBox .textBox .subBox::before {
		left: 4px;
		bottom: -38px;
		height: 124px;
	}

	.sec01 .imgBox:nth-child(2n) .textBox .subBox {
		margin: 0;
	}

	.specialty {
		padding: 25px 15px 0px;
	}

	.specialty {
		padding: 25px 15px 0px;
	}

	.specialty .img {
		margin-bottom: 42px;
	}

	.specialty p {
		font-size: 2rem;
		line-height: 1.6;
	}

	.sec03 .inner {
		padding-left: 0;
		max-width: inherit;
		display: block;
	}

	.sec03 {
		padding: 80px 24px 40px;
		overflow: hidden;
	}

	.sec03 .inner p {
		margin: 0 0 80px;
		font-size: 3rem;
		text-align: center;
	}

	.sec03 .inner p img {
		width: 300px;
		/* top: -103px; */
		margin-left: -1px;
	}

	.sec04 {
		padding: 50px 10px;
	}

	.sec04 p {
		font-size: 2rem;
		letter-spacing: 0.04em;
	}

	.sec05 {
		padding: 0 0 94px;
	}

	.sec05::after {
		top: 13px;
		left: 0;
		right: 0;
		bottom: 0;
		background-image: url(../img/index/sp_sec05_bg.png);
	}

	.sec05 h2 {
		margin: 0;
		max-width: inherit;
	}

	.sec05 .photo01 {
		margin-bottom: 61px;
	}

	.sec05 .photo02 {
		margin: 0;
		max-width: inherit;
	}
}

@media all and (max-width: 896px) and (max-height: 739px) {
	.topBox .txtImg {
		width: 84px;
	}
}

@media all and (max-width: 896px) and (max-height: 560px) {
	.topBox .txtImg {
		width: 76px;
	}
}

@media all and (max-width: 374px) {
	.sec03 .inner p {
		font-size: 2.8rem;
	}

	.sec04 p {
		font-size: 2rem;
	}
}

/* sec06 sec07 */
.sec06 {
	/* padding-top: 74px; */
	position: relative;
	/* background: #490C0F url(../img/index/sec06_img.png) no-repeat center top 41px / 489px; */
}

/* .sec06::after {
	width: 177px;
	height: 616px;
	position: absolute;
	right: 61px;
	top: 124px;
	background: url("../img/index/sec06_img02.png") no-repeat right bottom /cover;
	content: '';
} */

.sec06 h2 {
	margin-bottom: 100px;
	text-align: center;
}

.sec06 .photo01 {
	width: 799px;
	height: 103px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 491px;
	content: '';
}

.sec06 .photo02 img {
	width: 100%;
	height: 500px;
	object-fit: cover;
}

.sec07 .imgUl {
	margin: 0px auto 99px;
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	position: relative;
}

.sec07 .imgUl li {
	margin: 0 46px 0;
	width: 295px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sec07 .lineTxt {
	margin: 0 auto 58px;
	max-width: 1090px;
	padding: 33px 55px 43px;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

.sec07 .lineTxt p {
	padding-left: 1em;
	text-indent: -1em;
}

.sec07 .txtBox {
	margin: 0 auto 78px;
	max-width: 988px;
	padding: 18px 52px 30px;
	letter-spacing: 0.04em;
	line-height: 1.8;
	background-color: #F2F2F2;
}

.sec07 .txtBox .h3Ttl {
	font-weight: normal;
}

@media all and (min-width: 897px) {
	.sec07 .imgUl li:first-child {
		/* margin-top: -5px; */
	}
}

@media all and (max-width: 896px) {
	.sec06 {
		/* padding-top: 51px; */
		background: #490C0F;
	}

	.sec06::after {
		width: 117px;
		height: 296px;
		right: 10px;
		top: 30px;
		background-image: url("../img/index/sp_sec06_img02.png");
	}

	.sec06 h2 {
		margin: -10px 0 19px -93px;
	}

	.sec06 .photo01 {
		width: auto;
		height: auto;
		left: auto;
		top: auto;
		transform: translateX(0);
		position: relative;
		margin: 0 13px 69px;
		text-align: center;
	}

	.sec07 .imgUl {
		margin: 60px 0 72px;
		display: block;
	}

	.sec07 .imgUl li {
		margin: 0 auto 74px;
		display: block;
		width: auto;
		text-align: center;
		padding: 0 60px;
	}

	.sec07 .imgUl li img {
		width: 100%;
	}

	.sec07 .imgUl li:nth-child(3n) {
		margin-bottom: 0;
	}

	.sec07 .imgUl h2 {
		margin-left: 81px;
		height: 300px;
	}

	.sec07 .imgUl h2 img {
		height: 295px;
	}

	.sec07 .lineTxt {
		margin: 0 19px 72px 24px;
		padding: 30px 0 40px;
	}

	.sec07 .lineTxt .h3Ttl {
		padding: 0 18px 24px;
		font-size: 2rem;
		letter-spacing: 0.04em;
	}

	.sec07 .lineTxt p {
		margin: 0 4px;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.sec07 .txtBox {
		margin: 0 24px 102px;
		padding: 15px 12px 24px 18px;
		font-size: 2rem;
		font-weight: 400;
	}

	.sec07 .txtBox .h3Ttl {
		font-weight: 400;
	}

}


/* sec08 */
.sec08 {
	height: 494px;
	background: url(../img/index/sec08_bg.jpg) no-repeat left top / cover;
	display: flex;
	align-items: center;
}

.sec08 .title {
	width: 100%;
	color: #490C0F;
	font-family: 'Noto Serif JP', serif;
	font-size: 6.7rem;
	text-align: center;
	letter-spacing: 0.05em;
}

@media all and (max-width: 896px) {
	.sec08 {
		padding-top: 23px;
		height: 67.9vw;
		background-image: url(../img/index/sp_sec08_bg.jpg);
	}

	.sec08 .title {
		font-size: 3.6rem;
	}
}

/* sec09 */
.sec09 {
	background-color: #490C0F;
}

.sec09 .btn {
	position: relative;
	z-index: 10;
	text-align: center;
}

.sec09 .widBox {
	margin: 0 auto;
	max-width: 1366px;
	position: relative;
}

.sec09 .image {
	position: absolute;
}

.sec09 .img01 {
	top: -66px;
	left: 178px;
}

.sec09 .img02 {
	bottom: 0;
	right: -114px;
}

.sec09 .img03 {
	bottom: -86px;
	left: -127px;
}

.sec09 .inner {
	padding: 132px 0 90px;
	overflow: hidden;
	position: relative;
}

@media all and (min-width: 897px) {
	.sec09 .btn a:hover {
		opacity: 0.9;
	}
}

@media all and (max-width: 896px) {
	.sec09 .inner {
		padding: 135px 0 113px;
	}

	.sec09 .btn img {
		width: 94%;
		max-width: 356px;
	}

	.sec09 .img03 {
		bottom: -50px;
		left: -80px;
		width: 264px;
	}

	.sec09 .img02 {
		bottom: 0;
		right: -120px;
		width: 322px;
	}

	.sec09 .img01 {
		top: 10px;
		left: -66px;
		width: 221px;
	}

	.sec09 .img03 {
		bottom: -14px;
		left: -77px;
		width: 260px;
	}

	.sec09 .widBox {
		max-width: 390px;
	}
}

@media all and (max-width: 389px) {
	.sec09 .img03 {
		width: 235px;
	}

	.sec09 .img02 {
		width: 250px;
	}

	.sec09 .img01 {
		width: 191px;
	}
}


/* sec10 */
.sec10 {
	padding-top: 146px;
}

.sec10 .imgBox {
	background-color: #F5F0E5;
	position: relative
}

.sec10 .imgBox .textBox {
	width: 640px;
	position: relative;
	z-index: 10;
}

.sec10 .imgBox p {
	font-size: 2rem;
	line-height: 2.1;
	letter-spacing: 0.04em;
}

.sec10 .content {
	margin: 0 auto;
	max-width: 1100px;
	position: relative;
}

.sec10 .h2Ttl {
	margin-bottom: 124px;
}

.sec10 .h2Ttl .small {
	margin: -3px 0 0 161px;
}

.sec10 .imgBox .headLine02 {
	margin-bottom: 34px;
	color: #490C0F;
	text-align: left;
	font-size: 3.6rem;
	letter-spacing: 0.04em;
}

.sec10 .imgBox .headLine02 .small {
	text-align: right;
	font-size: 2.1rem;
	line-height: 1.2;
	letter-spacing: 0.2em;
}

.sec10 .box01 {
	background: #F5F0E5 url(../img/index/sec09_bg.png) no-repeat center top / 1370px auto;
}

.sec10 .box01 .content {
	padding: 194px 0 623px;
}

.sec10 .image {
	position: absolute;
}

.sec10 .box01 .img01 {
	width: 981px;
	top: 195px;
	right: -297px;
}

.sec10 .box01 .img02 {
	width: 925px;
	bottom: 103px;
	left: -238px;
}

.sec10 .box01 .img03 {
	width: 1126px;
	top: 0;
	right: -133px;
}

.sec10 .box02 .content {
	padding-bottom: 288px;
}

.sec10 .box02 .image {
	width: 774px;
	bottom: 3px;
	right: -145px;
}

@media all and (max-width: 896px) {
	.sec10 .title {
		margin: 0 15px 110px;
		text-align: center;
	}

	.sec10 {
		padding-top: 131px;
	}

	.sec10 .box01 {
		background: #F5F0E5 url(../img/index/sp_sec09_bg.jpg) no-repeat left top / 390px auto;
	}

	.sec10 .content {
		padding: 0 25px;
	}

	.sec10 .box01 .content {
		padding: 82px 27px 44px;
	}

	.sec10 .imgBox .headLine02 {
		margin-bottom: 29px;
		font-size: 3.6rem;
		line-height: 1.55;
		letter-spacing: 0;
	}

	.sec10 .imgBox .headLine02 .small {
		font-size: 1.6rem;
	}

	.sec10 .imgBox .textBox {
		width: auto;
	}

	.sec10 .imgBox p {
		font-size: 2rem;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	.sec10 .image {
		position: relative;
	}

	.sec10 .image img {
		width: 100%;
	}

	.sec10 .box01 .img01 {
		width: auto;
		top: auto;
		right: auto;
		margin: 29px -126px 0 -129px;
		text-align: center;
	}

	.sec10 .box02 .headLine02 {
		margin-bottom: 21px;
	}

	.sec10 .box02 .image {
		width: auto;
		bottom: auto;
		right: auto;
		margin: -12px -25px 0 -42px;
		text-align: center;
	}

	.sec10 .box02 .image img {
		width: 100%;
	}

	.sec10 .box02 .content {
		padding-bottom: 0;
	}
}

@media all and (max-width: 389px) {
	.sec10 .imgBox p {
		font-size: 1.7rem;
	}

	.sec10 .imgBox .headLine02 {
		font-size: 3rem;
	}
}


/* appointment */
.appointment {
	padding: 0px 0 101px;
}

.appointment .subInner {
	max-width: 1358px;
	margin: 0 auto;
	padding: 72px 0 131px;
	border-bottom: 2px solid #959595;
}

.appointment h2 {
	margin-bottom: 55px;
	font-size: 56px;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}

.appointment .topText {
	margin: 0 0 70px;
	font-size: 20px;
	line-height: 1.75;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}

.appointment .topShow {
	margin-bottom: 60px;
}

.appointment .topShow .inner {
	width: 720px;
	margin: 0 auto;
}

.appointment .topShow .inner .radTxt {
	padding: 8px 0 13px;
	width: 635px;
	margin: 0 auto 39px;
	text-align: center;
	line-height: 1.75;
	color: #b42827;
	border: 1px solid #333;
	box-sizing: border-box;
	font-family: 'NotoSerifCJKjp-Regular';
}

.appointment .topShow .select01 p {
	margin-bottom: 7px;
	font-size: 24px;
	letter-spacing: 1px;
	font-weight: 700;
}

.appointment .topShow .select02 p {
	margin-bottom: 7px;
	font-size: 24px;
	letter-spacing: 1px;
	font-weight: 700;
}

.appointment .topShow .select01 {
	margin-bottom: 21px;
}

.appointment .topShow select {
	width: 720px;
	margin: 0 auto;
	font-size: 28px;
	text-align: center;
	border: 2px solid #BFBFBF;
	border-radius: 10px;
	background-color: #fff;
	font-weight: 700;
	letter-spacing: 10px;
}

.appointment h3 {
	width: 1125px;
	margin: 0 auto;
	padding-bottom: 14px;
	text-align: center;
	font-size: 36px;
	border-bottom: 2px solid #959595;
	font-family: 'NotoSerifCJKjp-Regular';
}

.appointment .btmBox {
	width: 986px;
	margin: 0 auto;
}

.appointment .btmBox ul {
	padding-top: 24px;
}

.appointment .btmBox ul li {
	/* display: none; */
	padding: 49px 22px 3px 32px;
	border-bottom: 2px dashed #707070;
}

.appointment .btmBox ul li p {
	width: 628px;
	float: left;
	font-size: 24px;
	letter-spacing: 1px;
	background: url(../img/index/line.png) repeat-y right top;
	box-sizing: border-box;
}

.appointment .btmBox ul li p span {
	display: block;
}

.appointment .btmBox ul li p .txt01 {
	font-size: 18px;
	font-weight: bold;
}

.appointment .btmBox ul li p .txt02 {
	font-size: 42px;
	vertical-align: middle;
	margin-top: -5px;
	font-weight: 700;
}

.appointment .btmBox ul li .contact {
	width: 300px;
	padding-left: 20px;
	float: right;
	box-sizing: border-box;
}

.appointment .btmBox ul li .contact .link a[href^="tel:"] {
	cursor: pointer;
	pointer-events: auto;
}

.appointment .btmBox ul li .contact .link img {
	margin-top: -6px;
}

.appointment .btmBox ul li .contact .link a:hover img {
	opacity: 0.7;
}

.appointment .btmBox ul li .contact .tel {
	margin: -2px 0 0 16px;
	min-height: 48px;
}

.appointment .btmBox ul li .contact .tel a {
	padding-left: 40px;
	font-size: 32px;
	color: #BCAB88;
	font-weight: bold;
	background: url(../img/index/icon02.png) no-repeat left top 10px;
}

@media all and (min-width: 897px) {
	.appointment .btmBox ul li .contact .link img {
		width: 297px;
		max-width: inherit;
	}
}

@media all and (max-width: 896px) {
	.appointment {
		padding: 14px 0 170px;
	}

	.appointment .subInner {
		max-width: inherit;
		margin: 0 20px;
		padding: 46px 0 0;
		border-bottom: none;
		border-top: 1px solid #555;
	}

	.appointment h2 {
		margin-bottom: 56px;
		font-size: 28px;
	}

	.appointment .topText {
		margin: 0 0 55px;
		font-size: 16px;
		line-height: 1.75;
	}

	.appointment .topShow {
		margin-bottom: 40px;
	}

	.appointment .topShow .inner {
		width: auto;
		margin: 0 15px;
	}

	.appointment .topShow .inner .radTxt {
		padding: 7px 0 9px;
		width: auto;
		margin: 0 auto 34px;
		line-height: 1.75;
	}

	.appointment .topShow .select01 p {
		margin-bottom: 14px;
		font-size: 13px;
		letter-spacing: 0;
	}

	.appointment .topShow .select02 p {
		margin-bottom: 14px;
		font-size: 13px;
		letter-spacing: 0;
	}

	.appointment .topShow .select01 {
		margin-bottom: 26px;
	}

	.appointment .topShow select {
		height: 61px;
		margin: 0 auto;
		font-size: 14px;
		border: 1px solid #000;
		border-radius: 8px;
		letter-spacing: 6px;
	}

	.appointment h3 {
		width: auto;
		margin: 0 auto 5px;
		padding-bottom: 6px;
		font-size: 15px;
		/* border-bottom: 1px solid #BFBFBF; */
		border-bottom: initial;
	}

	.appointment .btmBox {
		width: auto;
		margin: 0 auto;
	}

	.appointment .btmBox ul {
		padding: 5px 0;
	}

	.appointment .btmBox ul li {
		padding: 17px 0 0;
		border-bottom: none;
		border-top: 1px solid #555;
		border-bottom: 1px solid #555;
	}

	.appointment .btmBox ul li p {
		width: auto;
		padding: 0 16px 5px;
		margin-bottom: 12px;
		width: auto;
		float: none;
		font-size: 14px;
		letter-spacing: 1px;
		border-bottom: 1px dashed #454540;
		background: none;
	}

	.appointment .btmBox ul li p .txt01 {
		font-size: 11px;
	}

	.appointment .btmBox ul li p .txt02 {
		font-size: 23px;
		margin: -2px 0 -2px;
	}

	.appointment .btmBox ul li .contact {
		width: auto;
		padding: 0 15px 0 2px;
		float: none;
	}

	.appointment .btmBox ul li .contact .link {
		float: left;
	}

	.appointment .btmBox ul li .contact .link img {
		width: 195px;
	}

	.appointment .btmBox ul li .contact .tel {
		margin: 10px -6px 0 0;
		float: right;
		min-height: inherit;
	}

	.appointment .btmBox ul li .contact .tel a {
		padding: 5px 0 5px 30px;
		font-size: 16px;
		background: url(../img/index/icon02.png) no-repeat left center;
		background-size: 25px 25px;
	}
}

@media all and (max-width: 345px) {
	.appointment .btmBox ul li p {
		padding: 0 1px 5px;
	}
}

@media all and (max-width: 389px) {
	.appointment .btmBox ul li .contact {
		padding: 0 1px;
	}

	.appointment .btmBox ul li .contact .link img {
		width: 155px;
	}

	.appointment .btmBox ul li .contact .tel a {
		padding-left: 20px;
		font-size: 15px;
		background-size: 17px 17px;
	}

	.appointment .btmBox ul li .contact .tel {
		margin-right: 0;
	}
}

/* customSelect */
.customSelectInner {
	background: url(../img/index/icon01.jpg) no-repeat right center;
}

span.customSelect {
	font-size: 28px;
	font-family: Noto Sans Japanese;
	font-weight: 700;
	background-color: #fff;
	color: #000;
	padding: 5px 26px;
	line-height: 108px;
	text-align: center;
	border: 1px solid #333;
	border-radius: 10px;
	letter-spacing: 10px;
}

span.customSelectDisabled {
	position: relative;
	border-color: #BFBFBF;
}

span.customSelectDisabled:before {
	background: #FFF;
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 10px;
	right: 10px;
	content: "";
}

span.customSelect.changed {
	background-color: #f0dea4;
}

@media all and (max-width: 896px) {
	.customSelectInner {
		width: 100% !important;
		background: url(../img/index/icon01.jpg) no-repeat right center;
		background-size: 10px auto;
	}

	span.customSelect {
		width: 100%;
		font-size: 14px;
		padding: 5px 14px;
		line-height: 48px;
		border: 1px solid #000;
		border-radius: 8px;
		letter-spacing: 6px;
		box-sizing: border-box;
	}
}

@media(max-width:576px) {
	.topBox .btn {
		display: none;
	}
}

.following_banner {
	z-index: 100;
	position: fixed;
	width: 100%;
	padding: 10px;
	display: none;
	background-color: #ffffffe0;
	height: 50px;
}

@media(max-width:576px) {
	.following_banner {
		bottom: 0;
		display: flex;
		justify-content: space-around;
	}
}

.background_txtImg .following_banner_inner {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	width: 85%;
	height: 40px;
	z-index: 2;
	background: #bb9567;
	border: 1px solid #eee;
	display: none;
}

@media(max-width:992px) {
	.background_txtImg .following_banner_inner {
		display: flex;
	}

	.background_txtImg .following_banner_inner a {
		display: flex;
		width: 100%;
	}

	.background_txtImg .following_banner_inner a p {
		width: 100%;
	}
}

.following_banner_inner {
	width: 33%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #490C0F;
	border-radius: 10px;
}

a.following_banner_content>p {
	font-size: 1.4rem;
}

/* A5天然バナー */
.tennenn-banner {
	display: inline-block !important;
	font-size: 14px;
	color: #030828;
	padding: 0px 10px;
	border: 3px solid #030828;
	border-radius: 5px;
	vertical-align: middle;
	margin-left: 10px;
}

@media(max-width:896px) {
	.tennenn-banner {
		font-size: 12px;
		padding: 0px 5px;
		border: 2px solid #030828;
		margin-bottom: 1px;
	}

}

a.tennenn-link-wrapper {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 24px;
	max-width: 438px;
	margin: 0 auto;
	background: linear-gradient(180deg, #FFFFFF 80%, #E7E7E7);
	border-radius: 15px;
	box-shadow: 1px 1px 2px #555;
	padding: 10px 0;
	position: relative;
}

@media(max-width:896px) {
	a.tennenn-link-wrapper {
		font-size: 18px;
		line-height: 25px;
	}
}

a.tennenn-link-wrapper:hover {
	opacity: 0.5;
	transition: 0.1s;
}

/* a.tennenn-link-wrapper::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 12px;
	border-color: transparent transparent transparent #333;
	position: absolute;
	top: 0;
	right: 25px;
	bottom: 0;
	margin: auto;
	transform: rotate(90deg);
} */

.single-menu-title {
	font-size: 3rem;
	position: relative;
	padding-left: 25px;
	padding-right: 25px;
	text-align: center;
	display: block;
}

@media(max-width:992px) {
	.single-menu-title {
		font-size: 2.3rem;
		padding: 0;
	}
}

/* .single-menu-title::before,
.single-menu-title::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 20px;
	height: 20px;
	background: #333;
	transform: translate(-50%, -50%) rotate(45deg);
}

.single-menu-title::before {
	left: 0;
}

.single-menu-title::after {
	right: -20px;
} */

.single-menu-wrapper {
	margin: 0 auto;
	max-width: 1090px;
	padding: 33px 55px 43px;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

@media(max-width:992px) {
	.single-menu-wrapper {
		margin: 0 24px 50px;
		padding: 0;
		font-size: 2rem;
		font-weight: 400;
	}
}

.single-menu-contents {
	margin-top: 25px;
}

.single-menu-contents h4 {
	text-align: center;
	font-size: 3rem;
	color: #555;
}

.single-menu-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}

@media(max-width:992px) {
	.single-menu-content {
		flex-direction: column;
	}
}

.single-menu-content-img {
	width: 40%;
	object-fit: contain;
}

@media(max-width:992px) {
	.single-menu-content-img {
		width: 100%;
	}
}

.single-menu-content ul {
	width: 60%;
}

@media(max-width:992px) {
	.single-menu-content ul {
		width: 100%;
	}
}

.single-menu-content ul li {
	font-size: 2rem;
	font-weight: 600;
	position: relative;
	padding-left: 25px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

@media(max-width:992px) {
	.single-menu-content ul li {
		padding: 0 0 15px;
		flex-direction: column;
		margin: 15px 0;
		border-bottom: 1px solid rgba(155, 155, 155, 0.3);
	}
}

.single-menu-content ul li::before {
	content: "";
	display: block;
	background: #333;
	width: 5px;
	height: 5px;
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 60%;
	transform: translateY(-50%);
}

@media(max-width:992px) {
	.single-menu-content ul li::before {
		display: none;
	}
}

.single-menu-content ul li p {
	position: relative;
	font-size: 14px;
	font-weight: bold;
}

@media(max-width:992px) {
	.single-menu-content ul li p {
		/* font-size: 10px; */
		text-align: right;
		width: 100%;
	}
}

/* .single-menu-content ul li p::before {
	content: "";
	position: absolute;
	top: 60%;
	left: 0px;
	width: 75px;
	height: 2px;
	background-color: #333;
	transform: translateY(-50%) rotate(-15deg);
	transform-origin: center;
} */

.single-menu-content ul li p span {
	color: #AF291C;
	font-size: 2.8rem;
	display: inline-block;
	padding-left: 0.5em;
}

@media(max-width:992px) {
	.single-menu-content ul li p span {
		/* font-size: 1.7rem; */
	}
}

.single-menu-content ul li p span span {
	font-size: 12px;
}

.single-menu-caution {
	text-align: right;
	margin: 25px 0;
}

@media(max-width:992px) {
	.single-menu-caution {
		margin: 10px 0;
		font-size: 12px;
		text-align: left;
	}
}

.single-menu-caution span {
	font-weight: bold;
}

.single-menu-caution br {
	display: none;
}

@media(max-width:992px) {
	.single-menu-caution br {
		display: block;
	}
}

section#message_sec {
	font-family: 'Noto Serif JP', serif;
	padding: 5vw 15vw;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	section#message_sec {
		padding: 7.5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 1280px) {
	section#message_sec {
		padding: 7.5vw 5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	section#message_sec {
		padding: 10vw 5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	section#message_sec {
		padding: 15vw 5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	section#message_sec {
		padding: 17.5vw 5vw 15vw;
	}
}

.heading {
	padding-top: 5vw;
	position: relative;
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	.heading {
		padding-top: 10vw;
	}
}

.heading h2 {
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
	position: relative;
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	.heading h2 {
		display: block;
		letter-spacing: 0.025em;
	}
}

.heading h2 span:nth-of-type(1) {
	display: inline-block;
	font-size: 30px;
	font-size: 3.0rem;
	padding-bottom: 0.25vw;
	position: relative;
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	.heading h2 span:nth-of-type(1) {
		display: block;
		font-size: 19px;
		font-size: 1.9rem;
		padding-bottom: 1vw;
	}
}

.heading h2 span:nth-of-type(1):after {
	content: "";
	background-color: #151515;
	display: block;
	height: 1px;
	width: 600px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	.heading h2 span:nth-of-type(1):after {
		width: 100%;
	}
}

.heading h2 span:nth-of-type(2) {
	font-size: 15px;
	font-size: 1.5rem;
	margin-top: 0.5vw;
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	.heading h2 span:nth-of-type(2) {
		margin-top: 0.75vw;
	}
}

.heading h3 {
	font-size: 40px;
	font-size: 4.0rem;
	text-align: center;
	margin-top: 1.5vw;
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	.heading h3 {
		font-size: 36px;
		font-size: 3.6rem;
		line-height: 1.4;
		margin-top: 3vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	.heading h3 {
		font-size: 32px;
		font-size: 3.2rem;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	.heading h3 {
		font-size: 22px;
		font-size: 2.2rem;
	}
}

.heading h3 span {
	display: block;
}

.heading:before,
.heading:after {
	background-image: url("../img/index/illust_01.svg");
	background-size: cover;
	content: "";
	position: absolute;
	height: 93px;
	width: 85px;
}

.heading:before {
	top: 50px;
	left: 5vw;
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	.heading:before {
		top: 25px;
		left: 3vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	.heading:before {
		top: 0;
		left: 1vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {

	.heading:before,
	.heading:after {
		height: 55px;
		width: 50px;
	}
}

.heading:after {
	bottom: -25px;
	right: 5vw;
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	.heading:after {
		bottom: -15px;
		right: 3vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	.heading:after {
		bottom: -15px;
		right: 1vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {

	.heading:before,
	.heading:after {
		height: 55px;
		width: 50px;
	}
}

#message_sec .contents {
	border-top: 2px solid #5f0f00;
	border-bottom: 2px solid #5f0f00;
	padding: 15px 5vw;
	margin-top: 3vw;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	#message_sec .contents {
		padding: 15px 3vw;
	}
}

#message_sec .contents .message {
	border-top: 2px solid #b9890c;
	border-bottom: 2px solid #b9890c;
	display: flex;
	padding: 3vw 0;
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	#message_sec .contents .message {
		display: block;
		padding: 5vw 0;
	}

	#message_sec .contents .message p {
		font-size: 1.5rem;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#message_sec .contents .message {
		padding: 7.5vw 0;
	}
}

#message_sec .contents .message .pic_box {
	flex: 0 1 400px;
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	#message_sec .contents .message .pic_box {
		flex: 0 1 300px;
	}
}

#message_sec .contents .message .pic_box p {
	font-weight: 700;
	line-height: 1.8;
	margin-top: 0.5vw;
}

#message_sec .contents .message .pic_box p span {
	display: block;
}

#message_sec .contents .message .pic_box p span.position_name b:nth-of-type(2) {
	font-size: 20px;
	font-size: 2.0rem;
	margin-left: 0.75em;
}

#message_sec .contents .message .txt_box {
	flex: 1 1;
	margin-left: 3vw;
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	#message_sec .contents .message .txt_box {
		margin-top: 5vw;
		margin-left: 0;
	}
}

#message_sec .contents .message .txt_box h4 {
	font-size: 30px;
	font-size: 3.0rem;
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	#message_sec .contents .message .txt_box h4 {
		font-size: 28px;
		font-size: 2.8rem;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#message_sec .contents .message .txt_box h4 {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

#message_sec .contents .message .txt_box p {
	margin-top: 1vw;
}

#message_sec .contents .message .txt_box p span {
	display: block;
}

#message_sec .contents .message .txt_box p span:not(:first-of-type) {
	margin-top: 1em;
}

section#history_sec {
	font-family: 'Noto Serif JP', serif;
	padding: 5vw 15vw;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	section#history_sec {
		padding: 7.5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 1280px) {
	section#history_sec {
		padding: 7.5vw 5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	section#history_sec {
		padding: 10vw 5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	section#history_sec {
		padding: 15vw 5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	section#history_sec {
		padding: 0vw 5vw 15vw;
	}
}

#history_sec .contents {
	margin-top: 3vw;
}

#history_sec .contents>section {
	display: flex;
	padding: 5vw 3vw;
	position: relative;
	z-index: 0;
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section {
		display: block;
	}
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	#history_sec .contents>section {
		padding: 7.5vw 2vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	#history_sec .contents>section {
		padding: 7.5vw 0;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section {
		padding: 10vw 0;
	}
}


#history_sec .contents>section:nth-of-type(1) {
	padding: 0 3vw 5vw;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	#history_sec .contents>section:nth-of-type(1) {
		padding: 0 2vw 7.5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	#history_sec .contents>section:nth-of-type(1) {
		padding: 0 0 7.5vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section:nth-of-type(1) {
		padding: 0 0 17.5vw;
	}
}

#history_sec .contents>section:nth-of-type(2n+1) {
	border-bottom: 2px solid #004949;
	flex-direction: row-reverse;
}

#history_sec .contents>section:nth-of-type(1):before {
	background-image: url(../img/index/illust_02.svg);
	background-size: contain;
	content: "";
	position: absolute;
	bottom: 1vw;
	left: 65%;
	transform: translateX(-50%);
	height: 60px;
	width: 200px;
	z-index: -1;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	#history_sec .contents>section:nth-of-type(1):before {
		bottom: 2vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section:nth-of-type(1):before {
		bottom: 5vw;
		left: inherit;
		right: 1vw;
		transform: none;
		height: 44px;
		width: 150px;
	}
}

#history_sec .contents>section .pic_box {
	flex: 0 1 350px;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	#history_sec .contents>section .pic_box {
		flex: 0 1 400px;
	}
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	#history_sec .contents>section .pic_box {
		flex: 0 1 350px;
	}
}

@media screen and (min-width: 1px) and (max-width: 768px) {
	#history_sec .contents>section .pic_box {
		flex: 0 1 300px;
	}
}

#history_sec .contents>section .txt_box {
	flex: 1 1;
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section .txt_box {
		margin-top: 2vw;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section:nth-of-type(2n+1) .txt_box {
		margin-right: 0;
	}
}

#history_sec .contents>section:nth-of-type(2n+1) .txt_box {
	margin-right: 1vw;
}

#history_sec .contents>section .txt_box h4 {
	display: flex;
	align-items: center;
}

#history_sec .contents>section .txt_box p {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	margin-top: 1em;
}

@media screen and (min-width: 1px) and (max-width: 1440px) {
	#history_sec .contents>section .txt_box p {
		font-size: 17px;
		font-size: 1.7rem;
	}
}

@media screen and (min-width: 1px) and (max-width: 1024px) {
	#history_sec .contents>section .txt_box p {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

@media screen and (min-width: 1px) and (max-width: 520px) {
	#history_sec .contents>section .txt_box p {
		font-size: 15px;
		font-size: 1.5rem;
	}
}

#history_sec .contents>section:nth-of-type(2n+1) .txt_box p {
	margin-left: 3vw;
}

#history_sec .contents>section:nth-of-type(2n+1):after {
	background-color: #b9890c;
	content: "";
	height: 2px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: rotate(2deg);
}

#history_sec .contents>section:nth-of-type(2n):after {
	background-color: #004949;
	content: "";
	height: 2px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: rotate(-2deg);
}

#history_sec .contents>section:nth-of-type(2n) {
	border-bottom: 2px solid #b9890c;
}

ul.footer-link-02 {
	display: table;
	margin: 35px auto;
	padding: 0 60px;
}

.footer-link-02 li {
    display: table-cell;
    position: relative;
    line-height: 1;
    vertical-align: middle;
}

.footer-link-02 li a {
    font-size: 1.3rem;
    padding: 0 7px;
}