@charset "utf-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html{font-family:Arial,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Meiryo,Helvetica,メイリオ,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{color:#000;background-color:transparent;text-decoration:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:400}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:bottom;max-width:100%;height:auto}svg:not(:root){overflow:hidden}figure{margin:0}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}li{list-style:none}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}img {backface-visibility: hidden;}



/*--------------------------------------
template
--------------------------------------*/
body {
	/*overflow-x: hidden;*/
	-webkit-text-size-adjust: 100%;
	image-rendering: -webkit-optimize-contrast;
	margin: auto;
	padding: 0;
	color: #656363;
	font-size: 14px;
	font-family: "Noto Serif JP", serif;
	font-display: swap;
	font-weight: 300;
	font-feature-settings: "palt";
	letter-spacing: 0;
	line-height: 1;
}
/* body.ie11 {
	font-family: 'MS PMincho',serif;
} */
/* body.android.loaded {
	font-family: YakuHanMP_Noto,'Noto Serif JP',serif;
} */
.cormorant { font-family: "Cormorant", serif;}
.gothic { font-family: "Noto Sans JP", sans-serif; font-weight: 300;}
h1,h2,h3,h4,h5,h6,th { font-weight: normal; }
a { color: inherit; }
img { width: 100%; }
#wrap { position:relative; }
.sp-bl,.sp-il,.tablet-bl { display:none !important; }
.tablet .tablet-bl { display:block !important; }
.opa { transition: 0.3s ease-in-out; }
.opa:hover { opacity: 0.7 !important; }
.opa1 { opacity: 1 !important; }
.w100 { width: 100% !important; }
.h100 { height: 100% !important; }
.none { display: none !important }
.tc { text-align: center !important; }
.tl { text-align: left !important; }
.tr { text-align: right !important; }
.tj { text-align: justify !important; }
.cf:before,.cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { zoom: 1; }
.fl { float: left; }
.fr { float: right; }
.outer {
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.inner {
	width: 95%;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.gothic{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}
.ie11 .gothic{
	font-family: 'Meiryo',sans-serif;
}
.pink{ color: #D26478; }
.gold{ color: #B4AA91; }

.white{ color: #fff; }
.light-beige{ color: #F2F0EC;}
.beige{ color: #BFAE8D}
.redbrown{ color: #A06A5B;}
.pinkbrown{ color: #B58A7E;}
.black{ color: #656363;}
.brown{ color: #806B42; }
:root {
	--white: #fff;
	--light-beige: #F2F0EC;
	--beige: #BFAE8D;
	--redbrown: #A06A5B;
	--pinkbrown: #B58A7E;
	--black: #656363;
	--brown: #806B42;
}
.ls50{ letter-spacing: .05em; }
.ls100{ letter-spacing: .1em; }
.ls150{ letter-spacing: .15em; }
.ls200{ letter-spacing: .2em; }
.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.flex.nowrap{ flex-wrap: nowrap; }
.flex.reverse{ flex-direction: row-reverse; }
.flex.reverse > *{ min-height: 0; }
.flex.jc-c{ justify-content: center; }
.flex.jc-s{ justify-content: flex-start; }
.flex.jc-e{ justify-content: flex-end; }
.flex.ai-c{ align-items: center; }
.flex.ai-e{ align-items: flex-end; }
.flex.ai-st{ align-items: stretch; }

sup,
sub{
	position: static;
}
@media screen and (min-width: 769px){
	#wrap {
		min-width: 1200px;
	}
}
@media screen and (max-width: 768px){
	.pc { display:none !important; }
	.sp-bl { display:block !important; }
	.sp-il { display:inline !important; }
	.inner { width:90%;max-width: 580px; }
	.opa:hover { opacity: 1; }
}

em.normal{
	font-style: inherit;
}
.bold{
	font-weight: 600;
}
.bl{ display: block;}

/* 行改 */
.br-sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.br-pc {
		display: none;
	}

	.br-sp {
		display: block;
	}
}

/*--------------------------------------
header
--------------------------------------*/
body{
	padding-top: 110px;
}
@media screen and (max-width: 1200px){
	body{
		padding-top: 50px;
	}
}

@media screen and (max-width: 783px){
	body{
		padding-top: 50px;
	}
}
#pcHeader{
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	background: #fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .18);
}
	#pcHeader .logo{
		position: absolute;
		top: 18px;
		left: 40px;
		width: 354px;
		text-align: left;
	}
		#pcHeader .logo .subLogo{
			display: inline-block;
			font-size: 15px;
			letter-spacing: .05em;
			margin-bottom: 9px;
		}
	/* 下層ページロゴ */
	#pcHeader .logo.underLogo{
		top: 23px;
	}
	#pcHeader .tel{
		position: absolute;
		top: 10px;
		right: 42px;
		align-items: center;
		justify-content: center;
	}
	#pcHeader .tel .icon{
		width: 50px;
		padding-right: 14px;
	}
	#pcHeader .menu{
		position: absolute;
		top: 72px;
		right: 14px;
		box-sizing: border-box;
	}
		#pcHeader .menu > li{
			position: relative;
			font-size: 16px;
			font-weight: 600;
			letter-spacing: .18em;
			transition: color .3s ease-in-out;
		}
		#pcHeader .menu > li.mouseon{
			cursor: pointer;
			box-sizing: border-box;
			padding: 0 24px 0 26px;
		}
			#pcHeader .menu > li > a{
				box-sizing: border-box;
				padding: 0 24px 0 26px;
				transition: color .3s ease-in-out;
			}
			#pcHeader .menu > li.mouseon:hover,
			#pcHeader .menu > li > a:hover{
				color: var(--redbrown);
			}
			#pcHeader .menu .submenu{
				position: absolute;
				z-index: 1;
				top: calc(100% + 19px);
				color: #fff;
				background: var(--redbrown);
				border-radius: 10px;
				cursor: default;
				transition: opacity .3s ease-in-out,
							visibility .3s ease-in-out;
				opacity: 0;
				visibility: hidden;
			}
			#pcHeader .menu .submenu.active{
				opacity: 1;
				visibility: visible;
			}
				#pcHeader .menu .submenu:before{
					content: '';
					position: absolute;
					z-index: 1;
					top: -14px;
					left: 0;
					width: 100%;
					height: 14px;
				}
				#pcHeader .menu .submenu a{
					transition: color .3s ease-in-out;
				}
				#pcHeader .menu .submenu a:hover{
					color: #F4DDB0;
				}

			#pcHeader .menu .submenu1{
				left: 50%;
				transform: translateX(-50%);
				min-width: 260px;
				box-sizing: border-box;
				padding: 40px;
				font-size: 14px;
				font-weight: bold;
				line-height: 1.5;
			}
				#pcHeader .menu .submenu1 li + li{
					margin-top: 12px;
				}

			#pcHeader .menu .submenu2{
				right: -130px;
				/* min-width: 670px; */
				min-width: 870px;
    			max-height: calc(100vh - 120px);
				box-sizing: border-box;
				padding: 45px 70px 42px;
				font-size: 16px;
				line-height: 1.5;
				overflow-y: scroll;
			}
				#pcHeader .menu .submenu2 .list-inner1 {
					width: 27%;
				}
				#pcHeader .menu .submenu2 .list-inner2 {
					width: 68%;
					/* width: 100%; */
				}
					#pcHeader .menu .submenu2 .list-inner2 .list-wrapper1 {
						width: 60%;
					}
					#pcHeader .menu .submenu2 .list-inner2 .list-wrapper2 {
						width: 40%;
					}
						#pcHeader .menu .submenu2 small{
							font-size: 14px;
							letter-spacing: .1em;
						}

						#pcHeader .menu .submenu2 .ttl1{
							font-size: 24px;
							padding-bottom: 7px;
							border-bottom: 1px solid rgba(255,255,255,.5);
							margin-bottom: 22px;
						}

						#pcHeader .menu .submenu2 .ttl2{
							margin-bottom: 5px;
						}

						#pcHeader .menu .submenu2 .list2{
							margin-top: 10px;
							margin-bottom: 28px;
						}
							#pcHeader .menu .submenu2 .list2 li + li{
								margin-top: 10px;
							}

				#pcHeader .menu .submenu2 .list3{
					margin-bottom: 18px;
				}
					#pcHeader .menu .submenu2 .list3 li + li{
						margin-top: 10px;
					}
						#pcHeader .menu .submenu2 .list3 li a{
							display: block;
							box-sizing: border-box;
							border: 1px solid #EEC5CC;
							padding: 5px 12px;
							transition: .3s ease-in-out;
						}
						#pcHeader .menu .submenu2 .list3 li a:hover{
							color: #555;
							background: #fff;
							border-color: #fff;
						}

			#pcHeader .menu > li.mouseon:after{
				content: '';
				position: absolute;
				z-index: 1;
				bottom: -21px;
				left: 50%;
				transform: translateX(-50%);
				width: 19px;
				height: 16px;
				background: url(../../img/common/pc/icon_pcHeader_mouseon.svg) no-repeat center/100% auto;
			}
			#pcHeader .menu > li.mouseon:hover:after{
				background: url(../../img/common/pc/icon_pcHeader_mouseon_active.svg) no-repeat center/100% auto;
			}

	#pcHeader .corona{
		position: absolute;
		top: 21px;
		right: 100px;
		width: 245px;
	}
		#pcHeader .corona a{
			display: block;
			color: #fff;
			background: #BFAE8D;
			font-size: 15px;
			font-weight: bold;
			letter-spacing: .12em;
			line-height: 1;
			text-align: center;
			white-space: nowrap;
			padding: 10px 0;
		}
			#pcHeader .corona a:after{
				content: '';
				display: inline-block;
				margin-left: 6px;
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 5px 0 5px 7px;
				border-color: transparent transparent transparent #fff;
			}
