@charset "utf-8";

/* Common
-----------------------------------*/
.dn_pc{ display: none; }
.dn_sp{ display: block; }

#keyvisual{
	background: #000 no-repeat center bottom fixed;
	/*height: 800px;*/
	height: 600px;
	position: relative;
}
#keyvisual .logo{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50% , -50%);
	   -moz-transform: translate(-50% , -50%);
	    -ms-transform: translate(-50% , -50%);
	     -o-transform: translate(-50% , -50%);
	        transform: translate(-50% , -50%);
}
#keyvisual .logo img{
	vertical-align: baseline;
}
#keyvisual .ico01{
	position: absolute;
	left: 50%;
	bottom: 10%;
	-webkit-transform: translate(-50% , 0);
	   -moz-transform: translate(-50% , 0);
	    -ms-transform: translate(-50% , 0);
	     -o-transform: translate(-50% , 0);
	        transform: translate(-50% , 0);
}

#wpadminbar{
	z-index: 9998 !important;
}
h1{
	background: #3D4070;
	color: #fff;
	font-weight: normal;
	font-size: 12px;
	padding: 3px 0;
}
h1 p{
	max-width: 1000px;
	margin: 0 auto;
}

html.sb-init{
	margin-top: 0 !important;
}
#header_sp{
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
	background: #FFF;
	border-top: 2px solid  #D90000;
	min-height: 55px;
	-webkit-box-shadow: 0px 5px 5px 0px rgba(204,204,204,0.3);
	-moz-box-shadow: 0px 5px 5px 0px rgba(204,204,204,0.3);
	box-shadow: 0px 5px 5px 0px rgba(204,204,204,0.3);
}
#header_sp .inner{
	padding: 10px 15px;
	display: table;
	width: 100%;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#header_sp .inner .logo{
	width: 30%;
	/*float: left;*/
	display: table-cell;
	text-align: left;
	vertical-align: middle;
}
#header_sp .inner .menu{
	/*float: right;*/
	cursor: pointer;
	line-height: 1;
	font-size: 30px;
	display: table-cell;
	text-align: right;
	vertical-align: middle;
}


#header{
	border-top: 2px solid  #D90000;
	background: #FFF;
	/*padding: 10px 0;*/
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 9999;
}
#header.sub{
	-webkit-box-shadow: 0px 5px 5px 0px rgba(204,204,204,0.3);
	-moz-box-shadow: 0px 5px 5px 0px rgba(204,204,204,0.3);
	box-shadow: 0px 5px 5px 0px rgba(204,204,204,0.3);
}
#header .inner{
	width: 1000px;
	margin: 0 auto;
}
#header .logo{
	float: left;
	margin-top: 10px;
}
#header .logo_none{
	float: left;
	font-size: 24px;
	margin-top: 25px;
}
#header #hNav{
	float: left;
	padding: 35px 50px 30px 40px;
	min-width: 450px;
}
#header #hNav li{
	float: left;
	padding: 0 10px;
	font-size: 15px;
	font-weight: 500;
}
#header .tel{
	float: left;
	margin: 25px 0 0 50px;
	font-size: 22px;
}
#header .tel span{
	font-size: 16px;
}
#header .hdr_right{
	border-left: 2px solid  #000;
	/*width: 290px;*/
	padding: 25px 0 26px 46px;
	float: right;
}
#header .hdr_right ul{
	margin-bottom: 5px;
	text-align: center;
}
#header .hdr_right ul li{
	width: 140px;
	float: left;
	font-size: 17px;
}
#header .hdr_right ul li:last-child{
	margin-left: 10px;
}
#header .hdr_right ul li span{
	width: 1.7em;
}
#header .hdr_right .btn a{
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 5px 0;
	font-size: 16px;
	border: 1px solid  #000;
	color: #FFF;
	background: #000;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
#header .hdr_right .btn a:hover{
	background: #FFF;
	color: #000;
}

