.partyreportSec {
	background: #F0F0E9;
	padding: 95px 0 85px;
}

.bl_present_top .wrap .wedding-present-slides .slide  .badge {
    width: 80px;
    height: 80px;
    font-size: 1.5rem;
    top: 12px;
}
.bl_present_top .wrap .wedding-present-slides .slide .caption .komidashi {
    font-size: 1.4rem;
}
    .bl_present_top .wrap .wedding-present-slides .slide  .badge {
left: 30px;
    top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #C4835B;
    color: #fff;
    line-height: 1.4;
    letter-spacing: 5px;
    position: absolute;
    }
.bl_present_top .wrap .wedding-present-slides .slide .caption .read {
    margin-bottom: 0px;
}
@media screen and (max-width: 1000px) {
	    .w-ceremony .chapelSec h3 {
        text-align: center;
    }
	    .w-ceremony .chapelSec p {
       text-align: center;
    }
	.partyreportSec {
		padding: 60px 0;
	}
    .bl_present_top .wrap .wedding-present-slides .slide .badge {
        left: 30px;
        top: 40px;
}
}

.partyreportSec .inner {
	max-width: 1112px;
}

.partyreportSec .inner .title {
	text-align: center;
	margin-bottom: 40px;
	color: #44605F;
}

.partyreportSec .inner .title .en {
	font-size: 2.8rem;
}

.partyreportSec .inner .list {
	margin-bottom: 35px;
}

@media screen and (max-width: 1000px) {
	    .w-banquet .banquetSec .inner .read {
        text-align: center;
    }
	    .w-banquet .banquetSec .inner .specification {
        text-align: center;
    }
	.w-banquet .banquetSec .inner.ly_cont_sm {
        width: calc(100% - 40px);
    }
	.partyreportSec .inner .list {
		margin-left: -20px;
		width: calc(100% + 40px);
	}
}

.partyreportSec .inner .list .slick-next {
	right: 10px;
	top: 26.667vw;
}

.partyreportSec .inner .list .slick-prev {
	left: 10px;
	top: 26.667vw;
}

.w-dress .w-gallerySlides {
	position: relative;
	padding-bottom: 38px;
}

.w-dress .w-gallerySlides .slide {
	width: 110px;
	height: 110px;
	margin: 0 3px;
	padding: 0;
}

.w-dress .w-gallerySlides .slide figure {
	width: 100%;
	height: 100%;
}

.w-dress .w-gallerySlides .slide figure img {
	object-position: center center;
}

.w-dress .w-gallerySlides .slick-prev,
.w-dress .w-gallerySlides .slick-next {
	display: none !important;
}

