@media screen and (min-width: 0px) { /* product */}
.sp{
	display: none;
}

.mirai{
	font-family: 'Noto Serif SC', serif;
	width: 100vw;
}

.mirai img {
	width: 100%;
	height: auto;
}
.mirai_header_outer {
	background: url("../img/product/mirai_header_bg.jpg") right bottom no-repeat;
	background-size: 50%;
}
.mirai_header {
	width: 1040px;
	height: calc(100vh - 104px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: -128px auto 0;
}

.mirai_header h2, .mirai_wrapper h3 {
	font-size: 32px;
	font-weight: normal;
	margin-bottom: 16px;
	line-height: 1.5;
}
.mirai_header p, .mirai_wrapper p {
	line-height: 1.5;
}
.mirai_hero {
	width: 100%;
	background: #F00;
	margin-bottom: 144px;
}
.mirai_wrapper {
	width: 1040px;
	margin: 0 auto 144px;
}
.mirai_contents {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}
.mirai_wrapper .mirai_contents:nth-child(2) {
	flex-direction: row-reverse;
}
.mirai_text, .mirai_image {
	width: 512px;
}
.mirai_text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ac-parent {
	text-align: right;
	margin-top: 0.5em;
	cursor: pointer;
}
.ac-child {
	display: none;
	padding: 1em 0;
}
.ac-child p {
	margin-bottom: 1em;
}
.ac-child .mirai_profile {
	font-size: 12px;
	line-height: 1.25;
}

.ac-parent svg {
	transition: .3s;
}
.ac-parent.open svg {
	transition: .3s;
	transform: rotate(-90deg);
}
.mirai_explanation {
	display: flex;
	flex-direction: column;
}
.mirai_explanation h3 {
	text-align: center;
}
.mirai_explanation .mirai_wrapper {
	margin-bottom: 0;
}
.mirai_message {
	width: 688px;
	margin: 144px auto;
	padding: 80px;
	background: #F6F8F9;
}
.mirai_message p {
	margin-bottom: 1em;
}
.chairman {
	text-align: right;
	margin-top: 2em;
	margin-bottom: 0;
}
.chairman img {
	width: 192px;
	margin-left: 1em;;
}
.mirai_prices {
	width: 100%;
	background: #F6F8F9;
	text-align: center;
	padding: 24px 54px 32px;
	margin-bottom: 144px;
}
.mirai_prices-title {
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.06em;
	color: #000;
	line-height: 2em;

}
.mirai_prices-title::after {
	content: '';
	display: block;
	height: 0px;
	background: transparent;
	border-bottom: 1px solid #6c6c6c;
}
.mirai_prices-item {
	font-weight: 500;
	font-size: 14px;
	line-height: 29px;
	color: #505050; 
	padding-top: 23px;
}
.mirai_prices-item a {
	padding-left: 10px;
	font-size: 16px;
	color: #222222;
	text-decoration: none;
	cursor: unset;
}

@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.sp img{
		width: 100%;
		height: auto;
	}
	.mirai{
		padding: 0;
	}
	.mirai_header_outer {
		background: url("../img/product/mirai_header_bg_sp.jpg") right bottom no-repeat;
		background-size: contain;
	}
	.mirai_header {
		width: 100%;
		height: 100vh;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 0 16px;
		margin: 0;
	}
	.mirai_header h2, .mirai_wrapper h3 {
		font-size: 24px;
		font-weight: normal;
		margin-bottom: 16px;
		line-height: 1.5;
	}
	.mirai_wrapper {
		width: 100%;
		padding: 0 18px;
		margin-bottom: 144px;
	}
	.mirai_contents {
		display: flex;
		justify-content: center;
		flex-direction: column;
		margin-bottom: 80px;
	}
	.mirai_text, .mirai_image {
		width: 100%;
		margin-bottom: 80px;
	}
	.mirai_wrapper .mirai_contents:nth-child(2) {
		flex-direction: column;
	}
	.mirai_wrapper .mirai_contents:nth-child(2) .mirai_image img {
		width: 100%;
	}
	.mirai_explanation {
		display: flex;
		flex-direction: column-reverse;
	}
	.mirai_explanation .mirai_hero {
		margin-bottom: 0;
	}
	.mirai_explanation .mirai_wrapper {
		margin-bottom: 144px;
	}
	.ac-parent svg {
		width: 48px;
	}
	.mirai_message {
		width: 100%;
		margin: 0 auto 144px;
		padding: 40px 16px;
		background: #F6F8F9;
	}
	.mirai_prices {
		background: none;
		text-align: left;
		padding: 24px 16px;
		margin-bottom: 144px;
	}
	.mirai_prices-item a {
		padding-left: 0;
		text-decoration: underline;
	}


}

@media screen and (max-height: 512px) {
	.mirai_header {
		width: 100%;
		height: 512px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 0 16px;
		margin: 0;
	}

}