@charset "utf-8";

/*==============================================

	クリスタルインターナショナル
	LGBTQ婚

==============================================*/
#contents main {
	font-family: 'Noto Serif JP', "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	background: #F7F3ED;
}

/*================================
	mv
================================*/
.mv {
	position: relative;
}
.mv_img {
	display: flex;
}
.mv_img figure {
	width: 50%;
	text-align: right;
}
.mv_img img {
	width: 100%;
	display: block;
}
.mv_ttl {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: .2em;
	color: #fff;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.mv_ttl img {
	display: block;
	margin: 0 auto .4rem;
	width: 56.86rem;
}
@media only screen and (max-width: 768px) {
	.mv_img {
		display: block;
	}
	.mv_img figure {
		width: auto;
	}
	.mv_ttl {
		bottom: calc(4 / 390 * 100vw);
		font-size: calc(18 / 390 * 100vw);
	}
	.mv_ttl img {
		margin: 0 auto calc(3 / 390 * 100vw);
		width: calc(246.62 / 390 * 100vw);
	}
}

/*================================
	intro
================================*/
.intro {
	position: relative;
	padding-top: 9rem;
	margin-bottom: 8rem;
}
.intro_img {
	max-width: 140rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	align-items: flex-start;
}
.intro_img figure:nth-child(1) {
	width: 33.5714%;
	margin-top: 9rem;
}
.intro_img figure:nth-child(2) {
	width: 24.7143%;
	margin-left: auto;
}
.intro_img figure:nth-child(3) {
	width: 12.5%;
	position: absolute;
	bottom: 0;
	left: 48.9286%;
}
.intro_img figure:nth-child(4) {
	width: 32.8571%;
	position: absolute;
	bottom: 0;
	left: 62.1429%;
}
.intro_box {
	max-width: 88rem;
	background: rgba(255, 255, 255, .8);
	color: #534741;
	position: absolute;
	left: 0;
	right: 0;
	top: -5rem;
	margin: 0 auto;
	text-align: center;
	padding: 8.3rem 0;
}
.intro_box h2 {
	font-size: 2.6rem;
	letter-spacing: .15em;
	font-weight: 400;
	text-align: center;
	margin-bottom: 2.2rem;
}
.intro_txt p {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: .1em;
	line-height: 2.3077;
}
.intro_en {
	font-family: "Yrsa", serif;
	font-weight: 300;
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: .05em;
	line-height: 1.8;
	margin-top: 2rem;
	color: #918985;
}
@media only screen and (max-width: 768px) {
	.intro {
		padding-top: calc(80 / 390 * 100vw);
		margin-bottom: calc(50 / 390 * 100vw);
	}
	.intro_img {
		display: block;
	}
	.intro_img figure:nth-child(1) {
		width: calc(216 / 390 * 100vw);
		margin-top: 0;
	}
	.intro_img figure:nth-child(2) {
		width: calc(220 / 390 * 100vw);
		margin-top: calc(50 / 390 * 100vw);
	}
	.intro_img figure:nth-child(3) {
		width: calc(120 / 390 * 100vw);
		position: static;
		margin: calc(263 / 390 * 100vw) 0 0;
	}
	.intro_img figure:nth-child(4) {
		width: calc(263 / 390 * 100vw);
		bottom: calc(40 / 390 * 100vw);
		left: auto;
		right: 0;
	}
	.intro_box {
		max-width: calc(350 / 390 * 100vw);
		top: calc(-40 / 390 * 100vw);
		padding: calc(80 / 390 * 100vw) 0 calc(35 / 390 * 100vw);
	}
	.intro_box h2 {
		font-size: calc(26 / 390 * 100vw);
		line-height: 1.5;
		margin-bottom: 3rem;
	}
	.intro_txt p {
		text-align: left;
		margin: 0 calc(30 / 390 * 100vw);
		font-size: calc(13 / 390 * 100vw);
		letter-spacing: .05em;
		line-height: 2;
	}
	.intro_txt p + p {
		margin-top: calc(20 / 390 * 100vw);
	}
	.intro_en {
		text-align: left;
		font-size: calc(15 / 390 * 100vw);
		margin: calc(20 / 390 * 100vw) calc(30 / 390 * 100vw) 0;
	}
}

