@charset "UTF-8";

/*Layout
-------------------------------------------------------------------------------------------------*/
.contents{
	text-align:left;
	padding-top:2rem;
	padding-bottom:3rem;
}
.contents article{
	width:100%;
}
.contents aside{
	display:none;
}
.contents section{
	padding-bottom:4rem;
}
.contents section:last-child{
	padding-bottom:0;
}
.contents hr{
	border-top:1px solid #707070;
	margin:2rem auto;
}
@media screen and (max-width:639px){
	.contents{
	padding-top:0rem;
	padding-bottom:2rem;
	}
	.contents section{
	padding-bottom:2rem;
	}
	.contents hr{
	margin:1rem auto;
	}
}
@media screen and (max-width:479px){
	.contents article{
	font-size:1.4rem;
	}
}

/*rightmenu*/
.contents #rightmenu:after{
	display:block;
	clear:both;
	height:0;
	content:"";
	overflow:hidden;
}
.contents #rightmenu{
	overflow:hidden;
}
* html .contents #rightmenu{
	height:1%;
	overflow:visible;
}
.contents #rightmenu{
	display:block;
}
.contents #rightmenu article{
	width:75%;
	float:left;
}
.contents #rightmenu aside{
	display:block;
	width:25%;
	float:right;
	padding-left:4rem;
}
@media screen and (max-width:1279px){
	.contents #rightmenu aside{
	padding-left:2rem;
	}
}
@media screen and (max-width:1079px){
	.contents #rightmenu article{
	width:100%;
	float:none;
	padding-bottom:1rem;
	}
	.contents #rightmenu aside{
	width:100%;
	float:none;
	padding-top:2rem;
	padding-left:0;
	}
}

/*Aside
-------------------------------------------------------------------------------------------------*/
.contents aside h2{
	color:#FFFFFF;
	font-size:138%;
	padding:2rem 2rem 1.6rem 1.8rem;
	background-color:#150606;
	border-bottom:10px solid #968C84;
	margin-bottom:0;
}
.contents aside li{
	border-bottom:1px solid #9F9F9F;
}
.contents aside li a{
	display:block;
	width:100%;
	height:100%;
	color:#000000;
	text-decoration:none;
	padding:1.5rem;
	background-color:#E5E2E0;
}
.contents aside li a:hover,
.contents aside li a.current{
	background-color:#d0ccc9;
}
.contents aside li a:before{
	color:#4C5C56;
	font-family:"Font Awesome 5 Free";
	content:'\f054';
	font-weight:900;
	margin-right:1rem;
	display:inline-block;
}
@media screen and (max-width:639px){
	.contents aside h2{
	padding:1rem 1rem 0.9rem 1rem;
	border-bottom:5px solid #968C84;
	}
	.contents aside li a{
	padding:1rem;
	}
}

/*Table
-------------------------------------------------------------------------------------------------*/
.contents table{
	border-collapse:collapse;
	border-spacing:0;
}
.contents table.full{
	width:100%;
}
.contents table caption{
	font-weight:bold;
	margin-bottom:1rem;
}
.contents table thead th{
	text-align:center;
	vertical-align:middle;
	color:#FFFFFF;
	font-weight:bold;
	background-color:#150606;
}
.contents table tbody th{
	text-align:left;
	vertical-align:top;
	font-weight:bold;
	background-color:#E5E2E0;
}
.contents table th,
.contents table td{
	border:1px solid #9F9F9F;
	padding:1rem;
}
.contents table td{
	background-color:#FFFFFF;
}
.contents table .nowrap{
	white-space:nowrap;
}
@media screen and (max-width:639px){
	.contents table th,
	.contents table td{
	padding:1rem 0.5rem;
	}
}

/*Figure
-------------------------------------------------------------------------------------------------*/
.contents figure{
	text-align:center;
}
.contents figure img{
	margin-bottom:1rem;
}
.contents figcaption{
	text-align:center;
}

/*Video
-------------------------------------------------------------------------------------------------*/
.contents video{
	width:100%;
}