@media screen and (max-width: 1440px){
	#pcHeader .logo{
		left: 2.5%;
		width: 25%;
	}
	#pcHeader .menu > li.mouseon{
		padding: 0 16px;
	}
	#pcHeader .menu > li > a{
		padding: 0 14px;
	}
	#pcHeader .corona{
		right: 2.5%;
	}
}
@media screen and (max-width: 1200px){
	#pcHeader{
		display: none;
	}
}

#spHeader{
}
	#spHeader .bar{
		position: fixed;
		z-index: 1000;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		background: #fff;
		overflow: hidden;
		box-shadow: 0 3px 6px rgba(0, 0, 0, .18);

	}
		#spHeader .bar .btns{
			width: calc(100% - 50px);
			height: 100%;
			box-sizing: border-box;
			padding-left: 20px;
			padding-right: 5px;
		}
			#spHeader .bar .btns .btn1{
				width: 100%;
				height: 100%;
				transition: transform .4s ease-in-out;
			}
				#spHeader .bar .btns .btn1 .logo{
					width: 200px;
					line-height: 0;
					text-align: left;
				}
					#spHeader .bar .btns .btn1 .logo .subLogo{
						display: inline-block;
						font-size: 10px;
						margin-bottom: 7px;
						white-space: nowrap;
					}

		#spHeader .bar .open{
			width: 50px;
			height: 50px;
			cursor: pointer;
			position: relative;
		}
			#spHeader .bar .open:before{
				content: '';
				position: absolute;
				z-index: 1;
				top: 50%;
				left: 50%;
				transform: translateX(-50%) translateY(-50%);
				width: 21px;
				height: 19px;
				background: linear-gradient(to bottom,#A06A5B 2px,#FFFFFF 2px,#FFFFFF 8px,#A06A5B 8px,#A06A5B 10px,#FFFFFF 10px,#FFFFFF 17px,#A06A5B 17px,#A06A5B 19px);
			}

	#spHeader .menu{
		position: fixed;
		z-index: 1001;
		top: 0;
		right: 0;
		width: 20%;
		height: 100%;
		background: #A89A7D;
		overflow: scroll;
		opacity: 0;
		visibility: hidden;
		transition: opacity .2s,visibility .2s;
	}
	#spHeader .menu.active{
		opacity: 1;
		visibility: visible;
	}
	body.customize-support #spHeader .menu{
		top: 50px;
		height: calc(100% - 46px);
	}
		#spHeader .menu .close{
			width: 50px;
			height: 50px;
			margin-left: auto;
			cursor: pointer;
			position: relative;
		}
			#spHeader .menu .close:before,
			#spHeader .menu .close:after{
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				width: 2px;
				height: 16px;
				background: #fff;
			}
			#spHeader .menu .close:before{
				transform: translateX(-50%) translateY(-50%) rotate(-45deg);
			}
			#spHeader .menu .close:after{
				transform: translateX(-50%) translateY(-50%) rotate(45deg);
			}

		#spHeader .menu .inner{
			width: 84.375%;
			max-width: 560px;
		}
		#spHeader .menu .ttl1{
			font-size: 16px;
			margin-bottom: 19px;
		}

		#spHeader .menu .list1{
			margin-top: 5px;
		}
			#spHeader .menu .list1 li{
				width: 100%;
			}
				#spHeader .menu .list1 li a{
					position: relative;
					display: block;
					font-size: 17px;
					padding: 18px 0.5em;
				}
				#spHeader .menu .icon {
					justify-content: center;
					margin-top: 18px;
				}
					#spHeader .menu .icon img {
						max-width: 54px;
						padding: 0 8px;
					}

		#spHeader .menu .close2{
			height: 50px;
			margin-top: 30px;
			background: var(--pinkbrown);
			font-size: 11px;
			cursor: pointer;
		}
			#spHeader .menu .close2 span{
				display: inline-block;
				width: 16px;
				height: 16px;
				transform: rotate(45deg);
				margin-right: 5px;
				position: relative;
			}
				#spHeader .menu .close2 span:before,
				#spHeader .menu .close2 span:after{
					content: '';
					position: absolute;
					top: 0;
					left: 50%;
					width: 2px;
					height: 100%;
					background: #fff;
				}
				#spHeader .menu .close2 span:before{
					transform: translateX(-50%);
				}
				#spHeader .menu .close2 span:after{
					transform: translateX(-50%) rotate(90deg);
				}