.w-dress .w-gallerySlides .slick-dots {
	position: absolute;
	bottom: 15px;
	left: 0;
	right: 0;
	display: flex !important;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.w-dress .w-gallerySlides .slick-dots li {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0 4px;
}

.w-dress .w-gallerySlides .slick-dots li button {
	display: block;
	width: 8px;
	height: 8px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	padding: 0;
	background: #c9caca;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	text-indent: -9999px;
	cursor: pointer;
}

.w-dress .w-gallerySlides .slick-dots li.slick-active button {
	background: #231815;
}

@media screen and (min-width: 1001px) {
	.w-dress .outlineSec .qualityBlock,
	.w-dress .accSec .inner .content-box,
	.w-dress .kimonoSec .inner .content-box {
		margin-bottom: 30px;
	}

	.w-dress .outlineSec > .w-gallerySlides {
		width: calc(50% - 36px);
		margin-right: 0;
		margin-left: auto;
		overflow: hidden;
	}

	.w-dress .accSec > .w-gallerySlides {
		width: min(53.66%, 733px);
		margin-right: auto;
		margin-left: max(calc((100% - 1366px) / 2), 0px);
		overflow: hidden;
	}

	.w-dress .kimonoSec > .w-gallerySlides {
		width: min(44%, 475.2px);
		margin-right: auto;
		margin-left: max(calc((100% - 1080px) / 2), 0px);
		overflow: hidden;
	}
}

@media screen and (max-width: 1000px) {
	.w-dress .outlineSec,
	.w-dress .accSec,
	.w-dress .kimonoSec,
	.w-dress .shopSec {
		margin-bottom: 60px;
	}

	.w-dress .kimonoSec .inner .content-box .midashi .en::after {
		content: none;
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.w-top .partyreportSec .inner .list .slide .caption {
        font-size: 1.2rem;
    }
	.w-dress .w-gallerySlides {
		padding-bottom: 0;
		overflow: hidden;
	}

	.w-dress .w-gallerySlides .slide {
		width: 135px;
		height: 135px;
		margin: 0 7px;
		padding: 0;
	}

	.w-dress .w-gallerySlides .slick-dots {
		display: none !important;
	}
}

.partyreportSec .inner .list .slide {
	margin: 0 16px;
}

@media screen and (max-width: 1000px) {
	.partyreportSec .inner .list .slide {
		width: calc(100vw - 80px);
		padding: 0;
		margin: 0 10px;
	}
}

.partyreportSec .inner .list .slide figure {
	margin-bottom: 10px;
	margin-bottom: 10px;
	height: 66.688vw;
	max-height: 226.72px;
}
.partyreportSec .inner .list .slide figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.partyreportSec .inner .list .slide .caption {
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.8;
}

.w-dress .partyreportSec .inner .list {
	max-width: 900px;
	margin: 0 auto 35px;
}

.w-dress .partyreportSec .inner .list .slide {
	margin: 0 22.5px;
}

.w-dress .partyreportSec .inner .list .slide a {
	display: block;
}

.w-dress .partyreportSec .inner .list .slide figure {
	height: auto;
	margin-bottom: 10px;
	max-height: none;
}

.w-dress .partyreportSec .inner .list .slide figure img {
	width: 100%;
	height: auto;
	aspect-ratio: 27/18;
	object-fit: cover;
}

@media screen and (max-width: 1000px) {
	.w-dress .partyreportSec .inner .list {
		width: calc(100% + 40px);
		max-width: none;
		margin-left: -20px;
	}

	.w-dress .partyreportSec .inner .list .slide {
		width: 54.6875vmin;
		padding: 0;
		margin: 0 10px;
	}

	.w-dress .partyreportSec .inner .list .slide figure {
		max-height: none;
	}

	.w-dress .partyreportSec .inner .list .slide figure img {
		max-height: 52.5333vw;
	}

	.w-dress .partyreportSec .inner .list .slide .caption {
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 768px) {
	.w-dress .partyreportSec .inner {
		width: calc(100% - 70px);
		max-width: none;
	}

	.w-dress .partyreportSec .inner .list {
		width: calc(100% + 70px);
		margin-left: -35px;
		margin-bottom: 24px;
	}

	.w-dress .partyreportSec .inner .list .slide .caption {
		font-size: 1.2rem;
		line-height: 1.6;
	}
}
.w-top .conceptSec .inner .photo figure {
margin-bottom: 50px;
}
.w-top .weddingPresentSec {
  background: #F0F0E9!important;
	padding: 60px 0 40px!important;
}
.w-top .fairslide_after.w-top {
	max-width: 900px;
	width: 100%;
	margin: 40px auto 0;
	text-align: center;
	color: #000;
	font-size: 1.4rem;
	line-height: 1.857;
	letter-spacing: .05em;
}
.w-top .fairslide_after .tac {
	text-align: center;
}
.w-top .fairslide_after .title_03 {
	margin-top: 5px;
	line-height: 1.6;
}
.w-top .fairslide_after .markConceptLogo {
	width: 129px;
	height: 72px;
	display: inline-block;
	object-fit: contain;
}
.w-top .fairslide_after .box_01 {
	margin-top: 30px;
	margin-bottom: 10px;
}
.w-top .fairslide_after h2 {
	margin: 0;
}
.w-top .fairslide_after .title_01 {
	display: block;
	color: #000;
	font-size: 2.2rem;
	line-height: 1.5454;
}
.w-top .fairslide_after .text_01 {
	margin-top: 20px;
	line-height: 1.857;
	font-size: 1.4rem;
}
.w-top .bridalSec .inner .list .btn {
	box-sizing: border-box;
	width: 350px;
	max-width: 350px;
	height: 40px;
	margin: 25px auto 0;
	padding: 0;
	border-radius: 2px;
	font-size: 16px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: .05em;
}
.w-top .bridalSec .inner .list .btn::before {
	border: 0;
}
.w-top .bridalSec .fairIframeWrap {
	height: 550px;
	overflow: hidden;
	contain: layout paint;
}
.w-top .bridalSec .fairIframeWrap .pickups-original {
	display: block;
	width: 100% !important;
	border: 0 !important;
}
.w-top .bridalSec .fairIframeWrap .pickups-original.pc_view {
	height: 550px !important;
	min-height: 550px;
	max-height: 550px;
}
.w-top .conceptSec .inner .photo video {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 1000px) {
	.w-top .weddingPresentSec {
  background: #F0F0E9!important;
	padding: 40px 0 40px!important;
}
	.partyreportSec .inner .list .slide .caption {
		font-size: 1.3rem;
	}
	.partyreportSec .inner .list .slide figure {
		max-height: none;
	}
	.w-top .bridalSec .fairIframeWrap {
		height: 360px;
		min-height: 360px;
		max-height: 360px;
	}
	.w-top .bridalSec .fairIframeWrap .pickups-original.sp_view {
		height: 360px !important;
		min-height: 360px;
		max-height: 360px;
	}
	.w-top .conceptSec .inner .photo video {
		height: 100%;
		object-fit: cover;
	}
}
@media screen and (max-width: 768px) {
	.w-top .fairslide_after.w-top {
		min-width: 320px;
		padding: 0 35px;
		box-sizing: border-box;
		margin-top: 38px;
	}
	.w-top .fairslide_after .box_01 {
		margin-top: 20px;
		margin-bottom: 40px;
	}
	.w-top .fairslide_after .title_01 {
		font-size: 1.4rem;
		line-height: 1.46;
		text-align: center;
	}
	.w-top .fairslide_after .text_01 {
		text-align: center;
		font-size: 1.2rem;
	}
	.w-top .bridalSec .inner .list .btn {
		width: 54.6875vmin;
		max-width: none;
		height: 28px;
		font-size: 12px;
		line-height: 28px;
	}
}

.partyreportSec .inner .btn {
	width: 265px;
	margin: 0 auto;
	display: block;
	position: relative;
	position: relative;
	display: block;
}

.partyreportSec .inner .btn::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1px solid #44605F;
}

.partyreportSec .inner .btn::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 16.5px;
	width: 3px;
	height: 3px;
	border-top: 1px solid #053735;
	border-right: 1px solid #053735;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: center center;
	transform-origin: center center;
}

.w-top .partyreportSec .inner .title,
.w-top .partyreportSec .inner .title .en {
	color: #053735;
}

.w-top .partyreportSec .inner .btn {
	background: #053735;
	border-color: #053735;
	color: #F8F7EC;
}

.w-top .partyreportSec .inner .btn::before {
	border-color: #053735;
}

@media screen and (max-width: 1000px) {
	.partyreportSec .inner .btn {
		width: calc(100% - 40px);
	}
    .w-top .partyreportSec .inner .list .slide {
        width: 54.6875vmin;
    }
    .w-top .bridalSec .inner .title {
    margin-bottom: 0px;
    padding-bottom: 0;
        line-height: 16px;
}
    .w-top .partyreportSec {
        padding: 30px 0 0;
    }
    .w-top .partyreportSec {
    background: #ffffff;
}
    .w-top .banquetSec {
        padding: 50px 0 50px;
    }
.w-top .weddingPlanSec {
    background: #ffffff;
        padding: 50px 0 0px;
}
    .w-top .ceremonySec .inner figure {
    }
    .w-top .weddingPlanSec .inner .title {
    margin-bottom: 30px;
}
    main {
        overflow: auto;
    }
.box_01 .title_01 {
    font-size: 2.4rem!important;
    letter-spacing: .1em;
}
    .box_01 {
        margin-bottom: 5rem!important;
    }
    .w-top .ceremonySec {
        padding: 10px 0 0px;
    }
    .w-top .conceptSec {
        padding: 10px 0 2rem;
    }
    .w-top .contentsSec .inner .block + .block {
    margin-top: 50px;
}
    .w-top .contentsSec {
        margin-top: 50px;
        padding-bottom: 0px;
    }
    .bl_present_top .wrap .wedding-present-slides .slide {
        padding: 25px 20px;
    }
    .bl_present_top {
        margin-bottom: 0px;
    }
        .w-top .conceptSec .inner .btn {
    }
    .w-top .conceptSec .inner .btn {
max-width: 100%;
    display: block;
    position: relative;
    margin: 30px auto;
    position: relative;
    display: block;
}
.w-top .mvSec .inner .content .w-title {
        font-size: 4.2rem!important;
        line-height: 1.2!important;
    }
   .ly_cont_md {
        margin-bottom: 0rem!important;
    }

}
@media screen and (max-width: 1000px) {
	    .bridalSec {
        padding-top: 10px !important;
        padding-bottom: 40px;
    }
	.w-top .fairslide_after .box_01 {
		margin-bottom: 0px!important;
	}
	.w-top .fairslide_after .title_01 {
		font-size: 1.5rem !important;
		letter-spacing: .05em;
	}
}
.w-top .conceptSec .inner .btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto 0;
    width: 14px;
    height: 14px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #44605F;
}
.w-top .conceptSec .inner .btn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 16.5px;
    width: 3px;
    height: 3px;
    border-top: 1px solid #053735;
    border-right: 1px solid #053735;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
}



