@charset "utf-8";

a,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;
	font-size:100%;
	font-style:normal;
	vertical-align:baseline;
	background:0 0;
	list-style-type:none;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}
* html body{padding-left:1px}
* html .clearfix{height:1%}
table{border-collapse:collapse}
dl,ul{zoom:1;}

html{font-size: 62.5%;}
body{
	font-style: normal;
	background-color: #f9f9f9;
	color: #221613;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic";
}
.min,
#contents h2,
#contents h3,
#contents h4,
#access h2,
.info-box .info-boxin dl.temporary-closure dd a,
#page.page #main #page-title .title-box h1,
#page.page #main #page-title p,
#page.medical-assistance #contents #treatment-menu .box .photo-box li span,
#page.medical-assistance #contents #treatment-menu .box-ptmc01 ol li::before
{
    font-family: 'Noto Serif', serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
html,body {
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}
dd,dt,h1,h2,h3,h4,h5,h6,li,p,td,th,address{
	margin:0;
	padding:0;
	word-break: break-all;
	font-size:16px;
	line-height:1.6;
}
div,span,a{
	margin:0;
	padding:0;
	word-break: break-all;
	font-size:16px;
	line-height: 1rem;
}
@media (max-width: 768px) {
	body,
	dd,dt,h1,h2,h3,h4,h5,h6,li,p,td,th,address{
		font-size: 3.8vw;
		line-height:1.8;
	}
	div,span,a{font-size: 3.8vw;}
}

.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.articleBox:before,
.articleBox:after{
  content: " ";
  display: table;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.clearfix,.fleft,.fright{display:block}
.cb:after,
.clearfix:after,
.articleBox:after,
dl:after{content:".";display:block;height:0;clear:both;visibility:hidden}

.boxct{margin:0 auto;}
.fright{float:right;}
.fleft{float:left;}
.l{float:left;}
.r{float:right;text-align:left;}
.ct{text-align:center;}
.ct-pc{text-align:center;}
.mct{margin:0 auto;}
@media (max-width: 768px) {
.ct-pc{text-align:left;}
}
.fl-sh{/*縦横中央*/
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.fl-h{/*縦中央*/
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
a{
	overflow: hidden;
	color: #333;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
a:hover{
	color:#c83b18;
}
a,a:hover{text-decoration:none}

a:hover img{opacity: 0.6;}
img{
	border:0;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

.fl05:first-letter{letter-spacing:0.5em}
.fl1:first-letter{letter-spacing:1em}
.fl2:first-letter{letter-spacing:2em}
.l05{letter-spacing:0.5em}
.ls10{letter-spacing:1em}
.ls20{letter-spacing:2em}
.ls30{letter-spacing:3em}

.brpc{display:block;}
.brsp{display:none;}
.pc{display:block;visibility: visible;}
.sp{display:none;visibility: hidden;}
@media (max-width: 768px) {
	.brpc{display:none;}
	.brsp{display:block;}
	.pc{display:none;visibility: hidden;}
	.sp{display:block;visibility: visible;}
}

.mt-p10 {margin-top: 10px !important;}
.mt-p20 {margin-top: 20px !important;}
.mt-p30 {margin-top: 30px !important;}
.mt-p40 {margin-top: 40px !important;}
.mt-p50 {margin-top: 50px !important;}
.mt-p60 {margin-top: 60px !important;}
.mb-p0 {margin-bottom: 0 !important;}
.mb-p10 {margin-bottom: 10px !important;}
.mb-p20 {margin-bottom: 20px !important;}
.mb-p30 {margin-bottom: 30px !important;}
.mb-p40 {margin-bottom: 40px !important;}
.mb-p50 {margin-bottom: 50px !important;}
.mb-p60 {margin-bottom: 60px !important;}
.mrl-a {margin-left: auto !important;margin-right: auto !important;}
.pt-p10 {padding-top: 10px !important;}
.pt-p20 {padding-top: 20px !important;}
.pt-p30 {padding-top: 30px !important;}
.pt-p40 {padding-top: 40px !important;}
.pt-p50 {padding-top: 50px !important;}
.pt-p60 {padding-top: 60px !important;}
.pb-p10 {padding-bottom: 10px !important;}
.pb-p20 {padding-bottom: 20px !important;}
.pb-p30 {padding-bottom: 30px !important;}
.pb-p40 {padding-bottom: 40px !important;}
.pb-p50 {padding-bottom: 50px !important;}
.pb-p60 {padding-bottom: 60px !important;}

.ft-p1 {font-size: 2.8rem;}
.ft-p2 {font-size: 2.2rem;}
.ft-p3 {font-size: 2rem;}
.ft-p4 {font-size: 1.8rem;}
@media (max-width: 768px) {
	.ft-p1 {font-size: 5.23vw;}
	.ft-p2 {font-size: 4.99vw;}
	.ft-p3 {font-size: 4.48vw;}
	.ft-p4 {font-size: 4vw;}
/*
    .ft-p1 {font-size: 3.4rem;}1.416666666666667‬
    .ft-p2 {font-size: 3.2rem;}1.333333333333333‬
    .ft-p3 {font-size: 2.8rem;}1.166666666666667‬
    .ft-p4 {font-size: 2.4rem;}
    .ft-p5 {font-size: 2.2rem;}0.9166666666666667‬
*/
}
h1,h2,h3,h4,h5,.bold{font-weight:bold;}


/* ***********************************************************
* サイズ関連
* *********************************************************** */
.w50{width:50% !important;max-width:50% !important;}
.w100{width:100% !important;max-width:100% !important;}
.w-auto{width:auto;}

#warper{width:100%;overflow: hidden;position: relative;}
#page .contents{width:100%;margin:0;}
#page .contentsin{width:1000px;min-width:1000px;margin:0 auto;}
#page .contentsin2{width:900px;min-width:800px;margin:0 auto;}
@media (max-width: 768px) {
	#warper{width:100%;}
	#page .contents{width:100%;min-width:auto;}
	#page .contentsin,
	#page .contentsin2{width:90vw;min-width:90vw;}
}
.table{display:table;}


/* ***********************************************************
* リスト
* *********************************************************** */
.column{
	-webkit-display: flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.column .box{float:left;}


/* ---------- 2列 ---------- */
.col2::after {
	content: "";
	display: block;
	width:46%;
}
.col2 .box{
	width:46%;
}

@media (max-width: 768px) {
  .col2 .box{
		float:none;
		margin:0 auto;
		display:table;
		width:100%;
	}
}

/* ---------- 3列 ---------- */
.col3::after {
	content: "";
	display: block;
	width:32%;
}
.col3 .box{
	width:32%;
}
@media (max-width: 768px) {
	.col3::after {
		content: "";
		display: block;
		width:48%;
	}
	.col3 .box{width:48%;}
}

/* ---------- 4列 ---------- */
.col4::after {
	content: "";
	display: block;
	width:22%;
}
.col4 .box{
	width:22%;
}
@media (max-width: 768px) {
	.col4::after {
		content: "";
		display: block;
		width:48%;
	}
	.col4 .box{width:48%;}
}


/* ***********************************************************
* ヘッダー
* *********************************************************** */
#header{
	width:100%;
	height:50px;
	position:relative;
	margin:0 auto	;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
	-webkit-justify-content: center;
	justify-content: center;
	background-color: #161515;
}
	#header:after{
		position: absolute;
    content: "";
    display: inline-block;
    bottom: -4px;
		z-index: 10;
    left: 0;
    width: 100%;
    height: 4px;
    background-image: linear-gradient(145deg, rgba(170, 148, 101, 1) 38%, rgba(204, 185, 146, 1) 60%, rgba(217, 204, 174, 1) 72%, rgba(189, 168, 125, 1) 84%, rgba(170, 148, 101, 1) 96%);
	}
	#page #headerin{
		position: relative;
		width: 1000px;
		height:100%;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
		#header #title{
			position:relative;
			float:left;
			display: -webkit-flex;
			display: flex;
			-webkit-align-items: center;
			align-items: center;
		}
			#header #title a{
				display:block;
				width:100%;
				line-height: 1;
			}
				#header #title img{
					width:100%;
				}
@media (max-width: 1000px){
	#headerin{
		position:static;
	}
	#page #header #headerin {
	  width: 100%;
	  max-width: 100%;
	}
}

