


section.Contact {
	padding-top: 0;
}

section.FAQ {
	padding-top: 0;
}

h2 {
	margin-top: 0;
}
.Condition h2,
.Merit h2 {
	margin-bottom: 0.5em;
}
.Flow h2 {
	margin-bottom: 0;
}

.Agent h2 {
	color: #DD592D;
}
.Agent h2:not(:first-child) {
	margin-top: 1.5em;
}

@media (max-width: 567px) {
	section {
		padding: 2rem 0;
	}
	h2 {
		font-size: 180%;
	}
	.Advantage h2 {
		font-size: 180%;
	}
	.Cost h2,
	.Merit h2,
	.Flow h2 {
		font-size: 240%;
	}
}

@media (min-width: 568px) {
	section {
		padding: 2.5rem 0;
	}
	section.Advantage {
		padding-top: 4rem;
	}
	section.Condition {
		padding-bottom: 0;
	}

	h2 {
		font-size: 200%;
	}
	.Advantage h2 {
		font-size: 250%;
	}
	.Cost h2,
	.Merit h2 {
		font-size: 400%;
	}
	.Flow h2 {
		font-size: 300%;
	}
}


.About h2 + p {
	font-weight: 500;
}
.About > section {
	margin: 0 auto;
}
.About h3 {
	margin: 0 0 2rem;
	background: #FFDD00;
	font-weight: inherit;
	line-height: 2.5;
	font-size: 150%;
}

.About figure {
	margin: 0;
}

@media (max-width: 567px) {
	.About {
		margin: 0 1rem;
	}
	.About > div {
		margin: 2rem 0 0;
	}
	.About h2 + p {
		font-size: 110%;
	}
}

@media (min-width: 568px) {
	.About h2 + p {
		font-size: 120%;
	}
	.About > div {
		width: 49rem;
		margin: 3rem auto 0;
	}
}

/* ==================== About1 ==================== */

.About1 figcaption {
	margin: 1rem 0 0;
}

/* ==================== About2 ==================== */

.About2 .cost {
	margin-top: 1.5rem;
	display: inline-table;
	position: relative;
}
.About2 .cost::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	bottom: 100%;
	width: 2rem;
	height: 2rem;
	transform: translate(-50%, 50%) scaleX(1.5) rotate(45deg);
	background: #50b748;
}
.About2 .cost dl {
	display: table-cell;
	position: relative;
	vertical-align: bottom;
	line-height: 1;
}
.About2 .cost dl:nth-of-type(n+2) {
	border-left: 1px solid white;
}

.About2 .cost dd {
	color: #FFDD00;
	font-weight: 600;
	margin: 0;
}
.About2 .cost dd strong {
	display: inline-block;
	margin: 0 0.05em;
	font-size: 280%;
	font-weight: inherit;
}
.About2 .cost dl:nth-of-type(2) dd strong {
	font-size: 200%;
}

@media (max-width: 567px) {
	.About2 .cost {
		padding: 0.5rem 0;
	}
	.About2 .cost dl {
		padding: 0.5rem;
		padding-top: 1.5rem;
		min-width: 5rem;
	}
	.About2 .cost dt {
		position: absolute;
		left: 0;
		top: 0.5rem;
		width: 100%;
		font-size: 90%;
	}
	.About2 .cost dd {
		font-size:  150%;
	}
}

@media (min-width: 568px) {
	.About .cost {
		padding: 1rem 0;
	}
	.About2 dl {
		padding: 0 1rem 0.5rem;
		white-space: nowrap;
	}
	.About2 .cost dt,
	.About2 .cost dd {
		display: inline-block;
		vertical-align: bottom;
	}
	.About2 .cost dt {
		transform: translateY(-0.2em);
	}
	.About2 .cost dd {
		margin-left: 0.5rem;
		font-size: 150%;
	}
	.About2 .cost dd strong {
		transform: translateY(0.1em);
	}
}

/* ==================== About3 ==================== */

.About3 .body {
	background-color: #cfebff;
}
.About3 figcaption {
	font-size: 110%;
}
.About3 figure img {
	display: inline-block;
	margin-top: 0.5rem;
}

