@charset "utf-8";

/* RESET */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}
/* RESET HTML5 */
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;font:inherit;vertical-align:baseline;}
/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}

/* GENERAL */
body {color:#FFF; font: 12px/1.4 "Lucida Grande","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;}

a:link, a:visited {color: #000;text-decoration: none;}
a:hover {color: #333;text-decoration: underline;}
a img {vertical-align: bottom;}
a{outline: none;}

/* CLEARFIX */
.clearfix
{zoom: 1;}

.clearfix:after,
.accessBox:after,
.bridalList:after,
.priceList li .priceHead:after,
.newsList li:after,
.newsList:after
{content: "."; display: block; visibility: hidden; clear: both; height: 0; font-size: 0; line-height: 0;}

strong{
font-weight: bold;
}

img,canvas{
vertical-align: top;
}

input[type="submit"] {
   -webkit-appearance: none;
   border-radius: 0;
}

textarea, input { outline: none; }


/* ------------------------------------------
LAYOUT
------------------------------------------ */
html{
	height: 100%; 
}

body{
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	width: 100%;
	height: 100%;
	
	background-color: #000;
	color: #000;
	position:relative;
	font-size: 12px;
	font-family: "ヒラギノ明朝 ProN W3","HiraMinProN-W3","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;

	font-family:Helvetica, Arial, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;

	line-height: 160%;
}

#toggle{
	display: none;
}

#overlay{
	display: none;
}

.onlySp{
	display: none;
}
.onlyPc{
	display: block;
}



/* ------------------------------------------
header
------------------------------------------ */

.drawer-hamburger-icon, .drawer-hamburger-icon::before, .drawer-hamburger-icon::after{
	background-color: #fff;
}

body.white .drawer-hamburger-icon, 
body.white .drawer-hamburger-icon::before,
body.white .drawer-hamburger-icon::after{
	background-color: #000;
}

body.white.drawer-open .drawer-hamburger-icon, 
body.white.drawer-open .drawer-hamburger-icon::before,
body.white.drawer-open .drawer-hamburger-icon::after{
	background-color: #fff;
}

body.white.drawer-open .drawer-hamburger-icon{
	background-color: transparent;
}


.drawer-nav{
	background-color: transparent;
}

.drawer-hamburger{
	padding: 35px 20px 30px 35px;
}

.drawer-open .drawer-hamburger{
	width: 1.5rem;
}

.drawer-menu a{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	font-weight: 500;
	
	color: #fff;
	
	margin-left: 35px;
}

.drawer-menu a:hover{
	color: #ccc;
	opacity: 1;
}

.drawer-menu-item a:hover{
	color: #aaa;
	text-decoration: none;
}
.drawer-menu-item a{
	padding: 4px 0;
	display: inline-block;
}

.drawer-menu-item{
	padding: 0;
}

.drawer-menu-item.navFacebook{
	padding-top: 20px;
}

.drawer-brand{
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 30px;
}

.drawer-brand a{
	width: 62px;
	height: 38px;
	display: block;
	text-indent: -9999px;
	margin-left: 35px;
	margin-top: 35px;

	background-image:url(../images/img_logo.png);
	background-repeat:no-repeat;
	background-size: contain;	
}

.drawer-overlay{
	background-color: rgba(0, 0, 0, 0.6);
}





main{
	position: relative;
	z-index: 2;
}


#bgArea{
	height: 100%;
	width: 100%;

	position: fixed;
	z-index: 1;
	z-index: 1;
	
	overflow: hidden;
	
	left: 0;
	top: 0;	
}

.mainBg{
	width: 100%;
	height: 100%;
}

.mainBg img{
	width: 100%;
	height: 100%;
}


#bgSlider,
#bgSlider .slides,
#bgSlider .slides li{
	height: 100%;
	width: 100%;
}

footer.fixed{
	position: absolute;
	left: 0;
	text-align: center;
	bottom: 0;

	width: 100%;
}

footer{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 12px;
	letter-spacing: 1px;
	font-weight: 400;
	color: #fff;
	opacity: 0.9;
	padding-bottom: 20px;
	
	position: relative;
	z-index: 2;
	
	clear: both;
	text-align: center;
	padding-top: 20px;
}

body.white h2.mainTtl,
body.white footer{
	color: #000;
}

.page-id-294 h2.mainTtl,
.single-post h2.mainTtl{
	color: #000;
}




/* ------------------------------------------
top
------------------------------------------ */

#mainLogo{
	width: 132px;
	height: 78px;

	width: 66px;
	height: 39px;
	
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 5;
	
	margin-left: -66px;
	margin-top: -39px;

	margin-left: -33px;
	margin-top: -20px;
	
	text-indent: -9999px;

	background-image:url(../images/img_logo.png);
	background-repeat:no-repeat;
	background-size: contain;
}

