/*-----------------------------------------
support-top
------------------------------------------*/
.memoria-address {
	font-weight:700;
	text-align: center;
	line-height: 150%;
	margin-bottom:1em;
}
.memoria-tel {
	text-align: center;
}
.memoria-tel a {
	position: relative;
	display: inline-block;
}
.memoria-tel a:before {
	position: absolute;
	font-family: 'icomoon';
	content: "\e907";
	color:var(--color-main);
	font-weight:400;
}
.memoria-maplink {
	display: block;
}
@media (width < 767px) {
	.memoria-tel a {
		font-size:3.6rem;
		letter-spacing: 0.1em;
		margin-left:48px;
	}
	.memoria-tel a:before {
		left:-54px;
		bottom:0vw;
		font-size:3.2rem;
		width:36px;
		height:36px;
	}
	.memoria-maplink {
		margin:8vw auto;
	}
}
@media (768px <= width) {
	.memoria-tel a {
		font-size:4.8rem;
		letter-spacing: 0.1em;
		margin-left:58px;
	}
	.memoria-tel a:before {
		left:-58px;
		bottom:0px;
		font-size:4.0rem;
		width:40px;
		height:40px;
	}
	.memoria-maplink {
		margin:60px auto;
	}
}
.asymmetry {
	position: relative;
}
.asymmetry-tt {
	z-index: 10;
	color:var(--color-h1);
	font-weight:400;
}
.asymmetry-content {
	position: relative;
	z-index: 1;
}
.asm-right .asymmetry-content {
	background-color:var(--color-earth);
}
.asm-left .asymmetry-content {
	background-color:var(--color-gray);
}
@media (width < 767px) {
	.asymmetry {
		margin-bottom:8vw;
	}
	.asymmetry-tt {
		font-size:var(--font-sp-x-large);
		text-align: center;
		padding:2vw 5vw;
	}
	.asymmetry-content {
		padding:5vw 5vw 8vw 5vw;
	}
	.asymmetry-content p {
		padding-bottom:1.5em;
	}
}
@media (768px <= width) {
	.asymmetry {
		padding-top:45px;
		margin-bottom:100px;
	}
	.asymmetry-tt {
		position: absolute;
		font-size:4.8rem;
		top:-48px;
	}
	.asm-right .asymmetry-tt {
		left:clamp(340px,36vw,480px);
	}
	.asm-left .asymmetry-tt {
		right:clamp(340px,36vw,480px);
	}
	.asymmetry-pic {
		position: absolute;
		z-index: 3;
		top:0;
		width:clamp(360px,38vw,480px);
		min-height:270px;
	}
	.asm-right .asymmetry-pic {
		left:clamp(20px,10vw,150px);
	}
	.asm-left .asymmetry-pic {
		right:clamp(20px,10vw,150px);
	}
	.asymmetry-content {
		padding-top:72px;
		padding-bottom:36px;
		min-height:280px;
	}
	.asm-right .asymmetry-content {
		padding-left:clamp(340px,36vw,480px);
		padding-right:clamp(20px,6vw,150px);
		margin-left:clamp(40px,17.5vw,220px);
	}
	.asm-left .asymmetry-content {
		padding-right:clamp(340px,36vw,480px);
		padding-left:clamp(20px,6vw,150px);
		margin-right:clamp(40px,17.5vw,220px);
	}
	.asymmetry-content p {
		padding-bottom:1.5em;
	}
	.asm-left .asymmetry-content p {
		text-align: right;
	}
	.asm-right .btn {
		margin-left:0;
	}
	.asm-left .btn {
		margin-right:0;
	}
}
@media (width < 767px) {
	.madoguchi-lead .tt-underline span {
		font-size:var(--font-sp-large);
	}
	.madoguchi-lead p {
		padding:1em 0;
	}
}
@media (768px <= width) {
	.madoguchi-lead .tt-underline span {
		font-size:var(--font-pc-large);
	}
	.madoguchi-lead p {
		padding:1.5em 0;
	}
}
.cta-support {
	background-color:var(--color-bgpink);
	border-radius: 5px;
	position: relative;
	z-index: 1;
}
.cta-support h2 {
	position: absolute;
	z-index: 2;
	top:0;
	left:0;
	width:100%;
	transform: translateY(-50%);
	text-align: center;
}
.cta-support p {
	text-align: center;
	font-weight:700;
	padding-bottom:1em;
}
.cta-support-grid a,
.cta-support-souzoku a {
	display: block;
	background-color: var(--color-white);
	border-radius:4px;
	text-align: center;
	position: relative;
	border:1px solid var(--color-white);
}
.cta-support-grid a:hover,
.cta-support-souzoku a:hover {
	color:var(--color-pink);
	border:1px solid var(--color-pink);
}
.cta-support-grid a:before,
.cta-support-souzoku a:before {
	font-family: 'icomoon';
	color:var(--color-main);
	font-weight:400;
	position: relative;
	padding-right:0.5em;
}
.cta-support-grid a:hover:before {
	color:var(--color-pink);
}
.cta-support-tel:before {
	content: "\e907";
}
.cta-support-mail {
	font-weight:700;
}
.cta-support-mail:before {
	content: "\f0e0";
}
@media (width < 767px) {
	.cta-support {
		margin:8vw auto;
		padding:4vw;
	}
	.cta-support-grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 4vw;
	}
	.cta-support-grid a,
	.cta-support-souzoku a {
		padding:3vw 5vw;
		min-height:12vw;
	}
	.cta-support-souzoku {
		padding-top:3vw;
	}
	.cta-support-tel {
		font-size:var(--font-sp-xx-large);
	}
	.cta-support-mail {
		font-size:var(--font-sp-large);
	}
}
@media (768px <= width) {
	.cta-support {
		margin:60px auto;
		padding:40px 24px 24px 24px;
	}
	.cta-support h2 {
		font-size:var(--font-pc-x-large);
	}
	.cta-support-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 29px;
	}
	.cta-support-grid a,
	.cta-support-souzoku a {
		height:64px;
		line-height:64px;
	}
	.cta-support-souzoku {
		max-width:440px;
		padding-top:10px;
		margin-right:auto;
	}
	.cta-support-tel {
		font-size:var(--font-pc-xx-large);
	}
	.cta-support-mail {
		font-size:var(--font-pc-x-large);
	}
}
/*-----------------------------------------
support-three-grid
------------------------------------------*/
.support-three-cel {
	position: relative;
	z-index: 1;
	background-color:var(--color-sand);
	border-radius:5px;
}
.support-three-pic {
	position: absolute;
	top:0;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius:50%;
	overflow: hidden;
}
.support-three-cel h3 {
	color:var(--color-main);
	text-align: center;
	font-weight: 400;
	line-height: 150%;
}
.ceremony-plan {
	display:grid;
	grid-template-columns: 1fr 2fr;
	align-items: center;
	border:1px solid var(--color-border);
	background-color:var(--color-white);
}
.ceremony-plan-pic {
	border-radius: 5px 0 0 5px;
	overflow: hidden;
}
.ceremony-plan h3 {
	color:var(--color-main);
}
.ceremony-plan-price,
.ceremony-plan-yen,
.ceremony-plan-yen span {
	color:var(--color-pink);
	font-weight:700;
}
.ceremony-plan-yen {
	line-height:120%;
}
@media (width < 767px) {
	.support-three-grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 18vw;
		margin-top:16vw;
		margin-bottom:8vw;
	}
	.support-three-cel {
		padding:20vw 5vw 5vw 5vw;
	}
	.support-three-pic {
		width:30vw;
		height:30vw;
	}
	.support-three-cel h3,
	.grid-ceremony2-txt h3 {
		font-size:var(--font-sp-large);
		padding-bottom:2vw;
	}
	.grid-ceremony2-pic {
		border-radius:5px 5px 0 0;
		overflow: hidden;
	}
	.grid-ceremony2-txt {
		padding:5vw;
	}
	.ceremony-plan {
		grid-column-gap:5vw;
	}
	.ceremony-plan-txt h3 {
		font-size:var(--font-sp-x-large);
	}
	.ceremony-plan-price {
		display: inline-block;
		font-size:var(--font-sp-xx-large);
	}
	.ceremony-plan-yen {
		display: inline-block;
		font-size:var(--font-sp-large);
	}
}
@media (768px <= width) {
	.page-mt+.support-three-grid {
		margin-top:80px;
	}
	.support-three-grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 29px;
		margin-top:160px;
		margin-bottom:29px;
	}
	.support-three-cel {
		padding:100px 20px 20px 20px;
	}
	.support-three-pic {
		width:160px;
		height:160px;
	}
	.support-three-cel h3,
	.grid-ceremony2-txt h3 {
		font-size:var(--font-pc-x-large);
	}
	.grid-ceremony2 {
		grid-template-columns: 2fr 1fr;
		grid-column-gap:29px;
		padding:20px;
	}
	.grid-ceremony2-pic {
		grid-area: 1 / 2 / 2 / 3;
	}
	.grid-ceremony2-txt {
		grid-area: 1 / 1 / 2 / 2;
	}
	.ceremony-plan {
		grid-column-gap:29px;
	}
	.ceremony-plan-pic img {
		aspect-ratio:4 /3;
		object-fit: cover;
	}
	.ceremony-plan-txt h3 {
		font-size:4.8rem;
	}
	.ceremony-plan-txt-grid {
		display:flex;
		align-items: flex-end;
	}
	.ceremony-plan-price {
		font-size:7.2rem;
	}
	.ceremony-plan-yen {
		padding-left:1em;
		font-size:var(--font-pc-large);
	}
	.ceremony-plan-yen span {
		display: block;
	}
}
/*-----------------------------------------
modal
------------------------------------------*/
.no_scroll {
	overflow: hidden;
}

