@charset "utf-8";

#mainvis {
	background-image: url("../img/plan/mi.png");
}

#mcontents .mf {
	margin: 0 0 80px 0;
}

#mcontents .mf:nth-of-type(even) .mf-frame {
	background: #FBF7EF;
}

#mcontents .mf-inner {
	padding: 50px;
}

#mcontents h2 {
	display: table;
	font-size: 1.75em;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 40px auto;
	padding: 0 0 20px 50px;
	border-bottom: #B4E088 dashed 5px;
	position: relative;
}

#mcontents h2:before {
	content: "";
	display: inline-block;
	max-width: 45px;
	max-height: 45px;
	width: 6vw;
	height: 6vw;
	background: url("../img/plan/ic1.png") center center /cover no-repeat;
	position: absolute;
	left: 0;
}

#mcontents h2+p {
	color: #D31818;
	font-size: 1.38em;
	text-align: center;
	margin: 0 0 30px 0;
	line-height: 1.8em;
}

#mcontents h3 {
	display: flex;
	align-items: center;
	font-size: 1.38em;
	font-weight: bold;
	margin: 0 0 20px 0;
}

#mcontents h3:before {
	content: "";
	max-width: 40px;
	max-height: 30px;
	width: 5.33vw;
	height: 4vw;
	background: url("../img/plan/ic2.png") center center /cover no-repeat;
	margin: 0 0.5em 0 0;
}

/* --- Table Base --- */

#mcontents table {
	width: 100%;
	background: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
	margin: 0 0 50px 0;
}

#mcontents #mf2 table,
#mcontents #mf4 table {
	margin: 0 0 100px 0;
}

#mcontents table tr {
	border-bottom: #00A3CE solid 2px;
}

#mcontents table th,
#mcontents table td {
	font-size: 1.38em;
	text-align: center;
	padding: 20px;
}

#mcontents table th {
	background: #00A3CE;
	color: #fff;
	font-weight: bold;
	border-right: #fff solid 2px;
}

#mcontents table td {
	border-right: #00A3CE solid 2px;
}

#mcontents table tr:last-of-type,
#mcontents table th:last-of-type,
#mcontents table td:last-of-type {
	border: none;
}

/* --- Cbox Base --- */

.cbox {
	background: #fff;
	margin: 0 0 50px 0;
	position: relative;
}

#mf3 .cbox {
	padding-block: 1rem;
}

.cbox-frame {
	width: 780px;
	margin: 0 0 0 auto;
}

.cbox-inner {
	padding: 60px 30px;
}

#mcontents .cbox h3:before {
	max-width: 50px;
	max-height: 35px;
	width: 6.67vw;
	height: 4.67vw;
}

#mcontents .mf-frame .cbox:nth-of-type(1) h3 {
	border: #000 solid 2px;
}

#mcontents .small h3:before {
	background-image: url("../img/plan/mf1ic1.png");
}

#mcontents .middle h3:before {
	background-image: url("../img/plan/mf1ic2.png");
}

#mcontents .large h3:before {
	background-image: url("../img/plan/mf1ic3.png");
}

.cbox figure {
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translate(0, -50%);
	max-width: 340px;
}

.cbox figure img {
	max-width: 100%;
	height: auto;
}

#mf1 .cbox figure img,
#mf2 .cbox figure img,
#mf3 .cbox figure img,
#mf4 .cbox figure img {
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

#mcontents .cbox table {
	margin: 0;
}

#mcontents .cbox table th,
#mcontents .cbox table td {
	font-size: 1.13em;
	padding: 20px 10px;
}

/* --- Cbox Odd (mf1, mf3, mf5) --- */

#mcontents .mf:nth-of-type(odd) .cbox {
	width: 960px;
	margin: 0 auto 50px auto;
}

#mcontents .mf:nth-of-type(odd) .cbox-frame {
	width: 580px;
}

#mcontents .mf:nth-of-type(odd) .cbox-inner {
	padding: 50px;
}

#mcontents .mf:nth-of-type(odd) .cbox table tr:nth-of-type(even),
#mcontents #mf2 .cbox table tr:nth-of-type(even) {
	background: none;
}

/* --- Cboxs (Process Steps) --- */

.cboxs {
	overflow: visible;
}

.cboxs h3 {
	font-size: 1.38em;
	font-weight: bold;
	color: #0AADD6;
}

.cboxs h3:before {
	display: none;
}

.cboxs ul {
	margin: 30px 0 0 0;
	padding: 0 0 20px 0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 1rem;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 801px) {
	.cboxs ul {
		justify-content: center;
	}
}