#sub{
	width: 1000px;
	margin: 0 auto;
	padding: 60px 0 120px 0;
}
#sidebar{
	width: 255px;
	float: right;
	padding-left: 25px;
}
#sidebar h3{
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 15px;
}
#sidebar ul li{
	font-size: 12px;
	margin-bottom: 5px;
}
#sidebar ul li:before{
	content: "・";
}
#sidebar ul{
	margin-bottom: 40px;
}


.sb-slidebar .sb-close{
	font-size: 32px;
	padding: 0 20px;
	float: right;
	cursor: pointer;
}
.sb-slidebar #sNav{
	clear: both;
	margin-bottom: 30px;
	border-top: 1px solid  #000;
}
.sb-slidebar #sNav li{
	font-size: 14px;
	border-bottom: 1px solid  #000;
	line-height: 140%;
}
.sb-slidebar #sNav li a{
	display: block;
	padding: 15px 20px;
}
.sb-slidebar .sld_bottom{
	width: auto;
	padding: 0 15px;
	margin-bottom: 40px;
}
.sb-slidebar .sld_bottom .sld_sns{
	text-align: center;
	margin-bottom: 5px;
}
.sb-slidebar .sld_bottom .sld_sns li{
	display: inline-block;
	padding: 0;
	margin: 0;
	font-size: 18px;
	width: 1.7em;
}
.sb-slidebar .sld_bottom .ftr_tel{
	font-size: 24px;
	float: none;
	margin-left: 0;
	margin-bottom: 20px;
	text-align: center;
}
.sb-slidebar .btn{
	float: none;
	width: auto;
	margin-bottom: 15px;
}
.sb-slidebar .btn a{
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 10px 0;
	font-size: 16px;
	border: 1px solid  #000;
	color: #FFF;
	background: #000;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}


.title{
	font-size: 58px;
	text-align: center;
	font-weight: 300;
	font-family: 'Sorts Mill Goudy', serif;
	margin-bottom: 20px;
	line-height: 120%;
}
.text{
	text-align: center;
	margin-bottom: 40px;
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
}
.top_content01{
	-webkit-background-size: cover;
	-o-background-size: cover;
	   background-size: cover;}
.top_content03{
	-webkit-background-size: cover;
	-o-background-size: cover;
	   background-size: cover;
}
.top_concept{
	padding: 90px 0 120px 0;
	background: #000;
	color: #FFF;
}
.top_concept .inner{
	width: 1000px;
	margin: 0 auto;
}
.top_concept .text{
	max-width: 640px;
	margin: 0 auto;
	line-height: 180%;
	text-align: center;
}
.top_gallery01 p{
	width: 50%;
}
.top_gallery01 p img{
	width: 100%;
}

/* TOP Content01
-----------------------------------*/
.top_content01{
	padding: 90px 0 120px 0;
	color: #FFF;
}
.top_content01 .inner{
	width: 1000px;
	margin: 0 auto;
}
.top_content01 ul{
	margin-bottom: 60px;
}
.top_content01 ul li{
	float: left;
	width: 240px;
	margin-right: 13px;
	margin-bottom: 15px;
}
.top_content01 ul li:nth-child(4n){
	margin-right: 0;
}
.top_content01 ul li:nth-child(4n+1){
	clear: both;
}
.top_content01 .btn{
	width: 230px;
	margin: 0 auto;
}
.top_content01 .btn a{
	display: block;
	border: 1px solid  #fff;
	color: #FFF;
	text-align: center;
	padding: 10px 0;
	font-size: 16px;
	text-decoration: none;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.top_content01 .btn a:hover{
	background: #FFF;
	color: #000;
}

/* TOP Content02
-----------------------------------*/
.top_content02{
	padding: 90px 0 120px 0;
	color: #FFF;
	background: #000;
}
.top_content02 .inner{
	width: 1000px;
	margin: 0 auto;
}
.top_content02 ul{
	margin-bottom: 60px;
}
.top_content02 ul li{
	width: 200px;
	float: left;
	margin-right: 66px;
	text-align: center;
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
}
.top_content02 ul li:nth-child(4n){
	margin-right: 0;
}
.top_content02 ul li a{
	color: #FFF;
	text-decoration: none;
}
.top_content02 ul li .thumb{
	margin-bottom: 15px;
	width: 200px;
	height: 200px;
	-webkit-border-radius: 50%;
	        border-radius: 50%;
	overflow: hidden;
}
.top_content02 ul li .pos{
	margin-bottom: 10px;
	font-size: 12px;
}
.top_content02 ul li .name{
	font-size: 18px;
	padding-bottom: 5px;
	border-bottom: 1px solid  #D90000;
	margin-bottom: 10px;
}
.top_content02 ul li .name_roma{
	font-size: 14px;
}
.top_content02 .btn{
	width: 230px;
	margin: 0 auto;
}
.top_content02 .btn a{
	display: block;
	border: 1px solid  #fff;
	color: #FFF;
	text-align: center;
	padding: 10px 0;
	font-size: 16px;
	text-decoration: none;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.top_content02 .btn a:hover{
	background: #FFF;
	color: #000;
}

/* TOP Content03
-----------------------------------*/
.top_content03{
	padding: 90px 0 120px 0;
}
.top_content03 .inner{
	width: 1000px;
	margin: 0 auto;
}
.top_content03 .title{
	color: #FFF;
}
.top_content03 .text{
	color: #000;
}
.top_content03 ul{
	margin-bottom: 100px;
}
.top_content03 ul li{
	float: left;
	width: 276px;
	background: rgba(255,255,255,0.9);
	padding: 20px;
	margin-right: 26px;
	margin-bottom: 30px;
	position: relative;
}
.top_content03 ul li:nth-child(3n){
	margin-right: 0;
}
.top_content03 ul li:nth-child(3n+1){
	clear: both;
}
.top_content03 ul li a{
	display: block;
	text-decoration: none;
}
.top_content03 ul li .thumb{
	margin-bottom: 25px;
}
.top_content03 ul li .content{
	padding: 5px;
}
.top_content03 ul li .date{
	font-size: 12px;
}
.top_content03 ul li .cat{
	position: absolute;
	bottom: 20px;
	left: 50%;
	-webkit-transform: translate(-50%,0);
	   -moz-transform: translate(-50%,0);
	    -ms-transform: translate(-50%,0);
	     -o-transform: translate(-50%,0);
	        transform: translate(-50%,0);
	width: 85px;
	text-align: center;
	border-bottom: 1px solid  #000;
}
.top_content03 ul li h3{
	margin-bottom: 10px;
	line-height: 160%;
	font-size: 16px;
}
.top_content03 ul li p{
	line-height: 180%;
	font-size: 14px;
}
.top_content03 .btn{
	width: 230px;
	margin: 0 auto;
}
.top_content03 .btn a{
	display: block;
	text-align: center;
	border: 1px solid  #fff;
	color: #FFF;
	padding: 10px 0;
	font-size: 16px;
	text-decoration: none;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.top_content03 .btn a:hover{
	background: #FFF;
	color: #000;
}

/* TOP Content04
-----------------------------------*/
.top_content04{
	padding: 0 0 120px 0;
}
.top_content04 .map{
	height: 500px;
	margin-bottom: 60px;
}
.top_content04 .map img{
	width: 100%;
}
.top_content04 .map iframe{
	width: 100%;
	height: 500px;
}
.top_content04 .btn{
	width: 230px;
	margin: 0 auto;
}
.top_content04 .btn a{
	display: block;
	border: 1px solid  #000;
	text-align: center;
	padding: 10px 0;
	font-size: 16px;
	text-decoration: none;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
.top_content04 .btn a:hover{
	background: #000;
	color: #fff;
}
.top_content04 .top_content04_box01{
	width: 380px;
	margin: 0 auto;
}
.top_content04 .top_content04_box01 h3{
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 10px;
}
.top_content04 .top_content04_box01 table{
	width: 100%;
}
.top_content04 .top_content04_box01 table th,
.top_content04 .top_content04_box01 table td{
	padding: 10px 5px;
	font-weight: 500;
	font-size: 12px;
	text-align: left;
	vertical-align: top;
	border-top: 1px solid  #E6E6E6;
}

/* Footer
-----------------------------------*/
#footer .ftr_totop a{
	display: block;
	position: relative;
	background: #aaa;
	height: 50px;
}
#footer .ftr_totop a:after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -6px;
	margin-top: -5px;
	width: 13px;
	height: 13px;
	border-top: 1px solid  #fff;
	border-right: 1px solid  #fff;
	-webkit-transform: rotate(315deg);
	   -moz-transform: rotate(315deg);
	    -ms-transform: rotate(315deg);
	     -o-transform: rotate(315deg);
	        transform: rotate(315deg);
}
#footer .inner{
	padding: 30px 0 35px 0;
	margin: 0 auto;
}
#footer .inner #fNav{
	text-align: center;
	/*margin-bottom: 40px;*/
	margin-bottom: 25px;
}
#footer .inner #fNav li{
	display: inline-block;
	/*font-size: 12px;*/
	font-size: 14px;
	/*border-left: 1px solid  #000;*/
	line-height: 120%;
}
#footer .inner #fNav li:last-child{
	/*border-right: 1px solid  #000;*/
}
#footer .inner #fNav li a{
	padding: 0 5px;
}
#footer .ftr_bottom{
	width: 380px;
	margin: 0 auto;
}
/*#footer .ftr_bottom .ftr_sns{
	float: left;
}
#footer .ftr_bottom .ftr_sns li{
	float: left;
	margin-right: 5px;
	font-size: 17px;
	width: 1.7em;
}*/
#footer .ftr_bottom ul{
	text-align: center;
}

