/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
.en02{
	font-family: "Parisienne", serif;
}

.mainvisual{
	.mainvisual-catch{
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
		width: calc((56 / 192) * 100vw);
		height: calc((295 / 1920) * 100vw);
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		border-top: rgba(255,255,255,.4) calc((2 / 1920) * 100vw) solid;
		border-bottom: rgba(255,255,255,.4) calc((2 / 1920) * 100vw) solid;
		.copy{
			font-size: calc((63 / 1920) * 100vw);
			font-weight: 500;
			.en{
				color: #c7bc95;
				font-size: calc((57 / 1920) * 100vw);
			}
		}
		.sub-text.en{
			font-family: "Shippori Mincho", serif;
			font-size: calc((23 / 1920) * 100vw);
			font-weight: 500;
		}
		&::before,
		&::after{
			display: block;
			content: '';
			position: absolute;
			right: 0;
			left: 0;
			width: 100%;
			height: calc((1 / 1920) * 100vw);
			background: rgba(255,255,255,.4);
		}
		&::before{
			top: 3px;
		}
		&::after{
			bottom: 3px;
		}
	}
}

.title-type04{
	padding-bottom: 0;
	margin-bottom: 40px;
	&::before{
		display: none;
	}
	h2{
		.en{
			font-size: 4.6rem;
			font-weight: 500;
		}
		.ja{
			color: #666e85;
			font-size: 1.9rem;
			font-weight: 500;
			opacity: 1 !important;
		}
	}
}

.box .btn a{
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	padding: 13px 45px 12px 45px;
	&::after{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 20px;
		height: 1px;
		background: rgba(255,255,255,.4);
	}
}

.main-concept{
	padding: 90px 0 70px;
	background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-concept-bg.png) no-repeat center center / cover;
	.image-text-type03 {
		justify-content: space-between;
		.image{
			width: calc((85 / 192) * 100vw);
			img{
				object-fit: unset;
				height: auto;
			}
		}
		.text{
			position: relative;
			margin: 40px 0 0 calc((50vw - 569px) + (50% - var(--vw)* 50));
			padding: 60px !important;
			width: 590px;
			background: #fff;
			-webkit-box-shadow: 0 0 1px 1px rgba(100,100,100,.1);
			-moz-box-shadow: 0 0 1px 1px rgba(100,100,100,.1);
			box-shadow: 0 0 1px 1px rgba(100,100,100,.1);
			.copy{
				position: absolute;
				top: -15px;
				left: 25px;
				color: #ab996f;
				font-size: 4.8rem;
				font-weight: 500;
				transform: rotate(-5deg);
				line-height: 1;
			}
			&::before{
				display: none;
			}
		}
	}
}

.main-bridal{
	.text{
		margin: -100px calc((12 / 192) * 100vw) 0;
		padding: 60px 60px 0;
		h3{
			text-align: center;
			font-size: 3.7rem;
			font-weight: 500;
			margin-bottom: .3em;
		}
		.copy{
			text-align: center;
			font-size: 2.1rem;
			font-weight: 500;
		}
		p{
			font-size: 1.6rem;
		}
	}
}

.main-banner{
	ul{
		gap: 0;
		li{
			aspect-ratio: 1 / 1;
			position: relative;
			a{
				display: block;
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				text-align: center;
				.en{
					font-size: 4.6rem;
					font-weight: 500;
				}
				.ja{
					font-size: 2.2rem;
					font-weight: 500;
				}
				&::after{
					display: none;
				}
			}
		}
	}
}

.main-reason{
	padding: 90px 0;
	background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-reason-bg.png) no-repeat center center / cover;
	&::before{
		display: none;
	}
	.list-number-type02{
		margin: 0 auto;
		padding: 0;
		max-width: 1138px;
		ol{
			li{
				position: relative;
				background: #fff;
				padding: 35px 20px 25px;
				-webkit-box-shadow: 0 0 1px 1px rgba(100,100,100,.1);
				-moz-box-shadow: 0 0 1px 1px rgba(100,100,100,.1);
				box-shadow: 0 0 1px 1px rgba(100,100,100,.1);
				.image{
					height: 130px;
					margin-bottom: 0;
					-webkit-border-radius: 0;
					-moz-border-radius: 0;
					border-radius: 0;
					img{
						left: 50%;
						transform: translateX(-50%) !important;
						text-align: center;
						object-fit: unset;
						width: auto;
						height: auto;
					}
				}
				.text{
					h3{
						font-size: 2.6rem;
						font-weight: 500;
						text-align: center;
						margin-bottom: .2em;
					}
					.copy{
						color: #666e85;
						font-size: 1.8rem;
						font-weight: 500;
						text-align: center;
						margin-bottom: .5em;
					}
					p{
						font-size: 1.6rem;
						margin: 0;
					}
				}
				&::before{
					top: -25px;
					left: 20px;
					font-size: 5rem;
					color: #ab996f;
					font-weight: 500;
					border-bottom: none;
					line-height: 1;
					font-family: "Cormorant Infant", serif;
				}
			}
		}
	}
}

.main-banner02{
	ul{
		li{
			height: 240px;
			.text{
				a{
					margin: 60px auto;
					padding: 0;
					width: 300px;
					height: 120px;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					text-align: center;
					background: rgba(255,255,255,.8);
					line-height: 1.2;
					.en{
						color: #212121;
						font-size: 4.2rem;
						font-weight: 500;
					}
					.ja{
						color: #666e85;
						font-size: 1.9rem;
						font-weight: 500;
					}
				}
			}
		}
	}
}