@media screen and (min-width: 1201px){
	#spHeader{
		display: none;
	}
}

#sideNavi {
	position: fixed;
	z-index: 999;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 60px;
}
	#sideNavi .sideNavi + .sideNavi{
		margin-top: 2px;
	}

/* sticky */
.sticky {
	opacity: 0;
	visibility: hidden;
}

.sticky .sticky-btn-area {
	display: none;
}

@media screen and (max-width: 768px){
#spHeader .menu{
	width: 35%;
}
.sticky {
	box-sizing: border-box;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 13px 12px 13px;
	background-color: rgba(68, 68, 68,0.8);
	transition: .3s;
}
.sticky.active {
	opacity: 1;
	visibility: visible;
}

.sticky .text {
	margin-bottom: 3%;
}

.sticky p {
	color: #fff;
	font-size: 14px;
	text-align: center;
	white-space: nowrap;
}

.sticky .sticky-btn-area {
	display: grid;
	grid-template-columns: 1fr 1fr 32px;
	column-gap: 10px;
	width: 100%;
}

.sticky .sticky-btn-area .sticky-btn.top  {
	width: 32px;
	height: 32px;
	padding: 0;
}

.sticky .sticky-btn {
	font-size: 16px;
	padding: 8px;
	text-align: center;
	color: var(--white);
}

.sticky .sticky-btn.tel {
	background-color: var(--beige);
}

.sticky .sticky-btn.web {
	background-color: var(--pinkbrown);
}
}

@media screen and (max-width: 510px){
	#spHeader .menu{
		width: 55%;
	}
	#spHeader .menu .list1 li a{
		font-size: 15px;
	}
}


/*--------------------------------------
main
--------------------------------------*/
#main {
	overflow:hidden;
}

#sideNavi{
	display: none;
}
.btn{
	margin: auto;
}
	.btn a{
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
		width: 100%;
		height: 50px;
		color: #333;
		background-color: #ccc;
		font-size: 16px;
		letter-spacing: .2em;
		line-height: 1.4;
		text-align: center;
		overflow: hidden;
		transition: opacity .3s ease-in-out;
	}
	.btn a:hover{
		opacity: .7;
	}

.tab li{
	cursor: pointer;
}
.tabcontent > li{
	display: none;
	position: relative;
}
.tabcontent > li.active{
	display: block;
	animation: tabFadeIn .5s;
}
@keyframes tabFadeIn{
	0%{ opacity: 0; }
	100%{ opacity: 1; }
}

.modal{
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background: rgba(0,0,0,.7);
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: .5s;
}
.modal.active{
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}
	.modalWrap{
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-align: center;
		box-sizing: border-box;
		padding: 0 2.5%;
		font-size: 0;
		letter-spacing: 0;
	}
		.modalWrap:before{
			content: "";
			display: inline-block;
			vertical-align: middle;
			height: 100%;
		}
		.modalContainer{
			position: relative;
			z-index: 1;
			display: inline-block;
			vertical-align: middle;
			width: 100%;
			text-align: left;
		}
			.modalContent{
				position: relative;
				z-index: 1;
				width: 100%;
				max-width: 1000px;
				margin: 0 auto;
				background: #fff;
				font-size: 14px;
			}
				.modalClose{
					position: absolute;
					z-index: 1;
					top: 0;
					right: 0;
					width: 60px;
					height: 60px;
					background: #333;
					cursor: pointer;
				}

.secTtl1{
	font-size: 30px;
	letter-spacing: .1em;
}
.secTtl2{
	font-size: 24px;
	letter-spacing: .1em;
}

/* listStyle｜リストポイントスタイル */
.listStyle > li{
	position: relative;
	padding-left: 1em;
}
.listStyle > li::before{
	content: '●';
	position: absolute;
	top: 6px;
	left: 0;
	font-size: 12px;
	color: #d26478;
}

.tri_r-b,
.arrow_r,
.arrow_u{
	position: relative;
}
/* triangle right-bottom｜右下三角形 */
.tri_r-b::before{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	border-top: 36px solid transparent;
	border-right: 36px solid #e8aeb8;
}
/* 矢印 下 */
.arrow_u::after{
	content: '';
	position: absolute;
	display: inline-block;
	bottom: 4%;
	right: 5%;
	width: 4px;
	height: 4px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg) translateY(-50%);
}
/* 矢印 右 */
.arrow_r::after{
	content: '';
	position: absolute;
	display: inline-block;
	bottom: 8%;
	right: 3.5%;
	width: 4px;
	height: 4px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateY(-50%);
}

/* cellBox｜表 */
.cellBox{
	width: 100%;
	border-top: 1px solid #d8d8d8;
	border-bottom: 1px solid #d8d8d8;
}
	.cellBox dl + dl{
		border-top: 1px solid #d8d8d8;
	}
		.cellBox dl dt{
			display: flex;
			justify-content: center;
			align-items: center;
			width: 22.22222223%;
			font-size: 16px;
			letter-spacing: .1em;
			background: #fdf7f8;
			box-sizing: border-box;
			text-align: center;
		}
		.cellBox dl dd{
			width: 77.77777777%;
			font-size: 16px;
			line-height: 1.625;
			letter-spacing: .1em;
			padding: 25px 30px 25px 40px;
			text-align: justify;
			text-justify: inter-ideograph;
			box-sizing: border-box;
		}

/*　テーブル2行 */
.table-2col {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
	max-width: 1048px;
	margin: 20px auto 0;
	text-align: center;
	font-size: 17px;
}

.table-ttl {
	font-size: 20px;
	margin: 20px 24px 0;
}

.table-2col th,
.table-2col td {
	border-top: 1px solid #c1c1c1;
	border-bottom: 1px solid #c1c1c1;
	padding: 1em;
	vertical-align: middle;
}

.table-2col tbody th {
	width: 16%;
	background-color: #ded5be;
	color: #656363;
	font-weight: 300;
	text-align: center;
	line-height: 1.4em;
}
.table-2col tbody td {
	background-color: var(--white);
	text-align: left;
	line-height: 1.4em;
}

@media screen and (max-width: 768px) {
.table-2col {
	margin: 14px auto 0;
	font-size: 13px;
}

.table-ttl {
	font-size: 14px;
	margin: 20px 0 0;
}

.table-2col th,
.table-2col td {
	padding: 0.5em;
}

.table-2col tbody th {
	width: 26%;
}
}

/* campaignArea｜キャンペーンバナー */
.campaignArea{
	margin-top: 90px;
	margin-bottom: 60px;
}