@media (max-width: 768px){
	#header{
		width: 100%;
  	height:15.6vw;
  }
	#header:after{
    bottom: -1.4vw;
    height: 1.4vw;
	}
	#header #headerin{
		width: 100%;
		min-width:100%;
  	height:100%;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-align-content: center;
		align-content: center;
	}
	#header #title{
		width:60vw;
		margin-left:3vw;
	}
}



/* ***********************************************************
* アクセス
* *********************************************************** */
#access{
	position: relative;
	display: table;
	min-width: 1050px
}
#access::before{
	position: absolute;
	content: "";
	display: inline-block;
	top: 0;
	z-index: 5;
	left: 0;
	width: 100%;
	height: 6px;
	background-image: linear-gradient(145deg, rgba(170, 148, 101, 1) 38%, rgba(204, 185, 146, 1) 60%, rgba(217, 204, 174, 1) 72%, rgba(189, 168, 125, 1) 84%, rgba(170, 148, 101, 1) 96%);
}
#access #map{
	position: relative;
	z-index: 10;
	margin-top:-30px;
	width:calc(50% + 70px);
	height:700px;
	background-color: #fff;
	float: left;
}
	#map iframe {
	    width: 100% !important;
	    height: 100% !important;
	}
#access .info-box{
	width:435px;
	float:left;
	padding-left:35px;
}
	.info-box .info-boxin{
		width:100%;
		padding:40px 0 0;
	}
		.info-box .info-boxin h2{
			font-size:24px;
			line-height: 1.6;
		}
		.info-box .info-boxin address{
			margin:10px 0 15px;
		}