@media (max-width: 567px) {
	.About3 .body {
		padding: 1rem;
	}

	.About3 figure:nth-of-type(1)::after {
		content: '';
		display: block;
		width: 3rem;
		height: 3rem;
		margin: 0.5rem auto;
		background: url(../images/index/about3_arrow.svg) no-repeat center center;
		background-size: contain;
		transform: rotate(90deg);
	}
}

@media (min-width: 568px) {
	.About3 .body {
		display: table;
		box-sizing: border-box;
		width: 100%;
		padding: 1rem;
	}
	.About3 .body figure {
		display: table-cell;
		vertical-align: top;
	}
	.About3 .body figure:nth-of-type(1) {
		position: relative;
		padding-right: 1rem;
	}
	.About3 .body figure:nth-of-type(2) {
		padding-left: 1rem;
	}

	.About3 .body figure:nth-of-type(1)::after {
		content: '';
		display: block;
		position: absolute;
		left: 100%;
		top: 55%;
		transform: translate(-50%, -50%);
		width: 2rem;
		height: 4rem;
		background: url(../images/index/about3_arrow.svg) no-repeat center center;
		background-size: 1.25rem auto;
	}
}


.Advantage h2 {
	color: #1242a8;
	text-indent: 0.5rem;
}

.Advantage h2 span,
.Advantage h2 strong {
	display: block;
	line-height: 1.2;
}
.Advantage h2 span:nth-of-type(2) {
	text-indent: -0.5em;
}
.Advantage h2 strong {
	font-size: 150%;
	font-weight: 900;
}

.Advantage::before {
	content: '';
	background-url:
		url(../images/index/advantage_back1.png),
		url(../images/index/advantage_back2.png);
	background-repeat: no-repeat;
}

.Advantage ul {
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
}
.Advantage li {
	display: inline-block;
}
.Advantage p {
	display: inline-block;
	border-bottom: 0.2rem solid #DD592D;
	font-weight: 500;
}

@media (max-width: 567px) {
	.Advantage h2 {
		background: url(../images/index/advantage_title_back2_sp.png) no-repeat center bottom;
		background-size: auto 6rem;
	}
	.Advantage h2::before {
		content: '';
		display: block;
		margin-bottom: 1rem;
		width: 100%;
		height: 6rem;
		background: url(../images/index/advantage_title_back1_sp.png) no-repeat center center;
		background-size: contain;
	}
	.Advantage ul {
		position: relative;
		padding-bottom: 3.5rem;
	}
	.Advantage ul::after {
		content: '';
		display: block;
		position: absolute;
		right: 0.5em;
		bottom: 0;
		width: 100%;
		height: 9rem;
		transform: translateY(-0.5rem);
		/*background: url(../images/index/advantage_back_sp.png) no-repeat right bottom;
		background-size: contain;*/
	}
	.Advantage li {
		width: 11rem;
		height: 11rem;
		padding: 0.5rem;
	}
	.Advantage li:nth-of-type(3) {
		margin: -1.6rem 5rem 0;
	}
	.Advantage li:nth-of-type(n+4) {
		width: 10rem;
		height: auto;
		margin-top: -1.2rem;
	}
	.Advantage p {
		position: relative;
		font-size: 120%;
	}
}

@media (min-width: 568px) {
	.Advantage {
		overflow: hidden;
	}
	.Advantage h2 {
		display: inline-block;
		position: relative;
		padding: 0 1.5em;
		background: url(../images/index/advantage_title_back_pc.png) no-repeat center bottom;
		background-size: contain;
	}
	.Advantage h2::before,
	.Advantage h2::after {
		content: '';
		display: block;
		position: absolute;
	}

	.Advantage h2::before {
		right: 100%;
		top: 0;
		width: 9rem;
		height: 100%;
		background: url(../images/index/advantage_title_back2_pc.png) no-repeat left center;
		background-size: contain;
	}
	.Advantage h2::after {
		z-index: -1;
		left: 100%;
		top: -2.5rem;
		width: 14.5rem;
		height: 32rem;
		/*background: url(../images/index/advantage_title_back3_pc.jpg) no-repeat right top;
		background-size: auto 100%;*/
	}
	.Advantage ul {
		width: 42rem;
	}
	.Advantage li {
		width: 14rem;
		height: 14rem;
	}
	.Advantage li:nth-of-type(n+4) {
		height: auto;
	}
	.Advantage p {
		margin: 1.5rem 0 0;
		font-size: 180%;
	}
}


