@charset "UTF-8";

/*---------------------------------------------------------
common
---------------------------------------------------------*/
.com_style1_txt {
	text-align: center;
	font-size: min(175%,2.6vw);
}

.memo_org {
	color: #F5893E;
	font-size: 93%;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 1.2em;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_style1_txt {
	font-size: 115%;
}

.memo_org {
	font-size: 88%;
	margin-top: 1.2em;
}
}

/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.contentpage .m_img {
	width: 110%;
	grid-template-columns: 62% 34.6%;
	margin-left: -5%;
}
.contentpage .m_img > div:nth-of-type(1) {
	height: 93.5%;
	background-image: url(../images/price/m_img1@2x.jpg);
}
.contentpage .m_img > div:nth-of-type(2) {
	height: 101%;
	background-image: url(../images/price/m_img2@2x.jpg);
	translate: 0 17%;
}


/*---------------------------------------------------------
about
---------------------------------------------------------*/
#about {
	margin-top: 70px;
}
#about dl {
	background-color: #FFF;
	box-sizing: border-box;
	padding: 35px 6%;
}
#about dl dt {
	text-align: center;
	color: #63ac98;
	font-size: min(218%,3vw);
	letter-spacing: .2em;
	line-height: 1.5;
	padding-bottom: .5em;
	margin-bottom: .4em;
}
#about dl dt::after {
	display: block;
	content: "";
	background: url(../images/common/dot_m.svg) repeat-x left top;
	background-size: auto 100%;
	width: 4em;
	height: 2px;
	margin: .6em auto 0;
}
#about dl dd b {
	color: #63ac98;
}
#about dl:nth-of-type(2) dt,
#about dl:nth-of-type(2) dd b {
	color: #c08cba;
}
#about dl:nth-of-type(2) dt::after {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.5 2"><path fill="%23c08cba" d="M1.5,2H1C0.4,2,0,1.6,0,1s0.4-1,1-1h0.5c0.6,0,1,0.4,1,1S2,2,1.5,2z" /></svg>');
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#about {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48.6% 48.6%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#about {
	margin-top: 6%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#about {
	margin-top: 8%;
}
#about dl {
	padding: 7% 6%;
}
#about dl:nth-of-type(2) {
	margin-top: 3%;
}
#about dl dt {
	font-size: 130%;
	letter-spacing: .1em;
}
}


/*---------------------------------------------------------
lead
---------------------------------------------------------*/
#lead .box1 {
	position: relative;
	margin-bottom: 60px;
}
#lead .box1::before {
	position: absolute;
	content: "";
	background: url(../images/price/lead_bg@2x.png) no-repeat right top;
	background-size: contain;
	width: 55vw;
	height: 723px;
	right: -4%;
	top: -35%;
	z-index: -1;
}
#lead .com_style1_txt {
	margin: 1.5em auto 3em;
}
/* com_btnlist */
#lead .com_btnlist .com_btn1 {
	margin: .5em .6em;
}
#lead .com_btnlist .com_btn1 a {
	width: 15em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#lead .box1 dl {
	width: 56%;
	max-width: 712px;
}
#lead .box2 .img_l {
	width: 42%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#lead .box1::before {
	top: -20%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#lead .box1 {
	margin-bottom: 8%;
}
#lead .box1::before {
	width: 70vw;
	top: -18vw;
	right: -12%;
}
#lead .box1 dl {
	text-shadow: 0 0 5px rgba(255,255,255,1);
}
#lead .com_style1_txt {
	margin: 1em auto 1em;
}
}



/*---------------------------------------------------------
list
---------------------------------------------------------*/
#list .com_index1 {
	background-color: #87cab6;
}

/*list:com_menu1
---------------------------------------------------------*/
#list .list_menu {
	width: 96%;
	max-width: 1300px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(4, 21%);
	margin: 0 auto 6.8%;
}
#list .list_menu > li > a {
	font-size: min(1.8vw,1.18rem);
}
#list .com_menu1 > li > a::after {
	color: inherit;
	background-color: transparent;
	rotate: 90deg;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#list .list_menu {
	grid-template-columns: repeat(4, min(270px,23%));
}
#list .list_menu > li:nth-of-type(n+5) {
    margin-top: 1.5%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#list .list_menu {
	grid-template-columns: repeat(2, 48%);
	margin-bottom: 10%;
}
#list .list_menu > li > a {
	font-size: 90%;
}
}



