@charset "UTF-8";
/* CSS Document */

/*----------------------------------------------------
  #メイン
----------------------------------------------------*/
.plan_txt {
	margin-top: 30px;
	text-align: center;
}
@media (max-width: 768px) {
	.plan_txt {
		margin-top: 20px;
	}
}
.plan_detail {
	margin-top: 30px;
}
ul.plan_detail_upper  {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
@media (max-width: 768px) {
	ul.plan_detail_upper  {
		display: block;
	}
}
ul.plan_detail_upper li {
	width: 450px;
	margin-left: 50px;
}
@media (max-width: 768px) {
	ul.plan_detail_upper li {
		width: auto;
		margin-left: 0;
	}
}
ul.plan_detail_upper li:first-child {
	margin-left: 0;
}
ul.plan_detail_under {
	margin-top: 20px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
@media (max-width: 768px) {
	ul.plan_detail_under {
		margin-top: 0;
		display: block;
	}
}
ul.plan_detail_under li {
	width: 450px;
	margin-left: 50px;
}
@media (max-width: 768px) {
	ul.plan_detail_under li {
		width: auto;
		margin-left: 0;
	}
}
ul.plan_detail_under li:first-child {
	margin-left: 0;
}
.plan_price {
	font-size: 2.5rem;
	color: #0068b7;
	font-weight: bold;
}
@media (max-width: 768px) {
	.plan_price {
		font-size: 1.8rem;
	}
}
.plan_subtxt {
	margin-top: 30px;
	text-align: center;
}
.plan_subconts {
	text-align: center;
	margin-top: 50px;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 768px) {
	.plan_subconts {
		margin-top: 20px;
	}
}
.plan_subconts::before {
	content: "";
	display: block;
	margin: 0 auto 5px;
	width: 2px;
	height: 40px;
	background: #333333;
}
@media (max-width: 768px) {
	.plan_subconts::before {
		height: 20px;
	}
}
.plan_subttl {
	font-size: 2.5rem;
}
@media (max-width: 768px) {
	.plan_subttl {
		font-size: 1.8rem;
	}
}
.plan_block_column {
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	justify-content: center;
	margin-top: 30px;
	box-sizing: border-box;
	flex-wrap: nowrap;
	row-gap: 32px;
}
@media (max-width: 768px) {
	.plan_block_column {
		display: block;
		margin-top: 10px;
	}
}
.plan_block_panel {
	width: 400px;
	word-break: break-word;
	overflow-wrap: break-word;
	--epb-style-color: #80b5dd;
	--epb-style-size: 2px;
	--epb-wrapper-margin: 0px;
	height: 100%;
	margin: 0 20px;
}
@media (max-width: 768px) {
	.plan_block_panel {
		width: auto;
		margin-top: 10px;
	}
}
.block_panel_top {
	position: relative;
}
.block_panel_top::before {
	width: 16px;
	height: 16px;
	top: 0;
	right: 0;
	border-top: 2px solid #0068b7;
	border-right: 2px solid #0068b7;
	position: absolute;
	content: "";
}
@media (max-width: 768px) {
	.block_panel_top::before {
		width: 8px;
		height: 8px;
	}
}
.block_panel_top::after {
	width: 16px;
	height: 16px;
	top: 0;
	left: 0;
	border-top: 2px solid #0068b7;
	border-left: 2px solid #0068b7;
	position: absolute;
	content: "";
}
@media (max-width: 768px) {
	.block_panel_top::after {
		width: 8px;
		height: 8px;
	}
}
.block_panel_wrapper {
	border-style: none;
	border-width: 2px;
	border-color: #0068b7;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 16px;
	padding-right: 16px;
	border-radius: 3px;
	height: 100%;
	text-align: center;
}
@media (max-width: 768px) {
	.block_panel_wrapper {
		padding: 8px;
	}
}
.block_panel_ttl {
	font-size: 1.8rem;
	font-weight: bold;
}
@media (max-width: 768px) {
	.block_panel_ttl {
		font-size: 1.6rem;
	}
}
.block_panel_plice {
	font-size: 2.5rem;
	font-weight: bold;
	margin-top: 10px;
	color: #0068b7;
}
@media (max-width: 768px) {
	.block_panel_plice {
		font-size: 1.8rem;
	}
}
.block_panel_bottom {
	position: relative;
}

.block_panel_bottom::before {
	width: 16px;
	height: 16px;
	right: 0;
	bottom: 0;
	border-right: 2px solid #0068b7;
	border-bottom: 2px solid #0068b7;
	position: absolute;
	content: "";
}
@media (max-width: 768px) {
	.block_panel_bottom::before {
		width: 8px;
		height: 8px;
	}
}
.block_panel_bottom::after {
	width: 16px;
	height: 16px;
	left: 0;
	bottom: 0;
	border-left: 2px solid #0068b7;
	border-bottom: 2px solid #0068b7;
	position: absolute;
	content: "";
}
@media (max-width: 768px) {
	.block_panel_bottom::after {
		width: 8px;
		height: 8px;
	}
}
.plan_notes {
	text-align: center;
	margin-top: 30px;
}
@media (max-width: 768px) {
	.plan_notes {
		margin-top: 20px;
	}
}