.Agent .body > div {
	border: 0 solid #ccc;
}
.Agent h3 {
	margin: 0;
	font-weight: inherit;
	font-size: 110%;
}
.Agent .tel {
	margin: 0.25em 0 0;
	font-size: 200%;
	letter-spacing: 0.05em;
}
.Agent .tel a {
	color: inherit;
	text-decoration: none;
}
.Agent .tel img {
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.25em;
	transform: translateY(-0.1em);
}

.Agent .address {
	margin: 0.5em 0 0;
	font-size: 90%;
	line-height: 1.4;
}

@media (max-width: 567px) {
	.Agent .body {
		margin: 0 1rem;
	}
	.Agent .body > div {
		border-width: 1px 0;
		padding: 1em 0;
	}
	.Agent .body > div:nth-of-type(n+2) {
		border-top: none;
	}
}

@media (min-width: 568px) {
	.Agent {
		width: 49rem;
		margin: 0 auto;
	}
	.Agent .body {
		display: table;
		width: 100%;
		table-layout: fixed;
	}
	.Agent .body > div {
		display: table-cell;
		vertical-align: top;
	}
	.Agent .body.body2 > div {
		border-width: 0 1px;
	}
	.Agent .body.body2 > div:nth-of-type(n+2) {
		border-left: none;
	}
}

.ToCompany {
	margin: 3rem auto 0;
}

.ToCompany a {
	display: inline-block;
	padding: 0 4em;
	background: #DD592D;
	color: white;
	font-size: 120%;
	line-height: 4;
}


.Condition h2 {
	line-height: 1.3;
}
.Condition .body {
	margin-top: 2rem;
}
.Condition ul {
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: left;
}
.Condition li {
	position: relative;
	padding-left: 2.25em;
	font-size: 110%;
}
.Condition li:nth-of-type(n+2) {
	margin-top: 1em;
}
.Condition li::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 1.75em;
	height: 1.75em;
	transform: translateY(-50%);
	background: url(../images/index/condition_check.svg) no-repeat center center;
	background-size: contain;
}

@media (max-width: 567px) {
	.Condition {
		margin: 0 1rem;
	}
}

@media (min-width: 568px) {
	.Condition h2 {
		display: inline-block;
		border-bottom: 3px solid #FFDD00;
		padding-bottom: 0.2em;
	}
	.Condition::after {
		content: '';
		display: block;
		height: 7rem;
		margin-top: -0.5rem;
		margin-left: 2rem;
		background:
			url(../images/index/condition_back1.png) no-repeat left bottom,
			url(../images/index/condition_back2.png) no-repeat right center;
		background-size:
			auto 100%,
			auto 75%;
	}
}


@media (max-width: 567px) {
	.Contact {
		padding-bottom: 1rem;
	}
}
@media (min-width: 568px) {
	.Contact {
		position: relative;
		padding-bottom: 2rem;
	}
}

/* ==================== head ==================== */

.Contact .head {
	position: relative;
	margin-bottom: 2.5rem;
}
.Contact .head p {
	margin: 0;
	position: relative;
	z-index: 1;
}
.Contact .head span {
	display: block;
}
.Contact .head span.contact_title {
	background: no-repeat center top;
	background-size: cover;
}
.Contact .head span.contact_subtitle {
	color: white;
	font-size: 160%;
	line-height: 3;
}
.Contact .head::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%, -50%) scaleX(2) rotate(45deg);
	background: #DD592D;
	width: 3em;
	height: 3em;
}
.Contact .contact_link {
	margin-bottom: 2rem;
}

