@charset "UTF-8";
.number-text {
  font-family: 'Oswald', sans-serif;
  font-weight: 700; /* 太字 */
}
.bg-ols{
    background-color: #000;
    color:#fff;
    border-radius: 100px;
    font-weight: bold;
    font-size:32px;
    text-align: center;
    padding:10px 40px;
    display: inline-block;
}
.read-text-price{
    display: inline-block;
    color:#ff0033;
    background: linear-gradient(transparent 70%, #fffc63 70%);
    background-repeat: no-repeat;
    background-position: left 70%;
    background-size: 100% 50%;
    padding:0 30px 0 30px;
}
.text-kihon{
    font-size:40px;
}
.text-price{
    font-weight: bold;
    font-size:100px;
}
.text-discount{
    font-size:60px;
}
@media (max-width: 768px) {
    .bg-ols{
        font-size:16px;
    }
    .text-kihon{
        font-size:18px;
    }
    .text-price{
        font-size:45px;
    }
    .text-discount{
        font-size:28px;
    }
}
.red_border{
    border-radius: 12px;
    padding:20px;
    border:solid 3px #ff0033;
    position: relative;
}

.white_border{
    border-radius: 12px;
    padding:20px;
    margin-bottom:50px;
    background-color:#fff;
    position: relative;
}

.gray_border{
    border-radius: 12px;
    padding:20px;
    margin-bottom:50px;
    background-color:#fff;
    border:solid 1px #ccc;
    position: relative;
}

.head_tip{
    border-radius: 20px;
    background-color: #ff0033;
    padding:4px 15px;
    color:#ffffff;
    position: absolute;
    top:-5px;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    font-weight: bold;
}
.gray_tip{
    border-radius: 20px;
    background-color: #eee;
    padding:4px 15px;
    white-space: nowrap;
    font-weight: bold;
    font-size:18px;
}
.blue_bg{
    border-radius: 15px;
    background-color: #eff6ff;
    border: solid 1px #dfecfe;
    padding:15px;
}
.blue_bg .text-bold{
    position: relative;
}
.blue_bg .text-bold::before{
    position: absolute;
    top:2px;
    content: "";
    background: url(/store/sp/ouchiwari_advance/images/icon_blue.webp) no-repeat top left;
    margin: 0 0 0 -30px;
    background-size: contain;
    width: 50%;
    height: 24px;
}

.gray_bg{
    border-radius: 15px;
    background-color: #eee;
    padding:15px;
}
.gray_text{
    font-size:16px;
}
@media (max-width: 768px) {
    .gray_bg.text-size-s,
    .gray_text{
        font-size:10px;
    }
    .gray_bg .text-right.text-red{
        font-size:12px;
    }
}
.net_point{
    display: inline-flex;
    align-items: center;
}

.net_point::before{
    content: "POINT";
    background-color: #FFBA0A;
    padding:10px;
    font-weight: bold;
    border-radius: 50px;
    margin-right:15px;
    white-space: nowrap;
}

.red_c{
    border-radius: 25px;
    border: solid 2px #ff0033;
    background-color: #fff;
    color:#ff0033;
    padding:10px 20px;
    font-weight: bold;
}

.mt-line{
    border-top:solid 1px #ccc;
    margin-top:40px;
    padding-top:40px;
}

.btn-orange{
    background-color:#ff6400;
    border:#ff6400;
    color:#fff;
}
.btn-orange span{
    padding-left:15px;
}
/*.btn-orange span:before {
    position: absolute;
    top: 50%;
    left: 15px;
    margin-top: -16px;
    width: 30px;
    height: 28px;
    display: inline-block;
    content: "";
    background: url(/common_c/images/common/icon-simulation.svg) no-repeat top left;
    padding-left:20px;
}
*/

span.tab-ttl{
    background-color: #ff0033;
    border-radius: 50px;
    padding:10px 40px;
}
.tab.sml{
    margin-bottom:0;
}
.tab.sml .tab-list{
    border-bottom:none;
    padding:0;
}
.tab.sml .tab-list .tab-list-item{
    border-radius: 20px;
}
.tab.sml .tab-list-3 .tab-list-item{
    width: 31%;
    margin:0 1%;
}
.tab.sml .tab-list .tab-list-item.is-active{
    background-color: #ff0033;
    color:#fff;
    border: none;
}

.pp-price-area{
    display: inline-flex;
    place-items: center;
}
.pp-price-area .price-red{
    font-size:40px;
}
@media (max-width: 768px) {
    .pp-price-area .price-red{
        font-size:28px;
    }
}
.pp-price-area .blue-arrow::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 20px 0 20px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #0F93FF; /* 1番目の値がサイズ、最後の色が三角の色 */
}
@media (max-width: 768px) {
    .pp-price-area .blue-arrow::after {
      margin: 0 10px 0 10px;
    }
}
.qanda p:nth-child(even){
    margin-bottom:40px;
}
.qanda .text-q,
.qanda .text-a{
    display: grid;
    align-items: center;
    position: relative;
    padding: 15px 0 0 30px;
}
.qanda .text-q::before{
    content: "Q";
    font-size: 30px;
    font-weight: bold;
    color: #001EFF;
    display: inline-block;
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
}
.qanda .text-a::before{
    content: "A";
    font-size: 30px;
    font-weight: bold;
    color: #ff0033;
    display: inline-block;
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
}

/*電話PCタップ無効*/
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}

/*注釈非表示*/
.top-none,
.plan-notes-daretei-none,.plan-notes-ouchihikari-a-none,.plan-notes-ouchidenki-e-none,
.plan-notes-paypaycard-none,.plan-notes-kurikoshi-none{
    display: none;
}


/*タブのPC調整*/
/*@media screen and (min-width: 768px) {

    .tab.sml .tab-list-item {
        pointer-events: none;
    }

    .tab.sml + .tab-target-wrapper .tab-target {
        display: flex;
    }

    .tab.sml + .tab-target-wrapper .tab-target-item {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 33.333%;
        padding:0 1%;
    }

}*/