/*GoogleMaps
-------------------------------------------------------------------------------------------------*/
.contents .gmaps{
	width:100%;
	padding-bottom:56.25%;/*16:9*/
	height:0;
	position:relative;
	border:1px solid #9F9F9F;
}
.contents .gmaps iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/*Heading
-------------------------------------------------------------------------------------------------*/
.contents h2,
.contents h3,
.contents h4,
.contents h5,
.contents h6{
	font-weight:bold;
	margin-bottom:2rem;
}
.contents h4 a,
.contents h4 a:hover{
	color:#FFFFFF;
}
.contents h6 a,
.contents h6 a:hover{
	color:#812929;
}
@media screen and (max-width:639px){
	.contents h2,
	.contents h3,
	.contents h4,
	.contents h5,
	.contents h6{
	margin-bottom:1.5rem;
	}
}

/*H2*/
.contents div.genretitle{display:flex;}
.contents .genretitle h2{
	width:100%;
	min-height:120px;
	font-size:188%;
	padding-left:2rem;
	padding-right:2rem;
	background:#F0F0F0; /* Old browsers */
	background:-moz-linear-gradient(-70deg, #F0F0F0 0%, #F0F0F0 50%, #E0E0E0 51%, #E0E0E0 100%); /* FF3.6-15 */
	background:-webkit-linear-gradient(-70deg, #F0F0F0 0%,#F0F0F0 50%,#E0E0E0 51%,#E0E0E0 100%); /* Chrome10-25,Safari5.1-6 */
	background:linear-gradient(160deg, #F0F0F0 0%,#F0F0F0 50%,#E0E0E0 51%,#E0E0E0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#F0F0F0', endColorstr='#E0E0E0',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align:center;
		-webkit-align-items:center;
		-ms-flex-align:center;
		align-items:center;
}
@media screen and (-ms-high-contrast:none){
	.contents .genretitle h2{
	padding-top:12px;
	}
}
@media screen and (max-width:639px){
	.contents .genretitle h2{
	min-height:100px;
	padding-left:1rem;
	padding-right:1rem;
	margin-bottom:2rem;
	}
}
@media screen and (max-width:479px){
	.contents .genretitle h2{
	min-height:80px;
	}
}

/*H3*/
.contents .pagetitle h3{
	position:relative;
	font-size:163%;
	padding:2rem;
	background-color:#F0F0F0;
}
.contents .pagetitle h3::after{
	position:absolute;
	top:0.5em;
	left:0.5em;
	content:'';
	width:10px;
	height:-webkit-calc(100% - 1em);
	height:calc(100% - 1em);
	background-color:#964848;
}
.contents .pagetitle h3 span{
	display:block;
	padding-left:2rem;
}
.contents .subtitle h3{
	font-size:125%;
}
@media screen and (-ms-high-contrast:none){
	.contents .pagetitle h3 span{
	padding-top:8px;
	}
}
@media screen and (max-width:639px){
	.contents .pagetitle h3{
	padding:1rem;
	}
	.contents .pagetitle h3::after{
	width:6px;
	}
	.contents .pagetitle h3 span{
	padding-left:1.5rem;
	}
}
@media screen and (max-width:479px){
	.contents .pagetitle h3{
	font-size:138%;
	}
	.contents .subtitle h3{
	font-size:113%;
	}
}

/*H4*/
.contents .title h4{
	color:#FFFFFF;
	font-size:138%;
	padding:1.5rem;
	background-color:#150606;
}
@media screen and (max-width:639px){
	.contents .title h4{
	padding:1rem;
	}
}
@media screen and (max-width:479px){
	.contents .title h4{
	font-size:113%;
	}
}

/*H5*/
.contents .title h5{
	font-size:125%;
	padding-bottom:1rem;
	border-bottom:2px solid #964848;
}
@media screen and (max-width:639px){
	.contents .title h5{
	padding-bottom:0.5rem;
	}
}
@media screen and (max-width:479px){
	.contents .title h5{
	font-size:107%;
	}
}

/*H6*/
.contents .title h6{
	color:#812929;
	font-size:113%;
	margin-bottom:1rem;
}
@media screen and (max-width:639px){
	.contents .title h6{
	margin-bottom:0.5rem;
	}
}
@media screen and (max-width:479px){
	.contents .title h6{
	font-size:100%;
	}
}

/*Form
-------------------------------------------------------------------------------------------------*/
.contents input,
.contents button,
.contents textarea,
.contents select{
	font-family:-apple-system,BlinkMacSystemFont,"游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ",sans-serif;
	font-weight:500;
}
@media screen and (-webkit-min-device-pixel-ratio:0){
	_::-webkit-full-page-media,_:future,:root
	.contents input,
	.contents button,
	.contents textarea,
	.contents select{
	font-weight:400;
	}
}

/*agree*/
.contents .agree{
	text-align:center;
}
.contents .agree label{
	display:inline-block;
	text-decoration:none;
	color:#FFFFFF;
	font-size:125%;
	font-weight:bold;
	padding:1rem 2.5rem;
	background-color:#000000;
}
.contents .agree label:hover,
.contents .agree label:active,
.contents .agree label:focus{
	opacity:0.7;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	transition:.3s;
}
@media screen and (max-width:639px){
	.contents .agree label{
	font-size:113%;
	}
}

/*confirm*/
.contents .confirm{
	text-align:center;
}
.contents .confirm input[type="submit"]{
	color:#FFFFFF;
	font-size:125%;
	font-weight:bold;
	text-decoration:none;
	margin:0 1rem 1rem 1rem;
	padding:1rem 2.5rem;
	background-color:#000000;
}
.contents .confirm input[type="reset"],
.contents .confirm input.prev{
	color:#555555;
	font-size:125%;
	font-weight:bold;
	text-decoration:none;
	margin:0 1rem 1rem 1rem;
	padding:1rem 2.5rem;
	background-color:#E5E2E0;
}
.contents .confirm input[type="submit"]:hover,
.contents .confirm input[type="submit"]:active,
.contents .confirm input[type="submit"]:focus,
.contents .confirm input[type="reset"]:hover,
.contents .confirm input[type="reset"]:active,
.contents .confirm input[type="reset"]:focus{
	opacity:0.7;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	transition:.3s;
}
@media screen and (max-width:639px){
	.contents .confirm input{
	font-size:113%;
	margin:0 0.5rem 0.5rem 0.5rem;
	}
}

/*formtable*/
.contents table.formtable{
	width:100%;
	margin-top:3rem;
	margin-bottom:3rem;
}
.contents .formtable .inline{
	display:inline-block;
	margin-right:1rem;
}
.contents .formtable .long{
	width:100%;
}
@media screen and (max-width:639px){
	.contents table.formtable{
	margin-top:2rem;
	margin-bottom:2rem;
	}
	.contents .formtable .inline{
	margin-right:0;
	margin-bottom:0.5rem;
	}
}
.contents .formtable input[type="text"],
.contents .formtable input[type="email"],
.contents .formtable input[type="tel"]{
	font-size:100%;
	height:3rem;
	border:1px solid #9F9F9F;
	padding:0 0.5rem;
}
.contents .formtable textarea{
	font-size:100%;
	border:1px solid #9F9F9F;
	padding:0.5rem;
}
.contents .formtable select{
	width:100%;
	font-size:100%;
	padding:0.5rem;
}
.contents .formtable .selectbox{
	overflow: hidden;
}
.contents .formtable .selectbox.list{
	position: relative;
	border:1px solid #9F9F9F;
	background:#FFFFFF;
}
.contents .formtable .selectbox.list::before{
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}

/*Index
-------------------------------------------------------------------------------------------------*/
/*noticelist*/
.contents .noticelist{
	padding-top:1rem;
}
.contents .noticelist li{
	display:table;
	text-align:left;
	margin-bottom:2rem;
}
.contents .noticelist p,
.contents .noticelist span{
	display:table-cell;
}
.contents .noticelist p{
	padding-right:2rem;
}
@media screen and (max-width:1079px){
	.contents .noticelist{
	padding-top:0.5rem;
	}
}
@media screen and (max-width:639px){
	.contents .noticelist{
	padding-top:0;
	}
	.contents .noticelist li{
	margin-bottom:1rem;
	}
	.contents .noticelist p,
	.contents .noticelist span{
	display:block;
	}
}

/*projectslist*/
.contents .projectslist:after{
	display:block;
	clear:both;
	height:0;
	content:"";
	overflow:hidden;
}
.contents .projectslist{
	overflow:hidden;
}
* html .contents .projectslist{
	height:1%;
	overflow:visible;
}
.contents .projectslist{
	display:block;
}
.contents .projectslist .adjust-box{
	position:relative;
	width:23%;
	height: auto;
	background:#000000;
	border:1px solid #150606;
	float:left;
	margin:1.5rem 1%;
}
.contents .projectslist .adjust-box .box-inner{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.contents .projectslist .adjust-box.ratio:before{
	content:"";
	display:block;
	padding-top:104%;/*ratio*/
}
.contents .projectslist .adjust-box a.p01{background-image:url(../../img/banner_01.jpg);}
.contents .projectslist .adjust-box a.p02{background-image:url(../../img/banner_02.jpg);}
.contents .projectslist .adjust-box a.p03{background-image:url(../../img/banner_03.jpg);}
.contents .projectslist .adjust-box a.p04{background-image:url(../../img/banner_04.jpg);}
.contents .projectslist .adjust-box a.p05{background-image:url(../../img/banner_05.jpg);}
.contents .projectslist .adjust-box a.p06{background-image:url(../../img/banner_06.jpg);}
.contents .projectslist .adjust-box a.p07{background-image:url(../../img/banner_07.jpg);}
.contents .projectslist .adjust-box a.p08{background-image:url(../../img/banner_08.jpg);}
.contents .projectslist .adjust-box a.p09{background-image:url(../../img/banner_09.jpg);}
.contents .projectslist .adjust-box a.p10{background-image:url(../../img/banner_10.jpg);}
.contents .projectslist .adjust-box a{
	display:block;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
.contents .projectslist .adjust-box a:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	transition:.3s;
}
.contents .projectslist .adjust-box span{
	display:block;
	position:absolute;
	top:60%;
	width:100%;
	height:40%;
	color:#FFFFFF;
	font-size:113%;
	font-weight:bold;
	text-decoration:none;
	padding:1.5rem;
	background:rgba(0,0,0,0.8);
}
	#en .contents .projectslist .adjust-box span{
		top:54%;
		height:46%;
	}
	@media screen and (max-width:1079px){
		#en .contents .projectslist .adjust-box span{
		font-size:100%;
		}
	}
@media screen and (max-width:899px){
	.contents .projectslist .adjust-box{
	width:31.3%;
	margin:0 1% 2rem 1%;
	}
	.contents .projectslist .adjust-box span{
	padding:1rem;
	}
}
	@media screen and (max-width:639px){
		#en .contents .projectslist .adjust-box span{
		font-size:94%;
		}
	}
@media screen and (max-width:499px){
	.contents .projectslist .adjust-box{
	width:46%;
	margin:0 2% 1rem 2%;
	}
}
	@media screen and (max-width:399px){
		#en .contents .projectslist .adjust-box span{
		font-size:94%;
		padding:0.5rem;
		}
	}