/*================================
	cta
================================*/
.cta_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40rem;
	background: #C6867F;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	margin: 0 auto;
	height: 6rem;
}
.cta_note {
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: .1em;
	margin-top: 1.1rem;
}
@media only screen and (max-width: 768px) {
	.cta_btn {
		width: calc(330 / 390 * 100vw);
		font-size: calc(14 / 390 * 100vw);
		height: calc(60 / 390 * 100vw);
	}
	.cta_note {
		font-size: calc(12 / 390 * 100vw);
		margin-top: calc(10 / 390 * 100vw);
	}
}

/*================================
	mind
================================*/
.mind {
	margin: 2.9rem 0 6rem;
}
.mind h2 {
	max-width: 110rem;
	margin: 0 auto 3.5rem;
	font-weight: 500;
	color: #B1866E;
	font-size: 1.6rem;
	letter-spacing: .1em;
}
.mind h2 span {
	font-family: 'Yrsa', serif;
	display: block;
	font-weight: 400;
	font-size: 1.8rem;
	letter-spacing: .1em;
}
.mind_item {
	display: flex;
	align-items: flex-end;
}
.mind_item + .mind_item {
	margin-top: 8rem;
}
.mind_item:nth-child(2n+1) {
	flex-direction: row-reverse;
}
.mind figure {
	width: calc(50% + 14rem);
	margin-bottom: 4.97rem;
}
.mind_item:nth-child(2n+1) figure {
	margin-bottom: 7.9rem;
}
.mind_item:nth-child(4) figure {
	margin-bottom: 11rem;
}
.mind_box {
	width: 62.5rem;
	min-height: 44.4rem;
	padding: 2.4rem 7rem 6.2rem;
	background: rgba(255, 255, 255, .9);
	margin: 0 0 0 -14rem;
	position: relative;
	color: #534741;
}
.mind_item:nth-child(2n+1) .mind_box {
	margin: 0 -16.5rem 0 0;
}
.mind_box h3 {
	position: absolute;
	top: -4.57rem;
	right: 0;
	width: fit-content;
}
.mind_item:nth-child(2n+1) .mind_box h3 {
	left: .3rem;
	right: auto;
}
.mind_point {
	color: #B1866E;
	letter-spacing: .1em;
	font-size: 1.6rem;
	font-family: 'Yrsa', serif;
	margin-bottom: 4.2rem;
}
.mind_item:nth-child(2n+1) .mind_point {
	margin-bottom: 2.5rem;
}
.mind_item:nth-child(4) .mind_point {
	margin-bottom: 2.8rem;
}
.mind_point::before {
	content: '';
	display: block;
	width: 12rem;
	height: .1rem;
	background: #CEC3BA;
	position: absolute;
	left: -7rem;
	top: 4rem;
}
.mind_item:nth-child(2n+1) .mind_point::before {
	left: auto;
	right: -7rem;
}
.mind_point span {
	font-size: 2rem;
	letter-spacing: .1em;
}
.mind_box h4 {
	font-size: 2.2rem;
	line-height: 1.6;
	letter-spacing: .15em;
	font-weight: 400;
	margin-bottom: 2.1rem;
}
.mind_txt {
	font-size: 1.3rem;
	letter-spacing: .1em;
	line-height: 2;
}
.mind_txt span {
	color: #B1866E;
}
.mind_en {
	font-family: "Yrsa", serif;
	font-weight: 300;
	font-size: 1.5rem;
	color: #918985;
	line-height: 1.7;
	letter-spacing: .05em;
	margin-top: 2rem;
	text-align: left;
}
@media only screen and (max-width: 768px) {
	.mind {
		margin: calc(68 / 390 * 100vw) 0 calc(60 / 390 * 100vw);
	}
	.mind h2 {
		margin: 0 calc(30 / 390 * 100vw) calc(33 / 390 * 100vw);
		font-size: calc(16 / 390 * 100vw);
	}
	.mind h2 span {
		font-size: calc(18 / 390 * 100vw);
	}
	.mind_item {
		display: block;
	}
	.mind_item + .mind_item {
		margin-top: calc(60 / 390 * 100vw);
	}
	.mind figure {
		width: auto;
		margin-bottom: 0;
	}
	.mind_item:nth-child(2n+1) figure,
	.mind_item:nth-child(4) figure {
			margin-bottom: 0;
	}
	.mind_box {
		width: calc(350 / 390 * 100vw);
		min-height: 0;
		padding: calc(42 / 390 * 100vw) calc(30 / 390 * 100vw) calc(38 / 390 * 100vw);
		margin: calc(-30 / 390 * 100vw) auto 0;
	}
	.mind_item:nth-child(2n+1) .mind_box {
		margin: calc(-30 / 390 * 100vw) auto 0;
	}
	.mind_box h3 {
		width: calc(226 / 390 * 100vw);
		filter: brightness(0) invert(1);
		top: calc(-41 / 390 * 100vw);
	}
	.mind_item:nth-child(2n+1) .mind_box h3 {
		width: calc(340.89 / 390 * 100vw);
		top: calc(-36 / 390 * 100vw);
		left: calc(5 / 390 * 100vw);
	}
	.mind_point {
		font-size: calc(16 / 390 * 100vw);
		margin-bottom: calc(23 / 390 * 100vw);
	}
	.mind_item:nth-child(2n+1) .mind_point,
	.mind_item:nth-child(4) .mind_point {
			margin-bottom: calc(23 / 390 * 100vw);
	}
	.mind_point::before {
		display: none;
	}
	.mind_point span {
		font-size: calc(20 / 390 * 100vw);
	}
	.mind_box h4 {
		font-size: calc(20 / 390 * 100vw);
		letter-spacing: .15em;
		margin-bottom: calc(15 / 390 * 100vw);
	}
	.mind_txt {
		font-size: calc(13 / 390 * 100vw);
		letter-spacing: .05em;
		text-align: left;
	}
	.mind_en {
		font-size: calc(15 / 390 * 100vw);
		margin-top: calc(20 / 390 * 100vw);
	}
	.mind_item:nth-child(2n+1) .mind_en,
	.mind_item:nth-child(4) .mind_en {
		margin-top: calc(13 / 390 * 100vw);
	}
}