.upBlack{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 4;	
	width: 100%;
	height: 95px;
	background-color: #000;
	

}
.downBlack{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 4;	
	width: 100%;
	height: 95px;
	background-color: #000;
}



/* ------------------------------------------
about
------------------------------------------ */


.aboutBox{
	width: 100%;
	height: 130px;
	
	position: absolute;
	left: 0%;
	top: 50%;
	z-index: 5;
	

  -webkit-transform: translateY(-50%) translateX(0) rotate(0);
      -ms-transform: translateY(-50%) translateX(0) rotate(0);
          transform: translateY(-100%) translateX(0) rotate(0);

	color: #fff;
	
	text-align: center;
}
 

.aboutTtl{
	font-family: "ryo-text-plusn", serif;
	font-size: 30px;
	font-size: 16px;
	letter-spacing: 1.6px;
	margin-bottom: 50px;
}

.concept{
	padding-left: 20px;
	padding-right: 20px;
}


.aboutComing{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	font-weight: 500;
	margin-bottom: 13px;
}

/*
.aboutDate{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 20px;
	letter-spacing: 2px;
	font-weight: 400;	
}
*/
.aboutDate{
	width: 108px;
	height: 54px;
	display: block;
	text-indent: -9999px;

	margin-top: 10px;
	
	margin-left: auto;
	margin-right: auto;

	background-image:url(../images/img_date.png);
	background-repeat:no-repeat;
	background-size: contain;	
}


.movieBox{
	width: 100%;
	height: 100%;
}

.movieBox .black{
	background-image:url(../images/bg_grid.png);
	background-repeat:repeat;	
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 3;
}

.page-id-6 .movieBox .black{
	background-color: rgba(0,0,0,0.7);
}



video#bgvid {
	position: fixed; right: 0; 
	bottom: 0;
	min-width: 100%; 
	min-height: 100%;
	width: auto; 
	height: auto; 
/* 	z-index: -100; */
	background-color: transparent;
}

.movieBox.water{
	background: url(../images/img_about01.jpg) no-repeat;
	background-size: cover;	
}









/* ------------------------------------------
access
------------------------------------------ */

h2.mainTtl{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 26px;
	letter-spacing: 2px;
	font-weight: 400;
	color: #fff;
	margin-bottom: 60px;
}

#contents{
	padding: 130px 110px;
}

#mapCanvas{
	width: 100%;
	height: 360px;
	margin-bottom: 40px;
}

.accessStr{
	line-height: 160%;
/* 	text-shadow: 1px 1px 1px #000; */
	letter-spacing: 1px;
	
	float: left;
}

.page-id-10 .accessStr{
	color: #fff;	
}

.accessStr a{
	color: #fff;
	text-decoration: none;
}

.accessStr p{
	margin-bottom: 20px;
}

.accessImg{
	float: right;
}

.accessImg img{
	max-width: 100%;
}






.bridalList{
	margin-right: -1.3%;
	margin-left: -1.3%;	
}

.bridalList li{
	width: 14%;
	margin-right: 1.3%;
	margin-left: 1.3%;
	float: left;
	margin-bottom: 30px;
	
	position: relative;
}

.bridalList li a{
	display: block;
	overflow: hidden;
}

.bridalList li:after{
content: "";
position: absolute;
width: 100%;
height: 20px;
bottom: calc(-1 * 19px);
background: url(../images/bg_shadow.png) no-repeat;
background-size: 100% 20px;
}











.bridalList li{
	position: relative;
}

.bridalList li a:before {
    content:"";
    display: block;
    padding-top: 100%; /* 高さを幅の75%に固定 */
}

.bridalList li a img{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    
    width: 100%;
}


a.priceBtn{
	float: right;
	font-size: 14px;
	text-decoration: underline;
}











/* ------------------------------------------
contact
------------------------------------------ */




#tblForm{
margin-top: 0px;
/* color: #fff; */

line-height: 160%;
}

#btnArea{
margin-top: 30px;
margin-bottom: 50px;
}
#btnArea input{
background: none;
border: 0;
color: #FFF;
display: block;
width: 100px;
height: 32px;
background-color: #696969;
text-align: center;

}
#tblForm #btnArea input{
border-radius: 0;
}


#tblForm th{
padding: 10px;
padding-left: 0;
width: 210px;
vertical-align: top;
box-sizing: border-box;
}

#tblForm .require{
	display: inline-block;
float: right;
font-size: 10px;
color: #fff;
background-color: #696969;
padding: 0px 6px;
border-radius: 4px;
line-height: 180%;
margin-top: 3px;
}

#tblForm td{
padding: 10px;
padding-left: 0;
box-sizing: border-box;
}

#tblForm .sel1{
width: 290px;
}

#tblForm .sel2{
width: 60px;
}

