@charset "utf-8";
/*------------------------------------------------------------
共通
------------------------------------------------------------*/

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
  color: #404040;
  font-size: 17px;
  background: #fff;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}


/*共通*/
.fsS{
    font-size: 0.8em;
	font-weight: 100;
}
.fsSS {
    font-size: .6em;
    line-height: 1.3;
}
.fsL{
    font-size: 1.4em;
}

.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.taL {
    text-align: left;
}
.fwB {
  font-weight: bold;
}
.marker {
    background:linear-gradient(transparent 60%, #ff6 60%);
	font-size: 1.4rem;
    font-weight: bold;
}
.rel {
    position: relative;
}
.abs {
    position: absolute;
}
.pa{
    padding: 20px 10px;
}
.par{
    padding: 0 10px 5px 0;
}
.pa2 {
    padding: 0 10px;
}
.pa03{
    padding: 2%;
}
.pc {
    display: none;
}
.sp {
  display: block;
}

.red {
    color: #f10205;
  font-weight: bold;
}
.grey{
    color:#949494;
}
 .br_sp {
    display: block;
  }
 .br_pc {
    display: none;
  }

@media screen and (min-width:640px){
.sp {
  display: none;
}
.pc {
    display: block;
}
.pa2 {
    padding: 0 20px;
}
  .br_sp {
    display: none;
  }
 .br_pc {
    display: block;
  }
}



/*------------------------------------------------------------
レイアウト
------------------------------------------------------------*/

#content {
    width: 100%;
    margin: 0 auto;
}
.wrapper {
    margin: 3%;
    position: relative;
}
section {
    margin-bottom: 2em;
}
img {
    max-width: 100%;
    height: auto;
  vertical-align: middle;
  display: block;
}

p {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.5;
  }

@media screen and (min-width:640px) {
section {
    margin-bottom: 3em;
    margin-top: 3em;
}
    #content {
        max-width: 100%;
        margin: 0 auto;
    }
    p {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.5;
  }
}
/*------------------------------------------------------------
スマホから
ヘッダー
------------------------------------------------------------*/
header {
    margin-top: -25px;
  top: 0;
}

.head_tell{
    position: absolute;
    color: red;
    font-weight: bold;
    font-size:1rem;
    top: 38%;
    right: 5%;
/*    letter-spacing:-2.3px;*/
    margin: 0;
}

.sptel{
    position: relative;
}
.sptel img{
    position: absolute;
    width: 125px;
    margin-top: -30px;
    right: 15px;
}


/* 光らせるためのstyle */
.shine{
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}
/* 光の疑似要素 */
.shine::before{
    content: '';
    width: 30px;
    height: 100%;
    background-color: #8fd7ff;
    animation: shine 3s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    opacity: 0;
    transform: rotate(45deg);
}
/* 光の動き */
@keyframes shine{
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}




@media screen and (min-width:640px) {
.head{
    display: flex;
    padding: 0.2% 2%;
}
.mainlogo{
    margin: auto 0;
}

.r_logo{
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}



}


/*------------------------------------------------------------
追加
------------------------------------------------------------*/