/*================================
	plan
================================*/
.plan {
	margin: 9.8rem 0 8rem;
}
.plan_main {
	max-width: 130rem;
	width: calc(100% - 4rem);
	margin: 0 auto 11rem;
	position: relative;
}
.plan_main::after {
	content: '';
	display: block;
	width: .1rem;
	height: 12rem;
	background: #CEC3BA;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -7rem;
	margin: 0 auto;
}
.plan_main h2 {
	position: absolute;
	left: 0;
	right: 0;
	top: .5rem;
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 1.4rem;
	color: #fff;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: .1em;
}
.plan_item {
	display: flex;
	align-items: center;
	gap: 10rem;
	color: #534741;
}
.plan_item figure {
	width: calc(50% - 10rem);
}
.plan_box {
	flex: 1;
	padding: 4rem 0 0;
}
.plan_main + .plan_item .plan_box {
	padding: 0 0 2.6rem;
}
.plan_box h3 {
	font-size: 1.8rem;
	letter-spacing: .1em;
	font-weight: 400;
	margin-bottom: 1.2rem;
}
.plan_item + .plan_item {
	border-top: .1rem solid #CEC3BA;
	margin-top: 8.1rem;
}
.plan_price {
	font-size: 1.3rem;
	letter-spacing: .05em;
	margin-bottom: 1.4rem;
}
.plan_price span {
	font-size: 2rem;
	color: #B1866E;
	letter-spacing: .1em;
	margin: 0 .5rem 0 1.4rem;
}
.plan_txt {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.1538;
}
.plan_en {
	font-family: "Yrsa", serif;
	font-weight: 300;
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: .05em;
	color: #918985;
	margin-top: 2.3rem;
}
@media only screen and (max-width: 768px) {
	.plan {
		margin: calc(75 / 390 * 100vw) 0 calc(40 / 390 * 100vw);
	}
	.plan_main {
		width: 100%;
		margin: 0 auto calc(80 / 390 * 100vw);
		position: relative;
	}
	.plan_main::after {
		height: calc(80 / 390 * 100vw);
		bottom: calc(-40 / 390 * 100vw);
	}
	.plan_main h2 {
		width: calc(322 / 390 * 100vw);
		margin: 0 auto;
		top: calc(32 / 390 * 100vw);
		gap: calc(8 / 390 * 100vw);
		font-size: calc(13 / 390 * 100vw);
	}
	.plan_item {
		display: block;
	}
	.plan_item figure {
		width: calc(360 / 390 * 100vw);
		margin: 0 0 0 auto;
	}
	.plan_box,
	.plan_main + .plan_item .plan_box {
		width: calc(360 / 390 * 100vw);
		margin: 0 0 0 auto;
		padding: calc(29 / 390 * 100vw) calc(30 / 390 * 100vw) 0 0;
	}
	.plan_box h3 {
		font-size: calc(18 / 390 * 100vw);
		margin-bottom: calc(8 / 390 * 100vw);
	}
	.plan_item + .plan_item {
		margin-top: calc(63 / 390 * 100vw);
	}
	.plan_price {
		font-size: calc(13 / 390 * 100vw);
		margin-bottom: calc(13 / 390 * 100vw);
	}
	.plan_price span {
		font-size: calc(20 / 390 * 100vw);
		margin: 0 calc(5 / 390 * 100vw) 0 calc(14 / 390 * 100vw);
	}
	.plan_txt {
		font-size: calc(13 / 390 * 100vw);
	}
	.plan_en {
		font-size: calc(15 / 390 * 100vw);
		margin-top: calc(15 / 390 * 100vw);
	}
}

