@charset "UTF-8";
/* structure */
div {
    box-sizing: border-box;
}

.hidden {
	display: none;
}

.entry-footer,
.page-content,
.container-common {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    padding: 0 40px;
}

.bottom-common{
    margin-bottom: 80px;
}

.bottom-main {
    margin-bottom: 50px;
    border-bottom: none!important;
}

.container-text {
    margin-bottom: 50px;
}

.container-text p {
    margin-bottom: 30px;
}

/* common */
h1{
    color: #E40079;
    font-size: 182%;
    line-height: 1.8;
    font-weight: normal;
    margin-bottom: 50px;
    text-align: center;
}

h2,h3,h4{
    font-size: 116%;
    font-weight: normal;
    margin-bottom: 30px;
}

h2.h-lucano {
    font-size: 153.9%;
    line-height: 1.4;
}

.title-table {
    text-align: center;
    font-size: 100%;
    margin-bottom: 0;
}

.h-lucano {
    color: #E40079;
    background: url(/images/common/h_lucano.png) center bottom no-repeat;
    background-size: contain;
    text-align: center;
    padding-bottom: 20px;
}

.h-border {
    padding: 3px 10px 0 10px;
    border-top: 3px solid #E40079;
    display: inline-block;
    color: #E40079;
}

.wrapper_main a:before {
    font-family: FontAwesome;
    vertical-align: baseline;
    content: '\f138';
}

.link-center {
    text-align: center;
    font-size: 100%;
    
}

.link-center a {
    display: inline-block;
    padding: 12px 30px;
    border: 1px solid #eee;
    background-color: #fefefe;
    text-decoration:none;
    line-height: 1;
}

.photo {
    line-height: 0;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    position: relative;
    overflow: hidden;
}

.photo img {
    height: 100%;
    max-width: none;
    position: absolute;
    margin: auto;
    left: -100%;
    right: -100%;
    top: -100%;
    bottom: -100%;
}

.caption{
    font-size: 85%;
    font-weight: normal;
    text-align: center;
	margin-bottom: 0;
}

.text-medium p {
    font-size: 93%;
    line-height: 1.8;
}

.pc-text-center {
    text-align: center;
}


.vertical-mid{
    position: relative;
}

.vertical-mid .inner {
    position: absolute;
    top: 30%;
    left: 0;
    width: 100%;
	line-height: 200%;
}

.ico-link:before {
    font-family: FontAwesome;
    vertical-align: baseline;
    content: '\f054　';
}

.pagetop {
    text-align: right;
}

.pagetop a {
    text-decoration: none;
}

.width-80 {
    width: 80%;
    margin: 0 auto;
}

.width-60 {
    width: 60%;
    margin: 0 auto;
}

.width-50 {
    width: 50%;
    margin: 0 auto;
}

.gmap iframe {
    max-width: 100%;
}

#cboxCurrent {
    bottom: -2px;
}


/* pagination */
.pagination {
	text-align: center;
}

.pagination .page-numbers {
	display: inline-block;
	margin: 0 7px;
	padding: 5px 10px;
	border: 1px solid #eee;
	line-height: 1;
	border-radius: 20px;
}

.pagination .page-numbers:hover,
.pagination .page-numbers.current {
	background-color: #eee;
}


.pagination a {
	text-decoration: none;
}

.pagination .prev,
.pagination .next {
	border: none;
	margin: 0;
}

.pagination .prev:hover,
.pagination .next:hover {
	background-color: #fff;
}

.pagination .fa {
	font-size: 167%; 
	line-height: 1;
	vertical-align: middle;
}


/* error */
.error-404 {
	padding-top: 30px;
}

/* pc only */
@media only screen and (min-width: 769px) {
    
    /* home */
    .home-main {
        width: 860px;
        height: auto;
        margin: 0 auto;
        margin-bottom: 40px;
        position: relative;
    }
    
    .page-main {
        width: 860px;
        margin: 0 auto;
        margin-bottom: 50px;
    }
    
}