@media screen and (max-width:374px){
	.contents .projectslist .adjust-box span{
	position:absolute;
	font-size:100%;
	padding:0.5rem;
	}
}

/*Contents
-------------------------------------------------------------------------------------------------*/
/*update*/
.contents .update{
	text-align:right;
	margin-bottom:2rem;
}
@media screen and (max-width:639px){
	.contents .update{
	margin-bottom:1.5rem;
	}
}

/*back*/
.contents .back{
	text-align:center;
}
.contents .back a{
	display:inline-block;
	text-align:center;
	text-decoration:none;
	color:#FFFFFF;
	font-size:125%;
	font-weight:bold;
	padding:1rem 2.5rem 1rem 3rem;
	background-color:#000000;
}
.contents .back a:hover,
.contents .back a:active,
.contents .back a:focus{
	opacity:0.7;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	transition:.3s;
}
.contents .back a:after{
	font-family:"Font Awesome 5 Free";
	content:'\f054';
	font-weight:900;
	margin-left:1.5rem;
	display:inline-block;
}
@media screen and (max-width:639px){
	.contents .back a{
	font-size:113%;
	}
}

/*pagenate*/
.contents .pagenate{
	text-align:center;
	padding-top:2rem;
}
.contents .pagenate ul{
	border-top:1px solid #707070;
	padding-top:2rem;
}
.contents .pagenate li{
	display:inline-block;
	padding:0 1rem;
}
.contents .pagenate li:first-child,
.contents .pagenate li:last-child{
	padding:0;
}
@media screen and (max-width:639px){
	.contents .pagenate,
	.contents .pagenate ul{
	padding-top:1rem;
	}
	.contents .pagenate li{
	padding:0 0.5rem;
	}
}

