@charset "UTF-8";

/*pri_table
---------------------------------------------------------*/
.pri_table_memo{
    text-align: right;
    color: #59C2C3;
    line-height: 1em;
    margin-top: -1em;
    margin-bottom: .8em;
}
.pri_table{
    width: 100%;
    border-top:rgba(68,47,45,0.30) 1px solid;
}
.pri_table th{
    width: 70%;
    text-align: center;
    font-size: min(150%,2.5vw);
    letter-spacing: 0.13em;
    line-height: 1.3em;
    font-feature-settings: "palt";
}
.pri_table td{
    width: 30%;
    background: #E6F6F6;
    text-align: center;
    font-weight: bold;
    font-size: min(130%,2.1vw);
    letter-spacing: 0.15em;
    line-height: 1em;
}
.pri_table th,
.pri_table td{
    padding: 1.6rem 0 1.4rem;
    border-bottom:rgba(68,47,45,0.30) 1px solid;
}
.pri_table .bdr_dash th,
.pri_table .bdr_dash td{
    border-bottom-style: dashed;
}
.pri_table th p{
    position: relative;
    padding-left: .8em;
    box-sizing: border-box;
    display: block;
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}
.pri_table th p::before{
    position: absolute;
    display: block;
    content: "・";
    left: 0;
    top:0;
}
.pri_table th p.no_icon::before{
    display: none;
}
.pri_table th p.osusume{
    padding-left: 2.5em;
}
.pri_table th p.osusume::before{
    position: absolute;
    display: block;
    content: "";
    background: url(../images/price/osusume.svg)no-repeat top left;
    background-size: 100% auto;
    width: 2em;
    height: 2em;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
}


.pri_index1{
    position: relative;
    padding-left: 1.3em;
    box-sizing: border-box;
    font-size: min(160%,2.6vw);
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.4em;
    color: #38B4B5;
    margin-bottom: .4em;
}
.pri_index1::before{
    position: absolute;
    display: block;
    content: "";
    background: #59C2C3;
    background-size: 100% auto;
    width: .6em;
    height: .6em;
    border-radius: 50%;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pri_table th{
    letter-spacing: 0.1em;
}
.pri_table td{
    letter-spacing: 0.1em;
}
.pri_table th,
.pri_table td{
    padding: 1.4rem 0 1.2rem;
}
.pri_index1{
    padding-left: 1em;
    margin-bottom: 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pri_table_memo{
    margin-top: -.6em;
    margin-bottom: .5em;
    font-size:88%;
}
.pri_table th{
    width: 72%;
    font-size: 105%;
}
.pri_table td{
    width: 28%;
    font-size: 88%;
    letter-spacing: 0.01em;
}
.pri_index1{
    padding-left: 1em;
    font-size:100%;
    letter-spacing: 0.1em;
    margin-bottom: .8em;
}
}





/*pri_btn
---------------------------------------------------------*/
#toc_container{
    margin-bottom: 0;
}
.pri_btn{
    text-align: center;
    margin-top:2em;
}
.pri_btn a{
    position: relative;
    display: inline-block;
    border: 2px solid #ADB4FF;
    line-height: 1em;
    padding: 1.1em 2.7em 1.1em 4.8em;
    box-sizing: border-box;
    font-weight: bold;
    border-radius: 50px;
}
.pri_btn a .com_arrow {
	width: 30px;
	background: #ADB4FF;
	position: absolute;
	left: 2.2em;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
}
.pri_btn a:hover{
    background: #ADB4FF;
    color: #fff;
}
.pri_btn a:hover .com_arrow {
	background:#E0E2FF;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pri_btn{
    margin-top: 1.5em;
}
}




/*最短施術間隔
---------------------------------------------------------*/
.term_list {
	background: #F7F8FF;
	padding-bottom: 150px;
}
.term_list .pri_index2{
    text-align: center;
    font-size: min(215%,3.2vw);
    letter-spacing: 0.15em;
    line-height: 1.5em;
    padding: 1em 1em .9em;
    box-sizing: border-box;
    background: #ADB4FF;
    color: #fff;
    margin-bottom: 60px;
}
.term_list .txt1{
    text-align: center;
    margin-bottom:55px;
}

.term_list .scl_area {
	width: 100%;
	overflow-x: scroll;
}
.term_list .tbl_term {
	width: 200vw;
	max-width: 2200px;
	table-layout: fixed;
}
.term_list .tbl_term th,
.term_list .tbl_term td {
	text-align: center;
	vertical-align: middle;
	width: 71.4%;
	font-size: 100%;
	font-size: min(100%,1.4vw);
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4em;
}
.term_list .tbl_term th {
	position: sticky !important;
	z-index: 1;
	top: 0;
	left: 0;
	background: #695957;
	color: #fff;
}
.term_list .tbl_term th::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background: #fff;
	right: 0;
	top: 0;
}
.term_list .tbl_term th::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #fff;
	left: 0;
	bottom: 0;
}
.term_list .tbl_term .row_after th {
	padding: .5em 0;
	background: #ADB4FF;
}
.term_list .tbl_term th.cell_corner {
	z-index: 10;
	background: linear-gradient(50deg, rgba(227,224,223,1.00) 50%, rgba(235,236,255,1.00) 50%);
	color: #714f3e;
}
.term_list .tbl_term th.cell_corner span {
	color: #9A9FD3;
}
.term_list .tbl_term td {
	padding: 1.2em 0;
	background:rgba(173,180,255,0.02);
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
    color: #333333;
}
.term_list .tbl_term tr:nth-child(odd) td {
	background:rgba(173,180,255,0.12);
}

/* 画面高さ：750px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 750px) {
.term_list .scl_area {
	overflow-x: scroll;
	overflow-y: scroll;
	height: 90vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.term_list {
	padding-bottom: 12%;
}
.term_list .pri_index2{
    letter-spacing: 0.1em;
    padding: .9em 1em .8em;
    margin-bottom: 4%;
}
.term_list .txt1{
    text-align: left;
    margin-bottom:4%;
}    
.term_list .tbl_term th,
.term_list .tbl_term td {
	font-size: 1.6vw;
	letter-spacing: normal;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.term_list {
	padding-bottom: 14%;
}
.term_list .pri_index2{
    font-size: 150%;
    letter-spacing: 0.05em;
    padding: 1em 0 .9em;
    margin-bottom: 4%;
}
.term_list .txt1{
    text-align: left;
    margin-bottom:5%;
}
.term_list .scl_area {
	overflow-x: scroll;
	overflow-y: scroll;
	height: 330px;
}
.term_list .tbl_term {
	width: 1400px;
}
.term_list .tbl_term th,
.term_list .tbl_term td {
	font-size: 70%;
	letter-spacing: normal;
}
}


/* 開閉ボタン
---------------------------------------------------------*/
#toc_container .toc_title::before,
#toc_container .toc_title::after {
	content: "";
	position: absolute;
	width: 1.0em;
	height: 2px;
	background: #59c2c3;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.4s;
}
#toc_container .toc_title::after {
	transform:  rotate(0) translateY(-50%);
}
#toc_container .toc_title.active::after {
	transform:rotate(90deg);
}
#toc_container .toc_title .txt_close{display: inline;}
#toc_container .toc_title.active .txt_close{display: none;}
#toc_container .toc_title .txt_open{display: none;}
#toc_container .toc_title.active .txt_open{display: inline;}

#toc_container .open_box{
    display: block;
}