@media only screen and (max-width: 768px) {   
    
    .vertical-mid .inner {
        top: 10%;
        padding-bottom: 40px;
    }
    
    .link-center {
        font-size: 93%;
        line-height: 1.4;
    }
    
}


@media only screen and (max-width: 480px) {
    /* structure */
	.entry-footer,
	.page-content,
	.container-common {
		padding: 0 30px;
	}
	

    .bottom-common {
        padding-bottom: 30px;
        /*border-bottom: 1px solid #eee;*/
        margin-bottom:  30px;
    }
    
    
    
    /* common */
    body{
        line-height: 1.8;
    }
    
    h1{
        font-size: 138.5%;
    }
    
    h2.h-lucano {
        font-size: 123%;
        padding-bottom: 20px;
		background: url(/images/common/h_lucano_sp.png) 0 bottom no-repeat;
		background-size: 230%;
    }
        
    
    .vertical-mid .inner {
        position: relative;
    }
    
    .pc-text-center {
        text-align: left;
    }

    
    .width-50,
    .width-80 {
        width: 100%;
    }
    
    /* page */    
    .home-main .slick-slide,
    .page-main {        
        position: relative;
        
        height: 240px;
        width: 100%;
        overflow: hidden;
    }
    
    .home-main .slick-slide img,
    .page-main img {
        max-width: none!important;
        max-height: 100%;
        position: absolute;
        margin: auto;
        left: -100%;
        right: -100%;
        top: -100%;
        bottom: -100%;
    }

	th {
		font-size: 93%;
	}
	
	td {
		font-size: 85%;
	}


}


@media only screen and (max-width: 340px) {
	.entry-footer,
	.page-content,
	.container-common {
		padding: 0 20px;
	}

}



/* blog */
.list-blog .col a {
    text-decoration: none;
}

.list-blog .col a:before {
    content: none;
}

.list-blog .col {
    text-align: center;
}

.list-blog .title {
    margin: 20px 0;
    font-size: 100%;
    line-height: 1.4;
}

.list-blog .intro {
    font-size: 85%;
    line-height: 1.4;
    color: #666;
}

.list-blog .info {
    font-size: 77%;
    line-height: 1;
    color: #666;
	margin-top: 20px;
	padding-top: 10px;
	border-top: 1px solid #eee;
}

.date {
    padding-right: 10px;
}

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

/* contact form */
#contact-form {
    padding-top: 30px;
    padding-bottom: 40px;
}

#contact-form h2{
    font-size: 123%;
}

#contact-form .note{
    text-align: center;
}

.form-contact {
    width: 60%;
    margin: 0 auto;
    margin-bottom: 30px;
}

.form-contact .input-row {
    margin-bottom: 40px;
}