/*================================
	venues
================================*/
.venues {
	background: rgba(206, 195, 186, .2);
	color: #534741;
	position: relative;
	margin: 12.5rem 0 0;
	padding: 9.3rem 0 10rem;
}
.venues::before {
	content: '';
	display: block;
	width: .1rem;
	height: 10rem;
	background: #CEC3BA;
	position: absolute;
	left: 0;
	right: 0;
	top: -4rem;
	margin: 0 auto;
}
.venues h2 {
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 400;
	margin-bottom: 2.5rem;
}
.venues h2 img {
	display: block;
	margin: 0 auto 1.1rem;
	width: 44.6rem;
}
.venues_txt {
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .1em;
}
.venues_list {
	overflow: hidden;
	margin-top: 4.5rem;
	position: relative;
}
.venues_slider {
	max-width: 48.8rem;
	margin: 0 auto;
}
.venues_item {
	width: 48rem;
	margin: 0 .4rem;
	float: left;
}
.venues_item a {
	display: block;
	color: inherit;
}
.venues h3 {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: .05em;
	font-weight: 400;
	margin: 2.2rem 0 1.2rem;
}
.venues h3 span {
	display: block;
	font-size: 2rem;
	font-family: 'Yrsa', serif;
	letter-spacing: .1em;
	margin-bottom: .4rem;
}
.venues_area {
	text-align: center;
	width: fit-content;
	min-width: 9rem;
	border: .1rem solid #534741;
	font-size: 1.2rem;
	letter-spacing: .05em;
	margin: 0 auto;
	padding: 0 0 .2rem;
	line-height: 1.5;
}
.venues .slick-track::after {
	content: '';
	display: block;
	clear: both;
}
.venues_more {
	width: 12rem;
	margin: 2.6rem auto 0;
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: .05em;
	border-bottom: .1rem solid #534741;
	padding-bottom: .6rem;
}
.venues .slick-slider {
	overflow: visible;
}
.venues .slick-prev,
.venues .slick-next {
	appearance: none;
	display: block;
	border: 0;
	width: 3.2rem;
	height: 3.2rem;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	background: #B1866E;
	position: absolute;
	top: 14.6rem;
	right: 13.4rem;
	overflow: hidden;
	text-indent: -99rem;
	z-index: 10;
}
.venues .slick-prev::before,
.venues .slick-next::before {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-top: .1rem solid #fff;
	border-right: .1rem solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: -.4rem;
	right: 0;
	bottom: 0;
	margin: auto;
}
.venues .slick-prev {
	right: auto;
	left: 13.4rem;
	transform: scale(-1, 1);
}
@media only screen and (max-width: 768px) {
	.venues {
		margin: calc(81 / 390 * 100vw) 0 0;
		padding: calc(81 / 390 * 100vw) 0 calc(80 / 390 * 100vw);
	}
	.venues::before {
		height: calc(80 / 390 * 100vw);
		top: calc(-30 / 390 * 100vw);
	}
	.venues h2 {
		font-size: calc(13 / 390 * 100vw);
		margin-bottom: calc(23 / 390 * 100vw);
	}
	.venues h2 img {
		margin: 0 auto calc(11 / 390 * 100vw);
		width: calc(322.86 / 390 * 100vw);
	}
	.venues_txt {
		line-height: 2;
		font-size: calc(14 / 390 * 100vw);
	}
	.venues_list {
		margin-top: calc(50 / 390 * 100vw);
	}
	.venues_slider {
		max-width: 100%;
	}
	.venues_item {
		max-width: 100%;
		margin: 0;
	}
	.venues_item figure img {
		height: calc(293 / 390 * 100vw);
		object-fit: cover;
	}
	.venues h3 {
		font-size: calc(13 / 390 * 100vw);
		margin: calc(22 / 390 * 100vw) 0 calc(10 / 390 * 100vw);
	}
	.venues h3 span {
		font-size: calc(20 / 390 * 100vw);
		margin-bottom: calc(3 / 390 * 100vw);
	}
	.venues_area {
		min-width: calc(90 / 390 * 100vw);
		font-size: calc(12 / 390 * 100vw);
		padding: 0 0 calc(2 / 390 * 100vw);
	}
	.venues_more {
		width: calc(120 / 390 * 100vw);
		margin: calc(26 / 390 * 100vw) auto 0;
		font-size: calc(12 / 390 * 100vw);
		padding-bottom: calc(6 / 390 * 100vw);
	}
	.venues .slick-prev,
	.venues .slick-next {
		width: calc(32 / 390 * 100vw);
		height: calc(32 / 390 * 100vw);
		top: calc(131 / 390 * 100vw);
		right: calc(15 / 390 * 100vw);
	}
	.venues .slick-prev::before,
	.venues .slick-next::before {
		width: calc(6 / 390 * 100vw);
		height: calc(6 / 390 * 100vw);
		left: calc(-4 / 390 * 100vw);
	}
	.venues .slick-prev {
		right: auto;
		left: calc(15 / 390 * 100vw);
	}
}

