@charset "UTF-8";
:root{
	--textBrown: #806E45;
	--textGold:#AC9151;
	--pailGold:#C3BBA9;
	--weddingGreen:#76D099;
	--weddingPailGreen:#CEF9DE;
	--weddingDarkGreen:#58C281;
}

#container > .contentBlock01{padding:0 20px 20px;}

.planHead{display: block; margin-bottom: 72px;}
.planHead .planHeadImg{display: block; border-radius: 20px; overflow: hidden; margin-bottom: 21px;}
.planHead .planHeadDetail{}
.planHead .planHeadTitle{text-align: center; color: var(--textBrown); margin-bottom: 18px;}
.planHead .planHeadTitle .textL{font-size: 57px; line-height: 1em;}
.planHead .planHeadTitle .textL.langJp{font-size: 43px;}
.planHead .planHeadTitle .textS{font-size: 27px; display: block; line-height: 1em; margin-top: 7px;}
.planHead .planHeadTitle .textS.langJp{font-size: 28px;}
.planHead .planHeadTitle [class*='text']{display: block;}
.planHead .planHeadTitle [class*='text'] + [class*='text']{margin-top: 7px;}
.planHead .planCategory{display: flex; gap:5px; flex-wrap: wrap; margin-bottom: 20px;}
.planHead .planCategory li{padding: 5px 7px; color: #fff; background-color: var(--pailGold); font-size: 12px; font-weight: bold;}
.planHead .planHeadText{font-size: 17px;}
.planHead .planHeadPrice{font-size: 15px; margin:30px 0 5px}
.planHead .planHeadPrice span{color: var(--textGold); font-size: 21px; font-weight: bold;}
.planHead dl{font-size: 15px; display: flex; flex-wrap: wrap; gap:10px 0; margin: 28px 0;;}
.planHead dl dt{font-weight: bold; white-space: nowrap; width:6em;}
.planHead dl dd{width:calc(100% - 6em)}

.planBonus{margin-bottom: 78px;}
.planBonus .planBonusTitle{font-size: 25px; font-weight: 400; margin-bottom: 10px;}
.planBonus .planBonusList{display: flex; flex-wrap: wrap; padding: 0 6px; gap:20px 30px}
.planBonus .planBonusList .clm{width: calc(50% - 15px);}
.planBonus .planBonusList .clm img{display: block;}
.planBonus .planBonusList .clm figcaption{margin-top: 10px; font-size: 14px;}

.planBonus .planBonusList.special .clm{width: calc(90% - 15px); margin: auto;}

.planTable{display: block; box-sizing: border-box;}
.planTable *{box-sizing: border-box; display: block;}
.planTable caption{background-color: var(--weddingGreen); color: #fff; font-size: 17px; font-weight: bold; padding:13px 15px; width: 100%; display: block;}
.planTable th{border:solid 1px var(--weddingDarkGreen); background-color: var(--weddingPailGreen); font-size: 14px; display: block; font-weight: bold; text-align: left; padding:13px 10px 14px; width: 100%;}
.planTable td{font-size: 14px; padding:14px 10px 14px; background-color: #fff; display: block; width: 100%; border:solid 1px var(--weddingDarkGreen); border-width: 0 1px;}
.planTable tbody tr:last-child td:last-child{border-bottom-width: 1px;}

.planContact{margin:80px 10px 75px;}
.planContact .title{font-size: 21px; font-weight: 400; text-align: center; margin-bottom: 20px;}
.planContactList{display: flex; flex-wrap: wrap; gap:18px}
.planContactList .clm{display: block; width: 100%; background-color: var(--textGold); color: #fff; border-radius: 5px; border:solid 1px var(--textGold); box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.25);}
.planContactList .clm.bgGold{background-color: var(--textGold);}
.planContactList .clm.bgWhite{background-color: #fff; color: #333;}
.planContactList .clm a{display: block; color: inherit; text-align: center; padding:13px 5px;}/* 79px */
.planContactList .clm a:hover{opacity: 0.8;}
.planContactList .textS{font-size: 15px;}
.planContactList .textL{font-size: 21px; display: flex; justify-content: center; align-items: center; gap:7px;}
.planContactList .textL .icon{width: 20px; height: 20px; display: flex; justify-content: center; align-items: center;}
.planContactList .textL .icon img{width: 100%; height: 100%; object-fit: contain;}
.planContactList .textL .text{}

.partyReport{margin-bottom: 50px;}
.partyReport .title{font-size: 21px; text-align: center; font-weight: 400; margin-bottom: 21px;}
.partyReportList{}
.partyReportList .report{display: flex; align-items: flex-start; gap: 18px;}
.partyReportList .report + .report{margin-top: 30px;}
.partyReportList .photo{width: 51%; display: block; border: solid 1px var(--pailGold);}
.partyReportList .entry{width: calc(48% - 18px); padding-top: 2px;}
.partyReportList .entry .date{font-size: 13px; color: var(--textBrown);}
.partyReportList .entry h3{font-size: 15px; font-weight: bold; color: var(--textBrown);}
.partyReportList .entry .lead{font-size: 13px; margin-top: 3px;}
.partyReportList .entry a{display: block; background-color: var(--textGold); font-size: 13px; font-weight: bold; text-align: center; padding: 7px 5px; box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.25); margin-top: 10px; color: #fff; border-radius: 5px;}

@media print, screen and (min-width:500px) and (max-width:767px) {
	.planHead{max-width: 500px; margin-left: auto; margin-right: auto;}
	.planHead .planHeadImg{aspect-ratio: 5 / 4; width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto;}
	.planBonus .planBonusList{justify-content: space-between;}
	.planBonus .planBonusList .clm img{margin:0 auto;}
	.planBonus .planBonusList .clm figcaption{width: fit-content; margin:10px auto 0;}
}

@media print, screen and (min-width:768px) {
	.planHead{display: flex; justify-content: space-between; margin-bottom: 50px;}
	.planHead .planHeadImg{border-radius: 0; width: 53%; max-width: 500px;}
	.planHead .planHeadDetail{width: calc(47% - 40px); padding-top: 20px;}
	.planHead .planHeadTitle{text-align: left; margin-bottom: 21px;}
	.planHead .planHeadTitle .textL{font-size: 58px;}
	.planHead .planHeadTitle .textL.langJp{font-size: 44px; transform:translateX(-5px)}
	.planHead .planHeadTitle .textS{font-size: 30px;}
	.planHead .planHeadTitle .textS.langJp{font-size: 30px;}
	.planHead .planHeadTitle [class*='text'] + [class*='text']{margin-top: 10px;}
	.planHead .planCategory li{font-size: 11px;}
	.planHead .planHeadText{font-size: 16px;}
	.planHead .planHeadPrice{margin: 23px 0 9px; font-size: 14px;}
	.planHead .planHeadPrice span{font-size: 20px;}
	.planHead dl{padding-top: 20px; margin-top: 17px; border-top:solid 1px var(--textGold); font-size: 14px;}
	.planHead dl dt{}
	.planHead dl dd{}

	.planBonus{margin-bottom: 56px;}
	.planBonus .planBonusTitle{margin-bottom: 24px; text-align: center;}
	.planBonus .planBonusList{gap:0 50px; flex-wrap: nowrap; padding:0}
	.planBonus .planBonusList .clm{width: calc(25% - 37.5px);}
	.planBonus .planBonusList .clm figcaption{text-align: center; font-size: 15px;}

	.planBonus .planBonusList.special{flex-wrap: wrap;}
	.planBonus .planBonusList.special .clm{width: calc(33.7% - 37.5px); margin: 20px 0;}

	.planTable{display: table; width: 100%;}
	.planTable caption{font-size: 18px; text-align: left;}
	.planTable tbody{display: table; width: 100%;}
	.planTable tr{display: table-row; width: 100%;}
	.planTable th, .planTable td{display: table-cell; font-size: 13px;}
	.planTable th{width: 200px; text-align: center; padding: 14px 10px 15px;}
	.planTable td{width: calc(100% - 200px); border-width: 1px; padding: 14px 10px 15px;}

	.planContact{margin: 72px auto 89px;}
	.planContact .title{font-size: 24px; margin-bottom: 11px;}
	.planContactList{flex-wrap: nowrap; gap: 0 30px;}
	.planContactList .clm{width: calc(100% / 3);}
	.planContactList .textS{font-size: 14px;}
	.planContactList .textL{font-size: 24px;}
	.planContactList .textL .icon{width: 27px; height: 25px;}
	.planContactList .clm a{padding: 10px 5px;}

	.partyReport .title{font-size: 24px; margin-bottom: 13px;}
	.partyReportList{display: flex; gap:0 30px;}
	.partyReportList .report{display: block; width: calc((100% / 3) - 20px);}
	.partyReportList .photo{width: 100%; margin-bottom: 9px;}
	.partyReportList .entry{width: 100%;}
	.partyReportList .report + .report{margin-top: 0;}
	.partyReportList .entry .date{font-size: 12px;}
	.partyReportList .entry h3{font-size: 14px;}
	.partyReportList .entry .lead{font-size: 12px;}
	.partyReportList .entry a{max-width: 150px; margin: 10px auto 0; font-size: 12px;}

}