@media (max-width: 567px) {
	.Contact .head span.contact_title {
		padding: 1em 0 0;
		background-image: url(../images/index/contact_head_back_sp.jpg);
	}
	.Contact .head span.contact_title img {
		font-size: 0.9rem;
	}
	.Contact .head span.contact_title img:nth-of-type(2) {
		display: inline-block;
		margin-top: 0.75em;
		margin-bottom: -3.5em;
	}
	.Contact .head span.contact_subtitle {
		padding-top: 2em;
	}
}
@media (min-width: 568px) {
	.Contact .head span.contact_title {
		padding: 2em 0;
		background-image: url(../images/index/contact_head_back_pc.jpg);
	}
	.Contact .head span.contact_title img {
		display: inline-block;
		margin: 0 0.25em;
	}
	.Contact .head span:.contact_subtitle {
	}
}

/* ==================== form ==================== */

.Contact h2 i {
	margin-right: 0.25em;
	font-size: 120%;
}
.Contact h2 + p {
	margin-top: 0;
}

.Contact .form {
	background: white;
	padding: 1rem;
}

.Contact .form th,
.Contact .form td {
}
.Contact .form th {
	font-weight: inherit;
	text-align: left;
}
.Contact .form th .required {
	color: #f00;
	font-size: 80%;
}

.Contact .form input,
.Contact .form textarea {
	box-sizing: border-box;
	width: 100%;
	border: none;
	border-radius: 0;
	padding: 1em;
	background: #eee;
	font-family: sans-serif;
	font-size: inherit;
	line-height: 1;
}
.Contact .form textarea {
	height: 15em;
	line-height: 1.4;
}

.Contact button {
	border: none;
	margin: 2em 0;
	padding: 0;
	background: none;
	cursor: pointer;
}

.Contact select {
	width: 100%;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	
	padding: 8px 38px 8px 8px;
	color: #666666;
}

.Contact select::-ms-expand {
    display: none;
}

.Contact .select {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}

.Contact .select::before {
	position: absolute;
	top: 50%;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	margin-top: -3px;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}

/* 確認画面 */
.Contact .form .confirm table {
	border-spacing: 0;
	border-collapse: collapse;
	margin: 2rem auto;
}
.Contact .form .confirm table caption {
	font-size: 120%;
	line-height: 4;
}
.Contact .form .confirm th,
.Contact .form .confirm td {
	border: solid #ccc;
	border-width: 1px 0;
	padding: 1em;
}
.Contact .form .confirm th {
	color: #a6a6a6;
}
.Contact .form .confirm td {
	text-align: left;
	font-size: 110%;
}

/* 表示切り替え */
.Contact form[data-viewmode="confirm"] .input {
	display: none;
}
.Contact form .confirm {
	position: fixed;
	visibility: hidden;
	opacity: 0;
}
.Contact form[data-viewmode="confirm"] .confirm {
	position: static;
	visibility: visible;
	opacity: 1;
	transition: opacity 200ms ease;
}

@media (max-width: 567px) {
	.Contact h2 + p {
		display: inline-block;
		padding: 0 1rem;
		text-align: left;
	}
	.Contact .form {
		margin: 0 1rem;
	}
	.Contact table,
	.Contact tbody,
	.Contact tr,
	.Contact th,
	.Contact td,
	.Contact caption {
		display: block;
	}
	.Contact th,
	.Contact td {
		margin: 0.25em;
	}
	.Contact .form .confirm table caption {
		line-height: 1.6;
	}
}

@media (min-width: 568px) {
	.Contact {
		overflow: hidden;
	}
	.Contact h2 + p span {
		display: block;
	}
	.Contact .form {
		width: 32rem;
		margin: 0 auto;
	}
	.Contact .form table {
		width: 100%;
		border-spacing: 1em;
	}
	.Contact .form th {
		width: 12em;
	}
	.Contact form {
		position: relative;
	}
	.Contact form::after {
		content: '';
		display: block;
		position: absolute;
		left: 100%;
		bottom: 0;
		width: 10.5rem;
		height: 100%;
	}
	.Contact form[data-viewmode="confirm"]::after {
		content: none;
	}
}

/* ==================== サンクスページ ==================== */