.cboxs ul li {
	position: relative;
	flex-shrink: 0;
}

.cboxs ul li img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}

.cboxs ul li.step-large {
	width: 200px;
}

.cboxs ul li.step-small {
	width: 140px;
	text-align: center;
}

.cboxs ul li.step-small span {
	display: block;
	font-size: 1.1em;
	font-weight: bold;
	color: #0AADD6;
	margin-bottom: 8px;
	white-space: nowrap;
}

.cboxs ul li:after {
	display: none;
}

.cboxs ul li:nth-child(1):after,
.cboxs ul li:nth-child(2):after,
.cboxs ul li:nth-child(3):after,
.cboxs ul li:nth-child(4):after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 15px;
	border-color: transparent transparent transparent #0AADD6;
	position: absolute;
	top: 62%;
	right: calc(-0.5rem - 8px);
	transform: translate(0, -50%);
	z-index: 1;
}

.cboxs ul li.step-small:nth-child(2):after,
.cboxs ul li.step-small:nth-child(3):after,
.cboxs ul li.step-small:nth-child(4):after {
	top: auto;
	bottom: 43%;
	transform: translate(0, 50%);
}

/* --- Section Overrides --- */

#mf1 .cbox table tr:nth-of-type(even) {
	background: #E8F6FF;
}

#mf1 .cbox-inner,
#mf2 .cbox-inner {
	padding: 40px 30px;
}

#mcontents #mf2 .cbox {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 50px auto;
}

#mcontents #mf2 .cbox-frame,
#mcontents #mf4 .cbox-frame {
	width: 780px;
}

#mcontents #mf4 .cbox {
	width: auto;
}

#mf4 .cbox-inner {
	padding: 60px 30px;
}

#mf4 .cbox h3:before {
	display: none;
}

#mf5 th:nth-of-type(1) {
	background: #005B72;
}

/* --- #mf6 Compare Table --- */

#mf6 .mf6-compare table {
	width: 100%;
	background: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

#mf6 .mf6-compare table th,
#mf6 .mf6-compare table td {
	font-size: 1.13em;
	text-align: center;
	padding: 20px;
	vertical-align: middle;
}

#mf6 .mf6-compare table th {
	background: #00A3CE;
	color: #fff;
	font-weight: bold;
	border-right: #fff solid 2px;
}

#mf6 .mf6-compare table td {
	border-right: #00A3CE solid 2px;
	border-bottom: #00A3CE solid 2px;
}

#mf6 .mf6-compare table tr:last-of-type td {
	border-bottom: none;
}

#mf6 .mf6-compare table td:last-of-type,
#mf6 .mf6-compare table th:last-of-type {
	border-right: none;
}

#mf6 .mf6-label {
	width: 7em;
	background: #f5f5f5;
	font-weight: bold;
}

.ba-photos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.ba-photos img {
	width: 42%;
	height: auto;
	border-radius: 5px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

.ba-arrow {
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 12px;
	border-color: transparent transparent transparent #0F5E6C;
	flex-shrink: 0;
}

#mf6 .mf6-compare-sp {
	display: none;
}

#mf6 .mf6-block {
	margin-bottom: 30px;
}

#mf6 .mf6-block h3 {
	font-size: 1.2em;
	font-weight: bold;
	color: #fff;
	background: #00A3CE;
	text-align: center;
	padding: 10px;
	margin: 0;
	border-radius: 5px 5px 0 0;
}

#mf6 .mf6-block h3:before {
	display: none;
}

/* ===================================
   Tablet (801px - 1200px)
=================================== */

@media screen and (min-width: 801px) and (max-width: 1200px) {
	#mcontents .mf:nth-of-type(odd) .cbox {
		width: 100%;
		max-width: 960px;
	}

	.cbox-frame,
	#mcontents .mf:nth-of-type(odd) .cbox-frame,
	#mcontents #mf2 .cbox-frame {
		width: 65%;
	}

	.cbox figure {
		max-width: 30%;
	}
}

/* ===================================
   Mobile (max-width: 800px)
=================================== */