/* *********** カレンダー *********** */
		.calendar-table{
			min-width:400px;
			margin-bottom:15px;
		}
			.calendar-table caption{
				width:100%;
				padding:0 5px 0 8px;
				margin-bottom:3px;
				background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
			}
				.calendar-table caption div{
					width:100%;
					min-height: 40px;
					display: table;
				}
				.calendar-table caption span:nth-child(1){
					font-size:20px;
					line-height: 1;
					color:#fff;
					display: table-cell;
					text-align: left;
					vertical-align: middle;
					letter-spacing: 2px;
				}
				.calendar-table caption span:nth-child(2){
					font-size:14px;
					line-height: 1;
					color:#fff;
					display: table-cell;
					text-align: right;
					vertical-align: middle;
				}
			.calendar-table th,
			.calendar-table td{
				text-align: center;
				vertical-align: middle;
				font-size: 15px;
				line-height: 1.1;
				font-weight: normal;
				white-space: nowrap;
				color:#333333;
				border-right:1px solid #333333;
				padding:5px 0;
			}
			.calendar-table td{
				font-weight: bold;
			}
			.calendar-table th:last-child,
			.calendar-table td:last-child{
				border-right:none;
			}
			.calendar-table thead th{
				min-width:40px;
				padding:10px 0;
			}
			.calendar-table thead th:first-child{
				min-width:74px;
			}
			.calendar-table thead th:nth-child(7){
				min-width:50px;
				letter-spacing: -2px;
			}
			.calendar-table thead th:last-child{
				min-width:50px;
				letter-spacing: -2px;
			}
			.calendar-table tbody tr{
				border-top:1px solid #333333;
			}
			.calendar-table tbody th span{
				font-size: 12px;
			}
			.calendar-table tbody td{
				font-size: 18px;
			}
			.calendar-table tbody .chk{
				color:#c59c60;
				font-size: 22px;
			}
			.calendar-table tbody .min{
				font-size: 13px;
			}

		.info-box .info-boxin .atten li,
		.calendar-box .atten li{
			font-size: 13px;
			position: relative;
			padding-left:1.5em;
		}
			.info-box .info-boxin .atten li::before,
			.calendar-box .atten li::before{
				content:"※";
				display: inline-block;
				position: absolute;
				top:0;
				left:0;
				font-size: 13px;
			}

		.info-box .info-boxin dl{
			display: table;
			margin:15px 0 0;
		}
			.info-box .info-boxin dl dt{
				display: table-cell;
				text-align: left;
				vertical-align: middle;
			}
				.info-box .info-boxin dl dt div{
					font-size:13px;
					color:#ffffff;
					width:144px;
					height:26px;
					border-radius: 10px;
					background-color: #c18a6b;
					display: flex;
					-webkit-align-items: center;
					align-items: center;
					-webkit-flex-wrap: wrap;
					flex-wrap: wrap;
					-webkit-align-content: center;
					align-content: center;
					-webkit-justify-content: center;
					justify-content: center;
				}
				.access .info-box .info-boxin dl.tel-fax dt div{
					width:80px;
				}
				.info-box .info-boxin dl.temporary-closure dt div{
					background-color: #aa9465;
				}
			.info-box .info-boxin dl dd{
				display: table-cell;
				text-align: left;
				vertical-align: middle;
				padding-left:10px;
				font-size: 14px;
			}
			.access .info-box .info-boxin dl dd{
				padding-left:15px;
			}
			.info-box .info-boxin dl.temporary-closure dd a{
				font-size: 32px;
				font-weight: bold;
				letter-spacing: 1px;
				line-height: 1;
			}
			.info-box .info-boxin dl.temporary-closure dd span{
				font-size: 28px;
				letter-spacing: 1px;
				line-height: 1;
			}
