@charset "UTF-8";


/* price_table
---------------------------------------------------------*/
.price_table_memo1{
    font-size:105%;
    line-height: 1.6em;
    color: #f68193;
    margin-bottom: .5em;
    text-align: right;
    margin-top: -1em;
}
.price_table_memo2{
    font-size:115%;
    line-height: 1.6em;
    margin-top: 1.5em;
    padding-left: 1em;
    text-indent: -1em;
}
.price_table_memo2 li{
    margin-bottom: .4em;
}
.price_table_memo2 li:last-child{
    margin-bottom: 0;
}

.price_table,
.price_table tr{
    width: 100%;
}
.price_table th,
.price_table td{
    border-bottom: 1px solid #d9d7d4;
    padding: 2.5rem 0;
    box-sizing: border-box;
}
.price_table tr:first-child th,
.price_table tr:first-child td{
    border-top: 1px solid #d9d7d4;
}
.price_table th{
    text-align: left;
}
.price_table th.type1{
    width: 81%;
}
.price_table th.type1,
.price_table th.type2_2{
    padding-left: 2.5em;
}
.price_table th.type2_1{
    background: #47b9cf;
    color: #fff;
    text-align: center;
    vertical-align: top;
}
.price_table th.type2_1.w167{
    width: 13.8%;
}
.price_table th.type2_1.w247{
    width: 20.5%;
}
.price_table th .ft_min{
    font-size: min(160%,2.6vw);
    letter-spacing: 0.15em;
    line-height: 1.6em;
}
.price_table th .sub{
    font-weight: bold;
    line-height: 1.6em;
    margin-top: .5em;
}
.price_table td{
    width: 19%;
    text-align: center;
    background: #fff;
}
.price_table td dl{
    margin-bottom: 1.2em;
}
.price_table td dl:last-child{
    margin-bottom: 0;
}
.price_table td dt{
    font-size:95%;
    font-weight: bold;
    line-height: 1.6em;
    color: #809494;
    margin-bottom: .2em;
}
.price_table td p,
.price_table td dd{
    font-weight: bold;
    font-size: min(140%,2.5vw);
    line-height: 1em;
}
.price_table td p span,
.price_table td dd span{
    font-size: 85%;
    padding-left: .3em;
}
.price_table td div{
    font-weight: bold;
    line-height: 1.6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.price_table_memo1{
    margin-bottom: .4em;
    margin-top: -0.7em;
}
.price_table_memo2{
    margin-top: 1em;
}
.price_table_memo2 li{
    margin-bottom: .2em;
}

.price_table th,
.price_table td{
    padding: 1.8rem 0;
}
.price_table th.type1,
.price_table th.type2_2{
    padding-left: 1.5em;
}
.price_table th .ft_min{
    letter-spacing: 0.1em;
}
.price_table th .sub{
    letter-spacing: normal;
}
.price_table th .sub{
    margin-top: .3em;
}
.price_table td dl{
    margin-bottom: 1em;
}
.price_table td div{
    letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.price_table_memo1{
    font-size: 85%;
    margin-top: -0.4em;
    margin-bottom: .3em;
}
.price_table_memo2{
    font-size:90%;
    margin-top: 1em;
}
.price_table_memo2 li{
    margin-bottom: .3em;
}

.price_table th,
.price_table td{
    padding: 1.5rem 0;
}
.price_table th.type1{
    width: 74%;
}
.price_table th.type1{
    padding-left: 0;
}
.price_table th.type2_2{
    padding-left: .7em;
}
.price_table th.type2_1.w167{
    width: 15%;
}
.price_table th.type2_1.w247{
    width: 22%;
}
.price_table th .ft_min{
    font-size: 90%;
    letter-spacing: normal;
}
.price_table th .sub{
    font-size: 75%;
    line-height: 1.4em;
    margin-top: .5em;
}
.price_table td{
    width: 26%;
    padding-left: .7rem;
    padding-right: .5rem;
    box-sizing: border-box;
}
.price_table td dl{
    margin-bottom: 1em;
}
.price_table td dt {
    font-size: 75%;
    margin-bottom: .1em;
}
.price_table td p,
.price_table td dd{
    font-size: 75%;
}
.price_table td p span,
.price_table td dd span{
    padding-left: 0;
}
.price_table td div {
    font-size: 70%;
    line-height: 1.5em;
    text-align: left;
    font-feature-settings: "palt";
}
}





/* pricelist
---------------------------------------------------------*/
.pricelist{
    position: relative;
    padding-bottom: 80px;
}
.pricelist::before{
    position: absolute;
    display: block;
    content: "";
    background: #d7f0f4;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 1.8em);
    bottom: 0;
    left: 0;
    z-index: -1;
}
.pricelist ul{
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
}
.pricelist ul li{
    width: 23.875%;
    margin-right: 1.5%;
    margin-top:1.5%;
}
.pricelist ul li:nth-child(-n+4){
    margin-top: 0;
}
.pricelist ul li:nth-child(4n){
    margin-right: 0;
}
.pricelist ul li a{
    position: relative;
    display: block;
    background: #fff;
    font-size:105%;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 1.6em;
    padding: .9em 1.7em;
    box-sizing: border-box;
    border-radius: 100px;
    transition: 0.4s;
}
.pricelist ul li a:hover{
    color: #54c2e1;
    transition: 0.4s;
}
.pricelist ul li a::before{
    position: absolute;
	font-family: 'fontello';
	content: '\e802';	
	right: 1.3em;
	font-size:85%;
	top: 55%;
	transform: translateY(-50%) rotate(90deg);
    color: #54c2e1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.pricelist{
    padding-bottom: 6%;
}
.pricelist::before{
    height: calc(100% - 1.5em);
}  
.pricelist ul li a{
    letter-spacing: 0.1em;
    padding: .8em 1.2em;
}
.pricelist ul li a::before{
	right: 1em;
	font-size: 80%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.pricelist{
    padding-bottom: 8%;
}
.pricelist::before{
    height: calc(100% - 1.2em);
}
.pricelist ul li{
    width: 48.5%;
    margin-right: 3%;
    margin-top:3%;
}
.pricelist ul li:nth-child(3),
.pricelist ul li:nth-child(4){
    margin-top:3%;
}
.pricelist ul li:nth-child(2n){
    margin-right: 0;
}
.pricelist ul li a{
    font-size:95%;
    letter-spacing: 0.1em;
    padding: .8em 1.2em;
}
.pricelist ul li a::before{
	right: 1em;
	font-size:80%;
}
}