/*PC表示は下記に記載*/
@media screen and (min-width:1031px) {
    .w-top .partyreportSec {
    background: #ffffff;
    padding: 20px 0 20px;
}
.w-top .partyreportSec .inner {
    padding-bottom: 40px;
}
.box_01 .title_01 {
    font-size: 38px;
}
.text_01 {
    margin-top: 15px;
    line-height: 1.8;
}
.text_01 p {
    margin-top: 15px;
    line-height: 1.8;
}
.fairslide {
    padding-top: 0px;
    padding-bottom: 35px;
    background: #ededed;
}
.w-top .ceremonySec {
    padding: 40px 0 0px;
}
.w-top .banquetSec {
    padding: 80px 0 80px;
}
.w-top .contentsSec {
padding-bottom: 70px;
    margin-top: 80px;
}
.w-top .weddingPlanSec {
    background: #ffffff;
    padding: 30px 0 40px;
}
.w-top .conceptSec .inner .btn {
 width: calc(100% - 80px);
    max-width: 265px;
    display: block;
    position: relative;
    margin: 30px auto;
    position: relative;
    display: block;
    }
    .w-top .conceptSec .inner .text .read p {
    margin-bottom: 15px;
}
    .w-top .conceptSec .inner .btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto 0;
    width: 14px;
    height: 14px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #44605F;
}
.w-top .conceptSec .inner .btn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 16.5px;
    width: 3px;
    height: 3px;
    border-top: 1px solid #053735;
    border-right: 1px solid #053735;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transform-origin: center center;
}
.title_03 {
    margin-top: 5px;
}
	/*w-top*/
	.contentsnavSec {
		padding: 100px 0;
		border-top: 1px solid #D8D8D1;
	}

	.contentsnavSec .inner .title {
		color: #44605F;
		text-align: center;
		margin-bottom: 30px;
	}

	.contentsnavSec .inner .title .en {
		font-size: 2.8rem;
	}

	.contentsnavSec__lst {
		width: calc(100vw - 40px);
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.contentsnavSec__lst li {
		width: calc((100% - 100px) / 6);
		text-align: center;
		color: #44605F;
		font-size: 1.3rem;
		position: relative;
	}

	.contentsnavSec__lst li img {
		margin-bottom: 15px;
	}

	.contentsnavSec__lst li a {
		font-size: 1.2rem;
		text-decoration: underline;
	}

	.contentsnavSec__lst li a:before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
		outline: none;
		border-bottom: 0px;
		opacity: 0;
		transition: opacity 0.2s;
	}

	.contentsnavSec__lst a:hover:before {
		background: #fff;
		filter: alpha(opacity=20);
		opacity: 0.2;
	}

	/*ceremony*/
	.w-ceremony .outlineSec__report {
		width: 600px;
		margin: 50px auto 35px;
		padding: 40px 0 0;
		border-top: 1px solid #D8D8D1;
	}

	.w-ceremony .outlineSec .outlineSec__report .midashi .en {
		font-size: 1.8rem;
		letter-spacing: 1px;
		margin-bottom: 3px;
	}

	.w-ceremony .outlineSec__report__lst {
		width: 90%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.w-ceremony .outlineSec__report__lst li {
		width: calc((100% - 30px) / 2);
		text-align: center;
		color: #44605F;
		font-size: 1.2rem;
		position: relative;
	}

	.w-ceremony .outlineSec__report__lst li img {
		margin-bottom: 15px;
	}

	.w-ceremony .outlineSec__report__lst li p {
		margin-bottom: 10px;
		line-height: 2;
	}

	.w-ceremony .outlineSec__report__lst li a {
		text-decoration: underline;
	}

	.w-ceremony .outlineSec__report__lst li a:before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
		outline: none;
		border-bottom: 0px;
		opacity: 0;
		transition: opacity 0.2s;
	}

	.w-ceremony .outlineSec__report__lst a:hover:before {
		background: #fff;
		filter: alpha(opacity=20);
		opacity: 0.2;
	}

	/*familywedding*/
	.w-familywedding .pageheadSec {
		padding-bottom: 20px;
	}

	.w-familywedding .introSec {
		padding-bottom: 70px;
	}

	.w-familywedding .introSec .inner .catch {
		font-size: 2rem;
		line-height: 2;
		color: #44605F;
		margin-bottom: 20px;
		text-align: center;
	}

	.w-familywedding .introSec .inner .read {
		line-height: 2;
		text-align: center;
		margin-bottom: 1em;
	}

	.w-familywedding__sec {
		padding: 100px 0;
	}

	.w-familywedding__sec .inner .midashi {
		text-align: center;
		margin-bottom: 70px;
		color: #44605F;
	}

	.w-familywedding__sec .inner .midashi .en {
		font-size: 2.5rem;
		letter-spacing: 1px;
	}

	.w-familywedding .flowSec {
		background: #F0F0E9;
	}

	.w-familywedding .flowSec .inner .block .flexBox {
		display: flex;
		align-items: center;
	}

	.w-familywedding .flowSec .inner .block .flexBox .photo {
		width: 48%;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text {
		width: 52%;
		padding-left: 9%;
		position: relative;
		box-sizing: border-box;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi {
		color: #44605F;
		margin-bottom: 20px;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi .en {
		font-size: 2.4rem;
		margin-bottom: 15px;
		letter-spacing: .05em;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi .ja {
		font-size: 1.8rem;
		letter-spacing: .05em;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi .ja::after {
		content: "";
		display: block;
		height: 1px;
		background: #D3D3C8;
		margin-top: 20px;
		margin-left: -22%;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .read {
		line-height: 2;
	}

	.w-familywedding .flowSec .inner .block:nth-of-type(even) .flexBox {
		flex-direction: row-reverse;
	}

	.w-familywedding .pointSec .inner {
		margin-bottom: 100px;
	}

	.w-familywedding .pointSec .inner .list {
		display: flex;
		justify-content: space-between;
	}

	.w-familywedding .pointSec .inner .list .card {
		width: 30%;
	}

	.w-familywedding .pointSec .inner .list .card .komidashi {
		font-size: 2rem;
		text-align: center;
		line-height: 1.6;
		margin-bottom: 10px;
		color: #053735;
	}

	.w-familywedding .pointSec .inner .list .card figure {
		margin-bottom: 20px;
	}

	.w-familywedding .pointSec .inner .list .card .catch {
		font-size: 2rem;
		color: #053735;
		margin-bottom: 10px;
	}

	.w-familywedding .specialSec {
		background: #F0F0E9;
	}

	.w-familywedding .specialSec .inner .midashi {
		margin-bottom: 25px;
	}

	.w-familywedding .specialSec .inner .midashi .ja {
		font-size: 2rem;
		letter-spacing: 1px;
		margin: 20px 0 0;
	}

	.w-familywedding .specialSec .inner .note {
		text-align: center;
		margin-bottom: 30px;
	}

	.w-familywedding .w-plan .archiveSec {
		padding-top: 0;
		padding-bottom: 0;
	}

	.w-familywedding .bl_present {
		margin-bottom: 60px;
	}

	.w-familywedding .bl_present .midashi {
		display: none;
	}

	.w-familywedding .btn {
		width: 265px;
		margin: 0 auto;
		position: relative;
		position: relative;
		display: block;
	}

	.w-familywedding .btn::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin: auto;
		width: 14px;
		height: 14px;
		border-radius: 50%;
		background: #FFFFFF;
		border: 1px solid #44605F;
	}

	.w-familywedding .btn::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 16.5px;
		width: 3px;
		height: 3px;
		border-top: 1px solid #053735;
		border-right: 1px solid #053735;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: center center;
		transform-origin: center center;
	}
    

	/*
	.w-familywedding .specialSec .bl_present .wrap .wedding-present-slides {
		width: calc(100% - 40px);
		max-width: 1200px;
		margin: 0 auto;
		padding:60px 0 0;
		display:flex; flex-wrap: wrap;
		justify-content:space-between;
	}
	.w-familywedding .specialSec .bl_present .wrap .wedding-present-slides .slide {
		width: calc((100% - 40px) / 3);
		margin:0 0 20px;
		box-sizing: border-box;
	}
	*/

	.w-familywedding .faq .contentSec {
		background: inherit;
		padding: 100px 0;
	}

	.w-familywedding .faq .contentSec .inner .midashi {
		text-align: center;
		margin-bottom: 70px;
		font-size: inherit;
		background: none;
	}

	.w-familywedding .faq .contentSec .inner .box {
		margin-bottom: 40px;
	}

	.w-familywedding .faq .contentSec .inner .box .faqs {
		background: inherit;
		padding: 0 20%;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt {
		padding: 15px 40px;
		font-size: 1.5rem;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt .icon {
		top: 5px;
		font-size: 2.2rem;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt:before,
	.w-familywedding .faq .contentSec .inner .box dl dt.active:before {
		top: 15px !important;
		width: 20px;
		height: 20px;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt:after,
	.w-familywedding .faq .contentSec .inner .box dl dt.active:after {
		top: 26px !important;
		right: 18px;
		width: 5px;
		height: 5px;
	}

	.w-familywedding .faq .contentSec .inner .box dl dd .icon {
		left: 2px;
		font-size: 2.2rem;
	}

	.w-familywedding .faq .contentSec .inner .box dl dd {
		padding: 15px 0 15px 40px;
	}

}

	@media screen and (max-width: 1000px) {
		.w-familywedding .btn {
			width: calc(100% - 40px);
		}
	}


/*SP表示は下記に記載*/
@media screen and (max-width:1030px) {

	/*w-top*/
	.contentsnavSec {
		padding: 70px 0;
		border-top: 1px solid #D8D8D1;
	}

	.contentsnavSec .inner .title {
		color: #44605F;
		text-align: center;
		margin-bottom: 30px;
	}

	.contentsnavSec .inner .title .en {
		font-size: 2.8rem;
	}

	.contentsnavSec__lst {
		width: calc(100vw - 40px);
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.contentsnavSec__lst li {
		width: calc((100% - 20px) / 3);
		text-align: center;
		color: #44605F;
		font-size: 1.2rem;
		margin-bottom: 26px;
		position: relative;
	}

	.contentsnavSec__lst li img {
		margin-bottom: 13px;
	}

	.contentsnavSec__lst li a {
		font-size: 1.2rem;
		text-decoration: underline;
	}

	.contentsnavSec__lst li a:before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
		outline: none;
		border-bottom: 0px;
	}

	/*ceremony*/
	.w-ceremony .outlineSec__report {
		margin: 50px auto 0;
		padding: 40px 0 0;
		border-top: 1px solid #D8D8D1;
	}

	.w-ceremony .outlineSec .outlineSec__report .midashi .en {
		font-size: 1.6rem;
		letter-spacing: 1px;
		margin-bottom: 3px;
	}

	.w-ceremony .outlineSec__report__lst {
		width: 80%;
		margin: 0 auto;
	}

	.w-ceremony .outlineSec__report__lst li {
		text-align: center;
		color: #44605F;
		font-size: 1.2rem;
		position: relative;
		margin-bottom: 24px;
	}

	.w-ceremony .outlineSec__report__lst li:last-child {
		margin-bottom: 0;
	}

	.w-ceremony .outlineSec__report__lst li img {
		margin-bottom: 15px;
	}

	.w-ceremony .outlineSec__report__lst li p {
		margin-bottom: 10px;
		line-height: 2;
	}

	.w-ceremony .outlineSec__report__lst li a {
		text-decoration: underline;
	}

	.w-ceremony .outlineSec__report__lst li a:before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: -9999px;
		outline: none;
		border-bottom: 0px;
	}

	/*familywedding*/
	.w-familywedding .pageheadSec {
		padding-bottom: 20px;
	}

	.w-familywedding .introSec {
		padding-bottom: 60px;
	}

	.w-familywedding .introSec .inner .catch {
		font-size: 1.8rem;
		line-height: 1.8;
		color: #44605F;
		margin-bottom: 20px;
		text-align: center;
	}

	.w-familywedding .introSec .inner .read {
		line-height: 2;
		margin-bottom: 1em;
	}

	.w-familywedding__sec {
		padding: 60px 0 70px;
	}

	.w-familywedding__sec .inner .midashi {
		text-align: center;
		margin-bottom: 40px;
		color: #44605F;
	}

	.w-familywedding__sec .inner .midashi .en {
		font-size: 2.2rem;
		letter-spacing: 1px;
	}

	.w-familywedding .flowSec {
		padding: 60px 0 70px;
		background: #F0F0E9;
	}

	.w-familywedding .flowSec .inner {
		width: calc(100% - 40px);
		margin: 0 auto;
	}

	.w-familywedding .flowSec .inner .block {
		margin-bottom: 45px;
	}

	.w-familywedding .flowSec .inner .block:last-child {
		margin-bottom: 0;
	}

	.w-familywedding .flowSec .inner .block .flexBox .photo.sp_view {
		width: 100%;
		margin-bottom: 25px;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text {
		width: 100%;
		padding: 0;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi {
		color: #44605F;
		margin-bottom: 20px;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi .en {
		font-size: 2rem;
		margin-bottom: 15px;
		letter-spacing: .05em;
		display: inline;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi .ja {
		font-size: 1.7rem;
		letter-spacing: .05em;
		display: inline;
		padding-left: 0.5em;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .komidashi .ja::after {
		content: "";
		display: block;
		height: 1px;
		background: #D3D3C8;
		margin-top: .5em;
	}

	.w-familywedding .flowSec .inner .block .flexBox .text .read {
		line-height: 2;
	}

	.w-familywedding .flowSec .inner .block:nth-of-type(even) .flexBox {
		flex-direction: row-reverse;
	}


	.w-familywedding .pointSec .inner .list {
		display: block;
	}

	.w-familywedding .pointSec .inner .list .card {
		width: 100%;
		margin-bottom: 40px;
	}

	.w-familywedding .pointSec .inner .list .card .komidashi {
		font-size: 2rem;
		text-align: center;
		line-height: 1.6;
		margin-bottom: 10px;
		color: #053735;
	}

	.w-familywedding .pointSec .inner .list .card figure {
		margin-bottom: 20px;
	}

	.w-familywedding .pointSec .inner .list .card .catch {
		font-size: 1.6rem;
		color: #053735;
		margin-bottom: 10px;
	}

	.w-familywedding .specialSec {
		padding: 60px 0 70px;
		background: #F0F0E9;
	}

	.w-familywedding .specialSec {
		padding: 60px 0 70px;
		background: #F0F0E9;
	}

	.w-familywedding .bl_present {
		margin-bottom: 40px;
	}

	.w-familywedding .bl_present .midashi {
		display: none;
	}

	.w-familywedding .btn {
		width: calc(100% - 40px);
		margin: 0 auto;
		position: relative;
		position: relative;
		display: block;
	}

	.w-familywedding .btn::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin: auto;
		width: 14px;
		height: 14px;
		border-radius: 50%;
		background: #FFFFFF;
		border: 1px solid #44605F;
	}

	.w-familywedding .btn::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 16.5px;
		width: 3px;
		height: 3px;
		border-top: 1px solid #053735;
		border-right: 1px solid #053735;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: center center;
		transform-origin: center center;
	}

	.w-familywedding .faq .contentSec {
		background: inherit;
		padding: 60px 0 70px;
	}

	.w-familywedding .faq .contentSec .inner .midashi {
		text-align: center;
		margin-bottom: 40px;
		font-size: inherit;
		background: none;
	}

	.w-familywedding .faq .contentSec .inner .box {
		margin-bottom: 40px;
	}

	.w-familywedding .faq .contentSec .inner .box .faqs {
		background: inherit;
		padding: 0;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt {
		padding: 15px 50px;
		font-size: 1.4rem;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt .icon {
		top: 8px;
		left: 20px;
		font-size: 2rem;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt:before,
	.w-familywedding .faq .contentSec .inner .box dl dt.active:before {
		top: 17px !important;
		width: 18px;
		height: 18px;
		right: 20px;
	}

	.w-familywedding .faq .contentSec .inner .box dl dt:after,
	.w-familywedding .faq .contentSec .inner .box dl dt.active:after {
		top: 27px !important;
		right: 27px;
		width: 5px;
		height: 5px;
	}

	.w-familywedding .faq .contentSec .inner .box dl dd .icon {
		left: 22px;
		font-size: 2rem;
	}

	.w-familywedding .faq .contentSec .inner .box dl dd {
		padding: 15px 20px 15px 50px;
	}

}

.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .title,
.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .title .en,
.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .title .ja,
.w-top .ceremonySec .inner .title,
.w-top .ceremonySec .inner .title .en,
.w-top .ceremonySec .inner .title .ja,
.w-top .ceremonySec .inner .catch,
.w-top .banquetSec .inner .title,
.w-top .banquetSec .inner .title .en,
.w-top .banquetSec .inner .title .ja,
.w-top .banquetSec .inner .catch,
.w-top .contentsSec .inner .block .name,
.w-top .contentsSec .inner .block .name .en,
.w-top .contentsSec .inner .block .name .ja,
.w-top .contentsSec .inner .block .copy,
.w-top .conceptSec .inner > .w-primary-title,
.w-top .conceptSec .inner > .w-primary-title .en,
.w-top .conceptSec .inner .text .title,
.w-top .conceptSec .inner .text .copy {
	color: #053735;
}

.w-top .w-primary-title {
	margin-bottom: 8px !important;
}

.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption .btn,
.w-top .ceremonySec .inner .btn,
.w-top .banquetSec .inner .btn,
.w-top .contentsSec .inner .block .btn,
.w-top .conceptSec .inner .btn {
	background: #053735;
	border-color: #053735;
	color: #F8F7EC;
}

.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption .btn::before,
.w-top .ceremonySec .inner .btn::before,
.w-top .banquetSec .inner .btn::before,
.w-top .contentsSec .inner .block .btn::before,
.w-top .conceptSec .inner .btn::before {
	border-color: #053735;
}

.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption .btn::after,
.w-top .ceremonySec .inner .btn::after,
.w-top .banquetSec .inner .btn::after,
.w-top .contentsSec .inner .block .btn::after,
.w-top .conceptSec .inner .btn::after {
	border-top-color: #053735;
	border-right-color: #053735;
}

@media screen and (max-width: 768px) {
	.w-top {
		--w-top-sp-gutter: 35px;
		--w-top-sp-section: 56px;
		--w-top-sp-image-gap: 22px;
		--w-top-sp-copy-gap: 14px;
		--w-top-sp-text-gap: 24px;
	}

	.w-top main {
		overflow-x: hidden;
	}

	.w-top .partyreportSec .inner .title .en,
	.w-top .conceptSec .inner > .w-primary-title .en,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .title .en,
	.w-top .ceremonySec .inner .title .en,
	.w-top .banquetSec .inner .title .en,
	.w-top .contentsSec .inner .block .name .en {
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .title .ja,
	.w-top .ceremonySec .inner .title .ja,
	.w-top .banquetSec .inner .title .ja,
	.w-top .contentsSec .inner .block .name .ja {
		font-size: 1.2rem;
	}

	.w-top .ceremonySec .inner .catch,
	.w-top .banquetSec .inner .catch,
	.w-top .contentsSec .inner .block .copy,
	.w-top .conceptSec .inner .text .title,
	.w-top .conceptSec .inner .text .copy {
		font-size: 1.6rem;
	}

	.w-top .ceremonySec .inner .read,
	.w-top .banquetSec .inner .read,
	.w-top .contentsSec .inner .block .read,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption .read,
	.w-top .conceptSec .inner .text .read {
		font-size: 1.2rem;
	}

	.w-top .partyreportSec .inner .list .slide .caption {
		font-size: 1.2rem;
		line-height: 1.6;
	}

	.w-top .partyreportSec {
		padding: 30px 0 0;
	}

	.w-top .partyreportSec .inner,
	.w-top .conceptSec .inner,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner,
	.w-top .ceremonySec .inner,
	.w-top .banquetSec .inner,
	.w-top .contentsSec .inner {
		width: calc(100% - (var(--w-top-sp-gutter) * 2));
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}

	.w-top .partyreportSec .inner .title,
	.w-top .conceptSec .inner > .w-primary-title,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .title,
	.w-top .ceremonySec .inner .title,
	.w-top .banquetSec .inner .title,
	.w-top .contentsSec .inner .block .name {
		margin-bottom: var(--w-top-sp-image-gap);
	}

	.w-top .w-primary-title {
		margin-bottom: 4px !important;
	}

	.w-top .partyreportSec .inner .list {
		width: calc(100% + (var(--w-top-sp-gutter) * 2));
		margin-left: calc(var(--w-top-sp-gutter) * -1);
		margin-bottom: var(--w-top-sp-text-gap);
	}

	.w-top .conceptSec {
		padding: var(--w-top-sp-section) 0 0;
	}

	.w-top .weddingPlanSec:not(.weddingPresentSec) {
		padding: 30px 0 0;
	}

	.w-top .ceremonySec {
		padding: var(--w-top-sp-section) 0 0;
	}

	.w-top .ceremonySec + .ceremonySec {
		padding-top: calc(var(--w-top-sp-section) - var(--w-top-sp-text-gap));
	}

	.w-top .banquetSec {
		padding: var(--w-top-sp-section) 0;
	}

	.w-top .contentsSec {
		margin-top: var(--w-top-sp-section);
		padding-bottom: var(--w-top-sp-section);
	}

	.w-top .contentsSec .inner .block {
		margin-bottom: 0;
	}

	.w-top .contentsSec .inner .block + .block {
		margin-top: var(--w-top-sp-section);
	}

	.w-top .conceptSec .inner .photo,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .figure,
	.w-top .ceremonySec .inner figure,
	.w-top .banquetSec .inner figure,
	.w-top .contentsSec .inner .block figure {
		width: 100vw;
		max-width: none;
		height: 76vw;
		min-height: 280px;
		max-height: 316px;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		margin-bottom: var(--w-top-sp-image-gap);
	}

	.w-top .conceptSec .inner .photo figure,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .figure,
	.w-top .ceremonySec .inner figure,
	.w-top .banquetSec .inner figure,
	.w-top .contentsSec .inner .block figure {
		overflow: hidden;
	}

	.w-top .conceptSec .inner .photo figure img,
	.w-top .conceptSec .inner .photo figure picture,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .figure img,
	.w-top .ceremonySec .inner figure img,
	.w-top .banquetSec .inner figure img,
	.w-top .contentsSec .inner .block figure img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.w-top .conceptSec .inner .text,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption {
		width: 100%;
		max-width: none;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}

	.w-top .ceremonySec .inner .catch,
	.w-top .banquetSec .inner .catch,
	.w-top .contentsSec .inner .block .copy,
	.w-top .conceptSec .inner .text .title,
	.w-top .conceptSec .inner .text .copy {
		margin-bottom: var(--w-top-sp-copy-gap);
		padding: 0;
		line-height: 1.65;
	}

	.w-top .ceremonySec .inner .read,
	.w-top .banquetSec .inner .read,
	.w-top .contentsSec .inner .block .read,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption .read,
	.w-top .conceptSec .inner .text .read {
		margin-bottom: var(--w-top-sp-text-gap);
		padding: 0;
		line-height: 1.85;
		text-align: center;
	}

	.w-top .conceptSec .inner .text .read p {
		margin-bottom: 16px;
	}

	.w-top .conceptSec .inner .text .read p:last-of-type {
		margin-bottom: 0;
	}

	.w-top .partyreportSec .inner .btn,
	.w-top .weddingPlanSec:not(.weddingPresentSec) .inner .caption .btn,
	.w-top .ceremonySec .inner .btn,
	.w-top .banquetSec .inner .btn,
	.w-top .contentsSec .inner .block .btn,
	.w-top .conceptSec .inner .btn {
		box-sizing: border-box;
		width: calc(100% + 34px);
		max-width: none;
		min-height: 38px;
		height: auto;
		margin-left: -17px;
		margin-right: -17px;
		margin-top: 0;
		margin-bottom: 0;
		padding: 8px 34px 8px 15px;
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 1px;
	}

	.w-top .contentsSec .inner .block .btn,
	.w-top .conceptSec .inner .btn {
		margin-left: -17px;
		margin-right: -17px;
	}

	.w-top .conceptSec .inner .text .read .btn {
		margin-top: var(--w-top-sp-text-gap);
	}
	.w-banquet .banquetSec .inner .img {
    margin: 0 0 30px;
}
}

@media screen and (max-width: 768px) {
	.w-banquet .banquetSec.__orientalroom .inner .img,
	.w-banquet .banquetSec.__grandroom .inner .img,
	.w-banquet .banquetSec.__markroom .inner .img,
	.w-banquet .banquetSec.__parkroom .inner .img {
		width: calc(100% + 80px);
		margin: 0 0 30px -40px;
	}

	.w-banquet .banquetSec.__orientalroom .inner .img figure,
	.w-banquet .banquetSec.__grandroom .inner .img figure,
	.w-banquet .banquetSec.__markroom .inner .img figure,
	.w-banquet .banquetSec.__parkroom .inner .img figure,
	.w-banquet .banquetSec.__orientalroom .inner .img img,
	.w-banquet .banquetSec.__grandroom .inner .img img,
	.w-banquet .banquetSec.__markroom .inner .img img,
	.w-banquet .banquetSec.__parkroom .inner .img img {
		width: 100%;
	}

	.w-banquet .banquetSec.__orientalroom .inner .img img,
	.w-banquet .banquetSec.__grandroom .inner .img img,
	.w-banquet .banquetSec.__markroom .inner .img img,
	.w-banquet .banquetSec.__parkroom .inner .img img {
		display: block;
		height: auto;
	}
}

/* Wedding lower pages: keep report cards aligned with the wedding top. */
.weddingTemplate .partyreportSec .inner .list {
	max-width: 900px;
	margin: 0 auto 35px;
}

.weddingTemplate .partyreportSec .inner .list .slide {
	box-sizing: border-box;
	margin: 0 22.5px;
}

.weddingTemplate .partyreportSec .inner .list.slides3:not(.slick-initialized) {
	display: flex;
	overflow: hidden;
}

.weddingTemplate .partyreportSec .inner .list.slides3:not(.slick-initialized) .slide {
	flex: 0 0 calc(33.333333% - 45px);
	min-width: 0;
}

.weddingTemplate .partyreportSec .inner .list .slide .caption,
.weddingTemplate .partyreportSec .inner .list .slide .caption p {
	font-family: 游ゴシック体, "Yu Gothic", YuGothic, Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.weddingTemplate .partyreportSec .inner .list .slide a {
	display: block;
}

.weddingTemplate .partyreportSec .inner .list .slide figure {
	aspect-ratio: 27 / 18;
	height: auto;
	max-height: none;
	margin-bottom: 10px;
	overflow: hidden;
}

.weddingTemplate .partyreportSec .inner .list .slide figure img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
}

@media screen and (max-width: 1000px) {
	.weddingTemplate .partyreportSec .inner .list {
		width: calc(100% + 40px);
		max-width: none;
		margin-left: -20px;
	}

	.weddingTemplate .partyreportSec .inner .list .slide {
		width: 54.6875vmin;
		padding: 0;
		margin: 0 10px;
	}

	.weddingTemplate .partyreportSec .inner .list.slides3:not(.slick-initialized) .slide {
		flex-basis: 54.6875vmin;
	}

	.weddingTemplate .partyreportSec .inner .list .slide figure {
		max-height: none;
	}

	.weddingTemplate .partyreportSec .inner .list .slide figure img {
		max-height: none;
	}

	.weddingTemplate .partyreportSec .inner .list .slide .caption {
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 768px) {
	.weddingTemplate .partyreportSec .inner {
		width: calc(100% - 70px);
		max-width: none;
	}

	.weddingTemplate .partyreportSec .inner .title {
		margin-bottom: 22px;
	}

	.weddingTemplate .partyreportSec .inner .title .en {
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.weddingTemplate .partyreportSec .inner .list {
		width: calc(100% + 70px);
		margin-left: -35px;
		margin-bottom: 24px;
	}

	.weddingTemplate .partyreportSec .inner .list .slide .caption {
		font-size: 1.2rem;
	}

	.weddingTemplate .partyreportSec .inner .btn {
		box-sizing: border-box;
		width: calc(100% + 34px);
		max-width: none;
		min-height: 38px;
		height: auto;
		margin: 0 -17px;
		padding: 8px 34px 8px 15px;
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 1px;
	}
}

/* Wedding font and fair iframe stability. */
.weddingTemplate {
	--mgh-yugothic-font: 游ゴシック体, "Yu Gothic", YuGothic, Helvetica, Arial, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--mgh-mincho-font: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-family: var(--mgh-yugothic-font);
}

.weddingTemplate :where(h1, h2, h3, h4, h5, h6, p, span, a, li, dt, dd, th, td, button, input, textarea, select):not(.reemkufi):not(.mincho):not(.mincho *) {
	font-family: var(--mgh-yugothic-font);
}

.weddingTemplate .reemkufi {
	font-family: "Reem Kufi", var(--mgh-yugothic-font);
}

.weddingTemplate .mincho {
	font-family: var(--mgh-mincho-font);
}

.weddingTemplate .partyreportSec .inner .list .slide .caption,
.weddingTemplate .partyreportSec .inner .list .slide .caption p {
	font-family: var(--mgh-yugothic-font);
}

.weddingTemplate .bridalSec .fairIframeWrap {
	height: 550px !important;
	min-height: 550px !important;
	max-height: 550px !important;
	overflow: hidden;
	contain: layout paint;
}

.weddingTemplate .bridalSec .fairIframeWrap .pickups-original {
	display: block;
	width: 100% !important;
	border: 0 !important;
}

.weddingTemplate .bridalSec .fairIframeWrap .pickups-original.pc_view {
	height: 550px !important;
	min-height: 550px !important;
	max-height: 550px !important;
}

.weddingTemplate .bridalSec .fairIframeWrap .pickups-original.sp_view {
	display: none !important;
}

@media screen and (max-width: 1000px) {
	.weddingTemplate .bridalSec .fairIframeWrap {
		height: 360px !important;
		min-height: 360px !important;
		max-height: 360px !important;
	}

	.weddingTemplate .bridalSec .fairIframeWrap .pickups-original.pc_view {
		display: none !important;
	}

	.weddingTemplate .bridalSec .fairIframeWrap .pickups-original.sp_view {
		display: block !important;
		width: 100% !important;
		height: 360px !important;
		min-height: 360px !important;
		max-height: 360px !important;
		margin-right: 0;
		margin-left: 0;
	}
}

/* Wedding lower pages: bridal fair button matches the wedding top. */
.weddingTemplate .bridalSec .inner .list .btn {
	box-sizing: border-box;
	width: 350px;
	max-width: 350px;
	height: 40px;
	min-height: 40px;
	margin: -40px auto 0;
	padding: 0;
	border-radius: 2px;
	font-size: 16px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: .05em;
}

.weddingTemplate .bridalSec .inner .list .btn::before {
	border: 0;
}

.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine, .w-dress) .w-primary-title {
	margin: 0 0 8px !important;
	color: #053735;
	letter-spacing: 0;
	text-align: center;
}

.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine, .w-dress) .w-primary-title .en {
	font-size: 3rem;
	line-height: 1.45;
}

.w-dress .outlineSec .brandBlock .content-box .text .w-primary-title + .catch {
	margin-top: 0;
}

@media screen and (max-width: 1000px) {
	.weddingTemplate .bridalSec .inner .list .btn {
		width: 54.6875vmin;
		max-width: none;
		height: 28px;
		min-height: 28px;
		font-size: 12px;
		line-height: 28px;
		    margin: -30px auto 0;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine, .w-dress) .w-primary-title .en {
		font-size: 2.4rem;
	}
}

/* Wedding lower pages: SP main visuals and lead copy follow the wedding top rhythm. */
@media screen and (max-width: 768px) {
	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine, .w-dress) {
		--w-lower-sp-gutter: 35px;
		--w-lower-sp-image-gap: 22px;
		--w-lower-sp-copy-gap: 14px;
		--w-lower-sp-text-gap: 24px;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine, .w-dress) .w-primary-title {
		margin: 0 0 4px !important;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine, .w-dress) .w-primary-title .en {
		font-size: 2.4rem;
		line-height: 1.45;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine) .mvSec {
		margin-bottom: var(--w-lower-sp-image-gap);
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine) .mvSec .inner,
	.w-dress .outlineSec .brandBlock .content-box .photo figure {
		width: 100vw;
		max-width: none;
		height: 76vw;
		min-height: 280px;
		max-height: 316px;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		overflow: hidden;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine) .mvSec .inner figure,
	.w-dress .outlineSec .brandBlock .content-box .photo figure {
		height: 100%;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine) .mvSec .inner figure img,
	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet, .w-cuisine) .mvSec .inner figure picture,
	.w-dress .outlineSec .brandBlock .content-box .photo figure img,
	.w-dress .outlineSec .brandBlock .content-box .photo figure picture {
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		object-fit: cover;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet) .outlineSec {
		padding: 0 0 50px;
	}

	.w-cuisine .outlineSec {
		margin-bottom: 70px;
	}

	.w-cuisine .mvSec .inner {
		margin-bottom: 0;
	}

	.w-dress .outlineSec .brandBlock .content-box .photo {
		width: 100vw;
		margin: 0 calc(50% - 50vw) var(--w-lower-sp-image-gap);
	}

	.w-dress .outlineSec .brandBlock .content-box .photo figure {
		margin-left: 0;
		margin-right: 0;
	}

	.w-dress .outlineSec .brandBlock .content-box .text,
	.w-cuisine .outlineSec .inner,
	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet) .outlineSec .inner {
		width: calc(100% - (var(--w-lower-sp-gutter) * 2));
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}

	.w-cuisine .outlineSec .inner .content-box .text {
		width: 100%;
		margin: 0 0 var(--w-lower-sp-text-gap);
		padding: 0;
		text-align: center;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet) .outlineSec .inner .catch,
	.w-cuisine .outlineSec .inner .content-box .text .catch,
	.w-dress .outlineSec .brandBlock .content-box .text .catch {
		margin: 0 0 var(--w-lower-sp-copy-gap);
		padding: 0;
		color: #053735;
		font-family: var(--mgh-yugothic-font);
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.65;
		letter-spacing: 0;
		text-align: center;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet) .outlineSec .inner .read,
	.w-cuisine .outlineSec .inner .content-box .text .read,
	.w-dress .outlineSec .brandBlock .content-box .text .read {
		margin: 0 0 var(--w-lower-sp-text-gap);
		padding: 0;
		font-size: 1.2rem;
		line-height: 1.85;
		text-align: center;
	}

	.weddingTemplate:not(.w-top):is(.w-ceremony, .w-banquet) .outlineSec .inner .specification {
		text-align: center;
	}
}

/* Wedding access: match the HP revision layout. */
.weddingTemplate.access .accessInfoSec {
	padding: 0px 0 42px;
}

.weddingTemplate.access .accessInfoSec .inner,
.weddingTemplate.access .accessLead {
	text-align: center !important;
}

.weddingTemplate.access .accessLead {
	color: #053735;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.04em;
}

.weddingTemplate.access .accessRouteSec {
	padding: 0 200px 80px;
}

.weddingTemplate.access .accessRouteSec figure img {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1000px) {
	.weddingTemplate.access .accessInfoSec {
		padding: 0px 0 36px;
	}

	.weddingTemplate.access .accessLead {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.weddingTemplate.access .accessRouteSec {
		padding: 0 0 42px;
	}
}