h1,h2{
    margin: 0;
}
.cta_box{
    position: relative;
}
.cta_content{
    position: absolute;
    top: 5%;
}
.time_flex{
    display: flex;
    transform: translate3d(0, 12px, 0);
    align-items: center;
    justify-content: center;
}
.cta_content .time_cta{
    width: 90%;
    margin: 2% auto;
}
.hiromi_time{
    width: 14%;
    margin: 0!important;
}
@media screen and (max-width:390px) {
.com_box{
    position: relative;
    padding-bottom: 10px;
    background-image: url(../img/comparison_content_sp.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    height: 26rem;
}

.com_content img{
    max-width: 100%;
    min-width: 170%;
    padding: 1.5%;
    vertical-align: top;
}
.com_content{
    position: absolute;
    overflow-x: scroll;
}

.com_content::-webkit-scrollbar{
    display: none;
}

/* スクロールバーの幅と高さを設定する */
    .scroll {
      overflow: auto;
    }
    .simplebar-track.simplebar-horizontal {
      height: 2px;
      background: #dddddd;
      border-radius: 5px;
      max-width: 370px;
      margin: 0 auto;
    }
    /* .simplebar-scrollbar {
      height: 2px;
      background: #919191;
      border-radius: 1px;
      top: 0;
    } */
    .hiromi_time{
        width: 35%;
    }
    .time_flex{
        padding: 0 3%;
        transform: translate3d(0, 6%, 0);
    }

}
@media screen and (max-width:640px) {
.hiromi_time{
        display:none;
    }
}


@media screen and (min-width:390px) {
    .com_box{
        position: relative;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
        background-image: url(../img/comparison_content_sp.jpg);
        background-size: 100%;
        background-repeat: no-repeat;
        height: 28rem;
        -webkit-appearance: none;
    }
    .com_content img{
        max-width: 100%;
        min-width: 170%;
        padding: 1.5% 1.5% 5%;
        vertical-align: top;
    }
    .com_content{
        position: absolute;
        overflow-x: scroll;
    }
    .com_content::-webkit-scrollbar{
        display: none;
    }
    
    
/* スクロールバーの幅と高さを設定する */
.scroll {
    overflow: auto;
  }
  .simplebar-track.simplebar-horizontal {
    height: 2px;
    background: #dddddd;
    border-radius: 5px;
    max-width: 370px;
    margin: 0 auto;
  }
  /* .simplebar-scrollbar {
    height: 2px;
    background: #919191;
    border-radius: 1px;
    top: 0;
  } */


}



/*----------アコーディオン----------*/
@media screen and (max-width:640px) {
.QA_bg{
    background-image: url(../img/question_content_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0;
    padding-bottom: 10%;
}

.box {
    padding: 3% 3% 3% 1%;
    position: relative;
    line-height: 1.7;
    font-size: 1rem;
    font-weight: 400;
    display: none;
    background-color: #fff;
}

.QA_icon_Q {
    margin: 11px 10px;
    flex-grow: 0;
    flex-shrink: 0;
    width: 20px;
}

.QA_icon_A {
    margin: 2px 10px 0px;
    width: 20.5px;
    flex-grow: 0;
    flex-shrink: 0;
}


.title::before,
.title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #fff;
}

.title::before {
    top: 48%;
    right: 14px;
    transform: rotate(0deg);
}

.title::after {
    top: 48%;
    right: 14px;
    transform: rotate(90deg);
}


.title.close::after {
    transform: rotate(0deg);
}

.title {
    position: relative;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    padding: 0 1%;
    transition: all .5s ease;
    background-color: #0066d2;
    font-weight: 400;
}

.QA_bg>.accordion-area li {
    margin: 0 20px 10px;
}

.area_ac>.accordion-area li {
    margin: 0 20px 3px;
}


}

@media screen and (min-width:640px) {
    .QA_bg{
        background-image: url(../img/question_back_pc.jpg);
        background-size: auto 100%;
        background-repeat: no-repeat;
        margin: 0;
        padding-bottom: 5%;
    }

    .box {
        padding: 3% 3%;
        position: relative;
        line-height: 1.7;
        font-size: 1.2rem;
        font-weight: 400;
        display: none;
        background-color: #fff;
    }

    .QA_question {
        font-size: 25px;
    }

    .QA_icon_Q {
        margin: 18px 10px;
        flex-grow: 0;
        flex-shrink: 0;
        width: 25px;
    }
    
    .QA_icon_A {
        margin: 5px 10px 0px;
        width: 20.5px;
        flex-grow: 0;
        flex-shrink: 0;
    }

    
.title::before,
.title::after {
    position: absolute;
    content: '';
    width: 20px;
    height: 3px;
    background-color: #fff;
}

.title::before {
    top: 48%;
    right: 21px;
    transform: rotate(0deg);
}

.title::after {
    top: 48%;
    right: 21px;
    transform: rotate(90deg);
}


.title.close::after {
    transform: rotate(0deg);
}

.title {
    position: relative;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    padding: 5 2%;
    transition: all .5s ease;
    background-color: #0066d2;
    font-weight: 400;
}

.QA_bg>.accordion-area li {
    margin: 0 20px 30px;
}

.area_ac>.accordion-area li {
    margin: 0 20px 5px;
}


    
    }

/* ----------question------------ */


/*----------アコーディオン----------*/

.accordion-area {
    list-style: none;
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
}

@media screen and (min-width:1020px) {
    .accordion-area {
        list-style: none;
        max-width: 980px;
        margin: 0 auto;
        padding: 0;
    }
    
}
@media screen and (max-width:1020px) {
    .accordion-area {
        list-style: none;
        max-width: 98%;
        margin: 0 auto;
        padding: 0;
    }
    
}
@media screen and (max-width:640px) {
    .accordion-area {
        list-style: none;
        max-width: 980px;
        margin: 0 auto;
        padding: 0;
    }
    
}





.QA_flx {
    display: flex;
    max-width: 90%;
}



.QA_flx2 {
    display: flex;
}


    .acco_sec {
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
    }

    @media screen and (max-width:640px){
        .areabox{
            padding: 5% 4%!important;
        }
        
        }
        
        @media screen and (min-width:640px){
            .areabox{
                padding: 2% 3%!important;
            }
            
            }

    .QA_answer {
        color: #000000;
        vertical-align: middle;
    }   
    .QA_question {
        color: #fff;
        padding: 13px 0;
        vertical-align: middle;
    }

    @media screen and (max-width:640px) {
    .marginbottom{
        margin-bottom: 11%;
    }
}
@media screen and (min-width:640px) {
    .marginbottom{
        margin-bottom: 6%;
    }
}

    .anno{
        margin-bottom: 22%;
    }

    
/*---------- 追従CTA ----------*/



/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/

@media screen and (max-width:640px) {
#page-top {
    background:#73bbff9f;
    padding: 2%;
    transition:all 0.3s;
    display: flex;
  }

  #page-top a{
    width: 50%;
    padding: 0.2%;
  }

  
  /*リンクを右下に固定*/
  #page-top {
    position: fixed;
    z-index: 2;
      /*はじめは非表示*/
    opacity: 0;
    transform: translateY(100px);
  }
}

