@charset "utf-8";
/* CSS Document */


.scrollin {
    opacity : 0;
    transform : translate(0, -30px);
    }	
 
.scrollin.on {
    opacity : 1;
    transform : translate(0, 0);
    transition : transform 1200ms,opacity 1200ms;
    -webkit-transition : transform 1200ms,opacity 1200ms;
    }

h2 span.border{
	position:relative;
	display: inline-block;
	padding: 45px 0;
	color:#494949;
	}
h2 span.border{
	}
h2 span.border::before{
	top: 0;
	}
h2 span.border::after{
	bottom: 0;
	}
h2 span.border::before,
h2 span.border::after{
	content: "";
	position: absolute;
	width: 1px;
	height: 20px;
	-webkit-transform: scaleY(0);
	transform: scaleY(0);
	background: rgba(0,0,0,0.2);
    opacity : 1;
	left:50%;
	margin-left:-1px;
	}
h2.on span.border::before,
h2.on span.border::after{
	-webkit-transform: scaleY(1);
	transform: scaleY(1);
	transition: 2000ms;
	}

/* pc */
@media screen and (min-width: 801px),screen and (orientation: landscape), print {

	
#contents {
	margin-bottom: 200px;
	text-align: justify !important;
	text-justify: inter-ideograph !important;
	}
	
	
	#title{
		height:503px;
		/*
		background-image:url(../images/title_bg.jpg);
		background-position:center;
		background-size:cover;
		position:relative;
		*/
		}
		#title_wrap{
			position:relative;
			}
		#title_wrap h2{
			transform : translate(0, 0);
			display:block;
			text-align:center;
			position:absolute;
			top:41%;
			left:0;
			width:100%;
			margin-top:-1em;
			z-index:1;
			letter-spacing: 0.2em;
			font-size: 18px;
			}
			#title_wrap h2 > span{
				box-sizing:border-box;
				display:inline-block;
				}


	
	.map_img{
		margin-top: -100px;
		margin-bottom: 15px;
		padding: 0 50px 30px;
		position: relative;
		}
	#maps{
		width:100%;
		height:500px;
		}
		#access .map_link{
			position:absolute;
			margin-top: 14px;
			font-size: 12px;
			background-image: url(../../../access/images/link_arrow.png);
			background-repeat: no-repeat;
			background-position: bottom 4px right;
			padding-right: 70px;
			color: #494949;
			right:50px;
			bottom:0;
			}
		#access .address{
			position:absolute;
			text-align: right;
			left:50px;
			bottom:0;
			}
	
	#access .wrap{
		width: 1040px;
		margin: auto;
		padding: 0 50px;
		box-sizing: border-box;
		}
		#access .access_img{
			padding-top: 120px;
			}
			#access .access_img img{
				width: 100%;
				}
	
	#contact{
		width: 1040px;
		margin: auto;
		margin-top:50px;
		padding-top:100px;
		box-sizing: border-box;
		}
	#contact .leftBox,
	#contact .rightBox{
		border-top:1px solid #e3e3e3;
		}
		#contact .tel_wrap .th,
		#contact .media_wrap .th,
		#contact .reservation_wrap .th,
		#contact .form_wrap .th{
			border-bottom:1px solid #e3e3e3;
			text-align:center;
			padding:20px 0;
			}
		#contact .tel_wrap .td,
		#contact .media_wrap .td,
		#contact .reservation_wrap .td,
		#contact .form_wrap .td{
			padding:32px 0 32px;
			box-sizing:border-box;
			}
	
	
	
	#contact .leftBox {
		float:left;
		width:292px;
		}
	
	#contact .media_wrap{
		float:left;
		width:280px;
		border-top:1px solid #e3e3e3;
		}
		#contact .media_wrap .td p{

			}
		#contact .media_wrap .td p:nth-of-type(1){
			}
		#contact .media_wrap .td p:nth-of-type(2){
			margin-top:10px;
			}
		#contact .media_wrap .td p a{
			display: block;
			background: url("../images/to_index_arrow.png") no-repeat center right;
			background-size: 18px;

			}
	
	
	#contact .tel_wrap{
		/* float:left;
		width:280px; */
		border-top:1px solid #e3e3e3;
		text-align:center;
		margin-right: 50px;
		}
		#contact .tel_wrap .td p{
			}
		#contact .tel_wrap .td p:nth-of-type(1){
			letter-spacing: 0.15em;
			font-size:140%;
			}
		#contact .tel_wrap .td p:nth-of-type(2){
			margin-top:10px;
			}
	
	#contact .reservation_wrap{
		float:right;
		width:280px;
		border-top:1px solid #e3e3e3;
		}
		#contact .reservation_wrap .td p{

			}
		#contact .reservation_wrap .td p:nth-of-type(1){
			}
		#contact .reservation_wrap .td p:nth-of-type(2){
			margin-top:10px;
			}
		#contact .reservation_wrap .td p a{
			display: block;
			background: url("../images/to_index_arrow.png") no-repeat center right;
			background-size: 18px;

			}	
	
	
	
	
	
	#contact .rightBox {
		float:right;
		width:566px;
		}
	
	
	#contact .form_wrap{
		}
		#contact form table{
			width:100%;
			}
		#contact form table th{
			text-align: left;
			vertical-align: top;
			padding-right: 15px;
			width: 70px;
			font-weight: normal;
			font-size:93%;
			}
		#contact form table th,
		#contact form table td{
			padding-bottom: 20px;
			}
			#contact form input,
			#contact form textarea{
				font-size: 13px !important;
				display: block !important;
				width: 100% !important;
				box-sizing: border-box !important;
				background-color: #FBFAF6;
				border: none;
				padding: 15px;
				outline: 0;
				}
			#contact form textarea{
				min-height:90px;
				}
			#contact form .button_wrap{
				text-align:right;
				}
				#contact form button{
					display: inline-block;
					font-size: 13px;
					text-align: center;
					padding: 10px 50px 8px;
					border: none;
					transition: 500ms;
					background-color: #000;
					color: #fff;
					font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'HiraMinProN-W3', YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
					}
				
	.thanks #title_wrap h2{
		top: 50%;
		}
		
	.thanks #access{
		text-align:center;
		width:800px;
		margin: 100px auto;
		}
	.thanks #access .btn{
		margin-top: 100px;
		}
		.thanks #access .btn a{
			display: inline-block;
			width: 528px;
			font-size: 15px;
			border: 1px solid #000000;
			padding: 10px 0;
			}
		.thanks #access .btn a span{
			display: inline-block;
			position: relative;
			}
		.thanks #access .btn a span::after{
			content: "";
			background-image: url(../images/to_index_arrow.png);
			background-size: 35px 7px;
			width: 35px;
			height: 7px;
			position: absolute;
			right: -45px;
			top: 50%;
			margin-top: -4px;
			}
	
	
}