@media (max-width: 1050px) {
	#access #map {
    width: calc(100% - 435px);
	}
	#access .info-box {
	  padding-left: 20px;
	}
}
@media (max-width: 768px) {
	#access::before{
		height: 1.4vw;
	}
	#access .info-box{
		width:100%;
		float:none;
		padding-left:0;
	}
		.info-box .info-boxin{
			width:90vw;
			padding:7vw 0 10vw;
			margin:0 auto;
		}
		.info-box .info-boxin .info-boxin-top{
			width:86vw;
			margin:0 auto 5vw;
		}
			.info-box .info-boxin h2{
				font-size:5.6vw;
			}
			.info-box .info-boxin address{
				margin:2vw 0 3vw;
			}

			.info-box .info-boxin .map{
				display: -webkit-flex;
				display: flex;
				-webkit-align-items: center;
				align-items: center;
				-webkit-justify-content: left;
				justify-content: left;
				margin:0 0 8vw;
			}
				.info-box .info-boxin .map .img{
					width:25vw;
				}
					.info-box .info-boxin .map .img img{
						width:100%;
					}

				.info-box .info-boxin .map .button{
					width:40vw;
					height:12vw;
					position: relative;
					overflow: hidden;
					margin: 0 0 0 5vw;
				}
					.info-box .info-boxin .map .button a,
					.info-box .info-boxin .map .button span{
						width:100%;
						height:100%;
						z-index: 10;
						color:#fff;
						background-color: #aa9465;
						font-size:4vw;
						padding-right:2vw;
						overflow: hidden;
						position: relative;
						display: flex;
						-webkit-align-items: center;
						align-items: center;
						-webkit-flex-wrap: wrap;
						flex-wrap: wrap;
						-webkit-align-content: center;
						align-content: center;
						-webkit-justify-content: center;
						justify-content: center;
					}
						.info-box .info-boxin .map .button a::after,
						.info-box .info-boxin .map .button span::after  {
							content: "";
							display: inline-block;
							position: absolute;
							right: 4vw;
							top: 50%;
							margin-top: -2vw;
							background-image: url(../images/common/icon-arrow.svg);
							background-size: contain;
							background-repeat: no-repeat;
							background-position: center top;
							width: 2vw;
							height: 4vw;
						}

			.calendar-table{
				min-width:100%;
				margin-bottom:4vw;
			}
				.calendar-table caption{
					padding:0 1.5vw;
					margin-bottom:1.5vw;
				}
					.calendar-table caption div{
						width:100%;
						min-height: 9.8vw;
					}
					.calendar-table caption span:nth-child(1){
						font-size:4.4vw;
						font-weight: bold;
					}
					.calendar-table caption span:nth-child(2){
						font-size:3.6vw;
					}
				.calendar-table th,
				.calendar-table td{
					font-size: 3.6vw;
					padding:1.5vw 0;
				}
				.calendar-table thead th{
					min-width:8vw;
					padding: 2.5vw 0;
				}
				.calendar-table thead th:nth-child(7) {
				  min-width: 10.2vw;
				}
				.calendar-table thead th:first-child{
					min-width:14.5vw;
				}
				.calendar-table thead th:last-child {
				  min-width: 11.2vw;
					letter-spacing: -4px;
				}
				.calendar-table tbody th span{
					font-size: 3vw;
				}
				.calendar-table tbody .chk {
			    font-size: 5vw;
				}
				.calendar-table tbody .min{
					font-size: 3.4vw;
				}

			.info-box .info-boxin .atten li,
			.calendar-box .atten li{
				font-size: 3.4vw;
				padding-left:1.2em;
				line-height: 1.4;
				margin-bottom:1vw;
			}
				.info-box .info-boxin .atten li::before,
				.calendar-box .atten li::before{
					font-size: 3.4vw;
				}

			.info-box .info-boxin dl{
				display: table;
				margin:5vw 0 0;
			}
					.info-box .info-boxin dl dt div{
						font-size:3.4vw;
						width:36vw;
						height:10vw;
						border-radius: 2vw;
					}
					.access .info-box .info-boxin dl.tel-fax dt div{
						width:20vw;
					}
					.info-box .info-boxin dl.temporary-closure dt div{
						background-color: #aa9465;
					}
				.info-box .info-boxin dl dd{
					padding-left:3vw;
					font-size: 3.8vw;
					line-height: 1.4;
				}
				.info-box .info-boxin dl.temporary-closure dd a{
					font-size: 7.4vw;
				}
				.info-box .info-boxin dl.temporary-closure dd span{
					font-size: 6.4vw;
				}

				.calendar-box .button {
			    margin-top: 5vw;
			    width: 36vw;
			    height: 10vw;
				}
					.calendar-box .button a {
		        font-size: 3.8vw;
			    }
}


