@charset "utf-8";
/* CSS Document */
body{
	background-color:#000;
	font-family:
		/*'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN','ヒラギノ明朝 ProN','Hiragino Mincho ProN',*/
		"Sawarabi Mincho",serif;
	color:#fff;
}
ul li{
	list-style:none;}
ul{
	padding:0;}
h1,h2,h3,h4,h5,h6 {
	margin: 0;
}
p {
	margin: 0;
}
img {
	max-width: 100%;
	height: auto;
}
.sp{
	display:none;}
.pc{
	direction:inline;}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
body{
	
	margin:0 auto;
	}
article{
	text-align:center;
}
.wrapper {
	max-width: 980px;
	padding: 0 10px;
	margin: 0 auto;
}
h1.sitelogo {
	width:33%;
	position:absolute;
	max-width:290px;
	margin-left:20px;
}
header{
	width:100%;
	border-bottom:solid 5px #dd4827;
	padding:20px 0;
	position:relative;
	min-height: 424px;
	box-sizing: border-box;
}
header img.kamon{
	max-width:380px;
	display:block;
	margin: 0 auto;
}
header div.serifu{
	position:absolute;
	right:20px;
	top:20px;
	max-width:443px;
}
nav .pc li{
	width:calc(100% / 4);
	text-align:center;
	float:left;}
.nav:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}
nav .pc{
	display:block;
	}
nav{
	max-width:980px;
	margin:0 auto;
	margin-bottom:200px;}

.gallery_pic{
	margin-top:200px;
	margin-bottom:50px;
}
.gallery_pic li{
    float:left;
	margin-bottom:10px;
	margin-right:1%;
	width: calc( 95% / 6 );
}
.gallery_pic li:nth-child(6n){
	margin-right:0 ;}

.gallery_pic li img{
	max-width:100%;
	height: auto;
}
.gallery_pic ul:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}
.gallery_pic ul{
	margin-top:150px;}

div.kamkon02{
	position:relative;}
div.kamon02 img.left{
	width:20%;
	position:absolute;
	left:10%;}
div.kamon02 img.right{
	width:20%;
	position:absolute;
	right:10%;}
div.pager{
	margin-bottom:50px;}

div.contact {
	max-width:500px;
	position:relative;
	margin:0 auto;
}
div.contact aside{
	min-width: 460px;
}
div.contact aside a {
	transition: all .3s ease-in-out;
}
div.contact aside a:hover{
	opacity: .8;
}
	
footer{
	margin-bottom:100px;
	text-align:center;
	margin-top:100px;
}
.totop a{
	position:fixed;
	bottom:50px;
	right:50px;
	}


ul.sub li{
	float:inherit;
	width:inherit;}
ul.menu li{
	position:relative;}

	
/*-------------------------------------------ドロップダウン作成*/
.dropmenu:before, .dropmenu:after{
  content: "";
  display: table;
}
.dropmenu:after{
  clear: both;
}
.dropmenu li{
  position: relative;
  width: 20%;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}

.dropmenu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}
.dropmenu li ul li{
  width: 100%;
}
.dropmenu li ul li a{
  padding: 13px 15px;
  border-top: 1px solid #000;
  background-color: #232323;
  text-align: left;
}
	
#normal li ul{
  display: none;
}
#normal li:hover ul{
  display: block;
	width: 100%;
}
	
/*-------------------------------------------モーダルウィンドウ作成*/
html,body{
	margin:0;
	padding:0;
	height:100%;
	}
h2{
	border-bottom:solid 2px #dd4827;
	margin:40px auto 25px;
    width: 100%;
    padding: 10px 0 0;
}
	
.index aside{
	margin-top:inherit;}

.index_menu {
	margin: 50px auto 0;
}
.index_menu li a {
	background-repeat:no-repeat;
	background-position:center center;
    display: block;
    margin: 0;
    padding: 15px 0 11px;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
	text-indent: -9999px;
	box-sizing: border-box;
}
.index_menu li a.nav_home{
	background-image:url(../images/menuHome.png);
}
.index_menu li a.nav_home:hover{
	background-image:url(../images/menuHomeOn_hover.png);
}
.index_menu li a.nav_info{
	background-image:url(../images/menuInfo.png);
}
.index_menu li a.nav_info:hover{
	background-image:url(../images/menuInfoOn_hover.png);
}
.index_menu li a.nav_work{
	background-image:url(../images/menuWorks.png);
}
.index_menu li a.nav_work:hover{
	background-image:url(../images/menuWorksOn_hover.png);
}
.index_menu li a.nav_gallery{
	background-image:url(../images/menuGallery.png);
}
.index_menu li a.nav_gallery:hover{
	background-image:url(../images/menuGalleryOn_hover.png);
}
.index_menu li a.nav_wabori{
	background-image:url(../images/menuWabori.png);
}
.index_menu li a.nav_wabori:hover{
	background-image:url(../images/menuWaboriOn_hover.png);
}
.index_menu li a.nav_onepoint{
	background-image:url(../images/menu1point.png);
}
.index_menu li a.nav_onepoint:hover{
	background-image:url(../images/menu1pointOn_hover.png);
}