/*================================
	voice
================================*/
.voice {
	color: #534741;
	position: relative;
	padding: 10rem 0 9rem;
}
.voice::before {
	content: '';
	display: block;
	width: .1rem;
	height: 10rem;
	background: #CEC3BA;
	position: absolute;
	left: 0;
	right: 0;
	top: -4rem;
	margin: 0 auto;
}
.voice h2 {
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 400;
	margin-bottom: 5.6rem;
}
.voice h2 img {
	display: block;
	margin: 0 auto 1.6rem;
	width: 13.9rem;
}
.voice_box {
	width: 110rem;
	max-width: calc(100% - 4rem);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6rem;
}
.voice_item_head {
	display: flex;
	align-items: center;
	margin-bottom: 3.1rem;
}
.voice_item_head figure {
	width: 21.2rem;
}
.voice_info {
	flex: 1;
	padding-left: 3rem;
}
.voice_info h3 {
	font-size: 1.6rem;
	letter-spacing: .1em;
	font-feature-settings: "palt";
	line-height: 2;
	font-weight: 400;
	margin-bottom: 1.2rem;
	text-align: left;
}
.voice_info dl {
	display: grid;
	grid-template-columns: 5.8rem auto;
	gap: .5rem 0;
}
.voice_info dt {
	font-size: 1.4rem;
	letter-spacing: .05em;
	font-family: 'Yrsa', serif;
	padding-top: .2rem;
}
.voice_info dd {
	font-size: 1.3rem;
	letter-spacing: .05em;
}
.voice_txt p {
	font-size: 1.3rem;
	line-height: 2.1538;
	letter-spacing: .05em;
}
.voice_img {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	margin-top: 10rem;
}
.voice_img img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.voice_instagram {
	padding: 6rem 0 0;
	text-align: center;
}
.voice_instagram a {
	width: fit-content;
	margin: 0 auto;
	display: block;
	color: #B1866E;
	font-size: 1.6rem;
	letter-spacing: .1em;
	font-family: 'Yrsa', serif;
}
.voice_instagram img {
	width: 2rem;
	display: block;
	margin: 0 auto 1.1rem;
}
@media only screen and (max-width: 768px) {
	.voice {
		padding: calc(82 / 390 * 100vw) 0 calc(68 / 390 * 100vw);
	}
	.voice::before {
		height: calc(80 / 390 * 100vw);
		top: calc(-30 / 390 * 100vw);
	}
	.voice h2 {
		font-size: calc(13 / 390 * 100vw);
		margin-bottom: calc(36 / 390 * 100vw);
	}
	.voice h2 img {
		margin: 0 auto calc(18 / 390 * 100vw);
		width: calc(117.5 / 390 * 100vw);
	}
	.voice_box {
		width: calc(330 / 390 * 100vw);
		max-width: none;
		display: block;
	}
	.voice_item + .voice_item {
		border-top: .1rem solid #CEC3BA;
		margin-top: calc(28 / 390 * 100vw);
		padding-top: calc(30 / 390 * 100vw);
	}
	.voice_item_head {
		margin-bottom: 1rem;
		padding-bottom: calc(70 / 390 * 100vw);
		position: relative;
	}
	.voice_item_head figure {
		width: calc(130 / 390 * 100vw);
	}
	.voice_info {
		padding-left: calc(15 / 390 * 100vw);
	}
	.voice_info h3 {
		font-size: calc(15 / 390 * 100vw);
		margin-bottom: 0;
	}
	.voice_info dl {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		grid-template-columns: calc(58 / 390 * 100vw) auto;
		gap: 0;
	}
	.voice_info dt {
		font-size: calc(14 / 390 * 100vw);
		padding-top: calc(2 / 390 * 100vw);
	}
	.voice_info dd {
		font-size: calc(13 / 390 * 100vw);
	}
	.voice_txt p {
		font-size: calc(13 / 390 * 100vw);
		line-height: 2;
	}
	.voice_img {
		grid-template-columns: repeat(3, 1fr);
		margin-top: calc(78 / 390 * 100vw);
	}
	.voice_instagram {
		padding: calc(50 / 390 * 100vw) 0 0;
	}
	.voice_instagram a {
		font-size: calc(16 / 390 * 100vw);
	}
	.voice_instagram img {
		width: calc(20 / 390 * 100vw);
		margin: 0 auto calc(11 / 390 * 100vw);
	}
}