/* **********
* カレンダーON
* ********** */
.calendar-off #calendar-window{
	display: none;
}

#calendar-window{
	display: block;
	position: absolute;
	top:0;
	left:0;
	right:0;
	z-index: 2000;
}
	#calendar-window .calendar-box{
	 display: block;
	 position: absolute;
	 top:80px;
	 right:0;
	 width:100vw;
	 height:calc(100vh - 80px);
	 overflow: hidden;
	}
		#calendar-window .calendar-boxin{
		 display: block;
		 position: absolute;
		 top:0;
		 right:-800px;
		 background-color: #fff;
		 border-radius: 8px;
		 padding:20px;
		 overflow: hidden;
		}
	.calendar-on #calendar-window .calendar-boxin{
		-webkit-animation-timing-function: cubic-bezier(0.86,0,0.07,1);
		animation-timing-function: cubic-bezier(0.86,0,0.07,1);
		-webkit-animation-iteration-count: 1;
		animation-iteration-count: 1;/*繰返数*/
		-webkit-animation-delay: 0s;
		animation-delay: 0s;/*遅延時間*/
		-webkit-animation-play-state: running;
		animation-play-state: running;/*アニメーションの状態 再生 一時停止*/
		-webkit-animation-duration: 0.8s;
		animation-duration: 0.8s;/*所要時間*/
		-webkit-animation-fill-mode: forwards;
		animation-fill-mode: forwards;/*最後の状態で停止*/
		-webkit-animation-name: calendar-window-view;
		animation-name: calendar-window-view;
		box-shadow: 0px 0px 20px -5px rgba(33, 33, 33, 0.2);
	}
@keyframes calendar-window-view {
	0% {
		right:-800px;
	}
	100% {
		right:50px;
	}
}
.calendar-off #calendar-window .calendar-boxin{
	-webkit-animation-timing-function: cubic-bezier(0.86,0,0.07,1);
	animation-timing-function: cubic-bezier(0.86,0,0.07,1);
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;/*繰返数*/
	-webkit-animation-delay: 0s;
	animation-delay: 0s;/*遅延時間*/
	-webkit-animation-play-state: running;
	animation-play-state: running;/*アニメーションの状態 再生 一時停止*/
	-webkit-animation-duration: 0.8s;
	animation-duration: 0.8s;/*所要時間*/
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;/*最後の状態で停止*/
	-webkit-animation-name: calendar-window-hidden;
	animation-name: calendar-window-hidden;
}
.fst-calender.calendar-off #calendar-window .calendar-boxin{
	right:-800px;
	-webkit-animation-name: none;
	animation-name: none;
}
@keyframes calendar-window-hidden {
	0% {
		right:50px;
	}
	100% {
		right:-800px;
	}
}
.calendar-on #calendar-window .calendar-boxin .button{
	margin-top:20px;
}

@media (max-width: 768px) {
	#calendar-window .calendar-box{
	 top:22vw;
	 height:calc(100vh - 22vw);
	 width:100vw;
	}
	.calendar-on #calendar-window .calendar-boxin{
			-webkit-animation-name: SP-calendar-window-view;
			animation-name: SP-calendar-window-view;
		}
		#calendar-window .calendar-boxin{
		 border-radius: 8px;
		 padding:4vw;
		 width:94vw;
		 margin:0 3vw;
		 z-index: 3000;
		 -webkit-animation-name: SP-calendar-window-hidden;
	 	animation-name: SP-calendar-window-hidden;
		}
	.calendar-on #calendar-window .calendar-boxin .button{
		margin-top:4vw;
	}
}
@keyframes SP-calendar-window-view {
	0% {
		right:-800px;
	}
	100% {
		right:0;
	}
}
@keyframes SP-calendar-window-hidden {
	0% {
		right:0;
	}
	100% {
		right:-800px;
	}
}



/* **********
* アクセスマップ
* ********** */
#map-window{
	background-color: #fff;
	width:100vw;
	height:100vh;
	margin:0;
	padding:20px;
	display: none;
	overflow: scroll;
}
#map-window.map-hidden{
	display: block;
	z-index: 100000;
	position: fixed;
	top:0;
}
#map-window .map{
	width:calc(100% - 40px);
	height:400px;
		margin:0 auto;
}
	#map-window .map iframe {
		width: 100% !important;
		height: 100% !important;
	}

#map-window .button-box{
	width:500px;
	height:60px;
	margin:25px auto;
	-webkit-display: flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#map-window .button-box .button{
	width: 200px;
	height: 100%;
}