@media screen and (max-width: 768px){
	.secTtl1,
	.secTtl2{
		font-size: 16px;
		line-height: 1.5625;
		letter-spacing: .05em;
	}

	.listStyle > li::before{
		top: 6px;
		font-size: 10px;
	}

	.arrow_u::after{
		bottom: 4px;
		right: 6px;
		width: 3px;
		height: 3px;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	.arrow_r::after{
		bottom: 3px;
		right: 5px;
		width: 3px;
		height: 3px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}

	/* cellBox｜表 */
	.cellBox{
	}
		.cellBox dl dt{
			width: 20%;
			font-size: 12px;
			line-height: 1.3;
			letter-spacing: .05em;
		}
		.cellBox dl dd{
			width: 80%;
			font-size: 12px;
			letter-spacing: .05em;
			line-height: 1.8;
			padding: 9px 10px;
		}

	/* tableStyle｜表（テーブル） */
	.tableStyle thead td{
		font-size: 12px;
		letter-spacing: .05em;
		padding: 10px 0;
	}
	.tableStyle tbody th,
	.tableStyle tbody td{
		font-size: 12px;
		padding: 12px 0;
	}
	.tableStyle tbody th{
		width: 80px;
	}
	.tableStyle tbody td{
		width: 115px;
	}

	/* tableScroll｜テーブルスクロール */
	.tableScrollWrap{
		position: relative;
	}
	.tableScrollWrap::after{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 10px;
		height: 100%;
		background : linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	}
		.tableScroll{
			display: block;
			overflow-x: scroll;
			white-space: nowrap;
			-webkit-overflow-scrolling: touch;
		}
		.tableScroll::-webkit-scrollbar{
			display: none;
		}
			.tableStyle{
				width: 160%;
			}

	/* campaignArea｜キャンペーンバナー */
	.campaignArea{
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

/*--------------------------------------
header-kv｜下層ヘッダータイトル
--------------------------------------*/
.header-kv {
	height: 220px;
	display: flex;
    justify-content: center;
    align-items: center; 
	background-image: url(../../img/common/pc/bg_treatment_kv.jpg);
	background-repeat: no-repeat;
	background-size: 100%;
  }
  .header-kv .ttl-center {
	text-align: center;
	font-size: 34px;
	line-height: 1.2;
  }
  .header-kv .ttl-left {
	text-align: left;
	font-size: 34px;
	line-height: 44px;
  }
  .header-kv p {
	margin-bottom: 10px;
	font-size: 20px;
	letter-spacing: 0.3em;
  }
  .header-kv .ttl-center span {
	font-size: 26px;
  }
  
  @media screen and (max-width: 768px) {
	.header-kv {
		height: 110px;
	}
	.header-kv .ttl-center,  .header-kv .ttl-left {
	  font-size: 22px;
	  line-height: 24px;
	}

	.header-kv p {
		margin-bottom: 8px;
		font-size: 16px;
	}

	.header-kv .ttl-center span {
	  font-size: 18px;
	}
  }

/*--------------------------------------
price
--------------------------------------*/
.pricceSec{
	}
	.pricceSec + .pricceSec{
		margin-top: 50px;
	}
		.pricceSec .priceTtl{
			font-size: 20px;
			font-weight: 600;
			letter-spacing: .1em;
			padding-top: 20px;
			padding-bottom: 20px;
			padding-left: 1em;
			color: #d26478;
			background: #fcf4f6;
			font-family: 'Yu Gothic',Yugothic,sans-serif;
		}
		.pricceSec .priceTtl .normal{
		    font-weight: normal;
		    margin-left: 0.5em;
		}
		.pricceSec .priceBox{
			padding: 20px;
			border-bottom: 1px solid #d8d8d8;
		}
			.pricceSec .priceSubTtl{
				display: inline-block;
				height: 40px;
				font-size: 18px;
				font-weight: 600;
				line-height: 2.2;
				letter-spacing: .1em;
				color: #fff;
				background: #de8c9a;
				margin-top: 30px;
				padding: 0 28px;
				border-radius: 20px;
				text-align: center;
				font-family: 'Yu Gothic',Yugothic,sans-serif;
			}
			.pricceSec .priceList{
			}
			.pricceSec dl + dl{
				margin-top: 20px;
			}
				.pricceSec .priceList dt{
					position: relative;
					font-size: 18px;
					line-height: 1.8;
					letter-spacing: .1em;
					text-align: left;
					font-family: 'Yu Gothic',Yugothic,sans-serif;
				}
				.pricceSec .priceList .priceNum{
					position: relative;
					width: 160px;
					font-size: 22px;
					line-height: 1.4;
					letter-spacing: .1em;
					margin-left: auto;
					text-align: right;
					white-space: nowrap;
				}
					.pricceSec .priceList .priceNum small{
						font-size: 14px;
					}
					.pricceSec .priceList .priceNum .annotation{
						position: absolute;
						bottom: -1.5em;
						right: 0;
						font-size: 12px;
						color: #444;
					}
					.pricceSec .priceList .priceNum .week{
						font-size: 16px;
					}

					/* priceList2 */
					.pricceSec .priceList .priceList2{
						margin-left: auto;
					}
						.pricceSec .priceList .priceList2 dl{
						}
							.pricceSec .priceList .priceList2 dl dt{
								width: 160px;
								margin-right: 70px;
							}
							/* .pricceSec .priceList .priceList2 .trial{
								width: auto;
								margin-right: 1em;
							} */

		.pricceSec .trial{
			font-weight: 600;
			color: #d26478;
		}
		.pricceSec .trial._normal{
			color: inherit;
			font-weight: normal;
		}
		.pricceSec .bl_trial{
			position: absolute;
			left: -100%;
			white-space: nowrap;
		}
		.pricceSec .capacity .bl_trial{
			left: -8em;
		}
		.pricceSec .ml1{
			margin-left: 1em;
		}
		.pricceSec .priceList .priceList2 dl dt.capacity{
			width: 80px;
		}
		.pricceSec .priceList .priceList2 dl dt.wAuto{
			width: auto;
		}
		.pricceSec .priceOff{
			width: 358px;
			margin-top: 20px;
			margin-right: 20px;
			margin-left: auto;
		}
		.pricceSec .priceOff2{
			width: 310px;
		}
		.pricceSec .note{
			font-size: 12px;
			line-height: 1.3;
			margin-top: 10px;
			padding-right: 20px;
			text-align: right;
		}
		.pricceSec .note li + li{
			margin-top: 5px;
		}
		.pricceSec .priceBox + .note{
			margin-bottom: -25px;
		}
		.pricceSec .priceBox + .note + .priceOff{
			margin-top: 40px;
		}
		.pricceSec .note + .priceBox{
			margin-top: 25px;
		}

		#p_epi .pricceSec .priceList .priceNum{
			width: 230px;
		}
		#p_co2 .sp_style .bl_trial{
			left: -200%;
		}

		.pricceSec .repeatNote{
			margin-top: 2em;
		}
		.pricceSec .priceBox + .note + .repeatNote{
			margin-top: 50px;
		}

@media screen and (max-width: 768px){
	.pricceSec{
	}
	.pricceSec + .pricceSec{
		margin-top: 30px;
	}
		.pricceSec .priceTtl{
			/* height: 35px; */
			/* height: auto; */
			font-size: 12px;
			letter-spacing: .05em;
			line-height: 1.5;
			padding-top: 9px;
			padding-bottom: 9px;
		}
			.pricceSec .priceTtl .normal{
			    margin-left: 0;
			}
		.pricceSec .priceBox{
			padding: 10px;
		}
			.pricceSec .priceSubTtl{
				height: 20px;
				font-size: 12px;
				line-height: 1.67;
				letter-spacing: .05em;
				margin-top: 15px;
				padding: 0 20px;
			}
			.pricceSec .priceList{
			}
			.pricceSec dl + dl{
				margin-top: 5px;
			}
				.pricceSec .priceList dt{
					font-size: 11px;
					line-height: 2.2;
					letter-spacing: .05em;
				}
				.pricceSec .priceList .priceNum{
					width: 100px;
					font-size: 13px;
					line-height: 1.8;
					letter-spacing: .05em;
				}
					.pricceSec .priceList .priceNum small{
						font-size: 9px;
					}
					.pricceSec .priceList .priceNum .week{
						font-size: 11px;
					}
					.pricceSec .priceList .priceNum .annotation{
						font-size: 10px;
					}

						/* priceList2 */
						.pricceSec .priceList .priceList2 dl dt{
							width: 86px;
							margin-right: 0;
						}

		.pricceSec .trial{
		}
		.pricceSec .bl_trial{
			position: static;
			display: block;
		}
		.pricceSec .ml1{
			margin-left: .5em;
		}
		.pricceSec .priceList .priceList2 dl dt.capacity{
			width: 30px;
		}
		.pricceSec .priceList .priceList2 dl dt.wAuto{
			width: auto;
		}
		.pricceSec .priceOff{
			width: 215px;
			margin-top: 10px;
			margin-right: 10px;
		}
		.pricceSec .priceOff2{
			width: 185px;
		}
		.pricceSec .note{
			font-size: 9px;
			line-height: 1.6;
			letter-spacing: .02em;
			margin-top: 5px;
			padding-right: 10px;
		}
		.pricceSec .priceBox + .note{
			margin-bottom: -15px;
		}
		.pricceSec .priceBox + .note + .priceOff{
			margin-top: 20px;
		}

		#p_epi .pricceSec .priceList .priceNum{
			width: 140px;
		}
		#p_epi .priceList2{
			width: 100%;
		}
		#p_co2 .sp_style{
			margin-top: 1.5em;
			margin-bottom: 1.5em;
		}
			#p_co2 .sp_style .bl_trial{
				position: absolute;
				top: -2em;
				left: 0;
			}
}