.Contact.thanks {
	position: absolute;
	left: 50%;
	top: 35%;
	box-sizing: border-box;
	width: 23rem;
	border-radius: 1rem;
	padding: 1.5rem;
	transform: translate(-50%, -50%);
}
.Contact.thanks h2 + p {
	text-align: center;
}
.Contact.thanks .totop a {
	display: inline-block;
	margin-top: 1rem;
	padding: 1em;
	background: white;
}


.Cost h2 {
	color: white;
}

.Cost .base {
	position: relative;
	background: white;
}
.Cost .base::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 100%;
	background: url(../images/index/cost_image.png) no-repeat center center;
	background-size: contain;
}

.Cost h3 {
	margin: 0;
	color: #48b5db;
	font-weight: normal;
}
.Cost h4 {
	display: inline-block;
	background: #48b5db;
	color: white;
	border-radius: 1.2em;
	margin: 0;
	padding: 0 1em;
	font-size: 140%;
	font-weight: inherit;
	line-height: 2.4;
}

.Cost .graph > div {
	border: 0 solid #48b5db;
}

.Cost .graph p {
	font-weight: 500;
	line-height: 1;
}

.Cost .graph p strong {
	position: relative;
	margin: 0 0.1em;
	color: #DD592D;
	font-size: 200%;
	font-weight: inherit;
}
.Cost .graph p strong small {
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	white-space: nowrap;
	font-size: 60%;
}
.Cost .graph p span {
	font-size: 120%;
}

.Cost .graph figure {
	margin: 3rem 0 0;
}

.Cost .notes {
	margin-top: 1rem;
	text-align: left;
}
.Cost .notes ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 90%;
}

@media (max-width: 567px) {
	.Cost .body {
		margin: 0 1rem;
	}
	.Cost .base {
		margin-top: 8rem;
		padding: 1rem;
		padding-top: 3rem;
	}
	.Cost .base::before {
		transform: translateY(2rem);
		height: 8rem;
	}

	.Cost h3 {
		font-size: 150%;
	}

	.Cost .graph > div {
		border-top-width: 1px;
		margin-top: 1rem;
		padding: 1rem 0;
	}
	.Cost .graph p {
		font-size: 110%;
	}
}

@media (min-width: 568px) {
	.Cost .body {
		display: inline-block;
	}
	.Cost .base {
		margin-top: 6rem;
		padding: 1.5rem 0;
		padding-top: 3rem;
	}
	.Cost h3 {
		font-size: 200%;
	}
	.Cost .base::before {
		transform: translateY(2rem);
		height: 9rem;
	}

	.Cost .graph {
		display: table;
		table-layout: fixed;
		width: 100%;
		margin-top: 2rem;
	}
	.Cost .graph > div {
		display: table-cell;
		vertical-align: bottom;
		padding: 0 1rem;
	}
	.Cost .graph > div:nth-of-type(2) {
		border-left-width: 1px;
	}
	.Cost .graph p {
		font-size: 130%;
	}

}

/* FAQ */
.FAQ .head {
	position: relative;
	margin-bottom: 4rem;
}
.FAQ .head p {
	margin: 0;
	position: relative;
	z-index: 1;
}
.FAQ .head span {
	display: block;
}
.FAQ .head span:nth-of-type(1) {
	background: no-repeat center top;
	background-size: cover;
}
.FAQ .head span:nth-of-type(2) {
	color: white;
	font-size: 160%;
	line-height: 3;
}
.FAQ .head::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%, -50%) scaleX(2) rotate(45deg);
	background: #DD592D;
	width: 3em;
	height: 3em;
}

@media (max-width: 567px) {
	.FAQ .head span:nth-of-type(1) {
		padding: 1em 0 0;
		background-image: url(../images/index/contact_head_back_sp.jpg);
	}
	.FAQ .head span:nth-of-type(1) img {
		font-size: 0.9rem;
	}
	.FAQ .head span:nth-of-type(1) img:nth-of-type(2) {
		display: inline-block;
		margin-top: 0.75em;
		margin-bottom: -3.5em;
	}
	.FAQ .head span:nth-of-type(2) {
		padding-top: 2em;
	}
}
@media (min-width: 568px) {
	.FAQ .head span:nth-of-type(1) {
		padding: 2em 0;
		background-image: url(../images/index/contact_head_back_pc.jpg);
	}
	.FAQ .head span:nth-of-type(1) img {
		display: inline-block;
		margin: 0 0.25em;
	}
	.FAQ .head span:nth-of-type(2) {
	}
}