@media (max-width: 768px) {
	#map-window{
		padding:2vw;
	}
	#map-window .map{
		width:100%;
		height:120vw;
	}
	#map-window .button-box{
		width:90vw;
		height:14vw;
		margin:5vw auto;
	}
	#map-window .button-box .button{
		width: 40vw;
	}
}


#page .lity-close {
	width: 50px;
	height: 50px;
	font-size: 50px;
	line-height: 1;
}

@media (max-width: 768px) {
	#page .lity-close {
    width: 16vw;
    height: 16vw;
    font-size: 16vw;
		line-height: 1;
	}
}



/* ***********************************************************
* フッター
* *********************************************************** */
#footer{
	width: 100%;
	padding:0;
	background-color: #161515;
}
	#footer #footer-line{
		position: relative;
		height:30px;
	}
	#footer #footer-line::after{
		position: absolute;
		content: "";
		display: inline-block;
		bittim: 0;
		z-index: 5;
		left: 0;
		width: 100%;
		height: 1px;
		background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
	}
		#footer .footer-linein{
			display: flex;
			align-items: center;
			justify-content: space-between;
			height:100%;
		}
			#footer #footer-line .breadcrumbs{
				display: flex;
				height:100%;
			}
				#footer #footer-line .breadcrumbs a,
				#footer #footer-line .breadcrumbs span{
					position: relative;
					height:100%;
					color:#fff;
					font-size: 11px;
					line-height: 1;
					padding-left:15px;
					padding-right:15px;
					display: -webkit-flex;
					display: flex;
					-webkit-align-items: center;
					align-items: center;
					-webkit-justify-content: center;
					justify-content: center;
				}
				#footer #footer-line .breadcrumbs a::before,
				#footer #footer-line .breadcrumbs span::before{
					content: "";
			    display: inline-block;
			    position: absolute;
			    left: 0;
			    top: 50%;
			    margin-top: -5px;
			    background-image: url(../images/common/arrow-l.svg);
			    background-size: contain;
			    background-repeat: no-repeat;
			    background-position: center center;
			    width: 10px;
			    height: 10px;
			    z-index: 1;
			    transition: 0.2s linear;
			    -webkit-transition: all 0.2s linear;
			    -moz-transition: all 0.2s linear;
			    -o-transition: all 0.2s linear;
			    -ms-transition: all 0.2s linear;
			    transition: all 0.2s linear;
				}
				#footer #footer-line .breadcrumbs a:hover::before{
			    left: 5px;
				}
			#footer #footer-line #pagetop{
				height:100%;
				width:30px;
			}
				#footer #footer-line #pagetop a{
					height:100%;
					width:100%;
					display: flex;
					-webkit-align-items: center;
					align-items: center;
					-webkit-flex-wrap: wrap;
					flex-wrap: wrap;
					-webkit-align-content: center;
					align-content: center;
					-webkit-justify-content: center;
					justify-content: center;
				}
				#footer #footer-line #pagetop a img{
					width:14px;
				}
					#footer #footer-line #pagetop a:hover img{
						transform: scale(1.4);
					}
	#footer #footer-link{
		padding:25px 0;
	}
		#footer #footer-link p{
			font-size:14px;
			color:#fff;
			padding-bottom:20px;
		}
		#footer #footer-link .l h2{
			width:400px;
		}
			#footer #footer-link .l h2 img{
				width:100%;
			}
		#footer #footer-link .l address{
			color:#fff;
			font-size: 14px;
			margin-top:15px;
		}
		#footer .link-box{
			display: flex;
			justify-content: space-between;
		}
		#footer .link-box .link > ul{
			margin: 10px 0 10px;
		}
		#footer .link-box .linkin{
			display:flex;
		}
			#footer .link-box .linkin ul:first-child{
		    margin-right:50px;
			}
				#footer .link-box .link li a{
					color:#fff;
					font-size:14px;
					position: relative;
					transition: 0.2s linear;
			    -webkit-transition: all 0.2s linear;
			    -moz-transition: all 0.2s linear;
			    -o-transition: all 0.2s linear;
			    -ms-transition: all 0.2s linear;
			    transition: all 0.2s linear;
				}
				#footer .link-box .link li a:hover{
					color:#d9bb7b;
				}

	#footer #copy{
		width:100%;
		height:40px;
		padding:0;
		background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-content: center;
		align-content: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
		#footer #copy p{
			font-size: 10px;
			letter-spacing: 1px;
			font-style: normal;
			color:#1c1615;
		}

