@charset "utf-8";

/******************************************************************************/
/***                                                                        ***/
/***                                                                        ***/
/***     biz.css                                                            ***/
/***                                                                        ***/
/***    【内容】                                                            ***/
/***                                                                        ***/
/***     ・コラム専用のスタイルを記述する                                   ***/
/***                                                                        ***/
/***                                                                        ***/
/******************************************************************************/


p:not([class]) {
	font-size: 105%;
	line-height: 1.8;
}
mark {
	border-bottom: 1px solid #333;
	background-color: transparent;
}
a {
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
table {
	width: 100%;
}
input,
select,
button,
textarea {
	background: #FFF;
	border: 1px solid #C6C1B9;
	font-weight: normal;
	line-height: 1.5;
}
input[type=text] {
	width: 100%;
	padding: 5px 10px;
	font-size: 105%;
	text-align: right;
	color: #333;
	border: 1px solid #C6C1B9;
}
input[type=text]:read-only {
	background-color: #DDD;
	color: #333;
}
input[type=text]:read-only:focus {
	outline: none;
}
select {
	background: url(../../img/ico_arw_gry_bt02.png) no-repeat #FFF;
	background-position: calc(100% - 10px) center;
	background-size: 9px 7px;
	min-width: 130px;
	font-size: 105%;
	color: #333;
}
.aw {
	display: inline-block;
}
input::placeholder,
select::placeholder,
button::placeholder,
textarea::placeholder {
	color: #C6C1B9;
}
.err {
	outline: 2px solid #ED1C24;
}
.err_msg {
	margin-top: 8px;
	font-size: 13px;
	font-weight: bold;
	text-align: left;
	color: #ED1C24;
	display: block;
}
p.err_btn {
	margin-top: 8px;
	margin-bottom: 0 !important;
	font-size: 14px;
	font-weight: bold;
	text-align: center !important;
	color: #ED1C24;
	display: block;
}

@media (max-width: 767px){
p:not([class]) {
	font-size: 95%;
	line-height: 1.8;
}
input[type=text] {
	font-size: 95%;
}
select {
	width: auto;
	font-size: 95%;
}
.err_msg {
	margin-top: 8px;
	font-size: 11px;
}
p.err_btn {
	margin-top: 5px;
	font-size: 12px;
}
}

.simulator {
	margin-top: 0;
	margin-bottom: 90px;
	color: #333;
}
.simulator * {
	box-sizing: border-box;
}
.lead_txt {
	margin-bottom: 40px;
	padding:  15px 20px;
	border: 2px solid #0098D8;
	border-radius: 3px;
}
.lead_txt p {
	margin-bottom: 0;
}
.simulator .ttl_paint {
	margin-bottom: 0;
	padding: 20px 45px;
	font-size: 200%;
	line-height: 1.1;
	color: #FFF;
	background-color: #0098D8;
	border: none;
	border-radius: 3px 3px 0 0;
}
.simulator .ttl_step {
	position: relative;
	margin-top: 90px;
	margin-bottom: 30px;
	padding-top: 20px;
	padding-left: 140px;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 180%;
	line-height: 1.2;
	color: #333;
	background: none;
}
.simulator .ttl_step:first-of-type {
	margin-top: 40px;
}
.simulator .ttl_step span {
	position: absolute;
	top: 0;
	left: 6px;
	line-height: 0; 
}
.simulator .ttl_thunder {
	position: relative;
	max-width: 890px;
	margin: 90px auto 30px;
	padding: 2px 0 13px 25px;
	font-size: 130%;
	line-height: 1.2;
	color: #333;
	border-bottom: 1px dotted #0098D8;
}
.simulator .trial_calculation .ttl_thunder {
	max-width: 750px;
}
.box_input .ttl_thunder {
	margin-top: 60px;
}
.box_input .ttl_thunder:first-of-type {
	margin-top: 0;
}
.simulator .ttl_thunder span {
	position: absolute;
	top: 0;
	left: 0;
}
.simulator .ttl_donut {
	position: relative;
	margin-top: 180px;
	margin-bottom: 30px;
	padding-left: 24px;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 170%;
	line-height: 1.2;
	color: #333;
	background: none;
}
.simulator .ttl_donut span {
	position: absolute;
	top: 0;
	left: 0;
}

@media (max-width: 767px){
.simulator {
	margin-top: 20px;
	margin-bottom: 40px;
}
.lead_txt {
	margin-bottom: 30px;
	padding:  10px 20px;
	border: 2px solid #0098D8;
	border-radius: 3px;
}
.simulator .ttl_paint {
	padding: 15px 20px;
	font-size: 140%;
}
.simulator .ttl_step {
	margin-top: 60px;
	margin-bottom: 20px;
	padding-top: 15px;
	padding-left: 90px;
	font-size: 130%;
}
.simulator .ttl_step:first-of-type {
	margin-top: 30px;
}
.simulator .ttl_step span {
	left: 0;
	width: calc(119px * 0.7);
	height: calc(62px * 0.7);
}
.simulator .ttl_thunder {
	margin: 60px auto 20px;
	padding: 0 0 8px 20px;
	font-size: 110%;
}
.box_input .ttl_thunder {
	margin-top: 60px;
}
.box_input .ttl_thunder:first-of-type {
	margin-top: 0;
}
.simulator .ttl_thunder span {
	width: calc(14px * 0.8);
	height: calc(22px * 0.8);
}
.simulator .ttl_donut {
	margin-top: 100px;
	margin-bottom: 20px;
	padding-left: 22px;
	font-size: 130%;
}
.simulator .ttl_donut span {
	width: calc(20px * 0.8);
	height: calc(20px * 0.8);
}
}

.trial_calculation {
	padding: 33px 45px 45px;
	background-color: #ECF7FE;
	border-radius: 0 0 3px 3px;
}

p + .box_input {
	margin-top: -10px;
}
.box_input {
	padding: 30px 20px;
	background-color: #D0EBFD;
	border-radius: 3px;
}
.simulator .tbl_unit {
	max-width: 720px;
	margin: 0 auto;
	font-size: 105%;
	text-align: right;
}
.switch {
	margin-top: -15px;
}

@media (max-width: 767px){
.trial_calculation {
	padding: 30px 20px;
}
p + .box_input {
	margin-top: -10px;
}
.box_input {
	padding: 30px 20px;
}
.ttl_step + .box_input {
	padding: 20px 20px;
}
.simulator .tbl_unit {
	margin-top: -10px;
	font-size: 85%;
}
}

@media (max-width: 480px){
.box_input {
	margin-left: -20px;
	margin-right: -20px;
}
}

.tbl_input {
	max-width: 756px;
	margin-left: auto;
	margin-right: auto;
	font-size: 105%;
	line-height: 1.2;
}
.tbl_input th {
	width: 22%;
	text-align: right;
	padding: 8px 15px 8px 0;
}
.tbl_input td {
	position: relative;
	width: 78%;
	padding: 8px 0 8px 15px;
}
.tbl_input input[type=text] {
	width: 130px;
	text-align: right;
}
.tbl_input td.txt {
	padding-left: 70px;
	line-height: 1.8;
}
.tbl_input .note {
	margin-top: 10px;
	display: block;
}
.tbl_input .unit {
	position: absolute;
	top: 20px;
	left: 155px;
	display: block;
}

@media (max-width: 767px){
.tbl_input {
	font-size: 95%;
}
.tbl_input th {
	width: 35%;
	text-align: right;
	padding: 8px 5px 8px 0;
}
.tbl_input td {
	padding: 8px 0 8px 5px;
}
.tbl_input td.txt {
	padding-left: 0;
}
.tbl_input .note {
	margin-top: 5px;
}
.tbl_input .unit {
	top: 15px;
	left: 145px;
}
}

@media (max-width: 540px){
.tbl_input th {
	width: 100%;
	text-align: left;
	padding: 10px 0 5px;
	display: block;
}
.tbl_input td {
	position: relative;
	width: 100%;
	padding: 0 0 10px;
	display: block;
}
.tbl_input .unit {
	top: 10px;
	left: 140px;
}
}

.tbl_monthly {
	max-width: 720px;
	margin: 0 auto;
	font-size: 105%;
	line-height: 1.2;
}
.tbl_monthly + .tbl_monthly {
	margin-top: 40px;
}
.tbl_monthly.cut {
	max-width: 500px;
}
.tbl_monthly th {
	width: 16%;
	padding: 6px 15px;
	vertical-align: middle;
	border: 1px solid #E2DCD3;
}
.tbl_monthly.input th {
	padding: 10px 15px;
}
.tbl_monthly.cut th {
	width: 30%;
}
.tbl_monthly td {
	width: 28%;
	padding: 12px 20px;
	font-size: 120%;
	font-weight: bold;
	text-align: right;
	vertical-align: middle;
	border: 1px solid #E2DCD3;
}
.tbl_monthly.input td {
	padding: 6px 15px;
	font-size: 105%;
}
.tbl_monthly.cut td {
	width: 70%;
}
.tbl_monthly thead th {
	padding: 10px 15px;
	text-align: center;
	color: #FFF;
	background-color: #0098D8;
}
.tbl_monthly tbody th {
	text-align: right;
	background-color: #F1EFEB;
}
.tbl_monthly tbody td {
	background-color: #FFF;
}
.tbl_monthly.input tbody td {
	background-color: #F5F5F5;
}
.tbl_monthly tbody td.result {
	font-size: 120%;
	color: #FF6224;
	background-color: #FFFFBF;
}
.tbl_monthly tfoot th {
	text-align: right;
	background-color: #F1EFEB;
}
.tbl_monthly tfoot td {
	font-size: 120%;
	color: #FF6224;
	background-color: #FFFFBF;
}

@media (max-width: 767px){
.tbl_monthly {
	font-size: 95%;
}
.tbl_monthly + .tbl_monthly {
	margin-top: 20px;
}
.tbl_monthly.cut {
	max-width: 280px;
}
.tbl_monthly th {
	padding: 5px;
}
.tbl_monthly.input th {
	padding: 10px 5px;
}
.tbl_monthly td {
	padding: 10px 5px;
	font-size: 95%;
}
.tbl_monthly.input td {
	padding: 5px;
	font-size: 95%;
}
.tbl_monthly.cut td {
	width: 70%;
}
.tbl_monthly thead th {
	padding: 10px 5px;
}
.tbl_monthly tbody th {
	white-space: nowrap;
}
.tbl_monthly tfoot th {
	white-space: nowrap;
}
.tbl_monthly tbody td.result {
	font-size: 95%;
}
.tbl_monthly tfoot td {
	font-size: 95%;
}
.tbl_monthly input[type=text] {
	padding: 5px;
}
}

@media (max-width: 480px){
.tbl_monthly {
	font-size: 75%;
}
}

.price_result {
	max-width: 930px;
	margin-left: auto;
	margin-right: auto;
}
.tbl_result {
	max-width: 790px;
	margin-left: auto;
	margin-right: auto;
	font-size: 95%;
	line-height: 1.2;
}
.tbl_result th {
	padding: 10px 10px;
	text-align: center;
	color: #FFF;
	vertical-align: middle;
	background-color: #0098D8;
	border: 1px solid #E2DCD3;
	
}
.tbl_result td {
	width: 31.5%;
	padding: 20px 10px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	background-color: #FFF;
	border: 1px solid #E2DCD3;
}
.tbl_result th.empty, 
.tbl_result td.arrow {
	width: 5.5%;
	padding: 5px;
	background-color: #FFF;
	border-top: none;
	border-bottom: none;
}
.tbl_result td b {
	font-size: 200%;
}
.tbl_result td.result {
	color: #FF470A;
	background-color: #FFFFBF;
}
.other_price {
	max-width: 790px;
	margin: 15px auto 30px;
	padding: 20px;
	font-size: 95%;
	font-weight: bold;
	line-height: 1.4;
	background-color: #F5F5F5;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.other_price dt sub {
	font-size: 80%;
}
.other_price dt {
	margin-right: 30px;
}
.other_price dd b {
	font-size: 180%;
}
.price_result [class^="note"] {
	position: relative;
	margin-bottom: 0;
	font-size: 105%;
	line-height: 1.8;
}
.price_result .note01 {
	margin-left: 20px;
	padding-left: 40px;
}
.price_result .note01 sup {
	position: relative;
	top: -3px;
	left: -3px;
	font-size: 80%;
}
.price_result .note02 {
	margin-top: 20px;
	margin-left: 60px;
	padding-left: 20px;
}
.price_result [class^="note"] span {
	position: absolute;
	top: 0;
	left: 0;
}

@media (max-width: 767px){
.tbl_result {
	font-size: 85%;
}
.tbl_result th {
	padding: 10px 5px;
	font-size: 95%;
}
.tbl_result td {
	width: 31.5%;
	padding: 15px 5px;
}
.tbl_result th.empty, 
.tbl_result td.arrow {
	width: 5.5%;
	padding: 5px 2px;
}
.tbl_result td b {
	font-size: 120%;
}
.other_price {
	margin: 15px auto 20px;
	padding: 15px 10px;
	font-size: 85%;
  	display: block;
}
.other_price dt {
	margin-right: 0;
	margin-bottom: 5px;
	text-align: center;
}
.other_price dd {
	text-align: center;
}
.other_price dd b {
	font-size: 120%;
}
.price_result [class^="note"] {
	font-size: 85%;
}
.price_result .note01 {
	margin-left: 0;
	padding-left: 35px;
}
.price_result .note02 {
	margin-top: 10px;
	margin-left: 35px;
}
}

@media (max-width: 320px){
.tbl_result {
	font-size: 80%;
}
.other_price {
	font-size: 80%;
}
.price_result [class^="note"] {
	font-size: 80%;
}
}

.graph {
	margin: 60px auto auto;
	max-width: 890px;
}

.tbl_unit_price {
	max-width: 876px;
	margin: 0 auto 30px;
	font-size: 105%;
	line-height: 1.2;
}
.tbl_unit_price th {
	padding: 10px;
	vertical-align: middle;
	border: 1px solid #E2DCD3;
}
.tbl_unit_price td {
	padding: 10px 15px;
	vertical-align: middle;
	border: 1px solid #E2DCD3;
}
.tbl_unit_price thead th {
	padding: 10px 0;
	text-align: center;
	color: #FFF;
	background-color: #0098D8;
}
.tbl_unit_price thead th:nth-of-type(3) {
	border-right: none;
}
.tbl_unit_price thead th.empty {
	border-left: none;
}
.tbl_unit_price tbody th {
	text-align: center;
	background-color: #F1EFEB;
}
.tbl_unit_price tbody td {
	text-align: right;
}
.tbl_unit_price tbody td.unit {
	text-align: center;
}
.tbl_unit_price tbody td.result {
	background-color: #FFFFBF;
}
.tbl_wp {
	max-width: 876px;
	margin: 0 auto;
}
.tbl_unit_price_s {
	margin-top: 10px;
	width: 74%;
	font-size: 105%;
	line-height: 1.2;
}
.tbl_unit_price_s th {
	width: 64.6153%;
	padding: 10px 15px;
	text-align: right;
	vertical-align: middle;
	color: #FFF;
	background-color: #0098D8;
	border: 1px solid #E2DCD3;
}
.tbl_unit_price_s td {
	width: 35.3846%;
	padding: 10px 15px;
	text-align: right;
	vertical-align: middle;
	border: 1px solid #E2DCD3;
}
.tbl_unit_price_d {
	margin-top: 10px;
	width: 80%;
	font-size: 105%;
	line-height: 1.2;
}
.tbl_unit_price_d th {
	width: 60%;
	padding: 10px 15px;
	text-align: right;
	vertical-align: middle;
	color: #FFF;
	background-color: #0098D8;
	border: 1px solid #E2DCD3;
}
.tbl_unit_price_d td {
	width: 20%;
	padding: 10px 15px;
	text-align: right;
	vertical-align: middle;
	border: 1px solid #E2DCD3;
}

@media (max-width: 767px){
.tbl_unit_price {
	margin: 0 auto 20px;
	font-size: 95%;
}
.tbl_unit_price th {
	padding: 10px 5px;
}
.tbl_unit_price td {
	padding: 10px 5px;
}
.tbl_unit_price thead th {
	padding: 10px 2px;
	text-align: center;
	color: #FFF;
	background-color: #0098D8;
}
.tbl_unit_price thead td {
	text-align: center;
	background-color: #F1EFEB;
}
.tbl_unit_price tbody th {
	text-align: center;
	color: #FFF;
	background-color: #0098D8;
}
.tbl_unit_price.sp_vis tbody tr:nth-of-type(2) th {
	border-bottom: none;
}
.tbl_unit_price.sp_vis th.empty {
	border-top: none;
}

.tbl_unit_price_s {
	margin-top: 10px;
	width: 100%;
	font-size: 95%;
}
.tbl_unit_price_s th {
	width: 60%;
	padding: 10px 5px;
}
.tbl_unit_price_s td {
	width: 40%;
	padding: 10px 5px;
}

.tbl_unit_price_d {
	margin-top: 10px;
	width: 100%;
	font-size: 95%;
}
.tbl_unit_price_d th {
	width: 60%;
	padding: 10px 5px;
}
.tbl_unit_price_d td {
	width: 40%;
	padding: 10px 5px;
}
}

@media (max-width: 480px){
.tbl_unit_price {
	font-size: 85%;
}
.tbl_unit_price_s {
	font-size: 85%;
}
.tbl_unit_price_d {
	font-size: 85%;
}
}

.simulator .btn_result {
	margin-top: 35px;
	margin-bottom: 0;
	text-align: center;
}
.btn_result a {
	display: inline-block;
	box-shadow: 0 0 24px 4px rgba(34,34,3,0.2);
	transition: all 0.3s;
}
.btn_result a:hover {
	-webkit-filter: brightness(1.1);
	-moz-filter: brightness(1.1);
	-ms-filter: brightness(1.1);
	filter: brightness(1.1);
	opacity: 1;
}
.simulator .btn_print {
	margin-top: 35px;
	margin-bottom: 0;
	text-align: center;
}
.btn_print a {
	position: relative;
	min-width: 280px;
	padding: 20px 30px 20px 50px;
	font-size: 105%;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	color: #FFF;
	background-color: #0098D8;
	border-radius: 4px;
	display: inline-block;
	transition: all 0.3s;
}
.btn_print a::before, 
.btn_print a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.btn_print a::before {
	left: 100px;
	width: 22px;
	height: 23px;
	background-image: url("ico07.png");
}
.btn_print a::after {
	right: 20px;
	width: 6px;
	height: 10px;
	background-image: url("ico08.png");
}
.btn_print a:hover {
	-webkit-filter: brightness(1.2);
	-moz-filter: brightness(1.2);
	-ms-filter: brightness(1.2);
	filter: brightness(1.2);
	opacity: 1;
}

@media (max-width: 767px){
.simulator .btn_result {
	margin-top: 30px;
}
.btn_result a {
	box-shadow: 0 0 12px 0 rgba(34,34,3,0.2);
}
.simulator .btn_print {
	margin-top: 30px;
	display: none;
}
.btn_print a {
	min-width: 240px;
	font-size: 90%;
	padding-top: 15px;
	padding-bottom: 15px;
}
}

.simulator .list_circle {
	position: relative;
	max-width: 890px;
	margin: 0 auto;
	font-size: 105%;
	line-height: 1.8;
}
.list_circle > li {
	position: relative;
	padding-left: 20px;
}
.list_circle > li::before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
	color: #0098D8;
}
.list_circle li ul {
	padding-left: 0;
	font-size: 100%;
}
.list_circle > li + li {
	margin-top: 15px;
}
.discount {
	line-height: 1.2;
  	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.discount dt {
	width: 250px;
	margin-top: 10px;
}
.discount dd {
	width: calc(100% - 250px);
	margin-top: 10px;
}
.simulator .notes {
	margin: 15px 0;
}
.notes li {
	position: relative;
	padding-left: 45px;
}
.notes li span {
	position: absolute;
	top: 0;
	left: 0;
}
em.label {
	margin-top: 10px;
	display: block;

}
.common_btn {
	text-align: center;
}

@media (max-width: 767px){
.simulator .list_circle {
	font-size: 95%;
}
.list_circle > li {
	padding-left: 15px;
}
.list_circle > li::before {
	top: 2px;
	font-size: 90%;
}
.discount {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.discount dt {
	width: calc(60% - 10px);
	margin-right: 10px;
}
.discount dd {
	width: 40%;
}
}

@media (max-width: 320px){
.discount dt {
	width: calc(55% - 10px);
	margin-right: 10px;
}
.discount dd {
	width: 45%;
}
}

/* 印刷用CSS */
@media print{
body {
  -webkit-print-color-adjust: exact;
}
#l_header,
.heading, 
#breadcrumbs, 
.simulator .lead_txt, 
.btn_result, 
.btn_print, 
.common_btn, 
.page_top,
#l_footer,
.reader {
	display: none;
}
#l_main .main_bg01, 
#l_main .main_bg02 {
	background: none;
}
.main_inner {
  padding-top: 0;
  padding-bottom: 0;
  background: none;
}
.simulator {
	margin-top: 0;
	margin-bottom: 0;
}
.simulator .ttl_step {
  margin-top: 40px;
  margin-bottom: 20px;
}
.simulator .ttl_step:first-of-type {
  margin-top: 40px;
}
.simulator .ttl_thunder {
	margin: 40px auto 20px;
}
.simulator .ttl_donut {
	margin-top: 40px;
	margin-bottom: 20px;
}
.tbl_monthly + .tbl_monthly {
	display: none;
}
.discount dt {
	width: 250px;
	margin-right: 0;
}
.discount dd {
	width: calc(100% - 250px);
}
.tbl_unit_price {
	margin-bottom: 10px;
}
.tbl_unit_price th,
.tbl_unit_price_d th,
.tbl_unit_price_s th {
	padding: 6px 5px;
}
.tbl_unit_price td,
.tbl_unit_price_d td,
.tbl_unit_price_s td {
	padding: 6px 5px;
}
.tbl_unit_price_d {
	width: 50%;
}
.tbl_unit_price_d th {
	width: 70%;
}
.tbl_unit_price_d td {
	width: 30%;
}
.tbl_unit_price_s {
	width: 65%;
}
.tbl_unit_price_s th {
	width: 70%;
}
.tbl_unit_price_s td {
	width: 30%;
}
.simulator .list_circle {
	line-height: 1.6;
}
.always01 {
   page-break-before: always;
}
}

/*
@media print and (max-width: 767px) {
.always01 {
   page-break-before: auto;
}
}
*/

@page { size:portrait; }