@media screen and (min-width:640px) {
    #page-top {
        background: linear-gradient(90deg, #007eed, #00379c);
        padding: 1.3%;
        transition:all 0.3s;
        margin-bottom: 1.6%;
        justify-content: center;
        width: 286px;
      }
    
      #page-top a{
        width: 70%;
        justify-content: space-between;
      }
    
      
      #page-top {
        position: fixed;
        z-index: 2;
        opacity: 0;
        right: 20px; /* 左からの距離を調整 */
        bottom: 20px; /* 下からの距離を調整 */
      }
    }


  /*　上に上がる動き　*/
  
  #page-top.UpMove{
    animation: UpAnime 0.5s forwards;
  }
  @keyframes UpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  /*　下に下がる動き　*/
  
  #page-top.DownMove{
    animation: DownAnime 1s forwards;
  }
  @keyframes DownAnime{
    from {
      opacity: 1;
    transform: translateY(0);
    }
    to {
      opacity: 1;
    transform: translateY(300px);
    }
  }



















/*------------------------------------------------------------
コンテンツ
------------------------------------------------------------*/

#Realtime, #Realtime01, #Realtime02, #Realtime03, #Realtime07 {
    font-size: 1.6em;
    font-weight: 700;
    margin: 0;
    padding: 4% 0 1%;
    color: #fff;
    text-align: center;
}
h2 {
    text-align: center;
    margin-bottom: 0;
    background-size: contain;
}
.comment_abs {
    top: -38px;
    width: 45%;
    left: 10px;
    position: absolute;
}

@media screen and (min-width:640px) {
#Realtime, #Realtime01, #Realtime02, #Realtime03, #Realtime07 {
    font-size: 2em;
}
.comment_abs {
    top: -64px;
    height: 55%;
    left: 10px;
    position: absolute;
}
}

/* 点滅 */
.blinking{
  animation: flash 1.5s linear infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }


  100% {
    opacity: 1;
  }
}



/*-------------お客様からの声-------------*/

