@charset "UTF-8";

/*com_first_box
---------------------------------------------------------*/

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_first_box .com_link_list li:last-child{
	margin-left: auto;
	margin-right: auto;
}
}





/*price
---------------------------------------------------------*/
#price .com_medical.col3.bg_white{
	max-width: 895px;
	margin-left: auto;
	margin-right: auto;
}
#price .com_medical.col3.bg_white a p{
	padding-left: 1.25em;
 	padding-right: 1.25em;
}
#price .tit_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#price .tit_flex .tit{
	font-size: min(2.9vw,160%);
	letter-spacing: 0.2em;
	line-height: 1.5em;
	padding-left: 1.2em;
	position: relative;
	margin-bottom: 30px;
}
#price .tit_flex .tit span{
	margin-left: -0.5em;
}
#price .tit_flex .tit::before{
	position: absolute;
	font-family: "fontello";
	content: '\e807';
	font-size: 0.75em;
	left: 0;
	top:0.1em;
}
#price .zei{
	text-align: right;
	margin-bottom: 25px;
}
#price .tbl_price{
	border-bottom: 1px solid #ccc;
	width: 100%;
}
#price .tbl_price th,
#price .tbl_price td{
	border-top: 1px solid #ccc;
}
#price .tbl_price th{
	width: 77.5%;
	box-sizing: border-box;
	padding: 50px 0;
	font-weight: normal;
}
#price .tbl_price td{
	width: 22.5%;
	box-sizing: border-box;
	background-color: #f7ecb7;
	padding: 50px 2%;
	text-align: center;
}
#price .tbl_price th .pri_flex,
#price .tbl_price th > .price_style{
	max-width: 890px;
	width: 96%;
}
#price .tbl_price th .pri_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#price .tbl_price th .pri_flex .img_l{
	max-width: 380px;
	width: 42.7%;
}
#price .tbl_price th .pri_flex .txt_r{
	max-width: 470px;
	width: 53.3%;
}
#price .tbl_price th .price_style > dt{
	font-size: min(2.4vw,136%);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	margin-bottom: 0.5em;
}
#price .tbl_price th .price_style > dt span{
	margin-left: -0.5em;
}
#price .tbl_price th .price_style > dd{
	font-size: 88%;
	letter-spacing: 0.1em;
	line-height: 2em;
}
#price .tbl_price td .price_txt{
	font-size: 105%;
	line-height: 1.8em;
	letter-spacing: 0.05em;
}
#price .tbl_price td .price_txt span.ft_hero_m{
	font-size: 139%;
	letter-spacing: 0.25em;
	line-height: 1.8em;
}
#price .tbl_price td .price_txt span.ft_zen_m{
	font-size: 128%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
}
#price .tbl_price td dl{
	margin-top: 2em;
}
#price .tbl_price td dl:first-child{
	margin-top: 0;
}
#price .tbl_price td dt{
	font-size: 90%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: 0.25em;
}
#price .tbl_price td .note{
	font-size: 90%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-top: 2.25em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

#price .tit_flex .tit{
	letter-spacing: 0.15em;
	margin-bottom: 2%;
}
#price .zei{
	margin-bottom: 1.8%;
}
#price .tbl_price{
	border-bottom: 1px solid #ccc;
	width: 100%;
}
#price .tbl_price th,
#price .tbl_price td{
	border-top: 1px solid #ccc;
}
#price .tbl_price th{
	width: 76%;
	padding: 4% 0;
}
#price .tbl_price td{
	width: 24%;
	padding: 4% 2%;
}
#price .tbl_price th .pri_flex,
#price .tbl_price th > .price_style{
	max-width: 890px;
	width: 96%;
}
#price .tbl_price th .pri_flex{
	display:block;
	overflow: hidden;
}
#price .tbl_price th .pri_flex .img_l{
	width: 40%;
	float: left;
	margin-right: 4%;
	margin-bottom: 0.5em;
}
#price .tbl_price th .pri_flex .txt_r{
	max-width: 100%;
	width: 100%;
}
#price .tbl_price th .price_style > dt{
	letter-spacing: 0.1em;
}
#price .tbl_price th .price_style > dd{
	font-size: 90%;
	letter-spacing: .05em;
	line-height: 1.8em;
}
#price .tbl_price td{
	font-size: min(100%,1.8vw);
	letter-spacing: .1em;
	line-height: 1.8em;
}
}

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