.main-banner03{
	ul{
		li{
			.text{
				a{
					padding: 80px 36px;
					.ja,.en{
						font-size: 2.8rem;
						font-weight: 500;
					}
					&::after{
						display: none;
					}
				}
			}
		}
	}
}

.footer-contact{
	.title{
		.ja{
			position: relative;
			display: inline-block;
			font-size: 5rem;
			font-weight: 500;
			.en02{
				display: block;
				position: absolute;
				top: -30px;
				left: -20px;
				color: #ab996f;
                font-size: 4.8rem;
                font-weight: 500;
                transform: rotate(-5deg);
                line-height: 1;
			}
		}
		.en{
			font-size: 3rem;
			font-weight: 500;
		}
	}
	.text{
		.tel.en{
			font-size: 8rem;
			font-weight: 500;
			&::before{
				color: #2b477a;
				margin-right: .1em;
				font-size: 7rem;
			}
		}
		.datetime{
			font-size: 1.6rem;
		}
		.btn{
			.ja{
				a{
					background: #2b477a;
					&::after{
						background: none;
						height: auto;
						transform: translateY(-35%);
					}
				}
				&:last-child{
					a{
						background: #2ea45e;
						&::after{
							content: '\f3c0';
							font-weight: bold;
							font-size: 1.8rem;
							font-family: 'Font Awesome 5 Brands';
							line-height: 1;
							-webkit-font-smoothing: antialiased;
							-moz-osx-font-smoothing: grayscale;
						}
					}
				}
			}
		}
	}
}

.footer-onlineshop{
	margin: 0 auto 90px !important;
	max-width: 800px;
	.text{
		max-width: unset;
		padding: 0;
		a{
			height: 220px;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			text-align: center;
			br{
				display: none;
			}
			span{
				display: block;
				font-weight: 500;
			}
			.en{
				font-size: 4.2rem;
			}
			.ja{
				font-size: 1.9rem;
			}
		}
	}
}

.footer{
	.logo{
		width: auto;
	}
}
.fixed-footer {
	.contact{
		display: flex;
		gap: 10px;
		align-items: center;
		a{
			-webkit-border-radius: 0;
			-moz-border-radius: 0;
			border-radius: 0;
			font-size: 1.6rem;
			font-weight: 500;
			&:last-child{
				background: #2ea45e;
				&::before{
					content: '\f3c0';
					font-weight: bold;
					font-size: 1.8rem;
					font-family: 'Font Awesome 5 Brands';
					line-height: 1;
					-webkit-font-smoothing: antialiased;
					-moz-osx-font-smoothing: grayscale;
				}
			}
		}
	}
}

/* 20250114 added by Fabo */
.mt-0 { margin-top: 0 !important;}
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
    margin-bottom: 3vh;
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
}

.box-color {
    margin: 0 0 6vh;
    padding: 35px;
    background: #ebedf3;
}
.box-color :first-child {
    margin-top: 0 !important;
}
.box-color :last-child {
    margin-bottom: 0 !important;
}

.page-content .image-text-type01 .text {
    overflow: hidden;
}
.page-content  .list-check-type01 {
    display: flex;
    justify-content: flex-start;
}

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

.table_qa {
  width: 100%;
  margin-bottom: 30px;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}
.table_qa th {
  width: 5%;
  padding: 20px 10px;
}
.table_qa td {
  padding: 20px 10px;
  vertical-align: middle;
}
.table_qa tr:nth-child(2n-1) td {
  font-size: 18px;
  font-weight: bold;
}
.table_qa tr:nth-child(2n) {
  background: #eaf0f7;
}
.table_qa tr:nth-child(2n) th {
  vertical-align: top;
}
.q_icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--main-color);
  line-height: 44px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.a_icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--main-color-2);
  line-height: 44px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.img-filter img {
	 filter: brightness(97%);
}

/* 20250117 added by Fabo */

.table-fixed {
    margin-bottom: 25px;
    table-layout: fixed;
    width: 100%;
}
.table-fixed th,
.table-fixed td {
    padding: 12px 15px;
    border: 3px solid #fff;
    text-align: center;
    vertical-align: middle;
}
.table-fixed th {
    color: #fff;
    background: var(--main-color);
}
.table-fixed td {
    background: var(--sub-color);
}

/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
.mainvisual{
	height: auto;
}
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
.main-reason{
	padding: 10vw 2vw;
}
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {

.title-type04{
	padding-bottom: 0;
	margin-bottom: 5vw;
	h2{
		.en{
			font-size: 7vw;
		}
		.ja{
			font-size: 3.5vw;
		}
	}
}

.main-concept{
	padding: 10vw 4vw;
	.image-text-type03 {
		display: block;
		.image{
			width: 100%;
			margin-bottom: 5vw;
		}
		.text{
			position: relative;
			margin: 0 auto;
			padding: 4vw !important;
			width: 100%;
			.copy{
				top: -2vw;
				left: 3vw;
				font-size: 4.8vw
			}
		}
	}
}

.main-banner03{
	ul{
		li{
			.text{
				a{
					padding: 10vw 5vw;
					.ja,.en{
						font-size: 6vw;
					}
				}
			}
		}
	}
}

.footer-contact{
	.title{
		.ja{
			font-size: 7vw;
			.en02{
				top: -2vw;
				left: 3vw;
				font-size: 4.8vw
			}
		}
		.en{
			font-size: 3.5vw;
		}
	}
	.text{
		.tel.en{
			font-size: 9vw;
			&::before{
				font-size: 8vw;
			}
		}
	}
}
}