body.home .index_menu {
    display: block;
    position: absolute;
    width: 100%;
    right: 20px;
    top: 680px;
}
body.home .index_menu li {
    width: 40px;
    float: right;
    margin: 0 10px;
}
body.home .index_menu li a {
	display: block;
	min-height: 300px;
}
body.home .index_menu li a.nav_home{
	display: none;
}
body.home .index_menu li a.nav_info{
	background-image:url(../images/topInfo.png);
}
body.home .index_menu li a.nav_info:hover{
	background-image:url(../images/topInfoOn.png);
}
body.home .index_menu li a.nav_work{
	background-image:url(../images/topWorks.png);
}
body.home .index_menu li a.nav_work:hover{
	background-image:url(../images/topWorksOn.png);
}
body.home .index_menu li a.nav_gallery{
	background-image:url(../images/topGallery.png);
}
body.home .index_menu li a.nav_gallery:hover{
	background-image:url(../images/topGalleryOn.png);
}
body.home .index_menu li a.nav_wabori{
	background-image:url(../images/topWabori.png);
}
body.home .index_menu li a.nav_wabori:hover{
	background-image:url(../images/topWaboriOn.png);
}
body.home .index_menu li a.nav_onepoint{
	background-image:url(../images/top1point.png);
}
body.home .index_menu li a.nav_onepoint:hover{
	background-image:url(../images/top1pointOn.png);
}
body.home #normal li ul {
	display: block;
    width: 128px;
    top: 0;
    left: -130px;
}
body.home #normal li ul li {
	margin: 0 5px;
}
body.home #normal li ul li a {
    background-color: transparent;
	border: none;
    margin-top: 42px;
}
body.home header {
	border-bottom: none;
	margin: 180px 0 0;
}
body.home header img.kamon {
	max-width: 668px;
}
body.home header div.serifu {
	max-width: 523px;
}
body.home h1.sitelogo {
	max-width: 397px;
	margin-top: 132px;
}
body.home div.serifu {
	top: 145px;
}
body.home 
/*--------------------------------------------information------*/
.information_block {
	margin-bottom: 150px;
}
.information_block .desc_area{
	background-image:url(../images/information/kamonGray.png);
	background-position:center center;
	background-repeat:no-repeat;
}
.kamon_re{
	margin-bottom:90px;
	padding: 80px 10px 0;
}
div.kamon_re .kamon_re__logo {
	max-width: 365px;
	float: left;
	width: 48%;
}
div.kamon_re .kamon_re__kamon {
	max-width: 480px;
	float: right;
	width: 48%;
}
.info_desc {
    max-width: 940px;
    margin: 0 auto;
    font-weight: bold;
    font-size: 18px;
    text-align: left;
}
.info_mid_ttl {
	font-size: 20px;
}
.info_dl {
    text-align: left;
    font-size: 20px;
    padding-left: 40px;
    font-weight: bold;
    margin: 0 0 10px;
    padding-top: 40px;
}
.info_dl+.info_dl {
	padding-top: 0;
	margin-bottom: 40px;
}
.info_dl dt {
	display: inline-block;
	min-width: 115px;
}
.info_dl dd {
	display: inline-block;
}

span.red{
	color:red;}