/*--------------------------------------
footer
--------------------------------------*/
#footer{
	padding-top: 55px;
}
	#footerSns{
		display: flex;
		justify-content: center;
		place-items: center;
	}
		#footerSns .ttl1{
			margin-right: 78px;
			width: 138px;
			font-size: 36px;
			font-weight: 600;
			letter-spacing: .03em;
			text-align: left;
			font-weight: 300;
		}
			#footerSns .ttl1 .en{
				font-size: 32px;
			}
			#footerSns .ttl1 .subTtl{
				display: block;
				font-size: 19px;
				margin-top: 12px;
			}

		#footerSns .list1{
			display: flex;
			border-left: 1px solid var(--redbrown);
			box-sizing: border-box;
		}
			#footerSns .list1 li{
				max-width: 300px;
				width: 100%;
				margin-left: 54px;
				box-sizing: border-box;
			}
			#footerSns .list1 li + li{
				margin-left: 82px;
			}
			#footerSns .list1 li a{
				display: block;
			}

	#footerInfo{
		position: relative;
		margin-top: 80px;
		padding-bottom: 72px;
	}
		#footerInfo .inner{
			position: static;
		}

		#footer .outer {
			max-width: 1100px;
		}

		/* access */
		#footerInfo .access{
			width: 54%;
			max-width: 605px;
			margin-top: 20px;
			line-height: 24px;
		}
			#footerInfo .access .ttl1{
				font-size: 56px;
				font-weight: 600;
				margin-bottom: 24px;
			}
				#footerInfo .access .ttl1 .subTtl{
					display: block;
					font-size: 20px;
					margin-top: 18px;
				}
			#footerInfo .access .accessBox{
				justify-content: flex-start;
			}
				#footerInfo .access .accessBox .txt{
					width: calc(100% - 41%);
				}
					#footerInfo .access .accessBox .txt .txt1{
						font-size: 18px;
						font-weight: 400;
						line-height: 1.5;
						margin-bottom: 5px;
					}
					#footerInfo .access .accessBox .txt .txt2{
						font-size: 14px;
						line-height: 1.5;
						margin-bottom: 8px;
					}
					#footerInfo .access .accessBox .txt .tel{
						font-size: 24px;
						margin-bottom: 25px;
					}
						#footerInfo .access .accessBox .txt .tel small{
							font-size: 16px;
						}
						#footerInfo .access .accessBox .txt .tel span{
							display: inline-block;
							font-size: 14px;
							font-weight: 600;
							margin-left: 4px;
							padding: 3px;
							vertical-align: 4px;
							border: 1px solid var(--beige);
						}
						#footerInfo .access .accessBox .txt .credit{
						}
							#footerInfo .access .accessBox .txt .credit .icon{
								display: block;
								width: 155px;
								margin-bottom: 10px;
							}
							#footerInfo .access .accessBox .txt .credit .txt3{
								font-size: 14px;
							}

				#footerInfo .access .accessBox .photo{
					width: 218px;
				}

		/* map */
		#footerInfo .map{
			position: relative;
			width: 46.6666667%;
			height: 100%;
			margin-top: -313px;
		}
			#footerInfo .map .frame{
				position: absolute;
				top: 0;
				right: 0;
				width: 100%;
				max-width: 700px;
				height: 0;
				padding-bottom: 125.71429%;
				overflow: hidden;
			}
				#footerInfo .map .frame iframe{
					position: absolute;
					top: 44px;
					left: 0;
					width: 100%;
					height: 93%;
				}

			#footerInfo .map .btn{
				max-width: 240px;
				margin-top: calc(123.71429% + 30px);
				margin-left: 0;
			}
				#footerInfo .map .btn a{
					position: relative;
					height: 50px;
					width: 180px;
					font-size: 18px;
					letter-spacing: .1em;
					color: #fff;
					background: var(--pinkbrown);
				}

				#footerInfo .map .introduction-banner {
					display: grid;
					grid-template-columns: 1fr 1fr;
					column-gap: 2%;
					margin: 20px auto;
				}

		/* hours */
		#footerInfo .hours{
			width: 45.454546%;
			max-width: 606px;
			margin-top: 56px;
		}
			#footerInfo .hours .ttl1{
				font-size: 39px;
				letter-spacing: .03em;
				margin-bottom: 22px;
			}
				#footerInfo .hours .ttl1 .subTtl{
					display: block;
					font-size: 20px;
					margin-top: 6px;
				}

			#footerInfo .hours .times{
				margin-bottom: 24px;
			}
				#footerInfo .hours .times .time{
				}
					#footerInfo .hours .times .time h4{
						width: 80px;
						font-size: 17px;
						line-height: 1.5;
						padding-top: 3px;
						padding-bottom: 5px;
						text-align-last: justify;
					}
					#footerInfo .hours .times .time .flex,
					#footerInfo .hours .times .time2 p{
						margin-left: 25px;
						padding-top: 3px;
						padding-left: 25px;
						border-left: 0.5px solid var(--black);
					}
						#footerInfo .hours .times .time p{
							font-size: 17px;
							line-height: 1.5;
						}
						#footerInfo .hours .times .time p:first-of-type{
							margin-right: 1em;
						}

			#footerInfo .hours .caution{
				border: 0.5px solid var(--beige);
				margin-top: 25px;
				padding-top: 8px;
				padding-right: 8px;
				padding-bottom: 8px;
				padding-left: 14px;
			}
				#footerInfo .hours .caution p{
					font-size: 16px;
					line-height: 1.5;
					padding-left: 1.1em;
					text-indent: -1.1em;
				}

		/* related */
		#footerInfo .related{
			/* margin-top: 17%; */
			margin-top: 85px;
			margin-right: 4.5%;
		}
			#footerInfo .related .ttl1{
				font-size: 28px;
				letter-spacing: .03em;
				margin-bottom: 30px;
			}
			#footerInfo .related .list1{
			}
				#footerInfo .related .list1 li{
				}
				#footerInfo .related .list1 li + li{
					margin-top: 14px;
				}
					#footerInfo .related .list1 li a{
						position: relative;
						font-size: 16px;
						font-weight: 600;
						padding-left: .8em;
					}
					#footerInfo .related .list1 li a::before{
						content: '';
						position: absolute;
						top: 5px;
						left: 0;
						width: 6px;
						height: 6px;
						background: #de8c9a;
					}

	#footerNavi{
		padding-top: 100px;
		padding-bottom: 100px;
		background: #A89A7D;
	}
		#footerNavi .inner{
			max-width: 1100px;
		}
			#footerNavi .group1{
			}
				#footerNavi .group1 .logo{
					width: 388px;
				}
				#footerNavi .group1 .list1{
					width: 46.6666667%;
				}
					#footerNavi .group1 .list1 li{
						flex: 1;
						width: 47.619048%;
						width: 100%;
						max-width: 240px;
						height: 90px;
					}
					#footerNavi .group1 .list1 li + li{
						margin-left: 20px;
					}
						#footerNavi .group1 .list1 li a{
							position: relative;
							display: flex;
							flex-direction: column;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: 100%;
							padding: 15px 0 25px;
							border: 2px solid #b6aca7;
							box-sizing: border-box;
							transition: .3s;
						}
						#footerNavi .group1 .list1 li a::after{
							content: '';
							position: absolute;
							display: inline-block;
							top: 48%;
							right: 1em;
							width: 5px;
							height: 5px;
							border-top: 1px solid #fff;
							border-right: 1px solid #fff;
							transform: rotate(45deg) translateY(-50%);
						}
						#footerNavi .group1 .list1 li a:hover{
							background: #de8c9a;
							border-color: #de8c9a;
						}
						/* #footerNavi .group1 .list1 li a:hover::after{
							border-color: #b4aa91;
						} */
							#footerNavi .group1 .list1 .reserve a .icon{
								width: 18px;
								margin-bottom: 10px;
							}
							#footerNavi .group1 .list1 .inquiry a .icon{
								width: 20px;
								margin-bottom: 12px;
							}
							#footerNavi .group1 .list1 li a .name{
								font-size: 16px;
								font-weight: 600;
							}

			#footerNavi .group2{
				margin-top: 70px;
			}
				#footerNavi .group2 .list1{
					justify-content: flex-start;
				}
					#footerNavi .group2 .list1 li{
					}
						#footerNavi .group2 .list1 .footerNavi-list1 {
							width: 20%;
						}
						#footerNavi .group2 .list1 .footerNavi-list2 {
							width: 20%;
						}
						#footerNavi .group2 .list1 .footerNavi-list3 {
							/* width: 67.5%; */
							width: 56%;
						}
						#footerNavi .group2 .list1 .footerNavi-list3 .list-wrapper1{
							width: 42%;
						}
						#footerNavi .group2 .list1 .footerNavi-list3 .list-wrapper2{
							width: 30%;
						}
						#footerNavi .group2 .list1 .footerNavi-list3 .list-wrapper2{
							width: 33%;
						}
					#footerNavi .group2 .list1 > li:nth-child(n+3){
					}
						#footerNavi .group2 .ttl1{
							font-size: 18px;
							font-weight: 400;
							margin-bottom: 18px;
							padding-bottom: 18px;
							border-bottom: 0.8px solid var(--white);
						}

						#footerNavi .group2 .list2{
						}
							#footerNavi .group2 .list2 li{
								font-size: 16px;
								line-height: 1.3;
								font-weight: 300;
							}
							#footerNavi .group2 .list2 li + li{
								margin-top: 14px;
							}
								#footerNavi .group2 .list2 li a{
									transition: .3s;
								}
								#footerNavi .group2 .list2 li a:hover{
									opacity: 50%;
								}
								#footerNavi .group2 .list2 li .children{
									position: relative;
									display: block;
									font-weight: 400;
									margin-top: 11px;
									padding-left: 1.5em;
								}
								#footerNavi .group2 .list2 li .children::before{
									content: '-';
									position: absolute;
									top: 0;
									left: 0;
									font-size: 12px;
								}
								#footerNavi .group2 .list2 .footerCopy {
									font-size: 11px;
								}

						#footerNavi .group2 .list3{
						}
							#footerNavi .group2 .list3 > li{
							}
							#footerNavi .group2 .list3 > li + li{
								margin-top: 20px;
							}
								#footerNavi .group2 .list3 .ttl{
									width: calc(100% - 82.5% - 3.3333333%);
									font-size: 12px;
									font-weight: 600;
									text-align: center;
								}
								#footerNavi .group2 .list3 .list{
									width: 82.5%;
								}
									#footerNavi .group2 .list3 .list li{
										width: 31.313132%;
										height: 50px;
									}
									#footerNavi .group2 .list3 .list li + li{
										margin-left: 15px;
									}
										#footerNavi .group2 .list3 .list li a{
											display: flex;
											align-items: center;
											width: 100%;
											height: 100%;
											font-size: 14px;
											font-weight: 600;
											border: 1px solid #b6aca7;
											box-sizing: border-box;
											padding-left: 1em;
											transition: .3s;
										}
										#footerNavi .group2 .list3 .list li a:hover{
											background: #de8c9a;
											border-color: #de8c9a;
										}
											#footerNavi .group2 .list3 .list li a small{
												font-size: 10px;
											}

						#footerNavi .group2 .ttl2{
							font-size: 14px;
							font-weight: 400;
							margin-bottom: 15px;
						}
						#footerNavi .group2 .list2 + .ttl2{
							margin-top: 38px;
						}

	#footerPagetop{
		height: 50px;
		background: #de8c9a;
	}
		#footerPagetop a{
			width: 100%;
			height: 100%;
			font-size: 14px;
			letter-spacing: .05em;
			text-indent: 1.5em;
		}
		#footerPagetop a span{
			position: relative;
		}
		#footerPagetop a span::before{
			content: '';
			position: absolute;
			display: inline-block;
			top: 50%;
			left: -.2em;
			width: 8px;
			height: 8px;
			border-top: 1px solid currentColor;
			border-left: 1px solid currentColor;
			transform: rotate(45deg) translateY(-50%);
		}

		.page_top_btn {
			position: relative;
			display: block;
			width: 60px;
			height: 60px;
			position: fixed;
			z-index: 1000;
			right: 10px;
			bottom: 10px;
			background: var(--redbrown);
			opacity: 0.8;
			transition: 0.3s;
		}

		.page_top_btn::before,
		.page_top_btn::after {
  			content: "";
 			position: absolute;
  			top: 20px;
  			left: calc(50% - 1.5px);
  			width: 3px;
  			height: 20px;
  			border-radius: 9999px;
  			background-color: #fff;
  			transform-origin: 50% 1.5px;
		}

		.page_top_btn::before {
  			transform: rotate(45deg);
		}

		.page_top_btn::after {
  			transform: rotate(-45deg);
		}

	#footerCopy{
		height: 40px;
		background: #7c6a61;
	}
		#footerCopy p{
			width: 100%;
			height: 100%;
			font-size: 12px;
			letter-spacing: 0;
		}