#footer .ftr_bottom ul li{
	display: inline-block;
	width: 157px;
	width: 45%;
	margin: 0 5px;
}
#footer .ftr_bottom ul li a{
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 3px 0;
	font-size: 16px;
	border: 1px solid  #000;
	color: #FFF;
	background: #000;
	-webkit-transition: 0.2s;
	   -moz-transition: 0.2s;
	    -ms-transition: 0.2s;
	     -o-transition: 0.2s;
	        transition: 0.2s;
}
#footer .copyright{
	text-align: center;
	font-size: 12px;
	padding: 5px 0;
	border-top: 1px solid  #000;
}

/* 960px以下の場合 */
@media screen and (max-width: 960px) {
	.dn_pc{ display: block; }
	.dn_sp{ display: none; }

	#wpadminbar{
		display: none;
	}
	#keyvisual{
		height: auto;
		background: none;
	}
	#keyvisual img{
		width: 100%;
	}
	#keyvisual .ico01{
		bottom: 15%;
	}
	#sidebar {
		width: auto;
		float: none;
		padding: 0 15px;
	}
	#sidebar h3{
		font-size: 18px;
		margin-bottom: 10px;
	}
	#sidebar ul li{
		font-size: 14px;
	}
	.top_concept,
	.top_content01,
	.top_content02,
	.top_content03{
		padding: 60px 0 80px 0;
	}
	.top_content01,
	.top_content02,
	.top_content03{
		background-attachment: scroll;
	}
	.top_content03 .title{
		color: #000;
	}
	.top_content03 .btn a{
		border: 1px solid  #000;
		color: #000;
	}
	.top_content03 .btn a:hover{
		background: #000;
		color: #fff;
	}
	#header .inner{
		width: auto;
		padding: 0 15px;
	}
	#sub{
		width: auto;
		padding: 50px 0 80px 0;
	}
	.title{
		font-size: 32px;
	}
	.top_concept .inner{
		width: auto;
		padding: 0 15px;
	}
	.top_concept .text{
		text-align: left;
		line-height: 200%;
		font-size: 15px;
	}
	.top_concept .text br{
		display: none;
	}
	.top_content01 .inner{
		width: auto;
		padding: 0 15px;
	}
	.top_content02 .inner{
		width: auto;
		padding: 0 15px;
	}
	.top_content03 .inner{
		width: auto;
		padding: 0 15px;
	}
	#footer .ftr_bottom{
		width: auto;
		padding: 0 15px;
	}
	.top_content01 ul li{
		width: 48%;
		margin-right: 0;
	}
	.top_content01 ul li:nth-child(even){
		float: right;
	}
	.top_content01 ul li:nth-child(4n+1){
		clear: none;
	}
	.top_content01 ul li:nth-child(n + 5) {
		display: none;
	}
	.top_content01 .btn{
		width: auto;
	}
	.top_content02 ul li{
		width: 48%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.top_content02 ul li:nth-child(even){
		float: right;
	}
	.top_content02 ul li:nth-child(2n+1){
		clear: both;
	}
	.top_content02 ul li .thumb{
		width: auto;
		height: 48%;
		margin-bottom: 10px;
		overflow: hidden;
	}
	.top_content02 ul li .thumb img{
		width: 100%;
		height: 100%;
	}
	.top_content02 ul li .pos{
		margin-bottom: 5px;
	}
	.top_content02 ul li .name{
		margin-bottom: 5px;
	}
	.top_content01 ul,
	.top_content02 ul,
	.top_content03 ul{
		margin-bottom: 40px;
	}
	.top_content03 ul li{
		width: auto;
		float: none;
		padding: 5px;
		margin-right: 0;
		margin-bottom: 15px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.top_content03 ul li:nth-child(even){
		float: none;
	}
	.top_content03 ul li:nth-child(3n+1){
		clear: none;
	}
	.top_content03 ul li .thumb{
		margin-bottom: 10px;
	}
	.top_content03 ul li h3{
		font-size: 12px;
		line-height: 140%;
		margin-bottom: 0;
	}
	.top_content03 ul li .cat{
		margin-top: 15px;
		font-size: 12px;
	}
	.top_content04 .map{
		height: 300px;
	}
	.top_content04 .map iframe{
		height: 300px;
	}
	.top_content04 .top_content04_box01{
		width: auto;
		padding: 0 15px;
	}
	#footer .inner{
		padding: 0 0 30px 0;
	}
	#footer .inner #fNav{
		margin-bottom: 25px;
	}
	#footer .inner #fNav li{
		display: block;
		font-size: 14px;
		border-left: none;
		border-bottom: 1px solid  #000;
		line-height: 140%;
	}
	#footer .inner #fNav li:last-child{
		border-right: none;
	}
	#footer .inner #fNav li a{
		display: block;
		padding: 15px 10px;
	}
	#footer .ftr_bottom{
		width: auto;
		padding: 0 15px;
	}
	#footer .ftr_bottom ul li a{
		padding: 10px 0;
	}
	#footer .ftr_bottom .ftr_sns{
		float: none;
		text-align: center;
		margin-bottom: 15px;
	}
	#footer .ftr_bottom .ftr_sns li{
		display: inline-block;
		float: none;
		font-size: 18px;
		padding: 0;
		margin: 0;
	}
	#footer .ftr_bottom .ftr_tel{
		font-size: 24px;
		float: none;
		margin-left: 0;
		margin-bottom: 10px;
		text-align: center;
	}
	#footer .ftr_bottom .btn{
		float: none;
		width: auto;
	}
	#footer .ftr_bottom .btn a{
		padding: 5px 0;
	}
}