span.important{
	font-size:22px;
	color:#dd4827;
	/*border-bottom:solid 1px #dd4827;*/
	text-decoration:underline;
	text-decoration-color:#dd4827;}
span.important02{
	font-size:18px;
	color:#dd4827;
}

.info_desc_list {
    text-align: left;
    margin-bottom: 40px;
    padding-left: 70px;
    font-size: 18px;
	font-weight: bold;
}
.info_desc_list li {
	margin-bottom: 16px;
}
.info_desc_list li::before {
    content: "●";
    text-indent: -36px;
    display: inline-block;
} 
.information{
	margin-top:0px;}

.contact02 {
	font-weight: bold;
	text-align:center;}
.txt-center{
	text-align:center;}
.contact02 p img.mail{
	width:50px;
	vertical-align:middle;}
.contact02 a{
	transition: all .3s ease;
}
.contact02 a:hover {
	opacity: .8;
}
.icon a {
	display: inline-block;
	margin: 0 10px;
	width:80px;
	transition: all .3s ease;
}
.icon a:hover {
	opacity: .8;
}
.icon{
	margin-bottom:0px;}
.contact02 p:first-child{
	font-size:2.5rem;}
.contact02 p:nth-child(2){
	font-size:1.2rem;}
.contact02 p:nth-child(3){
	font-size:1.2rem;
	margin-bottom:10px;}
.contact02{
	margin-bottom:100px;}
p.txt-center{
	margin-bottom:100px;}

span.item{
	line-height:4rem;}
	
.index header{
	border-bottom:none;}

aside{
	text-align:center;}
.index header{
	margin-top:100px;}
.index ul{
	float:right;}
.index ul li{
	color:#fff;	
	writing-mode: vertical-rl;
	float:right;
	}
.index_menu ul li{
	background-repeat:no-repeat;}
.index_menu.pc ul li.first{
	background-image:url(../images/topInfo.png);}
.index_menu ul li.first:hover{
	background-image:url(../images/topInfoOn.png);}
.index_menu ul li.second{
	background-image:url(../images/topWorks.png);}
.index_menu ul li.second:hover{
	background-image:url(../images/topWorksOn.png);}
.index_menu ul li.third{
	background-image:url(../images/topGallery.png);}
.index_menu ul li.third:hover{
	background-image:url(../images/topGalleryOn.png);}
.index_menu ul li.fourth{
	background-image:url(../images/topWabori.png);}
.index_menu ul li.fourth:hover{
	background-image:url(../images/topWaboriOn.png);}
.index_menu ul li.fifth{
	background-image:url(../images/top1point.png);}
.index_menu ul li.fifth:hover{
	background-image:url(../images/top1pointOn.png);}

.mail_row {
	font-size: 26px;
}
.mail_row a {
	color: #FFF;
	text-decoration: none;
}
.mail_row img {
    width: 50px;
    vertical-align: middle;
    margin-right: 20px;
}
.map_wrapper iframe {
	width: 100%;
}
.index div.index_menu ul{
	position:absolute;
	right:5%;
	top:470px;
	z-index:999;}
.index div.index_menu ul li.third ul{
	position:inherit;
	margin-right:50px;
	text-indent:3rem;}
.index div.index_menu ul li.third ul li{
	margin-top:-30px;
	text-indent:3rem;
	position:inherit;}
.index div.index_menu ul li{
	width:50px;
	height:250px;}
.index nav{
	margin-bottom:inherit;}

table{
		width:300px;
		margin-right:auto;
		margin-left:10%;
		margin-top:50px;
		margin-bottom:50px;}
/*
article{
	background-image:url(../images/information/kamonGray.png);
	background-repeat:no-repeat;
	background-position:center 40%;
	background-size:45% auto;}
*/
.index article{
	background-image:none;}
.gallery article{
	background-image:none;}
.index header{
	margin-top:10px;
	margin:0 auto;}
#overLayer {
    display: none;
    position: fixed;
    top: 10%;
    left: 36%;
    margin-top: 0;
    margin-left: 0;
	width:300px;
	height:300px;
	margin:0 auto;
}
#overLayer img{
	width:500px;}


div.notice{
	width:50%;
	margin:0 auto;
	margin-bottom:50px;
	color:#fff;
	font-weight:bolder;}

.pager{
	text-align:center;
	margin-bottom:50px;
	font-size: 0;
}
.pager a,
.pager span {
	width: 40px;
	line-height: 40px;
	color: #FFF;
	text-decoration: none;
	background: #999999;
	text-align: center;
	display: inline-block;
	border-radius: 3px;
	font-size: 30px;
	margin: 0 5px;
}
.pager a:hover,
.pager span.current {
	background: #DD4827;
}


.bottom_contents {
	display: flex;
}
.bottom_contents .kamon_horiten {
	margin-left: 20px;
}
.bottom_contents .kamon_horikyo {
	margin-right: 20px;
}
.bottom_contents .sns_list {
	font-size: 0;
	text-align: center;
	margin-bottom: 30px;
	padding-top: 20px;
}
.bottom_contents .sns_list li {
	display: inline-block;
	margin: 0 15px;
}
.bottom_contents .address {
	margin-bottom: 10px;
}
.bottom_contents a {
	transition: all .3s ease;
}
.bottom_contents a:hover {
	opacity: .7;
}
/***************************************************************************************
 * media query for tablet device
 ****************************************************************************************/