.FAQ .body {
	display: inline-block;
	text-align: left;
}
.FAQ .faq {
	padding: 1.5em 0.5em;
	border-top: 1px solid #ccc;
}

.FAQ .Q {
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
	transition: color 150ms ease;
}
.FAQ .faq.open .Q,
.FAQ .Q:hover {
	color: #DD592D;
}

.FAQ .A {
	padding-top: 1.5rem;
	color: #50b748;
}
.FAQ .faq:not(.open) .A {
	position: fixed;
	visibility: hidden;
	opacity: 0;
}
.FAQ .faq.open .A {
	opacity: 1;
	transition: opacity 200ms ease;
}

.FAQ .body h3,
.FAQ .body p {
	position: relative;
	margin: 0;
	padding-left: 3.5em;
}

.FAQ .body h3 {
	font-size: inherit;
}

.FAQ .body img {
	position: absolute;
	left: 0;
	top: 0.5em;
	transform: translateY(-50%);
}

@media (max-width: 567px) {
	.FAQ .body {
		padding: 0 1rem;
	}
	.FAQ .body h3,
	.FAQ .body p {
	}
}

@media (min-width: 568px) {
	.FAQ .body {
		width: 40rem;
	}
	.FAQ .body h3,
	.FAQ .body p {
	}
}

.FAQ #individual {
	padding-top: 100px;
}

.FAQ #corporation {
	padding-top: 100px;
}

@media (min-width: 568px) {
	.FAQ #individual {
	padding-top: 40px;
}

	.FAQ #corporation {
		padding-top: 40px;
	}
}

.FAQ .sort a {
	display: inline-block;
	padding: 0.5rem 2rem;
	border: 2px solid #DD592D;
	color: #DD592D;
	text-decoration: none;
	margin: 0 1rem;
	font-size: 150%;
	font-weight: bold;
}

.Flow {
	padding: 2rem 0 0;
}
.Flow h2 {
	padding-top: 0.75em;
	position: relative;
	color: white;
	line-height: 1;
}
.Flow h2 small {
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	padding-left: 0.75em;
	padding-right: 0.25em;
	transform: translateX(-50%);
	font-size: 50%;
}
.Flow h2 small::before,
.Flow h2 small::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	width: 3px;
	height: 100%;
	background: white;
}
.Flow h2 small::before {
	left: 0;
	transform: rotate(-30deg);
}
.Flow h2 small::after {
	right: 0;
	transform: rotate(30deg);
}

.Flow .body {
	display: inline-block;
}
.Flow .body > div {
	background: white;
}
.Flow .body h3 {
	color: #DD592D;
	line-height: 1.3;
}
.Flow .body h3 small {
	display: block;
}
.Flow .body p {
	text-align: left;
}
.Flow::after {
	content: '';
	display: block;
	margin: 0 1rem;
	background:
		url(../images/index/flow_back1.png) no-repeat left bottom,
		url(../images/index/flow_back2.png) no-repeat right bottom;
	background-size: auto 100%;
}

@media (max-width: 567px) {
	.Flow {
		padding: 2rem 0 0;
	}
	.Flow h2 small::before,
	.Flow h2 small::after {
		width: 2px;
	}
	.Flow .body {
		margin: 1rem;
		background: linear-gradient(0deg, rgba(255,255,255,0.4), rgba(255,255,255,0.4)) no-repeat center center;
		background-size: 2rem 100%;
	}
	.Flow .body > div {
		padding: 1rem;
	}
	.Flow .body h3 {
		margin: 0;
		font-size: 150%;
	}
	.Flow .body p {
		display: inline-block;
		margin: 1em 0 0;
	}
	.Flow .body > div:nth-of-type(n+2) {
		margin-top: 1.5rem;
	}
	.Flow::after {
		height: 7rem;
		margin-top: 0.5rem;
	}
}

