@charset "UTF-8";
:root{
	--black: #000;
	--yellow: #adab15;
	--beige: #e5e0cb;
	--beige02: #c2ac50;
	--gray: #606060;
	--NotoSerifJP: "Noto Serif JP", serif;
	--NotoSansJP: "Noto Sans JP", sans-serif;
	--Meiryo: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

main{
	font-family: "Noto Serif JP", serif;
	background:#fff;
	padding-bottom:100px;
	margin-bottom: 0px;
}
/* base */
section.contents{
		padding: 0 0 100px;
}
.sec_inner{
	max-width:1340px;
	margin:auto;
}
.sec_kv{
	margin-bottom: 30px;
	@media (max-width: 750px) {
		margin: 0 calc(50% - 50vw) 20px;
    width: 100vw;
    max-width: unset;
		height: 205px;
	}
}
.p{
	font-family: var(--Meiryo);
	font-size: 12px;
	margin-bottom: 18px;
}
.p_lead{
	font-family: var(--Meiryo);
	font-size: 15px;
	text-align: center;
	margin-bottom: 50px;
	@media (max-width: 750px) {
	font-size: 12px;
	text-align: left;
	}
}
.desc02{
	font-family: var(--Meiryo);
	font-size: 15px;
	text-align: center;
	@media (max-width: 750px) {
	font-size: 12px;
	text-align: left;
	}
}
.p_voice{
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 20px;
}
.tit_01{
	font-size: 25px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	color: var(--black);
	position: relative;
	padding-bottom: 16px;
	margin-bottom: 40px;
	&::before{
		content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background: var(--yellow);
    bottom: -3px;
    left: 0;
	}
	&::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--yellow);
    bottom: -8px;
    left: 0;
}
@media (max-width: 750px) {
		padding-bottom: 0;
		&::before{
			bottom: -15px;
			margin: 0 calc(50% - 50vw);
			width: 100vw;
		}
		&::after{
			bottom: -20px;
			margin: 0 calc(50% - 50vw);
			width: 100vw;
		}
	}
}
.tit_02{
    font-size: 25px;
    padding-left: 10px;
    border-left: 5px solid var(--black);
    letter-spacing: -1px;
		margin-bottom: 15px;
		@media (max-width: 750px) {
			font-size: 20px;
    line-height: 1.5;
    border-left: 3px solid var(--black);
  }
}
.btn_01 {
	margin: 100px 0 0 0;
    padding: 40px 20px;
    background-color: #f2f7f7;
	& div {
        display: flex;
		@media (max-width: 1340px) {
            display: block;
        }
    }
}
.btn_01 a {
		width: 100%;
		max-width: 600px;
    max-height: 80px;
    line-height: 80px;
    color: #fff;
    text-align: center;
    background: #a6840d;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
		font-family: var(--NotoSansJP);
		font-weight: 300;
    margin: 0 auto;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
	@media screen and (max-width: 1340px) {
		padding: 18px 0;
	}
		@media (max-width: 750px) {
			font-size: 20px;
    line-height: 1.5;
		padding: 13px 0;
  }
	&::after{
		    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-left: 10px solid #fff;
    border-bottom: 7px solid transparent;
    margin-top: -7px;
	}
	& + a{
		@media (max-width: 1340px) {
            margin-top: 20px;
        }
	}
}
.scroll-x{
	overflow-x: scroll;
	&::-webkit-scrollbar{
  display: none;
}
}
/* //base */

.breadcrumbs{
	background: transparent;
	border: none;
	margin-top: 0px;
	margin-bottom:50px;
	color:#000;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.breadcrumbs ul{
	overflow: visible;
}
.breadcrumbs li:first-child {
	pointer-event:none;
	position:relative;
}
.breadcrumbs li:first-child:after {
	position:absolute;
	content:"";
	right:0px;
	top:0;
	bottom:0;
	margin:auto;
	width: 7px;
	height: 7px;
	border: 1px solid;
	border-color: #565656 #565656 transparent transparent;
	transform: rotate(45deg);
}
.breadcrumbs li:last-child::before {
	background: none;
}
.breadcrumbs li:last-child {
	background: transparent;
}
.breadcrumbs li {
	display: table;
	float: left;
	background: transparent;
	position: relative;
}
.breadcrumbs li a{
	text-align: left;
	color: #fff;
	padding: 0 10px;
	white-space: nowrap;
}

.breadcrumbs li a span {
	color: #000;
	font-size: 12px;
}