/* モーダルウィンドウ */
.modal-window {
	display: none;
	position: fixed;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: var(--color-white);
	border-radius: 5px;
	z-index: 11;
}
/* 閉じるボタン */
.button-close {
	position: absolute;
	bottom:8px;
	left: 50%;
	transform: translateX(-50%);
	width: 200px;
	padding: 0.75em 1em;
	background-color:var(--color-main);
	color:var(--color-white);
	border-radius: 5px;
	cursor: pointer;
}
.modal-window-inner {
	overflow-y: scroll;
}
/* オーバーレイ */
.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	z-index: 10;
}
.modal-cel {
	text-align: center;
}
@media (width < 767px) {
	.modal-window {
		top: 40%;
		width: 90vw;
		height: 120vw;
		padding:5vw;
	}
	.modal-window-inner {
		height:96vw;
	}
	.modal-window-inner h3,
	.modal-window-inner span {
		font-size:var(--font-sp-small);
	}
}
@media (768px <= width) {
	.modal-window {
		top: 50%;
		width: 700px;
		height: 360px;
		padding:15px;
	}
	.modal-window-inner {
		height:280px;
	}
}
/*-----------------------------------------
butudan-kaishu
------------------------------------------*/
.butsudankaishu h2 {
	color:var(--color-main);
	text-align: center;
	position: relative;
	transform: translateY(-50%);
	font-weight: 400;
}
.panel-red {
	max-width:540px;
	margin-left:auto;
	margin-right:auto;
	background-color:var(--color-pink);
	border-radius:5px;
}
.panel-red h3 {
	text-align: center;
	color:var(--color-yellow);
}
.panel-red ul {
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	margin-left:auto;
	margin-right:auto;
}
.panel-red ul li {
	color:var(--color-main);
	background-color:var(--color-white);
	border-radius:5px;
	text-align: center;
}
.kaishu-price h4 {
	color:var(--color-main);
	text-align: center;
}
.kaishu-price table {
	width:100%;
	border-collapse: separate;
	border-spacing: 4px;
	table-layout: fixed;
}
.kaishu-price table th {
	color:var(--color-white);
	text-align: left;
	background-color:var(--color-pink);
}
.kaishu-price.kaishu-option table th {
	background-color:var(--color-main);
}
.kaishu-price table td {
	background-color:var(--color-white);
	text-align: right;
	color:var(--color-pink);
	font-weight:700;
}
.kaishu-price table th,
.kaishu-price table td {
	vertical-align: top;
	line-height:150%;
}
.kaishu-price table th span {
	display: block;
	color:var(--color-white);
}
.kaishu-price table td small {
	color:#333333;
}
.butsudankaishu .pricelist-unit-tt {
	margin-top:2em;
	margin-bottom:1em;
}
@media (width < 767px) {
	.butsudankaishu {
		padding-bottom:10vw;
	}
	.butsudankaishu h2 {
		font-size:var(--font-sp-xx-large);
	}
	.panel-red h3 {
		font-size:var(--font-sp-xx-large);
	}
	.panel-red ul {
		max-width:80vw;
		grid-column-gap: 2vw;
		padding-bottom:4vw;
		margin-bottom:8vw;
	}
	.kaishu-price h4 {
		font-size:var(--font-sp-x-large);
		margin:10px auto;
	}
	.kaishu-price table th,
	.kaishu-price table td {
		padding:4px 8px;
		min-height:60px;
		vertical-align: middle;
	}
	.kaishu-price table th span {
		font-size:var(--font-sp-small);
	}
	.kaishu-price table td {
		font-size:var(--font-sp-x-large);
	}
	.kaishu-price table td small {
		font-size:var(--font-sp-small);
	}
}
@media (768px <= width) {
	.butsudankaishu {
		padding-bottom:60px;
	}
	.butsudankaishu h2 {
		font-size:4.8rem;
	}
	.panel-red h3 {
		font-size:var(--font-pc-xxx-large);
	}
	.panel-red ul {
		max-width:420px;
		grid-column-gap: 8px;
		padding-bottom:16px;
		margin-bottom:16px;
	}
	.kaishu-price h4 {
		font-size:var(--font-pc-x-large);
		margin:10px auto;
	}
	.kaishu-price table th,
	.kaishu-price table td {
		padding:4px 8px;
		height:60px;
		vertical-align: middle;
	}
	.kaishu-price table th span {
		font-size:var(--font-pc-small);
	}
	.kaishu-price table td {
		font-size:var(--font-pc-x-large);
	}
	.kaishu-price table td small {
		font-size:var(--font-pc-small);
	}
}
/*-----------------------------------------
jiin-shokai
------------------------------------------*/
.jiin-box {
	position: relative;
	background-color:#f8f4e8;
	border-radius:6px;
}
.jiin-box h2 {
	position: absolute;
	top:-1em;
	left:0;
	width:100%;
	text-align: center;
}
.bg-jiin-pink {
	background-color:#f4def8;
}
@media screen and (max-width :767px){
	.jiin-box {
		padding:5vw;
		margin-top:5vw;
	}
	.jiin-box h2 {
		font-size:var(--font-sp-x-large);
	}
	.jiin-plan.ceremony-plan {
		display:grid;
		grid-template-columns: 1fr;
	}
	.jiin-plan .ceremony-plan-pic {
		display:none;
	}
	.jiin-plan .ceremony-plan-txt {
		padding:5vw;
	}
	.jiin-plan .ceremony-plan-txt h3 {
		text-align: center;
	}
}
@media (768px <= width) {
	.jiin-box {
		padding:30px 20px 20px 20px;
	}
	.jiin-box h2 {
		font-size:var(--font-pc-x-large);
	}
	.jiin-plan .ceremony-plan-pic img {
		aspect-ratio:1/1;
	}
	.jiin-plan .ceremony-plan-txt {
		padding-right:30px;
	}
}
/*-----------------------------------------
Q&A
------------------------------------------*/
.qa-list dl {
	display:block;
	border-radius:5px;
	border:1px solid var(--color-border);
	box-shadow:0px 2px 3px -1px rgba(0,0,0,0.1);
	overflow: hidden;
	background-color:var(--color-white);
}
.qa-list dt,
.qa-list dd {
	position:relative;
}
.qa-list dt {
	font-weight:700;
	cursor:pointer;
}
.qa-list dd {
	display: none;
}
.qa-list dt:before,
.qa-list dd:before {
	position: absolute;
	left:0;
	text-align: center;
	font-weight:700;
	border-radius: 50%;
	line-height: 100%;
}
.qa-list dt:before {
	content:"Q";
	color:var(--color-main);
}
.qa-list dd:before {
	content:"A";
	color:var(--color-pink);
}
@media screen and (max-width :767px){
	.normal-faq {
		padding-bottom:8vw;
	}
	.qa-list dl {
		margin-bottom:3vw;
	}
	.qa-list dt {
		padding:3vw 3vw 3vw 10vw;
		line-height:150%;
	}
	.qa-list dd {
		padding:3vw 3vw 3vw 10vw;
	}
	.qa-list dt:before,
	.qa-list dd:before {
		width:8vw;
		height:8vw;
		line-height:8vw;
	}
	.qa-list dt:before {
		top:1.5vw;
	}
}
@media screen and (min-width : 768px){
	.normal-faq {
		padding-bottom:40px;
	}
	.qa-list dl {
		margin-bottom:8px;
	}
	.qa-list dt {
		padding:10px 10px 10px 50px;
		line-height:200%;
	}
	.qa-list dd {
		padding:10px 15px 10px 50px;
	}
	.qa-list dt:before,
	.qa-list dd:before {
		width:40px;
		height:40px;
		line-height:40px;
		font-size:var(--font-pc-large);
	}
	.qa-list dt:before {
		top:5px;
	}
}