@charset "utf-8";

/*
************************************************************************
* シミュレーション
************************************************************************
*/
.simulation
{

}
.simulation .simulation-row
{
	border-top:1px solid #000000;
	padding:60px 0;
	
	display: flex;
}
.simulation .simulation-row .title
{
	flex: 0 0 230px;
}
.simulation .simulation-row .title .main
{
	font-size:2.8rem;
}
.simulation .simulation-row .detail
{
	flex: 1 1 auto;
}
.simulation .simulation-row .detail .charge
{
	display: flex;
	align-items: center;
	align-content: center;
	
	margin:-10px;
}
.simulation .simulation-row .detail .charge > label
{
	margin:10px;
}
.simulation .simulation-row .detail .charge > label.select:after
{
	content:"";
	
	position:absolute;
	top:50%;
	right:0.5em;
	
	width:0.5em;
	height:0.5em;
	
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	
	transform:rotate(45deg) translate(-50%);
}
.simulation .simulation-row .detail .charge select
{
	line-height:1.2;
	font-size:2.8rem;
	border:1px solid #000000;
	
	border-radius:0.25em;
	padding:0.5em 2.0em 0.5em 1.0em;
	
	text-align:right;
}
.simulation .simulation-row .detail .charge select option
{
	text-align:right;
}
.simulation .simulation-row .detail .charge .label
{
	font-size:2.4rem;
}
.simulation .simulation-row .detail .charge .label.label-s
{
	font-size:1.8rem;
}
.simulation .simulation-row .detail .charge-notice
{
	font-size:1.4rem;
	margin-top:1em;
}

.simulation .simulation-row .detail .paln-list
{
}
.simulation .simulation-row .detail .paln-list .paln-list-item
{
	display: flex;
	align-items:  flex-start;
	align-content: center;
	
	cursor:pointer;
	margin-bottom:1.5em;
}
.simulation .simulation-row .detail .paln-list .paln-list-item input
{
	visibility:hidden;
	width:0px;
	height:0px;
}
.simulation .simulation-row .detail .paln-list .paln-list-item input + .mark
{
	width:1.5em;
	height:1.5em;
	
	border-radius:1em;
	border:1px solid #000000;
	
	margin-top:0.5em;
	margin-right:0.5em;
}
.simulation .simulation-row .detail .paln-list .paln-list-item input:checked + .mark:after
{
	content:"";
	
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	
	width:0.8em;
	height:0.8em;
	border-radius:1em;
	
	background-color:#000000;
}

.simulation .simulation-row .detail .paln-list .paln-list-item .plan-name
{
	flex:0 0 250px;
	font-size:2.0rem;
}
.simulation .simulation-row .detail .paln-list .paln-list-item .price
{
	font-size:2.4rem;
	color:#958626;
	line-height:1;
	align-self: center;
}
.simulation .simulation-row .detail .paln-list .paln-list-item .price .amount
{
	font-size:3.2rem;
}
.simulation .simulation-row .detail .paln-list .paln-list-item .price-tax
{
	font-size:1.8rem;
	color:#958626;
	line-height:1;
	align-self: center;
}
.simulation .simulation-row .detail .paln-list .paln-list-item .price-tax .amount
{
	font-size:2.2rem;
}

