@charset "UTF-8";
/* CSS Document */
main{
	margin-bottom: 100px;
}

/** パーツ
---------------------------------------------------------------------------------*/
.parts{
	text-align: center;
	margin-bottom: 80px;
}
.parts h3{
	font-size: 24px;
	color: #C32C71;
	font-weight: 600;
	padding-bottom: 30px;
}
.parts> p{
	padding-bottom: 45px;
}
.parts_img{
	width: 600px;
}
.sejutsu{
	font-size: 22px;
	font-weight: 400;
	display: block;
	margin: 0 auto;
	width: 180px;
	box-sizing: border-box;
	padding: 6px 0;
	text-align: center;
	color: #C32C71;
	border: solid 2px #C32C71;
	margin-bottom: 30px;
}


/** menu
---------------------------------------------------------------------------------*/
.menu_title{
	text-align: center;
	font-size: 18px;
	font-weight: 300;
	padding-bottom: 30px;
}
.menu_title span{
	color: #C32C71;
	font-size: 12px;
	padding-left: 10px;
	font-weight: 400;
}
.menu{
	width: 800px;
	margin: 0 auto;
	background-image: url("../img/common/bg_03.jpg");
	background-position: inherit;
    background-size: cover;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 40px 50px;
	margin-bottom: 80px;
	opacity: .9;
	box-shadow: 0px 4px 4px -4px rgb(0 0 0 / 20%);
}
.menu_detail{
	background-color: #fff;
	padding: 35px 40px;
}
.menu_detail table{
	width: 100%;
	margin-bottom: 20px;
	border-bottom: solid 1px #E8E8E8;
}
.menu_detail table:last-of-type{
	margin-bottom: 0;
	border: none;
}
.menu_detail th{
	text-align: left;
	font-size: 16px;
	border-bottom: double 4px #888;
	padding-bottom: 10px;
}
.menu_detail th span{
	font-size: 13px;
}
.menu_detail td{
	display: flex;
	align-items: flex-end;
	padding: 0 0 15px 20px;
	font-size: 14px;
}
.whole_body{
	align-items: center!important;
}
.menu_detail tr:last-child td{
	border: none;
}
.menu_detail td div{
	width: 73%;
	position: relative;
}
.menu_detail_title{
	font-size: 15px;
	padding-bottom: 10px;
}
.menu_detail_title::before{
	content: "■";
	position: absolute;
	font-size: 8px;
	color: #C32C71;
	top: 0;
    left: -20px;
}


/** ブライダル
---------------------------------------------------------------------------------*/
.bridal{
	width: auto;
	max-width: 880px;
	background-color: #F7E9EE;
	border-radius: 4px;
	padding: 30px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	position: relative;
	margin-bottom: 80px;
}
.bridal>p{
	width: 50%;
}
.bridal>p img{
	width: 100%;
	height: auto;
}
.bridal_detail{
	padding-left: 40px;
	color: #6E5F56;
	width: 50%;
	font-size: 14px;
}
.bridal_detail h3{
	font-size: 18px;
	font-weight: 400;
	padding-bottom: 25px;
}
.bridal_detail>p{
	padding-bottom: 12px;
}
.bridal_detail table{
	width: 100%;
}
.bridal_detail table tr th{
	text-align: left;
	font-weight: 400;
	border-bottom: solid 1px #6E5F56;
	display: inline-block;
    padding-bottom: 5px;
	margin-bottom: 15px;
}
.bridal_detail table tr td{
	display: flex;
	align-items: center;
	padding-bottom: 5px;
}
.bridal_detail table tr td div{
	width: 60%;
}
.bridal_detail table tr td p span{
	letter-spacing: 0.01em;
    font-size: 12px;
}
.calligraphy_bridal{
	position: absolute;
	bottom: -15px;
	left: -100px;
	width: 370px;
}
.calligraphy_bridal img{
	width: 100%;
	height: auto;
}


@media print, screen and (max-width: 880px) {
main {
    margin-bottom: 60px;
}	
	
	
/** パーツ
---------------------------------------------------------------------------------*/
.parts h3 {
    font-size: 18px;
    padding-bottom: 15px;
	line-height: 1.5em;
}
.parts {
    margin-bottom: 40px;
	padding: 0 15px;
}
.parts> p {
    padding-bottom: 30px;
	text-align: left;
	display: block;
    width: auto;
    max-width: 600px;
    margin: 0 auto;
}
.sejutsu {
    font-size: 18px;
    width: 180px;
    margin-bottom: 30px;
}
	.sp_parts p{
		width: 84%;
		display: block;
		margin: 0 auto;
		max-width: 300px;
	}
	.sp_parts p:first-child{
		padding-bottom: 30px;
	}
	.sp_parts p img{
		width: 100%;
		height: auto;
	}


/** menu
---------------------------------------------------------------------------------*/
.menu_wrapper {
    padding: 0 15px;
}
.menu_title{
	text-align: center;
	font-size: 18px;
	font-weight: 300;
	padding-bottom: 30px;
}
.menu_title span{
	font-size: 10px;
	padding-left: 10px;
}
.menu{
	width: auto;
	max-width: 600px;
	padding: 20px;
	margin-bottom: 70px;
}
.menu_detail {
    padding: 20px 15px;
}
.menu_title {
    font-size: 16px;
    padding-bottom: 20px;
}
.menu_detail td {
    display: block;
    padding: 0 0 15px 20px;
}
.dots {
    font-size: 10px;
    letter-spacing: 0.01em;
}
.menu_detail td>p{
	text-align: right;
}
.menu_detail td div {
    width: 100%;
    position: relative;
}


/** ブライダル
---------------------------------------------------------------------------------*/
.bridal {
    max-width: 500px;
	border-radius: 0;
    padding: 20px;
    display: block;
    margin-bottom: 40px;
}
.bridal>p {
    width: 100%;
	padding-bottom: 20px;
}	
.bridal_detail {
    padding-left: 0px;
	width: 100%;
	padding: 5px 10px 0;
	box-sizing: border-box;
}
.bridal_detail h3 {
    font-size: 16px;
    padding-bottom: 15px;
}	
.bridal_detail>p {
    padding-bottom: 5px;
}
.calligraphy_bridal {
    top: -40px;
    right: 0;
    width: 100%;
	bottom: 0;
	left: 0;
	width: 100%;
}
.calligraphy_bridal img {
    width: 74%;
	max-width: 300px;
}	












































}



