@media (min-width: 568px) {
	.Flow .body {
		display: inline-table;
		border-spacing: 0 1.5rem;
	}
	.Flow .body > div {
		display: table-row-group;
	}
	.Flow .body > div > * {
		display: table-cell;
		vertical-align: middle;
	}
	.Flow .body h3 {
		position: relative;
		font-size: 120%;
		padding: 0 1rem;
	}
	.Flow .body h3::after {
		content: '';
		display: block;
		position: absolute;
		left: 50%;
		top: 100%;
		width: 1.5rem;
		height: 100%;
		transform: tranlateX(-50%);
		background: rgba(255,255,255,0.4);
	}
	.Flow .body > div:last-child h3::after {
		content: none;
	}
	.Flow .body > div::after {
		content: '';
		display: table-cell;
		width: 1rem;
		height: 6.5em;
	}
	.Flow::after {
		position: relative;
		height: 9rem;
		margin-top: -3rem;
	}
}


.Merit h2 {
	color: white;
}
.Merit h2 img {
	display: block;
	margin: 0 auto;
}

.Merit table {
	border-spacing: 0.2rem;
	table-layout: fixed;
}
.Merit table tr > :first-child {
	box-sizing: border-box;
	width: 3rem;
}

.Merit table th {
	font-weight: 500;
}

.Merit table thead th:not(:empty) {
	background: white;
}
.Merit table thead th {
	line-height: 1;
}
.Merit table thead th strong {
	display: block;
	font-size: 220%;
	font-weight: 900;
}
.Merit table thead th strong::first-letter {
	color: #DD592D;
	font-size: 260%;
}

.Merit table tbody th {
	padding: 1rem 0;
	line-height: 1.2;
	font-size: 120%;
	white-space: nowrap;
}
.Merit table tbody th > span {
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.Merit table tbody tr:nth-of-type(1) th {
	background-color: #1242a8;
	color: white;
}
.Merit table tbody tr:nth-of-type(2) th {
	background-color: #FFDD00;
}

.Merit table tbody tr:nth-of-type(1) td {
	background-color: #ededed;
}
.Merit table tbody tr:nth-of-type(2) td {
	background-color: #fff5b2;
	font-weight: 500;
}

.Merit table tbody td {
	vertical-align: top;
	text-align: left;
	line-height: 1.6;
}
.Merit table tbody strong {
	display: inline-block;
	margin: 0 0.1em;
	color: #DD592D;
}

@media (max-width: 567px) {
	.Merit table {
		width: calc(100% - 1rem);
		margin: 0 auto;
	}
	.Merit table tr > :first-child {
		width: 2.5em;
	}
	.Merit table thead th {
		font-size: 85%;
		padding: 1rem 0;
	}
	.Merit table tbody td {
		padding: 0.5rem;
	}
}

@media (min-width: 568px) {
	.Merit table {
		width: 47rem;
		margin: 0 auto;
		transform: translateX(-1.5rem);
	}
	.Merit table tr > :first-child {
		width: 3rem;
	}
	.Merit colgroup {
		width: 3rem;
	}
	.Merit table thead th {
		font-size: 150%;
		padding: 1rem;
	}
	.Merit table tbody th > span > span {
		display: block;
		text-align: left;
	}
	.Merit table tbody td {
		padding: 1rem;
	}
	.Merit table tbody strong {
		font-size: 140%;
	}
}


.Module h2 {
	color: red;
}

.Module .body img {
	display: inline-block;
}
.Module .body img[src*="features"] {
	margin-top: 1rem;
}
.Module .image figure {
	margin: 0;
}

.Module .text {
	text-align: left;
}
.Module .text h3,
.Module .text p {
	margin: 0;
}
.Module .text h3 {
	position: relative;
	padding-left: 1.6em;
	color: #00adee;
	font-size: 120%;
}
.Module .text h3::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.3em;
	height: 1.3em;
	background: url(../images/index/module_check.svg) no-repeat center center;
	background-size: contain;
}

.Module .text h3:nth-of-type(n+2) {
	margin-top: 1em;
}
.Module .text p {
	margin-top: 0.5em;
}

.Module .text p small {
	display: block;
	margin-top: 0.5em;
	font-size: 80%;
}