.simulation .simulation-row .detail .option-list
{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.simulation .simulation-row .detail .option-list .option-list-item
{
	flex:0 0 50%;
	
	display: flex;
	align-items:  flex-start;
	align-content: center;
	
	cursor:pointer;
	margin-bottom:1.25em;
}
.simulation .simulation-row .detail .option-list .option-list-item input
{
	visibility:hidden;
	width:0px;
	height:0px;
}
.simulation .simulation-row .detail .option-list .option-list-item input + .mark
{
	flex:0 0 auto;
	width:1.5em;
	height:1.5em;
	
	border-radius:0.25em;
	border:1px solid #000000;
	
	margin-top:0.5em;
	margin-right:0.5em;
}
.simulation .simulation-row .detail .option-list .option-list-item input:checked + .mark:after
{
	content:"";
	
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	
	width:0.8em;
	height:0.8em;
	border-radius:0.25em;
	
	background-color:#000000;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-detail
{
	flex:0 1 auto;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-detail > *
{
	display:block;
}

.simulation .simulation-row .detail .option-list .option-list-item .option-name
{
	font-size:2.0rem;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-notice
{
	font-size:1.4rem;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-amount
{
	margin-top:0.5em;
	
	display: flex;
	align-items: center;
	align-content: center;
	width:100%+

}
.simulation .simulation-row .detail .option-list .option-list-item .option-amount > *
{
	margin-right:0.1em;
}
.simulation .simulation-row .detail .option-list .option-list-item .price
{
	font-size:2.0rem;
	color:#958626;
	line-height:1;
}
.simulation .simulation-row .detail .option-list .option-list-item .price .amount
{
	font-size:2.2rem;
}
.simulation .simulation-row .detail .option-list .option-list-item .price-tax
{
	font-size:1.4rem;
	color:#958626;
	line-height:1;
}
.simulation .simulation-row .detail .option-list .option-list-item .price-tax .amount
{
	font-size:1.4rem;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-amount label.select:after
{
	content:"";
	
	position:absolute;
	top:50%;
	right:0.5em;
	
	width:0.5em;
	height:0.5em;
	
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	
	transform:rotate(45deg) translate(-75%);
}
.simulation .simulation-row .detail .option-list .option-list-item .option-amount label.select select
{
	line-height:1.2;
	font-size:1.6rem;
	border:1px solid #000000;
	
	border-radius:0.25em;
	padding:0.4em 1.8em 0.4em 0.4em;
	
	text-align:right;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-amount .quantity-label
{
	font-size:1.8rem;
	margin-right: 0.25em;
}
.simulation .simulation-row .detail .option-list .option-list-item .option-amount-notice
{
	font-size:1.4rem;
	margin-top:0.5em;
}

.simulation .simulation-result-row
{
	border-top:1px solid #000000;
	padding:60px 0 80px 0;
}
.simulation .simulation-result-row .title
{
	margin-bottom:1.5em;
}
.simulation .simulation-result-row .title .main
{
	font-size:2.8rem;
}
.simulation .simulation-result-row .result
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	justify-content: space-around;
	align-items: stretch;
	align-content: center;
}
.simulation .simulation-result-row .result .plus
{
	background-image:url(../../../_img/icon/plus.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
	
	flex:0 0 2em;
	margin:0.5em;
}
.simulation .simulation-result-row .result .result-item
{
	border:1px solid #000000;
	border-radius:4em;
	
	padding:2em 0 3em 0;
	
	width:330px;
}
.simulation .simulation-result-row .result .result-item .result-item-title
{
	text-align:center;
}
.simulation .simulation-result-row .result .result-item .result-item-title .main
{
	font-size:2.0rem;
	border-bottom:1px solid #000000;
}
.simulation .simulation-result-row .result .result-item .result-amount
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	
	height:100%;
}
.simulation .simulation-result-row .result .result-item .result-amount .price
{
	flex:0 0 100%;
	text-align:center;
	line-height:1;
	font-size:2.4rem;
}
.simulation .simulation-result-row .result .result-item .result-amount .price .amount
{
	font-size:3.2rem;
}
.simulation .simulation-result-row .result .result-item .result-amount .tax
{
	flex:0 0 100%;
	text-align:center;
	line-height:1;
	font-size:1.8rem;
}
.simulation .simulation-result-row .result .result-item .result-amount .tax .amount
{
	font-size:2.2rem;
}
.simulation .simulation-result-row .result .result-item .result-amount .plan-name
{
	flex:0 0 100%;
	text-align:center;
	line-height:1;
	font-size:1.6rem;
	margin-bottom:0.8em;
}
.simulation .simulation-result-row .result .result-item-total
{
	border:1px solid #000000;
	border-radius:5em;
	
	padding:2.5em 0;
	width:750px;
	
	text-align:center;

	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	
	line-height:1;
	
	margin-top:2.0em;
}
.simulation .simulation-result-row .result .result-item-total:before
{
	content:"";
	
	position:absolute;
	top:calc(50% - 1.0em);
	left:-3em;
	
	width:2em;
	height:2em;
	
	
	background-image:url(../../../_img/icon/equal.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
	
}
.simulation .simulation-result-row .result .result-item-total .label
{
	font-size:2.8rem;
}
.simulation .simulation-result-row .result .result-item-total .price
{
	font-size:4.0rem;
	color:#958626;
}
.simulation .simulation-result-row .result .result-item-total .price .amount
{
	font-size:6.4rem;
}
.simulation .simulation-result-row .result .result-item-total .tax
{
	font-size:2.4rem;
	color:#958626;
}
.simulation .simulation-result-row .result .result-item-total .tax .amount
{
	font-size:3.6rem;
}



/* == スマートフォンサイズ ======================================================*/
@media screen and (max-width: 750px) {
	.simulation
	{

	}
	.simulation .simulation-row
	{
		padding:10vw 0;
		flex-wrap: wrap;
	}
	.simulation .simulation-row .title
	{
		flex: 0 0 100%;
		margin-bottom:8vw;
	}
	.simulation .simulation-row .title .main
	{
		font-size:4.2rem;
	}
	.simulation .simulation-row .detail
	{
		flex: 1 1 auto;
	}
	.simulation .simulation-row .detail .charge
	{
		display: flex;
		align-items: center;
		align-content: center;
		
		margin:-0.25em;
	}
	.simulation .simulation-row .detail .charge > label
	{
		margin:0.25em;
	}
	.simulation .simulation-row .detail .charge > label.select:after
	{
		content:"";
		
		position:absolute;
		top:50%;
		right:0.5em;
		
		width:0.5em;
		height:0.5em;
		
		border-right:1px solid #000000;
		border-bottom:1px solid #000000;
		
		transform:rotate(45deg) translate(-50%);
	}
	.simulation .simulation-row .detail .charge select
	{
		line-height:1.2;
		font-size:4.0rem;
		border:1px solid #000000;
		
		border-radius:0.25em;
		padding:0.5em 2.0em 0.5em 1.0em;
		
		text-align:right;
	}
	.simulation .simulation-row .detail .charge select option
	{
		text-align:right;
	}
	.simulation .simulation-row .detail .charge .label
	{
		font-size:3.2rem;
	}
	.simulation .simulation-row .detail .charge .label.label-s
	{
		font-size:2.4rem;
	}
	.simulation .simulation-row .detail .charge-notice
	{
		font-size:2.2rem;
		margin-top:1em;
	}

	.simulation .simulation-row .detail .paln-list
	{
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item
	{
		flex-wrap: wrap;
		align-items: flex-start;
		align-content: center;

		cursor:pointer;
		margin-bottom:1em;
		
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item input
	{
		visibility:hidden;
		width:0px;
		height:0px;
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item input + .mark
	{
		width:1.5em;
		height:1.5em;
		
		border-radius:1em;
		border:1px solid #000000;
		
		margin-top:0.5em;
		margin-right:0.5em;
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item input:checked + .mark:after
	{
		content:"";
		
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		
		width:0.8em;
		height:0.8em;
		border-radius:1em;
		
		background-color:#000000;
	}

	.simulation .simulation-row .detail .paln-list .paln-list-item .plan-name
	{
		flex:0 0 calc(100% - 2em);
		font-size:3.2rem;
		line-height:1.3;
		margin-top:0.25em;
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item .price
	{
		
		margin-left:1.5em;
		font-size:3.2rem;
		color:#958626;
		line-height:1;
		
		margin-top:0.5em;
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item .price .amount
	{
		font-size:4.8rem;
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item .price-tax
	{
		font-size:2.4rem;
		color:#958626;
		line-height:1;
		margin-top:1.0em;
		
		align-self: center;
	}
	.simulation .simulation-row .detail .paln-list .paln-list-item .price-tax .amount
	{
		font-size:3.4rem;
	}

	.simulation .simulation-row .detail .option-list
	{
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}
	.simulation .simulation-row .detail .option-list .option-list-item
	{
		flex:0 0 100%;
		
		display: flex;
		align-items:  flex-start;
		align-content: center;
		
		cursor:pointer;
		margin-bottom:1.25em;
	}
	.simulation .simulation-row .detail .option-list .option-list-item input
	{
		visibility:hidden;
		width:0px;
		height:0px;
	}
	.simulation .simulation-row .detail .option-list .option-list-item input + .mark
	{
		flex:0 0 auto;
		width:1.5em;
		height:1.5em;
		
		border-radius:0.25em;
		border:1px solid #000000;
		
		margin-top:0.5em;
		margin-right:0.5em;
	}
	.simulation .simulation-row .detail .option-list .option-list-item input:checked + .mark:after
	{
		content:"";
		
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		
		width:0.8em;
		height:0.8em;
		border-radius:0.25em;
		
		background-color:#000000;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-detail
	{
		flex:0 1 auto;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-detail > *
	{
		display:block;
	}

	.simulation .simulation-row .detail .option-list .option-list-item .option-name
	{
		margin-top:0.15em;
		font-size:2.8rem;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-notice
	{
		font-size:2.4rem;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-amount
	{
		margin-top:0.5em;
		
		display: flex;
		align-items: center;
		align-content: center;
		width:100%+

	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-amount > *
	{
		margin-right:0.0em;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .price
	{
		font-size:3.2rem;
		color:#958626;
		line-height:1;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .price .amount
	{
		font-size:4.2rem;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .price-tax
	{
		font-size:2.4rem;
		color:#958626;
		line-height:1;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .price-tax .amount
	{
		font-size:3.4rem;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-amount label.select:after
	{
		content:"";
		
		position:absolute;
		top:50%;
		right:0.5em;
		
		width:0.5em;
		height:0.5em;
		
		border-right:1px solid #000000;
		border-bottom:1px solid #000000;
		
		transform:rotate(45deg) translate(-75%);
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-amount label.select select
	{
		line-height:1.2;
		font-size:2.8rem;
		border:1px solid #000000;
		
		border-radius:0.25em;
		padding:0.3em 1.5em 0.3em 0.5em;
		
		text-align:right;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-amount .quantity-label
	{
		font-size:2.8rem;
		margin-right:0.2em;
	}
	.simulation .simulation-row .detail .option-list .option-list-item .option-amount-notice
	{
		font-size:2.4rem;
		margin-top:0.5em;
	}

	.simulation .simulation-result-row
	{
		border-top:1px solid #000000;
		padding:10vw 0 15vwx 0;
	}
	.simulation .simulation-result-row .title
	{
		margin-bottom:8vw;
	}
	.simulation .simulation-result-row .title .main
	{
		font-size:4.2rem;
	}
	.simulation .simulation-result-row .result
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		justify-content: space-around;
		align-items: stretch;
		align-content: center;
	}
	.simulation .simulation-result-row .result .plus
	{
		background-image:url(../../../_img/icon/plus.svg);
		background-position:center center;
		background-repeat:no-repeat;
		background-size:contain;
		
		flex:0 0 2em;
		margin:0.5em;
		height:2em;
	}
	.simulation .simulation-result-row .result .result-item
	{
		border:1px solid #000000;
		border-radius:3em;
		padding:1em 0;
		width:100%;
		
		display: flex;
		
		height:25vw;
	}
	.simulation .simulation-result-row .result .result-item .result-item-title
	{
		display: flex;
		align-items: center;
		align-content: center;
		text-align:left;
		
		padding-left:1.5em;
		border-right:1px solid #000000;
		
		width:29vw;
		
	}
	.simulation .simulation-result-row .result .result-item .result-item-title .main
	{
		font-size:2.8rem;
		border-bottom:0px solid transparent;
	}
	.simulation .simulation-result-row .result .result-item .result-amount
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		align-content: center;
		
		height:100%;
		
		padding-left:1.5em;
	}
	.simulation .simulation-result-row .result .result-item .result-amount .price
	{
		flex:0 0 100%;
		text-align:left;
		line-height:1;
		font-size:3.2rem;
	}
	.simulation .simulation-result-row .result .result-item .result-amount .price .amount
	{
		font-size:4.8rem;
	}
	.simulation .simulation-result-row .result .result-item .result-amount .tax
	{
		flex:0 0 100%;
		text-align:left;
		line-height:1;
		font-size:2.6rem;
	}
	.simulation .simulation-result-row .result .result-item .result-amount .tax .amount
	{
		font-size:3.4rem;
	}
	.simulation .simulation-result-row .result .result-item .result-amount .plan-name
	{
		flex:0 0 100%;
		text-align:center;
		line-height:1;
		font-size:1.6rem;
		margin-bottom:0.8em;
	}
	.simulation .simulation-result-row .result .result-item-total
	{
		border:1px solid #000000;
		border-radius:3em;
		
		padding:1.0em 0;
		width:calc(100% - 3em);
		
		text-align:center;

		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		align-content: center;
		
		line-height:1;
		
		margin-top:2.0em;
		margin-left:3.0em;
		height:25vw;
	}
	.simulation .simulation-result-row .result .result-item-total:before
	{
		content:"";
		
		position:absolute;
		top:calc(50% - 1.0em);
		left:-3em;
		
		width:2em;
		height:2em;
		
		
		background-image:url(../../../_img/icon/equal.svg);
		background-position:center center;
		background-repeat:no-repeat;
		background-size:contain;
		
	}
	.simulation .simulation-result-row .result .result-item-total .result-amount
	{
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		align-content: center;
	}
	.simulation .simulation-result-row .result .result-item-total .label
	{
		display: flex;
		align-items: center;
		align-content: center;
		text-align:left;
		padding-left:1.5em;
		font-size:2.8rem;
		width:calc(29vw - 1.5em);
		border-right:1px solid #000000;
	}
	.simulation .simulation-result-row .result .result-item-total .price-label
	{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
		
		padding-left:1em;
	}
	.simulation .simulation-result-row .result .result-item-total .price
	{
		width:100%;
		font-size:4.0rem;
		color:#958626;
		text-align:left;
	}
	.simulation .simulation-result-row .result .result-item-total .price .amount
	{
		font-size:6.4rem;
	}
	.simulation .simulation-result-row .result .result-item-total .tax
	{
		text-align:left;
		width:100%;
		font-size:2.4rem;
		color:#958626;
	}
	.simulation .simulation-result-row .result .result-item-total .tax .amount
	{
		font-size:3.2rem;
	}
}
