/* CSS Document */

/************* CSS reset ***********************/

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video
{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

html
{
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}
label.error { color: red;}


/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section
{
	display: block;
}

body
{
	line-height: 1;
}

ol, ul
{
	list-style: none;
}

blockquote, q
{
	quotes: none;
}

blockquote:before, blockquote:after,q:before, q:after
{
	content: '';
	content: none;
}

table
{
	border-collapse: collapse;
	border-spacing: 0;
}
.center
{
	text-align: center;
}
.relative{ position:relative; }
.absolute{ position:absolute; }

/* ==============================================
 ユーティリティ
=============================================== */
/* フロート回り込み解除
----------------------------------------------- */
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    line-height: 0px;
    visibility: hidden;
    content: ".";
}

img
{
	border:none;
	margin:0;
	padding:0;
    max-width:100%;
    height:auto;
}

a:active{color:#333;}
a:hover{color:#333; text-decoration: none;}
a:link{color:#333;}
a:visited{color:#333;}

.mincho{ font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3" , "HiraMinProN-W3" ,"メイリオ", Meiryo, serif; }
.italic { font-style: italic; }


/* ---------- 追加 BY 明智、2019-05-17 ---------- */
.top_plan_area {
	position: relative;
	height: 240px;
	padding: 32px 8px;
	background: #ffffff;
}

.top_plan_pink {
	background: #ea70a6;
}

.top_plan_blue {
	background: #45bdcf;
}

.top_plan_bar {
	position: absolute;
}

.top_plan_bar_inner {
	display: flex;
	height: 36px;
	margin: 6px 0;
	border-top: 1px dashed #ffffff;
	border-bottom: 1px dashed #ffffff;
	align-items: center;
}

.top_plan_bar_center {
	width: calc(100% - 78px);
	margin: 0 31px;
}

.top_plan_bar_center:before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
}

.top_plan_pink.top_plan_bar_center:before {
	border-left: 5px solid transparent;
	border-right: 5px solid #a9537a;
	border-top: 5px solid #a9537a;
	border-bottom: 5px solid transparent;
}

.top_plan_blue.top_plan_bar_center:before {
	border-left: 5px solid transparent;
	border-right: 5px solid #3b9cab;
	border-top: 5px solid #3b9cab;
	border-bottom: 5px solid transparent;
}

.top_plan_bar_center:after {
	content: '';
	position: absolute;
	bottom: -10px;
	right: 0;
}

.top_plan_pink.top_plan_bar_center:after {
	border-left: 5px solid #a9537a;
	border-right: 5px solid transparent;
	border-top: 5px solid #a9537a;
	border-bottom: 5px solid transparent;
}

.top_plan_blue.top_plan_bar_center:after {
	border-left: 5px solid #3b9cab;
	border-right: 5px solid transparent;
	border-top: 5px solid #3b9cab;
	border-bottom: 5px solid transparent;
}

.top_plan_txt {
	width: 100%;
	font-size: 1.2rem;
	font-weight: bold;
	color: white;
	text-align: center;
}

.top_plan_ribbon {
	position: absolute;
	width: 40px;
	top: 42px;
}

.top_plan_ribbon_l {
	left: 8px;
}

.top_plan_ribbon_r {
	right: 8px;
}

.top_plan_ribbon_l:before, 
.top_plan_ribbon_r:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
}

.top_plan_ribbon_l:before {
	left: 0;
	border-left: 24px solid #ffffff;
	border-right: 24px solid transparent;
	border-top: 24px solid transparent;
	border-bottom: 24px solid transparent;
}

.top_plan_ribbon_r:before {
	right: 0;
	border-left: 24px solid transparent;
	border-right: 24px solid #ffffff;
	border-top: 24px solid transparent;
	border-bottom: 24px solid transparent;
}

.top_plan_price_wrapper {
	display: flex;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 90px 0 0;
	align-items: center;
	justify-content: center;
}

.top_plan_price_infos {
	text-align: center;
}

.top_plan_price_01 {
	font-size: 14px;
}

.top_plan_price_02 {
	padding: 16px 0;
	font-size: 24px;
	font-weight: bold;
	color: #f44336;
}