.faq-list{
    padding: 1em 0;
    border-top: 1px solid #B0B3BC;
}
.faq-list:first-of-type{
    border-top: none;
}
.faq-list:last-of-type{
    border-bottom: 1px solid #B0B3BC;
}


.faq-title,.faq-text{
    font-size: 19px;
}
.faq-title {
    color: #1D3879;
    cursor: pointer;
    position: relative;
    padding: 0 5px;
    line-height: 1.4;
    font-weight: bold;
}

.faq-title:before {
    position: absolute;
    content: '';
    top: 50%;
    right: 15px;
    height: 2px;
    width: 15px;
    background: #333;
    transform: rotate(90deg);
    transition: all .3s ease-in-out;
}

.faq-title:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 15px;
    height: 2px;
    width: 15px;
    background: #333;
    transition: all .3s ease-in-out;
}

.faq-title.open:before {
    transform: rotate(180deg);
}

.faq-title.open:after {
    opacity: 0;
}

.faq-text {
    display: none;
    line-height: 1.6;
    padding: 0 5px;
    margin: 1em 0;
}

.faq-title div {
    padding: 0 1.5em 0;
}

.icon_q {
    position: relative;
    padding-left: 1.5em; /* ← Q. の幅分インデント */
}
.icon_q:before {
    content: 'Q.';
    position: absolute;
    left: 0;
    top: 0;
    font-weight: bold;
    color: #8E9BBC;
    text-align: right;
}


.icon_a {
    position: relative;
    padding-left: 1.5em; /* ← A. の幅分インデント */
}
.icon_a:before {
    content: 'A.';
    position: absolute;
    left: 0;
    top: 0;
    font-weight: bold;
    color: #E87E15;
    text-align: right;
}

.ans_text{
    position: relative;
    padding-left: 1.5em; /* ← A. の幅分インデント */
    margin: 1em 0;
    font-size: 17px;
}




/* faq_related */
.faq_related_post{
    position: relative;
    background: #F1F6FF;
    margin: 30px auto 20px;
    text-align: center;
    font-size: 17px;
    padding: 1em;
}
.faq_related_post > label{
    color: #3F568D;
    position: absolute;
    top:-10px;
    left: 0;
    padding: 0 10px;
    font-size: 15px;
}
.faq_related_post > label::before{
    content:url(../img/icon_relatedPost.png);
	float: left;
	vertical-align:middle;
    margin: 0 5px 0 0;
}
.faq_related_post a{
    color: #2F83FF;
}
.faq_related_post a:hover{
    opacity: 0.5;
    transition: 0.3s;
}



/* アンサー内CSS */

.faq-list span.red{
    font-size: 1em;
}

.ans_num ol{
    margin: 0;
    padding: 0;
}
.ans_num ol li{
    list-style: decimal;
    margin: 0 0 0 1.2em;
    padding: 0 0 1em 0;
}
.ans_num ol li::marker {
    font-weight: bold;
}
.ans_num ol li b{
    display: block;
    line-height: 1.4;
}



.ans_num_black ol {
    list-style: none;
    counter-reset: number;
}

.ans_num_black ol li {
    position: relative;
    padding-left: 1.5em;
    margin: 0 0 1em 0;
}

.ans_num_black ol li::before {
    counter-increment: number;
    content: counter(number);
    position: absolute;
    top: 5px;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #000;
    color: #fff;
    font-size: 15px;
    text-align: center;
    line-height: 1.2;
}

.font_size_big{
    font-size: 1.4em;
}


/* table */
.tbl_cost_caption{
    width: 100%;
    text-align: right;
    font-weight: normal;
    font-size: 12px;
}
.tbl_cost{
    width: 100%;
    margin: 5px 0;
}

.tbl_cost table{
    width: 100%;
    border: 1px #ccc solid;
    border-collapse: collapse;
    border-spacing: 0;
}
    @media screen and (max-width:767px) {
        .tbl_cost table{ font-size: 14px;}
    }

.tbl_cost table th{
    color: #fff;
    padding: 10px 5px;
    border: #ccc solid;
    border-width: 0 0 1px 1px;
    background: #1D3879;
    font-weight: bold;
    line-height: 120%;
	text-align:center;
    white-space: nowrap;
}
.tbl_cost table td{
    padding: 5px 10px;
    border: 1px #ccc solid;
    white-space: nowrap;
}
.tbl_cost table td ul li{
    list-style-type: disc;
    list-style-position: outside;
    margin: 0 0 0 1.2em;
    padding: 0 0 0 0;
}


.price_item {
    margin: 0;
    text-align: right;
}
.price_item dt {
  float: left;
  width: fit-content;
}
.price_item dd {
  margin-left: 8em;
}


.pros-cons { margin: 0; }
.pros-cons dt {
  float: left;
  width: fit-content;
}
.pros-cons dd {
  margin-left: 6.5em;
}