.form-contact label {
    display: inline-block;
    width: 15%;
    font-size: 93%;
	vertical-align: top;
	
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.form-contact .wpcf7-form-control-wrap {
	display: inline-block;
    width: 83%;
	
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.form-contact input {
    width: 100%;
    font-size: 108%;
    border: none;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
}

.form-contact .cu-message {
	width: 100%;
}

.form-contact textarea {
	width: 100%;
    border: 1px solid #ccc;
   
    padding: 5px;
    font-size: 108%;
	
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.form-contact .captcha {
	float: left;
	display: inline-block;
}

.form-contact input[type="submit"]{
    display: block;
	float: right;
    width: auto;
    padding: 10px 30px;
    margin: 20px auto 0;
    background-color: #fff;
    border: 1px solid #ccc;
}

.form-contact div.wpcf7-validation-errors {
	border: none;
	background-color: #F4F4F4;
	color: #CC0000;
}

.form-contact .msg-attention {
	text-align: right;
	font-size: 85%;
	color: #999;
}

.form-contact span.wpcf7-not-valid-tip {
	font-size: 85%;
}

.msg-ssl {
	text-align: right;
}

div.wpcf7-mail-sent-ok {
    border: none;
    font-size: 93%;
    margin: 30px 0;
    padding: 0;
}

@media only screen and (max-width: 768px) {
    .form-contact {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 30px;
		overflow: hidden;
    }
    
    #contact-form .note{
        text-align: left;
    }
}

@media only screen and (max-width: 480px) {
    
    .form-contact {
        width: 100%;
    }
	
	.form-intro p {
		text-align: left;
	}
	
	.form-contact .input-row {
		width: 98%;
	}

    .form-contact textarea,
    .form-contact label,
    .form-contact .wpcf7-form-control-wrap,
	.form-contact .cu-message{
        width: 100%;
    }
	
	.form-contact .input-row {
		margin-bottom: 20px;
	}
	
	.form-contact .captcha {
		float: none;
		display: block;
	}

	
	.form-contact input[type="submit"] {
		float: none;
	}
	
	.msg-ssl {
		text-align: center;
	}
	
	.g-recaptcha {
		 transform: scale(0.8);
		 -webkit-transform: scale(0.8);
		 transform-origin: 0 0;
		 -webkit-transform-origin: center 0;
	}
}

/* home */
.home-main {
    margin-bottom: 40px;        
}

/* page wedding */
.wedding-order .order-step {
    margin-bottom: 40px;
}

.wedding-order .order-step h3 {
    border: 1px dotted #ccc;
    padding: 10px 20px;
    margin-bottom: 20px;
}

.wedding-order .order-step .step {
    font-weight: bold;
    margin-right: 10px;
	color: #9E0053;
}

.wedding-order .order-step p {
    padding: 0 20px;
}

/* page blog */
.page-blog h2 {
    font-weight: bold;
    margin-bottom: 40px;
}

.page-blog .content {
    padding-bottom: 40px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

.page-blog .info {
    font-size: 77%;
    line-height: 1;
    color: #666;
}

.photo-blog a {
	display: block;
	margin-bottom: 30px;
}

/* page nav link */
.link-page-nav {
	text-align: center;
	font-size: 93%;
}

.link-next,
.link-prev {
	display: inline-block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 33.3%;
	padding-top: 10px;
	line-height: 1.4;
}

.link-next {
	float: right;
	text-align: right;	
}

.link-prev {
	float: left;
	text-align: left;
}

a.link-next:after {
	font-family: FontAwesome;
	font-size: 1.2em;
	vertical-align: baseline;
	content: ' \f105';
	letter-spacing: 5px;
	
	
}

a.link-prev:before {
	font-family: FontAwesome;
	font-size: 1.2em;
	vertical-align: baseline;
	content: '\f104 ';
	letter-spacing: 5px;
}


a.link-listing {
	display: inline-block;
	padding: 15px 30px;
	font-size: 108%;
	color: #E40079;
	line-height: 1.4;
	text-decoration: none;
	border: 1px dotted #fff;
	
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing:border-box;
}


/* page privacy */
.privacy-text {
    margin-bottom: 30px;
}

.privacy-text h2 {
    font-weight: bold;
    margin-bottom: 0;
    font-size: 100%;
}

@media only screen and (max-width: 768px) {
	/* page blog */
	a.link-listing,
	a.link-next,
	a.link-prev {
		display: block;
		float: none;
		width: 100%;
		text-align: center;
		
		border-top: 1px solid #eee;
		text-decoration: none;
		padding: 20px 0;
	}
	
	a.link-listing {
		border-bottom: 1px solid #eee;
	}
	
}


@media only screen and (max-width: 480px) {
    
    /* page wedding */
    .wedding-order .order-step h3 {
        text-align: center;
        font-size: 108%;
		line-height: 1;
		padding: 20px;
    }
	
	.wedding-order .order-step .step {
		font-size: 116%;
		display: block;
		margin-right: 0;
	}
	
	.wedding-order .order-step p {
		padding: 0;
	}

	
	
}