@media only screen and (max-width: 768px) {
	nav {
		margin-bottom: 60px;
	}
	nav .pc{
		display:none;
	}
	div.sp_menu{
		text-align:right;
		border-bottom:solid 4px #dd4827;
		padding-right:10px;}
	ul.sp{
		padding-left:0;
		border-top:solid 5px #dd4827;
		}
	ul.sp li.first{
		margin-top:50px;}
	.sp_menu img.close{
		display:none;
	}
	.menu_btn {
		position: absolute;
		bottom: 20px;
		right: 20px;
		width: 40px;
		height: 40px;
		background: url(../images/menuOpen.png) no-repeat center center;
		background-size: 40px;
		text-indent: -9999px;
		overflow: hidden;
		display: block;
	}
	.menu_btn.active {
		background-image: url(../images/menuClose.png);
	}
	.sp-nav {
		display: block;
	}
	.sp-nav > ul{
		background-color:rgba(0,0,0,0.95);
		position:absolute;
		box-sizing: border-box;
		z-index:5;
		width:100%;
		padding: 0 10px 10px;
		margin-top: 0;
	}
	.sp-nav ul li {
		display: block;
		padding: 5px 5px;
		box-sizing: border-box;
	}
	.sp-nav ul li a {
		line-height: 1;
	    display: inline-block;
		padding-left: 34px;
	}
	.sp-nav ul li ul {
    	margin-left: -6px;
    	line-height: 1.1;
		padding-top: 5px;
	}
	.p_list {
		display: none;
	}
	.p_list > li {
		background: url(../images/menuKamon.png) no-repeat left top 8px;
		background-size: 34px;
	}
	.p_list > li ul li {
		background:url(../images/menuSub.png) no-repeat left 8px center;
		background-size: 16px;
	}
	.p_list li img {
		vertical-align: bottom;
		max-height: 32px;
	}
	.bottom_contents {
		flex-wrap: wrap;
	}
	.gallery_pic {
		margin-top: 20px;
	}
	div.contact aside {
		min-width: inherit;
	}
	.bottom_contents .kamon_horiten {
		width: 46%;
		order: 2;
		margin: 0 2%;
	}
	.bottom_contents .kamon_horikyo {
		width: 46%;
		margin: 0 2%;
		order: 3;
		flex-direction: column;
		justify-content: center;
		display: flex;
	}
	.information_block .desc_area{
		background-size: 90% auto;
	}
	body.home header {
		margin-top: 0;
		position: static;
		border-bottom: none;
	}
	body.home header img.kamon {
		max-width: 668px;
	}
	body.home header div.serifu {
		max-width: 50%;
	}
	body.home h1.sitelogo {
		max-width: 50%;
		margin-top: 200px;
	}
	body.home div.serifu {
	}
	body.home .menu_btn {
		top: 7px;
	}
	body.home nav {
		position: absolute;
		width: 100%;
		top: 36px;
	}
}
/***************************************************************************************
 * media query for small device
 ****************************************************************************************/