/*sitemap*/
.contents .sitemap .arrow{
	padding-bottom:3rem;
}
.contents .sitemap .arrow li{
	width:33.3%;
	padding-bottom:0.5rem;
	float:left;
}
@media screen and (max-width:639px){
	.contents .sitemap .arrow{
	padding-bottom:2rem;
	}
	.contents .sitemap .arrow li{
	width:50%;
	}
}
@media screen and (max-width:479px){
	.contents .sitemap .arrow li{
	width:100%;
	float:none;
	}
}

/*linkpolicy*/
.contents .linkpolicy dl{
	border:1px solid #9F9F9F;
}
.contents .linkpolicy .col2-1:nth-child(odd) dl{
	border-right:none;
}
.contents .linkpolicy dt,
.contents .linkpolicy dd{
	width:100%;
	text-align:center;
	vertical-align:middle;
	padding:1rem;
}
.contents .linkpolicy dt{
	font-weight:bold;
	background-color:#E5E2E0;
	border-bottom:1px solid #9F9F9F;
}
.contents .linkpolicy dd div{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align:center;
		-webkit-align-items:center;
		-ms-flex-align:center;
		align-items:center;
		-ms-flex-pack:center;
		justify-content:center;
}
.contents .linkpolicy dd img{
	max-width:512px;
}
@media screen and (max-width:1079px){
	.contents .linkpolicy .col2-1:nth-child(odd) dl{
	border-right:1px solid #9F9F9F;
	border-bottom:none;
	}
	.contents .linkpolicy dd img{
	max-width:100%;
	height:auto;
	width /***/:auto;
	}
	.contents .linkpolicy dd div.heightLine{
	height:auto !important;
	}
}