@media (max-width: 768px) {
	#footer{
		width: 100%;
		padding:0;
		background-color: #161515;
	}
		#footer #footer-line{
			position: relative;
			height:8.6vw;
		}
		#footer .footer-linein {
		    display: table;
		}
				#footer #footer-line .breadcrumbs{
					display: none;
				}
				#footer #footer-line #pagetop{
					width:5.4vw;
					float: right;
				}
					#footer #footer-line #pagetop a img{
						width:100%;
					}
		#footer #footer-link{
			padding:4vw 0;
		}
			#footer .link-box {
			  display: table;
			}
				#footer .link-box .l{
				  float:none;
				}
			#footer #footer-link p{
				font-size: 3.2vw;
				padding-bottom:2.5vw;
			}
			#footer #footer-link .l h2{
				width:75vw;
			}
			#footer #footer-link .l address{
				font-size: 2.8vw;
				margin-top:3.5vw;
			}
			#footer .link-box .r {
			 display: none;
			}

		#footer #copy{
			height:7.8vw;
		}
			#footer #copy p{
				font-size: 2.4vw;
			}
}




/* ***********************************************************
* ボタン
* *********************************************************** */
.button{
	display:table;
	border-radius:10px;
	margin:0 auto;
	width:200px;
	height:50px;
	transition: 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
	position: relative;
	background-color: #c59c60;
}
.button:hover{
	background-color: #7a5729;
}
	.button a,
	.button span{
		color:#fff;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-content: center;
		align-content: center;
		-webkit-justify-content: center;
		justify-content: center;
		width:100%;
		height:100%;
		position: relative;
		opacity: 1;
		font-size:16px;
		text-decoration: none;
	}
	.button a::after,
	.button span::after {
	  content: "";
	  display: inline-block;
	  position: absolute;
	  right: 12px;
	  top: 50%;
	  margin-top: -6px;
	  background-image: url(../images/common/icon-arrow.svg);
	  background-size: contain;
	  background-repeat: no-repeat;
	  background-position: center top;
	  width: 6px;
	  height: 12px;
	  z-index: 10;
	  transition: 0.2s linear;
	  -webkit-transition: all 0.2s linear;
	  -moz-transition: all 0.2s linear;
	  -o-transition: all 0.2s linear;
	  -ms-transition: all 0.2s linear;
	  transition: all 0.2s linear;
	}
	.button:hover a::after,
	.button:hover span::after {
	  right: 8px;
	}


	.buttonBox{
		width:560px;
		display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
		margin: 0 auto;
	}
	#page.contact .button a{
		font-size:18px;
	}
	#page .buttonBox .button.fix{
		background-color: #999;
	}
	#page .buttonBox .button.send{
		background-color: #c59c60;
	}
	#page .buttonBox .button.fix:hover,
	#page .buttonBox .button.button:hover{
		background-color: #7a5729;
	}
	#page .buttonBox .button.fix a:after{
		transform:rotateY(180deg);
		right: auto;
		left: 10px;
	}
		#page .buttonBox .button.fix a:hover:after{
			right: auto;
			left: 3px;
		}

@media (max-width: 768px) {
	.button{
		width:40vw;
		height:12vw;
		border-radius:1.6vw;
	}
		.button a,
		.button span{
			font-size:3.4vw;
		}
		.button a:after,
		.button span:after{
			right: 2vw;
			top:50%;
			margin-top:-1.6vw;
			width: 1.6vw;
			height: 3.2vw;
		}
			.button a:hover:after,
			.button span:hover:after{
				right: 0.5vw;
			}


	.buttonBox{
		width:90vw;
	}
	#page.contact .button a{
		font-size:4vw;
	}
}




/* ***********************************************************
* 基本設定
* *********************************************************** */
.back-gray{background-color: #f9f9f9;}
.back-black{background-color: #161515;}

.gradation-side-line{
	position: relative;
	display: table;
}
.gradation-side-line::after{
	content:"";
	display: inline-block;
	position: absolute;
	height:2px;
	width:60px;
	top:50%;
	right:-70px;
	margin-top:-1px;
	padding:0;
	background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
}
.gradation-side-line.long::after{
	width:190px;
	right:-200px;
}

.gradation-vertical-line{
	position: relative;
	display: table;
}
.gradation-vertical-line::after{
	content:"";
	display: inline-block;
	position: absolute;
	height:100%;
	width:4px;
	top:0;
	left:0;
	margin:0;
	padding:0;
	background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
}

.gradation-under-line{
	position: relative;
	display: table;
}
.gradation-under-line::after{
	content:"";
	display: inline-block;
	position: absolute;
	height:2px;
	width:100%;
	bottom:0;
	left:0;
	margin:0;
	padding:0;
	background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
}
@media (max-width: 768px) {
	.gradation-side-line::after{
		height:0.6vw;
		width:8vw;
		top:50%;
		right:-10vw;
		margin-top:-0.3vw;
	}
	.gradation-side-line.long::after{
		width:20vw;
		right:-22vw;
	}
	.gradation-vertical-line::after{
		width:1.2vw;
	}
}

/*----- 帯 -----*/
.section-line{
	padding:80px 0 140px;
	position: relative;
}
.section-line::before{
	content:"";
	display: inline-block;
	position: absolute;
	height:5px;
	width:100%;
	top:-5px;
	left:0;
	padding:0;
	background-image: linear-gradient(145deg, rgba(229, 207, 150, 1) 11%, rgba(217, 187, 123, 1) 38%, rgba(197, 156, 96, 1) 72%);
}
@media (max-width: 768px){
	.section-line{
		padding:10vw 0 15vw;
		position: relative;
	}
	.section-line::before{
		width:100vw;
		height:1.5vw;
		top:-1.5vw;
		left:0;
	}
}




#page.page #contents{
	position: relative;
	padding:0;
	min-height: calc(100vh - 250px);
}
.inner{display:table;}
@media (max-width: 768px) {
	#page.page #contents{
		padding:0;
		min-height: calc(100vh - 50vw);
	}
}