@media only screen and (max-width: 767px) {
.pc{
	display:none;}
.sp{
	display:inline;}
	.wrapper {
		width: auto;
	}
	.wrapper {
		padding: 0;
	}
header{
	position:relative;
	border-width: 2px;
	min-height: 179px;
}
h1.sitelogo{
	width:33%;
	position:absolute;
	max-width:110px;
	margin-left: 10px;}
header img.kamon{
	width:60%;
	max-width:145px;
	display:block;
	margin:0 auto;}
header div.serifu{
	width:50%;
	position:absolute;
	right:10px;
	max-width:170px;}
	
	body.home header img.kamon{
	    margin-top: 40px;
	}
	
	body.home header div.serifu{
		top: 97px;
	}


	.menu_btn {

		bottom: 3px;
		right: 7px;
		width: 25px;
		height: 25px;
		background-size: 25px;
	}	
	h2 img {
		max-height: 23px;	
	}
	h3 img {
		max-height: 20px;
	}
.gallery_pic li{
	width:calc((100% - 20px )/3);
    float:left;
	margin-bottom:10px;
	margin-right:10px;
	overflow:hidden;
	display:block;}
.gallery_pic li a{
	display: block;
	font-size: 0;
}
.gallery_pic li:nth-child(3n){
	margin-right:0;}

.gallery_pic{
		margin:50px auto 80px;
	}
.gallery_pic ul{
	margin:0 10px;}
	
nav .pc li a img:hover{
	display:none;}
/*---------------------------------------------テンプレート部分-------*/

.menu{
	position:relative;}

/*--------------------------------------------メニュー部分*/

.information{
	/*width:90%;*/
	text-align:center;
	margin:0 auto;}
.information img{
	max-width:100%;}
.information img:first-child{
	width:75%;
	max-width:330px;}
.information a img:first-child{
	display:block;
	width:80%;
	max-width:400px;
	margin:0 auto;
	margin-bottom:10px;}
.information a:last-child{
	display:block;
	width:80%;
	margin:0 auto;}
.information a.access{
	width:90%;}
img.right{
	width:45%;
	margin-left:auto;}
img.left{
	width:45%;}
	.pager{
		text-align:center;
		margin-bottom:50px;
	}
	.pager a,
	.pager span {
		width: 25px;
		line-height: 25px;
		font-size: 14px;
		margin: 0 2px;
	}
	.pager a img {
		width: auto;
		height: 11px;
	}
	.pager a:hover,
	.pager span.current {
		background: #DD4827;
	}
	aside img{
		margin-right:10px;
		max-width: 40px;
	}
aside{
	text-align:center;
	margin-bottom:10px;
	padding:0 30px;
	position:inherit;
}
div.contact {
	position:inherit;
	margin-bottom:50px;
}
aside img.mail{
		margin-right:0;}

.contact{
	margin-bottom:50px;}
.contact img:nth-child(4){
	max-width:200px;}
footer small img{
		width:80%;
	max-width: 224px;}
footer{
    margin-bottom: 20px;
	margin-top: 20px;
	text-align:center;}
.display{
	position:absolute;}

nav {
	margin-bottom:inherit;}
.pc{
	display:none;}
	/*--------------------------------------------information------*/
	.information_block {
		padding: 0 10px;
		margin-bottom: 50px;
	}
div.kamon_re img{
	margin-right:inherit;
	vertical-align:middle;}
	.info_desc {
		font-size: 13px;
	}


span.important{
	font-size:13px;
}

span.important02{
	font-size:13px;
}
	.info_mid_ttl {
		font-size: 14px;
	}
	.info_dl {
		font-size: 13px;
		padding-top: 40px;
		margin-bottom: 4px;
	    padding-left: 0;
	}
	.info_dl+.info_dl {
		margin-bottom: 10px;
	}
	.info_dl dt {
		min-width: 75px;
	}
	.info_desc_list {
		text-align: left;
		margin-bottom: 40px;
		padding-left: 23px;
		font-size: 13px;
		font-weight: bold;
	}
	.info_desc_list li {
		margin-bottom: 10px;
	}
	.info_desc_list li::before {
	    text-indent: -18px;
	}
	.mail_row img {
		width: 26px;
	}
	.icon a {
		width: 40px;
	}
span.ttl{
		font-size:2rem;
		margin-bottom:30px;}
	
p:last-of-type{
	margin-bottom:50px;
	font-size: 13px;
}
	.contact02 {
		margin-bottom: 30px;
	}
.contact02 p{
	text-align:center;}
.contact02 p img.mail{
	width:40px;
	vertical-align:middle;}
.txt-center{
	text-align:center;}

footer img{
	margin-top:inherit;}
span.item{
	line-height:inherit;}
.index ul li{
	writing-mode:inherit;
	float:inherit;}
.index ul{
	float:inherit;}



.icon a.line img{
	margin-right:inherit;}


div.notice{
	width:80%;
	text-align:left;}
.index header{
	margin-top:10px;
	width:inherit;}

.price{
	width:300px;}
	
	.contact02 p:first-child{
		font-size:18px;
	}
	.contact02 p:nth-child(2),
	.contact02 p:nth-child(3)	{
		font-size: 13px;
	}
	.mail_row {
		font-size: 13px;
	}


	.bottom_contents .sns_list li {
		display: inline-block;
		margin: 0 4px;
	}
	.kamon img{
		width:70%;
	}
	.sp-nav ul li a {
		padding-left: 14px;
	}
	.p_list {
		display: none;
	}
	.p_list > li {
		background: url(../images/menuKamon.png) no-repeat left top 8px;
		background-size: 17px;
	}
	.p_list > li ul li {
		background:url(../images/menuSub.png) no-repeat left 5px center;
		background-size: 8px;
	}
	.p_list li img {
		vertical-align: bottom;
		max-height: 24px;
	}
	.p_list li.op_nav img {
		max-height: 17px;
	}
	div.notice {
		width: auto;
		padding: 0 10px;
	}
	body.home h1.sitelogo {
		margin-top: 80px;
	}
}