#mv{
	background:url(/images/wedding/mv_wedding.webp);
	min-height: 500px;
	background-size: cover;
	background-position-y: bottom;
	display: flex;
	align-items: center;
	margin-bottom:40px;
}
#mv .sec_inner{
	width: 100%;
}
#mv h1{
	color: #fff;
	font-size: 50px;
	text-shadow: 0 4px 4px #00000055;
	line-height: 1.1;
	letter-spacing: 0.1em;
	font-weight: 400;
	& span{
		font-size:20px;
	}
}
.intro{
	text-align: center;
	color: #9A7100;
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 80px;
	line-height: 150%;
	letter-spacing: 0.1em;
}
/* wed_intro */
#wed_intro .sec_inner{
	position: relative;
}
.box_speech{
	margin-bottom: 36px;
	&.flex{
	justify-content: space-between;
	}
	@media (max-width: 750px) {
	}
}
.item_speech{
		position: relative;
    max-width: 375px;
    width: calc(100% /3);
    height: 233px;
	&::before{
		position: absolute;
		content: '';
		background: url(/images/wedding/speech_pc.webp) no-repeat;
		background-size: contain;
		width: 100%;
		height: 233px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	}
	& p{
		position: absolute;
		width: 100%;
    left: 50%;
    top: 60%;
		font-size: 13px;
		font-weight: 600;
		text-align: center;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	}
	& .num {
		position: absolute;
    left: 50%;
    top: 40%;
    font-size: 20px;
	}
	@media (max-width: 1030px) {
		width: 100%;
    height: 163px;
		&::before{
		content: '';
		background: url(/images/wedding/speech_sp.webp) no-repeat;
		background-size: contain;
		height: 163px;
	}
	& p{
		top: 60%;
	}
	& .num {
		top: 30%;
	}
	}
}
.bg_wednav{
	margin: 0 calc(50% - 50vw) 48px;
	background: var(--beige);
	width: 100vw;
	max-width: unset;
	height: 275px;
	position: relative;
	&::after{
		position: absolute;
		content: '';
		background: url(/images/wedding/img_couple.webp) no-repeat;
		background-size: contain;
		width: 300px;
		height: 300px;
		top: 23px;
		right: calc(50% + 228px);
	}
	@media (max-width: 750px) {
		&::after{
		width: 143px;
		height: 143px;
		top: 0;
		right: unset;
		left: 0;
		}
	}
}
.box_wednav{
		position: absolute;
    right: 0;
    bottom: -48px;
    width: 100%;
    max-width: 888px;
	@media (max-width: 750px) {
		bottom: -30px;
    padding: 0 20px;
	}
}
.box_wednav .p_voice{
		display: flex;
    justify-content: center;
		@media (max-width: 750px) {
    justify-content: end;
		}
}
.list_plan{
		display: flex;
    gap: 40px;
		@media (max-width: 750px) {
    gap: 15px;
		}
}
.nav_plan{
		position: relative;
		background: #C2AC50;
    display: block;
    border-radius: 25px;
    text-align: center;
    padding: 46px 0 48px;
		width: 50%;
		max-width: 423px;
		&::after{
			position: absolute;
			content: '';
			background: url(/images/wedding/arrow_bottom.svg) no-repeat;
			background-size: contain;
			width: 12px;
			height: 10px;
			bottom: 20px;
			left: 50%;
			transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
		}
		& .sub_desc{
			margin-bottom: 26px;
    	line-height: 1.5;
		}
		& .name_nav{
		font-size: 20px;
    font-weight: 600;
		}
		@media (max-width: 750px) {
    max-width: 187px;
    padding: 15px 0 43px;
		& .sub_desc{
		margin-bottom: 10px;
		}
		& .name_nav{
			font-size: 15px;
		}
}}
/* wed_party */
.box_voice {
		display: flex;
    flex-wrap: wrap;
		gap: 10px;
		margin-bottom: 50px;
		@media (max-width: 750px) {
		gap: 20px 10px;
		}
}
.item_voice{
		width: calc(25% - 10px);
    text-align: center;
		& img {
			margin-bottom: 10px;
		}
		@media (max-width: 750px) {
			width: calc(50% - 5px);
		}
}
/* 準備 */
.scroll-x .img_step{
	@media (max-width: 750px) {
	max-width: unset;
	height: 530px;
}
}
/* プラン */
.box_plan{
	background: var(--beige);
	font-family: var(--Meiryo);
	font-size: 12px;
	line-height: 1.5;
	@media (max-width: 750px) {
	padding: 20px calc(50vw - 50%);
	margin: 0 calc(50% - 50vw);
	}
	@media (min-width: 751px) {
		display: grid;
		justify-content: flex-start;
		gap: 20px;
		padding: 20px 20px 20px 0;
		& .gridA{
			grid-column: 2/3;
			grid-row: 1/2;
		}
		& .gridB{
			grid-column: 1/2;
    	grid-row: 1/3;
		}
		& .gridC{
			grid-column: 2/3;
    	grid-row: 2/3;
		}
	}
	& + .box_plan{
		margin-top: 10px;
	}
	& + .tit_02{
		margin-top: 50px;
	}

}
.name_plan{
	font-size: 25px;
	font-family: var(--NotoSerifJP);
	position: relative;
	& span{
		font-size: 14px;
		display: block;
	}
	@media (max-width: 750px) {
		margin-bottom: 10px;
		& span{
		right: 0;
		left: unset;
    bottom: 0;
	}
}}
.thum_plan{
    object-fit: cover;
    height: 100%;
	@media (max-width: 750px) {
		margin: 0 calc(50% - 50vw) 20px;
    width: 100vw;
    max-width: unset;
	}
}
.item_plan{
	font-size: 12px;
	color: var(--gray);
	margin-bottom: 5px;
}