#tblForm .sel3{
width: 100%;
height: 150px;

box-sizing: border-box;
}

#tblForm input{
border: solid 1px #CCC;
border-radius: 4px;
padding: 6px;
}
#tblForm .wpcf7-list-item input{
border: none;
}


#tblForm textarea{
border: solid 1px #CCC;
border-radius: 4px;
padding: 6px;
}
.attention{
text-align: center;
font-size: 12px;
font-weight: bold;
margin-bottom: 280px;
}







#btnArea{
	text-align: center;
}

#btnArea input{
	display: inline-block;
	cursor: pointer;
}


.contactBox{
	text-align: center;
}

.contactBox #tblForm{
	color: #000;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}

div.wpcf7-validation-errors{
	color: #000;
	background-color: #fff;
}
.wpcf7-response-output{
	color: #000;
	background-color: #fff;
}





.sample{
	padding: 15px 20px;
	background-color: #ccc;
	color: #000;
	
	border-radius: 4px;
	
	margin-top: 10px;
}







.contactList li{
	margin-bottom: 10px;
}
.contactList li .ttl{
	float: left;
	width: 130px;
}

.contactList li .disp{
	padding-left: 140px;
}




.contactStr{
	color: #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}



.accessStr p.red{
	color: red;
	text-shadow: none;
}





.attentionStr{
	font-size: 11px;
}

.priceBox{
	max-width:500px;
	margin-left: auto;
	margin-right: auto;
}

.priceBox.mT{
	margin-top: -80px;
}

.priceList{
	width:300px;
	margin-left: auto;
	margin-right: auto;
	
	margin-bottom: 50px;
}

.priceList li{
	margin-bottom: 10px;
}

.priceList li .ttl{
	float: left;
	background-image:url(../images/img_price01.jpg);
	padding-right: 2px;
}
.priceList li .price{
	float: right;
	background-image:url(../images/img_price01.jpg);
	padding-left: 2px;
}
.priceList li .over{
	float: right;
	width: 15px;
}

.priceList li .kana{
	color: #888;
}

.priceHead{
	background-image:url(../images/bg_dot.png);
	background-position: left center;
	background-size: 7px 3px;
	background-repeat: repeat-x;
	
	font-size: 14px;
}

.line{
	background-color: #333;
	height: 3px;

	position: relative;
	margin-bottom: 60px;
}

.line:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #333;
	
	bottom: -5px;
}

.line2{
	border-bottom: 3px solid #333;
	margin-bottom: 60px;
}

.priceStr{
	text-align: center;
	padding-bottom: 40px;
}

.priceStr p{
	margin-bottom: 20px;
}




.contactTtl{
	text-align: center;

	font-family: "brandon-grotesque", sans-serif;
	font-size: 20px;
	letter-spacing: 2px;
	font-weight: 400;

	margin-bottom: 60px;
}





.rightSpace{
	margin-bottom: 100px;
	
	color: #fff;
	float: right;

	line-height: 220%;
	margin-top: -80px;
	width: 30%;
	
	min-width: 360px;
	text-shadow: 1px 1px 3px #000;
}

.rightSpace a{
	color: #fff;
	text-decoration: underline;
}

.rightSpace p{
	margin-bottom: 20px;
}

.downloadList{
	margin-bottom: 60px;
}

.downloadList li a{
	text-decoration: none;
}

.downloadList li a.pdf{
	background-image:url(../images/ico_pdf.png);
	background-position: right center;
	background-size: 16px 16px;
	background-repeat: no-repeat;
	padding-right: 20px;
}

.downloadList li a:hover{
	opacity: 0.6;
}





.newsBox{
	clear: both;
}




.newsList{
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	
	padding: 10px;
	padding-bottom: 0;
	padding-top: 20px;
	
	background-color: #fff;
}

.newsList li{
	margin-bottom: 30px;
	
	border-bottom: 1px dotted #fff;
	
	width: 31.3%;
	float: left;
	margin-left: 1%;
	margin-right: 1%;
}

.newsList li:last-child{
	border-bottom: none;
}

.newsList li .img{

}

.newsList li .img img{
	width: 100%;

-webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
-o-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
-ms-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}





.newsList li a{
	display: block;
	
/* 	color: #fff; */
}

.newsList li .dispArea{
	padding-top: 10px;
}

.newsList li .date{
	float: left;
	margin-right: 20px;
}

.newsList li .ttl{
	font-weight: bold;
}

.newsList li a:hover{
	text-decoration: none;
}

.newsList li a:hover img{
	opacity: 0.8;
}

.newsList li .disp p{
	margin-bottom: 10px;
}




.newsList li .img{
	display: block;
	position: relative;
	overflow: hidden;
}

.newsList li .img:before {
    content:"";
    display: block;
    padding-top: 56.2%;
}

.newsList li .img img{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}



