/* sp =============================================================================================*/
@media only screen and (max-width: 800px) and (orientation: portrait) {

	
#contents {
	margin-bottom: 200px;
	}
	
	
	#title{
		height:250px;
		/*
		background-image:url(../images/title_bg.jpg);
		background-position:center;
		background-size:cover;
		position:relative;
		*/
		}
		#title_wrap{
			position:relative;
			}
		#title_wrap h2{
			transform : translate(0, 0);
			display:block;
			text-align:center;
			position:absolute;
			top:35%;
			left:0;
			width:100%;
			margin-top:-2em;
			z-index:1;
			font-size: 18px;
			}
			#title_wrap h2 > span{
				box-sizing:border-box;
				display:inline-block;
				}
					


	
	.map_img{
		margin-bottom: 15px;
		padding: 0 10px;
		}
	#maps{
		width:100%;
		height:400px;
		}
	
	#access .wrap{
		padding-left: 20px;
		padding-right: 20px;
		}
		#access .map_link{
			margin-top: 14px;
			font-size: 12px;
			background-image: url(../../../access/images/link_arrow_sp.png);
			background-repeat: no-repeat;
			background-position: bottom 4px right;
			padding-right: 38px;
			color: #494949;
			float: right;
			margin-bottom: 20px;
			}
		#access .address{
			padding: 26px 0px 0px;
			text-align: center;
			margin-top: 10px;
			border-top: 1px solid #EDEDED;
			clear:both;
			}
		#access .access_img{
			margin-top: 80px;
			}
			#access .access_img img{
				width: 100%;
				}
	
	#contact{
		margin-top:50px;
		padding-top:50px;
		}
	#contact .tel_wrap,
	#contact .media_wrap,
	#contact .reservation_wrap,
	#contact .form_wrap{
		border-top:1px solid #e3e3e3;
		}
		#contact .tel_wrap .th,
		#contact .media_wrap .th,
		#contact .reservation_wrap .th,
		#contact .form_wrap .th{
			border-bottom:1px solid #e3e3e3;
			text-align:center;
			padding:20px 0;
			}
		#contact .tel_wrap .td,
		#contact .media_wrap .td,
		#contact .reservation_wrap .td,
		#contact .form_wrap .td{
			padding:25px 0 0;
			box-sizing:border-box;
			}
	#contact .tel_wrap{
		text-align:center;
		}
		#contact .tel_wrap .td p{
		}
		#contact .tel_wrap .td p:nth-of-type(1){
			letter-spacing: 0.15em;
			font-size:140%;
			}
		#contact .tel_wrap .td p:nth-of-type(2){
			margin-top:10px;
			}
	
	
	
	#contact .media_wrap{
		text-align:center;
		margin-top:70px;
		}
		#contact .media_wrap .td p{
			letter-spacing: 0.25em;
			}
		#contact .media_wrap .td p:nth-of-type(1){
			}
		#contact .media_wrap .td p:nth-of-type(2){
			margin-top:10px;
			}
	
	#contact .reservation_wrap{
		text-align:center;
		margin-top:70px;
		}
		#contact .reservation_wrap .td p{
			letter-spacing: 0.25em;
			}
		#contact .reservation_wrap .td p:nth-of-type(1){
			}
		#contact .reservation_wrap .td p:nth-of-type(2){
			margin-top:10px;
			}
	
	#contact .form_wrap{
		margin-top:70px;
		}
		#contact form table{
			width:100%;
			}
		#contact form table th{
			text-align: left;
			vertical-align: top;
			padding-right: 15px;
			font-weight: normal;
			font-size:93%;
			}
		#contact form table th,
		#contact form table td{
			display:block;
			}
		#contact form table td{
			margin-bottom:15px;
			}
			#contact form input,
			#contact form textarea{
				font-size: 13px !important;
				display: block !important;
				width: 100% !important;
				box-sizing: border-box !important;
				background-color: #FBFAF6;
				border: none;
				padding: 15px;
				outline: 0;
				}
			#contact form textarea{
				min-height:7em;
				}
			#contact form .button_wrap{
				margin-top: 30px;
				text-align:center;
				}
				#contact form button{
					display: inline-block;
					font-size: 13px;
					text-align: center;
					padding: 10px 50px 8px;
					border: none;
					transition: 500ms;
					background-color: #000;
					color: #fff;
					font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'HiraMinProN-W3', YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
					}
		
	.thanks #access{
		margin: 80px 30px 0px;
		}
	.thanks #access .btn{
		text-align: center;
		margin-top: 50px;
		}
		.thanks #access .btn a{
			display: inline-block;
			width: 400px;
			max-width: 100%;
			font-size: 16px;
			border: 1px solid #000000;
			padding: 10px 0;
			}
		.thanks #access .btn a span{
			display: inline-block;
			position: relative;
			background-image: url(../images/to_index_arrow.png);
			background-size: 35px 7px;
			padding-right: 45px;
			background-repeat: no-repeat;
			background-position: right center;
			}
		
}