@media screen and (max-width: 768px){
	#footer{
	}
		#footer{
			padding-top: 52px;
		}
		#footerSns{
			display: block;
		}
			#footerSns .ttl1{
				width: 100%;
				font-size: 22px;
				text-align: center;
				margin-bottom: 22px;
				margin-right: 0;
				letter-spacing: .1em;
			}
				#footerSns .ttl1 .en{
					font-size: 20px;
				}
				#footerSns .ttl1 .subTtl{
					font-size: 17px;
					margin-top: 6px;
				}

			#footerSns .list1{
				justify-content: center;
				width: 100%;
				border-left: none;
			}
				#footerSns .list1 li{
					width: 42%;
					margin-left: 0;
				}
				#footerSns .list1 li + li{
					margin-left: 0;
					border-left: 1px solid #d8d8d8;
				}
					#footerSns .list1 li a{
						padding: 0 6px;
					}

		#footerInfo{
			margin-top: 30px;
			padding-bottom: 45px;
		}
		#footerInfo::before{
			content: none;
		}
			#footerInfo .inner{
			}

			/* access */
			#footerInfo .access{
				float: none;
				width: 100%;
				max-width: 560px;
				margin-top: 0;
			}
			#footerInfo .access .accessBox .txt .txt2{
				font-size: 13px;
				line-height: 1.5em;
				margin-bottom: 2px;
			}
				#footerInfo .access .ttl1{
					font-size: 22px;
					letter-spacing: 0.1em;
					margin-bottom: 16px;
				}
					#footerInfo .access .ttl1 .subTtl{
						font-size: 17px;
						margin-top: 0;
						line-height: 1.2em;
					}
				#footerInfo .access .accessBox{
				}
					#footerInfo .access .accessBox .txt{
						width: calc(100% - 32.142858% - 5%);
					}
						#footerInfo .access .accessBox .txt .txt1{
							font-size: 14px;
							line-height: 1.5;
						}
						/* #footerInfo .access .accessBox .txt .txt2{
							font-family: 'Yu Mincho',Yumincho,serif;
						} */

						/* spのみ表示 */
						#footerInfo .access .tel{
							font-size: 18px;
							margin-bottom: 10px;
						}
							#footerInfo .access .tel small{
								font-size: 12px;
							}
							#footerInfo .access .tel span{
								display: inline-block;
								font-size: 14px;
								font-weight: 600;
								margin-left: 12px;
								padding: 3px;
								vertical-align: 3px;
								border: 1px solid var(--beige);
							}
							#footerInfo .access .credit{
							}
								#footerInfo .access .credit .icon{
									display: block;
									width: 155px;
									margin-bottom: 3px;
								}
								#footerInfo .access .credit .txt3{
									font-size: 13px;
								}

					#footerInfo .access .accessBox .photo{
						width: 32.142858%;
						margin-left: 5%;
					}

			/* map */
			#footerInfo .map{
				float: none;
				width: 100%;
				height: auto;
				margin-top: 20px;
				padding-bottom: 0;
			}
				#footerInfo .map .frame{
					position: relative;
					width: 100%;
					height: 0;
					padding-bottom: 53.125%;
				}
					#footerInfo .map .frame iframe{
						top: 0;
					}

				#footerInfo .map .btn{
					max-width: 200px;
					margin-top: 4px;
					margin-left: auto;
				}
					#footerInfo .map .btn a{
						font-size: 16px;
						height: 40px;
					}
					#footerInfo .map .btn a::before{
						top: 32%;
						left: 20%;
						width: 10px;
						height: 16px;
					}
					#footerInfo .map .btn a::after{
						right: 17%;
					}

					#footerInfo .map .introduction-banner {
						grid-template-columns: 1fr;
						row-gap: 10px;
						margin: 20px auto 0;
						padding: 0 16px;
					}

			/* hours */
			#footerInfo .hours{
				float: none;
				width: 100%;
				margin-top: 32px;
			}
				#footerInfo .hours .ttl1{
					font-size: 22px;
					letter-spacing: .1em;
					margin-bottom: 20px;
				}
					#footerInfo .hours .ttl1 .subTtl{
						font-size: 17px;
						margin-top: 4px;
					}

				#footerInfo .hours .times{
					margin-bottom: 20px;
				}
					#footerInfo .hours .times .time{
					}
						#footerInfo .hours .times .time h4{
							width: 64px;
							font-size: 12px;
							line-height: 1.6;
							padding-top: 0;
							padding-bottom: 0;
						}
						#footerInfo .hours .times .time .flex,
						#footerInfo .hours .times .time2 p{
							margin-left: 9px;
							padding-top: 0;
							padding-left: 9px;
						}
							#footerInfo .hours .times .time p{
								font-size: 12px;
								line-height: 1.6;
							}
							#footerInfo .hours .times .time p:first-of-type{
							}

				#footerInfo .hours .caution{
					margin-top: 12px;
					padding-top: 6px;
					padding-bottom: 10px;
					padding-left: 12px;
				}
					#footerInfo .hours .caution p{
						font-size: 12px;
						padding-left: 0;
						text-indent: 0;
						line-height: 16px;
					}


			/* footerNavi */
			#footerNavi{
				padding-top: 50px;
				padding-bottom: 50px;
			}
			#footerNavi .group2 .list1 {
				display: block;
			}
			#footerNavi .group2{
				margin-top: 30px;
			}
			#footerNavi .group2 .ttl1{
				margin-top: 40px;
				margin-bottom: 16px;
				padding-bottom: 13px;
			}
			#footerNavi .group2 .list2 li{
				font-size: 13px;
			}
			#footerNavi .group2 .list2 li + li{
				margin-top: 16px;
			}
			#footerNavi .group2 .ttl2.sp{
				margin-top: 33px;
			}
			#footerNavi .group2 .list1 .footerNavi-list1 {
				width: 100%;
			}
			#footerNavi .group2 .list1 .footerNavi-list2 {
				width: 100%;
			}
			#footerNavi .group2 .list1 .footerNavi-list3 {
				width: 100%;
			}
			#footerNavi .group2 .list1 .footerNavi-list3 .list-wrapper1{
				width: 100%;
			}
			#footerNavi .group2 .list1 .footerNavi-list3 .list-wrapper2{
				width: 100%;
			}

			#footerNavi .group2 .list1 .footerNavi-list3 .list-wrapper3{
				margin-top: 38px;
			}

			.page_top_btn {
				bottom: 89.63px;
				width: 36px;
				height: 36px;
			}

			.page_top_btn::before,
			.page_top_btn::after {
				top: 12px;
				height: 12px;
				width: 2px;
			}
}