/* ------------------------------------------
page
------------------------------------------ */

.newsDirectionBox{
	clear: both;
	padding-top: 30px;
}

.newsDirection{
	text-align: center;
	margin-bottom: 60px;
}
.newsDirection a,
.newsDirection span{
	display: inline-block;
	margin-left: 5px;
	margin-right: 5px;
	padding: 5px 10px;
	
	color: #fff;
}

.newsDirection span{
	background-color: #1a1a1a;
}

.newsDirection span.dots{
	background-color: transparent;
}











.leftBox{
	width: 40%;
	float: left;	
}


.holidayBox{
	background-color: #fff;
	border-radius: 40px;
	display: inline-block;
	padding: 5px 15px;
	
	margin-bottom: 30px;
	width: 100%;
	box-sizing: border-box;

}

.newsBoxSingle{
	float: right;
	width: 50%;

	background-color: #fff;
	padding: 20px;
	box-sizing: border-box;
}

article .img{
	margin-bottom: 10px;
}

article .img img{
	max-width: 100%;
}

article .date{
	display: inline-block;
	margin-right: 20px;
}

article .ttl{
	display: inline-block;
	font-weight: bold;	
}

.scrollBox{
	height: 200px;
}

article .disp{
	clear: both;
	margin-top: 10px;
}

article .disp p{
	margin-bottom: 20px;
}





.recentList li a{
	display: inline-block;
	padding: 5px 15px;
}

.recentList li div{
/* 	display: inline-block; */
}
.recentList li .date{
	width: 80px;
	float: left;
}

.recentList li .ttl{
	padding-left: 80px;
}












@media screen and (max-width: 970px){

.priceBox.mT {
    margin-top: 0;
}



















}








/* ------------------------------------------
ipad
------------------------------------------ */
@media screen and (max-width: 860px){

#contents {
    padding: 130px 35px;
}




}


















/* ------------------------------------------
smartphone
------------------------------------------ */
@media screen and (max-width: 719px){

.rightSpace{
	margin-top: 0;
	
	width: auto;
	float: none;
	min-width: initial;
	min-width: auto;
	
	line-height: 180%;
	
	padding-top: 30px;
	font-size: 13px;
	

}



.onlySp{
	display: block;
}
.onlyPc{
	display: none;
}


.drawer-hamburger{
	padding: 20px 10px 10px 20px;
}


#contents {
    padding: 100px 20px;
}


.aboutTtl{
	font-size: 24px;
	letter-spacing: 1px;
}


#mapCanvas{
	height: 250px;
}

h2.mainTtl{
	margin-bottom: 30px;
}




footer.fixed{
	position: relative;
}
footer.fixed.water{
	position: fixed;
}

.accessStr{
	float: none;
}

.accessImg{
	float: none;
}












.bridalList li{
	width: 100%;
	margin-right: 0%;
	float: none;
	margin-bottom: 20px;
}


.drawer-brand a{
	margin-left: 22px;
}

.drawer-menu a{
	margin-left: 22px;
}













#tblForm th{
	display: block;
	width: auto;
	padding-bottom: 0;
	padding-right: 0;
}
#tblForm td{
	display: block;
	width: auto;
	padding-top: 0;
	padding-right: 0;
}

#tblForm .sel1{
	width: 100%;
	box-sizing: border-box;
}



#tblForm .sel3{
	width: 100%;
	box-sizing: border-box;
}


#tblForm th{
	padding-top: 30px;
	padding-bottom: 5px;
	font-size: 14px;
	font-weight: bold;
}


.priceStr{
	text-align: left;
}












.upBlack{
	height: 60px;
}
.downBlack{
	height: 60px;
}

.single-post .upBlack,
.page-id-294 .upBlack{
	display: none;
}
.single-post .downBlack,
.page-id-294 .downBlack{
	display: none;
}

.single-post .drawer-hamburger-icon,
.single-post .drawer-hamburger-icon::before,
.single-post .drawer-hamburger-icon::after{
	background-color: #000;
}

.page-id-294 .drawer-hamburger-icon,
.page-id-294 .drawer-hamburger-icon::before,
.page-id-294 .drawer-hamburger-icon::after{
	background-color: #000;
}


.drawer-open.single-post .drawer-hamburger-icon{
	background-color: transparent;
}
.drawer-open.page-id-294 .drawer-hamburger-icon{
	background-color: transparent;
}



.leftBox{
	float: none;
	width: 100%;
}

.newsList li{
	float: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	
	height: auto !important;
}

.newsList{
	padding: 20px;
	padding-bottom: 0;
}



.recentList{
	display: none;
}


.newsBoxSingle{
	float: none;
	width: 100%;
}

.scrollBox{
	height: auto !important;
}


#tblForm .require{
	float: none;
	margin-left: 10px;
}






}