/*logomark*/
.contents .logomark dt{
	font-size:113%;
	font-weight:bold;
	margin-bottom:1rem;
}
.contents .logomark dd{
	margin-bottom:1rem;
}
.contents .logomark dd img{
	max-width:100%;
	height:auto;
	width /***/:auto;
}
.contents .logomark dd:last-child{
	margin-bottom:0;
}
.contents .logomark dd.mono img{
	max-width:200px;
}
@media screen and (max-width:639px){
	.contents .logomark dd.mono img{
	max-width:100px;
	}
}
@media screen and (max-width:479px){
	.contents .logomark dt{
	font-size:100%;
	}
}

/*floormap*/
.contents .floormap .zoom{
	position:relative;
}
.contents .floormap .zoom img{
	display:inline-block;
}
.contents .floormap .zoom .zoom-icon{
	position:absolute;
	bottom:0;
	right:0;
	text-align:center;
	color:#FFFFFF;
	font-size:150%;
	padding:0 1rem;
	background:rgba(0,0,0,0.6);
}
.contents .floormap .zoom .zoom-icon:hover{
	background:rgba(0,0,0,0.8);
	transition:.3s;
}
@media screen and (-ms-high-contrast:none){
	.contents .floormap .zoom .zoom-icon{
	padding-top:4px;
	}
}
.contents .floormap .caption{
	text-align:left;
	font-size:88%;
	margin:0.5rem auto;
}
@media screen and (max-width:1079px){
	.contents .floormap .zoom{
	max-width:360px;
	margin:0 auto;
	}
	.contents .floormap .caption{
	text-align:center;
	}
}
@media screen and (max-width:374px){
	.contents .floormap .zoom img{
	max-width:100%;
	height:auto;
	width /***/:auto;
	}
}

/*qa*/
.contents .qa .upper{
	font-size:150%;
	padding-right:1rem;
	float:left;
}
.contents .qa li:nth-child(even) .upper{
	color:#812929;
}
.contents .qa .q{
	font-size:113%;
	font-weight:bold;
	margin:0.5rem 0 0 0;
}
.contents .qa .a{
	margin:0.5rem 0 2rem 0;
}
.contents .qa .a.inline-block{
	display:inline-block;
}
.contents .qa li:last-child .a{
	margin-bottom:0;
}
@media screen and (max-width:1079px){
	.contents .qa .a.inline-block{
	display:block;
	}
}
@media screen and (max-width:639px){
	.contents .qa .a{
	margin-bottom:1rem;
	}
}

/*reference*/
@media screen and (max-width:1079px){
	.contents .reference .col4-1{
	width:25% !important;
	float:left !important;
	}
	.contents .reference .col4-3{
	width:75% !important;
	float:left !important;
	}
}
@media screen and (max-width:639px){
	.contents .reference .col4-1{
	width:50% !important;
	float:left !important;
	}
	.contents .reference .col4-3{
	width:50% !important;
	float:left !important;
	}
}

/*rwdImageMaps
-------------------------------------------------------------------------------------------------*/
img[usemap]{
	max-width:100%;
	height:auto;
}

/*lity.min.css
-------------------------------------------------------------------------------------------------*/
.lity{
	z-index:99999 !important;
	height:100%;
}