#price .tit_flex .tit{
	font-size: 135%;
	letter-spacing: 0.1em;
	margin-bottom: 4.5%;
}
#price .zei{
	text-align: right;
	margin-bottom:3.5%;
}
#price .tbl_price,
#price .tbl_price th,
#price .tbl_price td{
	display: block;
	width: 100%;
}
#price .tbl_price td{
	border-top: none;
}
#price .tbl_price th{
	width: 100%;
	padding: 8% 0 7%;
}
#price .tbl_price td{
	width: 100%;
	font-size: 95%;
	letter-spacing: .05em;
	line-height: 1.8em;
	padding: 5% 0;
}
#price .tbl_price th .pri_flex,
#price .tbl_price th > .price_style{
	max-width: 100%;
	width: 100%;
}
#price .tbl_price th .pri_flex{
	display: block;
}
#price .tbl_price th .pri_flex .img_l{
	width: 70%;
	margin: 0 auto 4%;
}
#price .tbl_price th .pri_flex .txt_r{
	max-width: 100%;
	width:  100%;
}
#price .tbl_price th .price_style > dt{
	font-size: 130%;
	letter-spacing: 0.05em;
	text-align: center;
}
#price .tbl_price th .price_style > dd{
	font-size: 90%;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}
#price .tbl_price td .price_txt{
	line-height: 1.5em;
}
#price .tbl_price td .price_txt span.ft_hero_m{
	letter-spacing: 0.2em;
	line-height: 1.5em;
}
#price .tbl_price td .price_txt span.ft_zen_m{
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#price .tbl_price td dl{
	margin-top: 3%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#price .tbl_price td dt{
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin-right: 1em;
	margin-bottom: -0.1em;
}
#price .tbl_price td .note{
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin-top: 3%;
}
}





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


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

}

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

}




/*deduction
---------------------------------------------------------*/
#deduction .formula{
    background: #f5f2e8;
	text-align: center;
    padding: 75px 2%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
#deduction .formula > div{
    display: inline-block;
	font-size: min(1.3vw,90%);
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#deduction .formula p{
    text-align: right;
	line-height: 1.5em;
}
 #deduction .formula p:first-child{
    font-size: 147%;
	letter-spacing: 0.1em;
    line-height: 1.5em;
    margin-bottom: .5em;
	position: relative;
}
#deduction .formula p .small{
    font-size:68.1818182%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#deduction .formula p .green{
    color:#69936b;
}
#deduction .formula p .first{
	margin-left: -0.5em;
}
#deduction .formula p .last{
	letter-spacing: -0.25em;
}
#deduction .formula p sup{
    font-size:54.54545%;
	letter-spacing: 0;
	line-height: 1em;
}
#deduction .formula p:nth-child(2){
	padding-left: 1em;
	text-indent: -1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#deduction .formula{
    padding: 6% 2%;
}
#deduction .formula > div{
    display: inline-block;
	font-size: 90%;
	letter-spacing: 0.05em;
}
#deduction .formula p:first-child{
	text-align: left;
	letter-spacing: 0.05em;
}
#deduction .formula p .small{
    letter-spacing: 0.05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#deduction .formula{
    padding:6% 4%;
}
#deduction .formula > div{
	font-size: 85%;
	letter-spacing: normal;
}
#deduction .formula p{
    text-align: left;
}
 #deduction .formula p:first-child{
	letter-spacing: normal;
}
#deduction .formula p .small{
    letter-spacing: normal;
}
}