@media (max-width: 567px) {
	.Module .body {
		margin: 0 1rem;
	}
	.Module .body img {
		font-size: 1.1rem;
	}
	.Module .image img {
		margin-top: 0.5em;
	}
	.Module .text {
		margin-top: 1.5rem;
	}
}

@media (min-width: 568px) {
	.Module .body {
		position: relative;
		box-sizing: border-box;
		width: 49rem;
		margin: 0 auto;
		padding-right: 30rem;
	}

	.Module .image {
		position: absolute;
		right: 0;
		top: 0;
		text-align: left;
	}

	.Module .body img[src*="no1"] {
		position: relative;
	}
	.Module .body img[src*="itempic"] {
		margin-top: -4rem;
	}

	.Module .text {
		margin-top: 1.5rem;
	}

	.Module .text p {
		overflow: visible;
		font-size: 90%;
	}
	.Module .text p small {
		white-space: nowrap;
	}

}


.Top h1 {
	display: none;
	margin: 0 auto;
}

.Top .back {
	background: no-repeat center top;
	background-size: cover;
}

@media (max-width: 567px) {
	.Top .back {
		/* スライドを入れたら消す */
		width: 100vw;
		height: calc(100vw / 25 * 34);
		/*
		height: 34rem;
		*/
		background-image: url(../images/index/top_back_sp.jpg);
	}
}

/* ==================== リスク ==================== */

.Top .risk {
	position: absolute;
	left: 50%;
	margin-top: -0.8rem;
	transform: translate(-50%, -100%);
}

.Top .risk h2 {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	transform: translateY(-50%);
}

.Top .risk .body {
	position: relative;
	background: white;
	border-radius: 1rem;
	margin: 0 auto;
	padding: 1.5rem;
}
.Top .risk .body::after {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: url(../images/index/top_risk_back.png) no-repeat right bottom;
}

.Top .risk ul {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: left;
}
.Top .risk li {
	font-weight: 500;
	line-height: 2;
}

.Top .risk::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: 100%;
	width: 2rem;
	height: 2rem;
	margin: 0 auto;
	background: white;
	transform: translate(-50%, -50%) scaleX(2) rotate(45deg);
}

@media (max-width: 567px) {
	.Top .risk {
		width: 23rem;
	}
	.Top .risk ul {
		margin-top: 0.5rem;
	}
	.Top .risk li {
		font-size: 110%;
	}
	.Top .risk .body::after {
		background-size: auto 8rem;
	}
	.Top .risk h2 img {
		width: 21rem;
	}

}

@media (min-width: 568px) {
	.Top .risk .body {
		box-sizing: border-box;
		width: 32rem;
	}
	.Top .risk li {
		font-size: 120%;
	}
	.Top .risk li:not(:first-child) {
		display: inline-block;
		width: 13em;
	}
	.Top .risk .body::after {
		background-size: auto 90%;
		transform: translateX(-1rem);
	}
}

/* ==================== 確かに… ==================== */

.Top .wecan {
	padding: 1rem 0;
}
.Top .wecan p {
	margin: 0;
	color: white;
	font-weight: 500;
	line-height: 1.4;
}

.Top .wecan p strong {
	display: block;
}

@media (max-width: 567px) {
	.Top .wecan p {
		font-size: 3.2vw;
	}
	.Top .wecan p strong {
		font-size: 210%;
	}
}
@media (min-width: 568px) {
	.Top .wecan p {
		font-size: 130%;
	}
	.Top .wecan p strong {
		font-size: 240%;
	}
}


.Zero figure {
	margin: 2rem 0;
}
.Zero p span {
	display: block;
	margin: 0.5em 0 1em;
}
.Zero p strong {
	display: inline-block;
	padding: 0 0.5em;
	background: #FFDD00;
	line-height: 2;
	font-size: 110%;
	text-indent: 0.5em;
}

@media (max-width: 567px) {
	.Zero {
		padding: 2rem 1rem;
	}
	.Zero p {
		text-align: left;
	}
	.Zero p strong {
		box-sizing: border-box;
		width: 100%;
		text-align: center;
	}
}

@media (min-width: 568px) {
	.Zero {
		padding: 3rem 0;
	}
}