#page .sub-title {
  font-size: 30px;
  margin: 0 0 30px;
}
@media (max-width: 768px) {
	#page .sub-title{
		font-size: 5.4vw;
		margin:0 0 5vw;
	}
}

.titlebox-pt1 {
	display: table;
  margin:0 auto 40px;
	text-align: center;
}
	.titlebox-pt1 h2{
		font-size:34px;
		font-weight:normal;
		color:#1f356b;
		border-bottom:3px solid #1f356b;
	}
	.titlebox-pt1 div{
		font-size:16px;
		color:#1f356b;
		margin:8px auto 0;
	}
@media (max-width: 768px) {
	.titlebox-pt1 {
	  margin:0 auto 10vw;
		text-align: center;
	}
		#page .titlebox-pt1 h2{
			font-size:5.2vw;
		}
		.titlebox-pt1 div{
			font-size:3.4vw;
			margin:1.5vw auto 0;
		}
}
.titlebox-pt2 {
	display: table;
  margin:0;
	text-align: right;
}
	.titlebox-pt2 h2{
		font-size:30px;
		font-weight:normal;
		color:#fff;
		text-align: right;
		line-height:1;
	}
	.titlebox-pt2 div{
		font-size:16px;
		color:#fff;
		margin:6px 0 0;
		text-align: right;
	}
@media (max-width: 768px) {
	.titlebox-pt2 {
		display: flex;
		-webkit-align-items: center;
		align-items: center;

	  margin:0;
		text-align: left;
	}
		#page .titlebox-pt2 h2{
			font-size:5.2vw;
			float:left;
		}
		.titlebox-pt2 div{
			font-size:2.4vw;
			margin:0 0 0;
			padding:0 0 0 3vw;
			text-align: left;
			float:left;
		}
}


/* ***********************************************************
* テーブル
* *********************************************************** */
table.tb01{
  width:100%;
}
table.tb01 tr{
  border-bottom: 1px solid #000;
}
table.tb01 th{
  padding: 22px 0;
  text-align:left;
  font-weight:normal;
}
table.tb01 td{
  padding: 22px 0;
}

@media (max-width: 768px){
	table.tb01 th{
		padding: 15px 0;
	}
	table.tb01 td{
		padding: 15px 0;
	}
}


/* ***********************************************************
* ページトップ
* *********************************************************** */

/*リンクを右下に固定*/
#page-top{
	border-radius: 30px;
	background-color: #0075c1;
	overflow: hidden;
  width: 60px;
	position: fixed;
  right: 20px;
  z-index: 1000;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}
#page-top a{
	display: flex;
  justify-content:center;
  align-items:center;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition:all 0.3s;
}
#page-top a:hover{
  opacity: 0.5;
}
#page-top img{
	width: 100%;
}




/* ***********************************************************
* フォーム
* *********************************************************** */
#contents input{
	padding: 4px 8px;
	background-color: #f9f9f9;
	border: none;
	border-radius: 4px;
	text-align:left;
	margin:5px 0;
	line-height: 1.8;
	font-size: 1em;
	border:1px solid #999999;
	box-sizing: border-box;
}
#contents input.inputbox02{
	width:100%;
}
#contents .err{background-color:#ffe6e6;}
#contents .err input,
#contents .err textarea,
#contents .err select{background-color:#fcc;}
#contents .errbox{
  font-weight:bold;
  color:#c30;
}
@media (max-width: 768px){
	#contents input{
		padding: 1.5vw 2vw;
		margin:1.5vw 0;
	}
}