.voice img{
    width: 100%;
}


@media screen and (min-width:640px){

.voice {
    width: 100%;
}
}

.voicebox > h2 img{
    padding-bottom: 0%!important;
}

/*-------------フッター-------------*/

@media screen and (max-width:640px){
footer {
    text-align: center;
    background: #0066d2;
    color: #fff;
    padding: 8% 0;
}
footer p{
    color: #fff;
    font-size: 13px;
}
footer a{
    color: #fff;
    text-decoration: none;
}
}

@media screen and (min-width:640px){
    footer {
        text-align: center;
        background: #0066d2;
        color: #fff;
        padding: 2% 0;
    }
    footer a{
        color: #fff;
        text-decoration: none;
        font-size: large;
    }
    }













/* PC追加 */
.pc img{
    margin: 0 auto;
}


.content img{
    padding: 0 20px 10%;
}
.content2 img{
    padding: 0 20px 6%;
}

.h1box{
    background-image: url(../img/back_head.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.h1box img{
    /* padding: 3.3% 0 0 10%;  */
}
.mv_under{
    background-color: #fff;
}
.mv_under img{
    padding: 1.3% 20%;
}

.map{
    background-image: url(../img/map_back_pc.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center center;
}
.map h2 img{
    padding: 3% 3.5% 0;
}
.map img{
    max-width: 100%;
}
img.bottom{
    padding: 3% 2.6% 5%;
}

.start{
    background-image: url(../img/coupon_back_pc.png);
    background-repeat: no-repeat;
    background-position: bottom;
    padding-bottom: 5%;
}
.start img{
    padding: 1% 20px;
}

.pcta_box{
    background: linear-gradient(90deg, #007eed, #00379c);
    border-top: 20px solid #1a55c2;
    border-bottom: 20px solid #1a55c2;
}
.pcta_box p{
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 2.5rem;
}
.pcta{
    display: flex;
    padding: 0 2% 3%;
    max-width: 1200px;
    margin: 0 auto;
}
.pcta img{
    padding: 2%;
}

.price{
    background-image: url(../img/price_back_pc.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center center;
}

.price h2{
    padding: 6% 30% 4%;
}

.pay{
    padding: 3% 20px 5%;
}

.comparison{
    background-image: url(../img/comparison_back_pc.png);
    background-repeat: no-repeat;
}
.comparison>.content{
    max-width: 1100px;
    margin: 0 auto;
    margin-top: -2%;
}
.comparison h2{
    padding: 6% 30% 5%;
}

.point{
    background-image: url(../img/point_back_pc.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%;
}
.point>.content{
    margin-top: -2%;
}

@media screen and (min-width:1400px){
    .point h2{
        padding: 5% 17% 5%;
    }
    }
@media screen and (max-width:1400px){
    .point h2{
        padding: 7% 22% 5%;
    }
    }

.reason{
    background-image: url(../img/reason_back_pc.png);
    background-repeat: no-repeat;
    margin-top: -6%;
    background-size: auto 100%;
    background-position: center center;
}
.reason h2{
    padding: 10% 21% 2%;
}

@media screen and (min-width:640px){
.voice img{
    max-width: 1000px;
}
}


.voicebox h2{
    padding: 6% 33% 0%;
}

.flow{
    background-image: url(../img/flow_back_pc.png);
    background-repeat: no-repeat;
}
.flow>.content{
    margin-bottom: -5%;
}

.flow h2{
    padding: 6% 33% 3.5%;
}

.area{
    background-image: url(../img/area_back_pc.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.area h2{
    padding: 3.5% 35% 5%;
}
.area>.content{
    margin-bottom: -5%;
    margin-left: 1%;
    margin-right: 1%;
}


@media screen and (max-width:1470px){
    .area{
        background-repeat: no-repeat;
        background-size: 110%;
        background-position: top center;
    }
    }
    @media screen and (max-width:1140px){
        .area{
            background-repeat: no-repeat;
            background-size: 130%;
            background-position: top center;
        }
        }

.annobox{
    margin-top: 5%;
}

.question h2{
    padding: 6% 32% 5%;
}