@media screen and (max-width: 800px) {

	.sp-disp {
		text-align: center;
		margin: 0 0 10vw 0;
	}

	.sp-disp img {
		max-width: 190px;
		width: 29.69vw;
	}

	.scroll {
		overflow-y: auto;
		white-space: nowrap;
		margin: 0 0 10vw 0;
		padding: 0 0 5vw 0;
	}

	.scroll::-webkit-scrollbar {
		max-height: 15px;
		height: 2.34vw;
	}

	.scroll::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #ddd;
	}

	.scroll::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #999;
	}

	#mcontents .mf {
		margin: 0 5vw;
	}

	#mcontents .mf-inner {
		padding: 10vw 5vw;
	}

	#mcontents h2 {
		font-size: 1.1em;
		margin: 0 auto 3vw auto;
		padding: 0 0 2vw 7vw;
		border-bottom: #B4E088 dashed 0.78vw;
	}

	#mcontents h2:before {
		top: calc(50% - 2vw);
		transform: translate(0, -50%);
	}

	#mcontents h2+p {
		display: table;
		font-size: 1em;
		text-align: left;
		margin: 0 auto 5vw auto;
	}

	#mcontents h3 {
		font-size: 1em;
		margin: 0 0 5vw 0;
	}

	#mcontents table {
		box-shadow: 0 0.78vw 1.56vw rgba(0, 0, 0, 0.1);
		margin: 0;
	}

	#mcontents table th,
	#mcontents table td {
		font-size: 1em;
		padding: 3vw;
	}

	/* --- Cbox SP --- */

	.cbox {
		margin: 0 0 5vw 0;
	}

	.cbox-frame {
		width: auto;
		margin: 0;
	}

	.cbox-inner {
		padding: 3vw 1vw;
	}

	#mcontents .cbox h3 {
		text-align: center;
		display: block;
	}

	#mcontents .cbox h3:before {
		display: inline-block;
		margin: 0 0.3em 0 0;
	}

	.cbox figure {
		max-width: 323px;
		width: 51vw;
		margin: 0 auto 5vw auto;
		position: static;
		transform: translate(0, 0);
	}

	.cbox .scroll {
		margin: 0;
	}

	#mcontents .cbox table th,
	#mcontents .cbox table td {
		font-size: 1em;
		padding: 3vw;
	}

	/* --- Cbox Odd SP --- */

	#mcontents .mf:nth-of-type(odd) .cbox {
		width: auto;
		margin: 0 auto 5vw auto;
	}

	#mcontents .mf:nth-of-type(odd) .cbox-frame {
		width: auto;
	}

	#mcontents .mf:nth-of-type(odd) .cbox-inner {
		padding: 0 2vw;
	}

	#mcontents .mf:nth-of-type(odd) .cbox table tr:nth-of-type(even) {
		background: none;
	}

	/* --- Cboxs SP --- */

	.cboxs {
		margin: 3vw 0 0 0;
	}

	.cboxs-inner {
		padding: 4vw 0;
	}

	.cboxs h3 {
		font-size: 1.2em;
	}

	.cboxs ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		margin: 3vw 0 0 0;
		padding: 0;
		gap: 20px;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.cboxs ul:after {
		display: none;
	}

	.cboxs ul li {
		max-width: none;
		width: auto;
		margin: 0;
	}

	.cboxs ul li.step-small span {
		font-size: 0.75em;
	}

	.cboxs ul li:nth-child(1):after,
	.cboxs ul li:nth-child(2):after,
	.cboxs ul li:nth-child(3):after,
	.cboxs ul li:nth-child(4):after {
		border-width: 6px 0 6px 8px;
		right: -14px;
	}

	/* --- Section Overrides SP --- */

	#mf1 .cbox-inner {
		padding: 5vw 2vw;
	}

	#mcontents #mf2 .cbox {
		width: auto;
		margin: 0 auto 5vw auto;
	}

	#mcontents #mf2 .cbox-frame,
	#mcontents #mf4 .cbox-frame {
		width: auto;
	}

	#mf2 .cbox-inner,
	#mf4 .cbox-inner {
		padding: 5vw 2vw;
	}

	/* --- #mf6 SP --- */

	#mf6 .mf6-compare.pc-disp {
		display: none;
	}

	#mf6 .mf6-compare-sp.sp-disp {
		display: block;
	}

	#mf6 .mf6-block {
		margin-bottom: 5vw;
	}

	#mf6 .mf6-block h3 {
		font-size: 1.1em;
		padding: 3vw;
	}

	#mf6 .mf6-compare-sp table {
		width: 100%;
		background: #fff;
		box-shadow: 0 0.78vw 1.56vw rgba(0, 0, 0, 0.1);
	}

	#mf6 .mf6-compare-sp table td {
		font-size: 1em;
		padding: 3vw;
		border-bottom: #00A3CE solid 2px;
		vertical-align: middle;
	}

	#mf6 .mf6-compare-sp table tr:last-of-type td {
		border-bottom: none;
	}

	#mf6 .mf6-compare-sp .mf6-label {
		width: 6em;
		background: #f5f5f5;
		border-right: #00A3CE solid 2px;
	}

	.ba-photos img {
		width: 40%;
	}
}