/*================================
	faq
================================*/
.faq {
	color: #534741;
	padding-bottom: 10.8rem;
}
.faq_inner {
	max-width: 90%;
	width: calc(50% + 55rem);
	margin: 0 0 0 auto;
	display: flex;
}
.faq h2 {
	width: 30rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 400;
}
.faq h2 span {
	font-weight: 300;
	font-family: 'Yrsa', serif;
	letter-spacing: .15em;
	font-size: 3.4rem;
	line-height: 1.4;
	display: block;
}
.faq dl {
	flex: 1;
	margin-top: 3.7rem;
}
.faq dt {
	font-size: 1.3rem;
	letter-spacing: .1em;
	border-bottom: .1rem solid #CEC3BA;
	margin-bottom: 1.1rem;
	cursor: pointer;
}
.faq dd {
	display: none;
}
.faq dt span:first-child,
.faq dd span:first-child {
	font-family: 'Yrsa', serif;
	font-weight: 300;
	font-size: 2.6rem;
	letter-spacing: .15em;
	position: absolute;
	left: 0;
	top: 0;
}
.faq dt > div,
.faq dd > div {
	font-size: inherit;
	max-width: 80rem;
	position: relative;
	padding: 1.1rem 3.8rem 1.9rem 3.8rem;
}
.faq dd > div {
	line-height: 2.1538;
	padding-bottom: 3rem;
	padding-right: 0;
}
.faq dt > div::before,
.faq dt > div::after {
	content: '';
	display: block;
	width: 1.6rem;
	height: .1rem;
	background: #534741;
	position: absolute;
	right: 0;
	top: 2.2rem;
}
.faq dt:not(.open) > div::after {
	transform: rotate(90deg);
}
@media only screen and (max-width: 768px) {
	.faq {
		padding-bottom: calc(89 / 390 * 100vw);
	}
	.faq_inner {
		max-width: none;
		width: calc(360 / 390 * 100vw);
		display: block;
	}
	.faq h2 {
		width: auto;
		font-size: calc(13 / 390 * 100vw);
	}
	.faq h2 span {
		font-size: calc(34 / 390 * 100vw);
	}
	.faq dl {
		margin-top: calc(37 / 390 * 100vw);
	}
	.faq dt {
		font-size: calc(14 / 390 * 100vw);
		letter-spacing: .05em;
		margin-bottom: calc(11 / 390 * 100vw);
	}
	.faq dd {
		font-size: calc(13 / 390 * 100vw);
		letter-spacing: .05em;
	}
	.faq dt span:first-child,
	.faq dd span:first-child {
		font-size: calc(26 / 390 * 100vw);
	}
	.faq dt > div,
	.faq dd > div {
		max-width: calc(330 / 390 * 100vw);
		padding: calc(11 / 390 * 100vw) calc(30 / 390 * 100vw) calc(17 / 390 * 100vw) calc(28 / 390 * 100vw);
		text-align: left;
		line-height: 2;
	}
	.faq dd > div {
		padding-bottom: calc(27 / 390 * 100vw);
		padding-right: 0;
	}
	.faq dt > div::before,
	.faq dt > div::after {
		width: calc(16 / 390 * 100vw);
		top: calc(26 / 390 * 100vw);
	}
}