/*list:tbl_pri
---------------------------------------------------------*/
.tbl_pri {
	border-collapse: collapse;
	border-top: 1px solid #FFF;
	margin-top: 7.7%;
}
.tbl_pri:first-of-type {
	margin-top: 0;
}
.tbl_pri .memo_org {
	margin-top: .5em;
}
/* caption */
.tbl_pri caption {
	position: relative;
	text-align: left;
	margin-bottom: 1.2em;
}
.tbl_pri caption .fw_bold {
	position: relative;
	font-size: min(150%,2.4vw);
	letter-spacing: .12em;
	line-height: 1.6;
	padding-left: 1.2em;
}
.tbl_pri caption .fw_bold::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e805';
	color: #87CAB6;
	left: 0;
	top: 0;
}
.tbl_pri caption .tax {
	font-size: 93%;
	font-weight: bold;
	text-align: right;
	line-height: 1.5;
}
.tbl_pri caption .fw_bold + .tax {
	position: absolute;
	right: 0;
	bottom: 0;
}
.tbl_pri tr {
	border-bottom: 1px solid #FFF;
}
.tbl_pri th,
.tbl_pri td {
	padding: 3em 1%;
}
.tbl_pri th {
	width: 76%;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
	box-sizing: border-box;
	padding-left: 0;
	padding-right: 4%;
}
.tbl_pri th dt span {
	display: inline-block;
}
.tbl_pri th dt .radi {
	display: inline-block;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-size: 53%;
	font-weight: bold;
	letter-spacing: .12em;
	vertical-align: 0.3em;
	background-color: #fff;
	border-radius: 2em;
	padding: .3em 1.2em;
	margin: 0 1em .4em 0;
}
.tbl_pri td {
	position: relative;
	width: 24%;
	background-color: rgba(135,202,182,0.2);
	text-align: center;
	box-sizing: border-box;
}
.tbl_pri td .price {
	font-size: 118%;
	font-weight: bold;
	line-height: 1.5;
}
.tbl_pri td .price .ft_att {
	color: #63ac98;
	font-size: 131%;
	margin-right: .1em;
}
.tbl_pri td .price .add {
	font-weight: normal;
	margin-right: .1em;
}
.tbl_pri td .note {
	color: rgba(73,41,34,0.7);
	font-size: 93%;
	font-weight: bold;
	line-height: 1.4;
	margin-top: .5em;
}
.tbl_pri td dl dt {
    font-size: 94%;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: .5em;
}
.tbl_pri td dl dt:not(:first-of-type),
.tbl_pri td p + dl dt {
	margin-top: 1.8em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.tbl_pri .com_flt .img_l {
	width: 32%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.tbl_pri th,
.tbl_pri td {
	padding-top: 2em;
	padding-bottom: 2em;
}
.tbl_pri th {
	padding: 1.5em 0;
    padding-right: 2.5%;
}
.tbl_pri td .price {
	font-size: 105%;
}
.tbl_pri td .npte {
	font-size: 88%;
}
.tbl_pri td dl dt:not(:first-of-type),
.tbl_pri td p + dl dt {
	margin-top: 1.4em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.tbl_pri caption {
	margin-bottom: .5em;
}
.tbl_pri caption .fw_bold {
	font-size: 115%;
}
.tbl_pri caption .tax {
	font-size: 85%;
}
.tbl_pri th,
.tbl_pri td {
	display: block;
	width: 100%;
	padding: 1.4em 3%;
}
.tbl_pri th .com_flt {
	padding-top: 2%;
}
.tbl_pri th dt .radi {
	font-size: 60%;
}
.tbl_pri th .img_l {
	width: 70%;
}
.tbl_pri td .price {
	font-size: 105%;
}
.tbl_pri td dl dt,
.tbl_pri td .note {
	font-size: 88%;
}
.tbl_pri td dl dt:not(:first-of-type),
.tbl_pri td p + dl dt {
	margin-top: 1.2em;
}
}


/*---------------------------------------------------------
payment
---------------------------------------------------------*/
.pri_point {
	max-width: 1200px;
	box-sizing: border-box;
	padding: 35px 6%;
	margin-left: auto;
	margin-right: auto;
}
.pri_point > dt {
	text-align: center;
	font-size: min(2vw,118%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3;
	background-color: #fff;
	border-radius: 2em;
	box-sizing: border-box;
	padding: .4em 2em;
	margin-bottom: 1.4em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pri_point {
	padding: 4% 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pri_point {
	padding: 6% 5% 8%;
}
.pri_point > dt {
	font-size: 105%;
	margin-bottom: 1em;
}
}



/*---------------------------------------------------------
payment
---------------------------------------------------------*/
#payment .pri_point {
	background-color: rgba(135,202,182,0.5);
	margin-top: 50px;
}
#payment .pri_point > dt {
	color: #FFF;
	background-color: #87cab6;
}
#payment .card_list {
	width: 90%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
}
#payment .card_list > li {
	margin-right: 1.4em;
}
#payment .card_list > li:last-of-type {
	margin-right: 0;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
	
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#payment .pri_point {
	margin-top: 7%;
}
#payment .card_list > li {
	width: 24%;
	margin-right: 1.33%;
}
#payment .card_list > li:nth-of-type(n+5) {
	margin-top: 3%;
}
}