.gridC a {
	width: 200px;
	font-size: 18px;
	font-family: var(--NotoSerifJP);
	text-align: center;
	padding: 5px;
	margin: 0 0 0 auto;
	display: block;
	background: rgb(166, 132, 13);
	border-radius: 3px;
	color: #fff;
	position: relative;
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 0px;
		height: 0px;
		margin-top: -7px;
		border-top: 7px solid transparent;
		border-left: 10px solid rgb(255, 255, 255);
		border-bottom: 7px solid transparent;
	}
	@media screen and (max-width: 1340px) {
		margin: 30px auto 0;
	}
}
.desc + .item_plan{
	margin-top: 20px;
}
/* venu */
.venu_nav{
	display:flex;
	gap:20px;
	justify-content:center;
	color:#9A7100;
	margin-bottom:50px;
}
.venu_nav p{
		text-align: center;
		font-size:12px;
		min-width:70px;
		border:solid 1px #fff;
		border-bottom:solid 1px #9A7100;
		padding:10px 0;
		cursor:pointer;
		transition:all .3s;
}
.venu_nav p:hover{
			border:solid 1px #9A7100;
			border-radius:3px;
}
.venu_wrap{
	display: grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:100px 50px;
}
.venu_wrap a{
	display:none;
	transition: all .3s;
}
.venu_wrap a:hover{
	opacity: .6;
	transition: all .3s;
}
.venu_desc.on{
	display:block;
}
.venu_from{
	font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "MS P明朝", MS PMincho, serif;
	font-size:12px;
	color:#606060;
	margin-bottom:5px;
}
.venu_img{
	display:block;
	margin-bottom:15px;
	height:170px;
	object-fit: cover;
	width: 100%;
}
.venu_ttl{
	font-size:20px;
	margin-bottom:15px;
	font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "MS P明朝", MS PMincho, serif;
}
.venu_desc{
	font-size:12px;
	margin-bottom:20px;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.venu_nop{
	display:grid;
	grid-template-columns:75px 1fr;
	align-items:center;
	height:35px;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	& > p{
		border-right:solid 2px #9A7100;
		height:100%;
		align-items: center;
		display: flex;
	}
	& > div{
		padding-left:30px;
	}
}

@media screen and (max-width: 1340px) {
	.sec_inner{
		max-width: 900px;
		padding:0 20px;
		margin:auto;
	}
	.venu_wrap{
		grid-template-columns:1fr 1fr;
	}
}
@media screen and (max-width: 750px) {
	.sec_inner{
		padding:0 20px;
		margin:auto;
	}
	#breadcrumbs {
			display: block;
	}
	#mv{
		background-size: cover;
		background-position: center;
		margin-bottom:20px;
		min-height: 100%;
		aspect-ratio: 1 / 1;
	}
	#mv h1{
		font-size: 43px;
	}
	.venu_wrap{
		grid-template-columns:1fr;
	}
	.venu_nav{
		gap:20px;
		margin-bottom:50px;
	}
	.venu_nav p{
			padding-bottom:5px;
	}
}

/* setsubi */
.wedTop .setsubi .inner_content,
.wedTop .inner_01{
  	font-family: var(--Meiryo);
}
.wedTop .tbl_01 {
    background: #fff;
    border-top: 1px solid #bebaaa;
    border-left: 1px solid #bebaaa;
}
.wedTop .setsubi .tbl_01 thead th{
  text-align: center;
}
.wedTop .setsubi .tbl_01 td{
	color: #000;
}
@media screen and (max-width: 750px) {
  .wedTop .setsubi .tit_02a {
    margin: 40px 0 0;
}
  .wedTop .box_01,
  .wedTop .inner_01{
  padding: 0;
  }
  .wedTop .setsubi .tbl_01 thead th{
  text-align: center;
}
}

.box_cost{
	font-family: var(--Meiryo);
	& .ttl{
    font-weight: bold;
    margin-bottom: 8px;
	}
}