/*================================
	contact
================================*/
.contact {
	border-top: .1rem solid #CEC3BA;
	color: #534741;
	padding: 7.7rem 0 7.9rem;
}
.contact h2 {
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 400;
	text-align: center;
	margin-bottom: 3.5rem;
}
.contact h2 span {
	font-weight: 300;
	font-family: 'Yrsa', serif;
	letter-spacing: .15em;
	font-size: 3.6rem;
	line-height: 1.3;
	display: block;
}
@media only screen and (max-width: 768px) {
	.contact {
		padding: calc(60 / 390 * 100vw) 0 calc(55 / 390 * 100vw);
	}
	.contact h2 {
		font-size: calc(13 / 390 * 100vw);
		margin-bottom: calc(28 / 390 * 100vw);
	}
	.contact h2 span {
		font-size: calc(34 / 390 * 100vw);
	}
}



p.txt_en {
	font-family: "Yrsa", serif;
	font-weight: 300;
	font-size: 1.5rem;
	color: #918985;
	line-height: 1.7;
	letter-spacing: .05em;
	margin-top: 2rem;
	text-align: left;
}

.voice p.txt_en {
	margin-top: 2rem;
}

.faq p.txt_en {
	margin-top: .5rem;
}

@media only screen and (max-width: 768px) {
	p.txt_en {
		font-size: calc(15 / 390 * 100vw);
	}
}