/*---------------------------------------------------------
warranty
---------------------------------------------------------*/
#warranty .img1 {
	width: 55%;
	max-width: max-content;
	margin: 0 auto 2em;
}
#warranty .img2 {
	max-width: max-content;
	margin: 1.5em auto 2.5em;
}
#warranty .com_style1_txt {
	margin-top: 1.5em;
	margin-bottom: .2em;
}
#warranty .com_style1_txt + dd p {
	color: rgba(67,50,0,0.7);
}
/* details */
#warranty .pri_point.details {
	border: 1px solid #87cab6;
	margin-top: 30px;
}
#warranty .pri_point.details .com_marulist {
	max-width: 862px;
	font-size: 93%;
	margin: 0 auto;
}
/* outof */
#warranty .pri_point.outof {
	color: #FFF;
	background-color: #87cab6;
}
#warranty .pri_point.outof dt {
	background-color: transparent;
	padding: 0;
}
#warranty .pri_point.outof .com_marulist {
	font-size: 87%;
}
#warranty .pri_point.outof .com_marulist > li::before {
	color: rgba(255,255,255,0.6);
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#warranty .img1 {
	width: 90%;
	margin-bottom: 5%;
}
#warranty .img2 {
	width: 106%;
	margin: 4% auto 6% -3%;
}
#warranty .com_style1_txt {
	margin-top: 1.5em;
	margin-bottom: .2em;
}
#warranty .com_style1_txt + dd p {
	font-size: 90%;
}
}


/*---------------------------------------------------------
deduction
---------------------------------------------------------*/
#deduction .com_title2 + p {
	width: 96%;
	max-width: 1192px;
	margin: 0 auto;
}
/* calc_box */
#deduction .calc_box {
	background-color: #fff;
	box-sizing: border-box;
    padding: 35px 3%;
	margin-top: 1.5em;
}
#deduction .calc_box > div {
	max-width: max-content;
	margin: 0 auto;
}
#deduction .calc_box .formula {
	font-size: min(1.88vw,147%);
	font-weight: bold;
	white-space: nowrap;
	line-height: 1.5;
	letter-spacing: .08em;
}
#deduction .calc_box .formula span {
	vertical-align: middle;
}
#deduction .calc_box .formula span.max {
	font-size: 66%;
}
#deduction .calc_box .formula span.ppl {
	font-size: 83%;
}
#deduction .calc_box .formula sup {
    font-size: 65%;
    vertical-align: super;
}
#deduction .calc_box .asterisk {
	text-align: right;
	font-size: 93%;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .08em;
	margin-top: .8em;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1220px) {
#deduction p.sp_txt_l br.tb_only {
	display: block !important;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/* calc_box */
#deduction .calc_box .formula {
	font-size: 2.4vw;
}
#deduction .calc_box .asterisk {
	font-size: 90%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

/* calc_box */
#deduction .calc_box {
    padding: 6%;
	margin-top: 5%;
}
#deduction .calc_box .formula {
	font-size: 96%;
	font-feature-settings: "halt";
}
#deduction .calc_box .asterisk {
	text-align: left;
	font-size: 80%;
}

}


/*---------------------------------------------------------

---------------------------------------------------------*/
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}


/*---------------------------------------------------------

---------------------------------------------------------*/
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}