/*--------------------------------------
fade animation
--------------------------------------*/
.animated {
	animation-duration: .5s;
	animation-fill-mode: both;
}
/* fade in */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fadeIn { animation-name: fadeIn; animation-fill-mode:both; animation-duration:1s; visibility: visible !important; opacity: 0;}

/* fade in up */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; }}
.fadeInUp { animation-name: fadeInUp; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in down */
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -20px, 0); } to { opacity: 1; transform: none; }}
.fadeInDown { animation-name: fadeInDown; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in right */
@keyframes fadeInRight { from { opacity: 0; transform: translate(30px,0); } to { opacity: 1; transform: none; } }
.fadeInRight { animation-name: fadeInRight; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in left */
@keyframes fadeInLeft {
from { opacity: 0; transform: translate(-30px,0); }to { opacity: 1; transform: none; }}
.fadeInLeft { animation-name: fadeInLeft; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade out */
@keyframes fadeOut { from { opacity: 1; }  to { opacity: 0; }}
.fadeOut { animation-name: fadeOut; }

/* 記事装飾用 */
.blog img {
	max-width: 100%;
	width: auto;
}
h2.wp-block-heading {
	background: #A06A5B;
	color: #fff;
	font-weight: bold;
	margin: 3em 0 1em;
    padding: 8px 16px;
}
h3.wp-block-heading {
	border-left: 4px solid #A06A5B;
	font-weight: bold;
    padding-left: 16px;
	margin: 2em 0 0.75em;
}
h4.wp-block-heading {
	border-bottom: 2px solid;
	font-weight: bold;
    padding-bottom: 4px;
	margin: 1.5em 0 0.5em;
}
h4.wp-block-heading strong {
	font-weight: bold;
}
.sonic-box {
	margin-bottom: 2em;
}
ul.is-style-list-simple-main {
    margin: 0 0 2em;
    padding: .5em .5em .5em 3em;
}
ul.is-style-list-simple-main li, ol.is-style-list-simple-main li {
	padding: .3em 0;
    position: relative;
}
ul.is-style-list-simple-main li::before {
	content: "";
    display: inline-block;
    position: absolute;
	background: #A06A5B;
	border-radius: 50%;
    height: 13px;
    left: -24px;
    top: 13px;
    width: 13px;
}
.is-style-titlebox-mark5 {
    padding: 0;
    border: 2px solid #A06A5B;
    position: relative;
}
.is-style-titlebox-mark5 .ob-title {
	color: #A06A5B;
	font-size: 1.05em;
    font-weight: 700;
    margin-bottom: .5em;
	background: #fff;
    left: 1.5em;
    padding: 0 .5em;
    position: absolute;
    top: -16px;
}
.is-style-titlebox-mark5 .ob-contents {
	padding: 1.5em 1.5em 1em;
}
ol.is-style-list-simple-main {
	padding: .5em .5em .5em 3em;
	margin-bottom: 2em;
	counter-reset: num;
}
.sonic-box ol.is-style-list-simple-main {
	margin-bottom: 0;
	padding: .5em .5em .5em 2.5em
}
ol.is-style-list-simple-main li::before {
	background: #A06A5B;
	border-radius: 50%;
    content: counter(num);
    counter-increment: num;
    display: inline-block;
    height: 24px;
    left: -33px;
    line-height: 24px;
    position: absolute;
    text-align: center;
    top: 8px;
    width: 24px;
	color: #fff;
    font-size: .85em;
}
.is-style-para-mark1 {
	padding: 1em 1.5em;
    border-color: rgba(160, 106, 91, 0.5);
	border: 1px solid;
}
.bold-red {
	color: #f44f4f;
    font-weight: 700;
}
.bold-red .has-medium-font-size {
	font-size: 1.4em!important;
}
.ob-title {
    font-size: 1.05em;
    font-weight: 700;
    margin-bottom: .5em;
}
.ob-title strong {
	font-weight: bold;
}
.is-style-titlebox-mark19 {
	background-color: #ebc6bc;
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 0;
	margin-bottom: 2em;
}
.is-style-titlebox-mark15 .ob-title, .is-style-titlebox-mark19 .ob-title {
	color: #A06A5B;
    align-items: center;
    display: flex;
    line-height: 1.5;
    margin-bottom: 0;
    padding: .5em 1em 0;
}
.is-style-titlebox-mark19 .ob-title-before:before {
    content: "\f00d";
	display: flex;
    font-family: font awesome\ 5 free;
    font-size: 2.4em;
    justify-content: center;
    line-height: 40px;
    margin-right: 8px;
    width: 40px;
}
.is-style-titlebox-mark15 {
    border: 2px solid #f4f4f5;
    padding: 0;
	margin-bottom: 2em;
}

.is-style-titlebox-mark15 .ob-title-before:before {
    content: "\f5c8";
	font-family: font awesome\ 5 free;
    font-size: 2em;
    margin-right: 8px;
}
.ob-contents ul.is-style-list-simple-main {
	margin-bottom: 0;
}
