@charset "utf-8";
html {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴ StdN', 'Hiragino Kaku Gothic StdN', sans-serif;
}
body{
    margin: 0;
    padding: 0;
}
img{
    vertical-align: middle;
    object-fit: contain;
    width: 100%;
}
@media only screen and (max-width: 760px){
#wrapper{
    max-width: 700px;
    margin: auto;
}
.pc{
    display: none;
}
.sp{
    display: block;
}
}
@media only screen and (min-width: 760px){
#wrapper{
    max-width: 1920px;
/*        max-width: 1000px; */
    margin: auto;
}
.pc{
    display: block;
}
.sp{
    display: none;
}
}
p,li,b,th,td{
    color: #01232e;
    margin: 0;
    padding: 0;
    font-size: 18px;
}
a{
    text-decoration: none;
    color: #fff;
}
.fsS{
    font-size: clamp(0.688rem, 0.642rem + 0.23vw, 0.813rem);/*11-13*/
    color: #868686;
    margin-bottom: 20px;
}
.fsM{
    font-size: clamp(1.313rem, 1.199rem + 0.57vw, 1.625rem);/*18-26*/
}
.fsL{
    font-size: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem);/*30-40*/
}
.m_y{
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #fffca5 0%) repeat scroll 0 0;
}
.fc_o{
    color: #fa5032;
}
.fc_b{
    color: #029dd1;
}
.fc_y{
    color: #FFFB9E;
}
/*全体設定*/
/*fv*/
.fv .pc{
    background-image: url("../img/mv_pc_bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}
.fv .pc .inner{
    max-width: 1150px;
    width: 100%;
    margin:0 auto;
}
.fv img{
    width: 100%;
    margin:0 auto;
}
/*質問01-03*/
.question{
    background-color: #d4f4ff;
    padding-bottom: 20px;
}
.question_inner{
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
    padding: 50px 0 60px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}
.question_inner .ttl{
    display: block;
    padding-bottom: 20px;
    max-width: 500px;
    width: 94%;
    margin: 0 auto;
}
.question_inner .ttl_img{
    padding-bottom: 5px;
    max-width: 700px;
    width: 90%;
    margin: 0 auto;
}
.question_group::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    color: #fa5032;
    border-style: solid;
    border-width: 0px 0px 50px 50px;
    border-color: transparent;
    border-left-color: #fa5032;
}
.question_inner input{
    display: none;
}
.question_group {
    background-color: #fff;
    padding: 20px 40px 70px;
    margin-top: 20px;
    border-radius: 15px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
  }
  
  .question_hid {
    max-height: 0;
    transition: max-height 0.5s ease;
  }
  
  /* ボタンとグラデーション */
  .question_group label {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80px; /* グラデーションかぶせる高さ */
    display: flex;
    justify-content: center;
    align-items: flex-end;
    cursor: pointer;
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, #d4f4ff 90%);
    transition: all 0.5s ease;
    z-index: 2;
  }
    /* 開いた時にグラデーションを消す */
    .question_group input:checked + label {
        background: inherit;
      }
    
  /* テキストボタン */
  .question_group label::after {
    content: "続きをよむ";
  display: inline-block;
  padding: 8px 16px;
  border-radius: 20px;
  background: #029dd1;
  color: #fff;
  font-weight: bold;
  margin-bottom: 25px;
  /* transitionは位置や背景だけにする */
  transition: margin-bottom 0.5s ease, background 0.5s ease;
  }
  
  /* input を隠す */
  .question_group input {
    display: none;
  }

  /* チェックされたら隠れた部分を展開 */
  .question_group input:checked ~ .question_hid {
    max-height: 2000px;
  }
  
  /* チェックされたらラベルを移動 & 背景を消す */
  .question_group input:checked + label {
    background: none;
    height: auto;
  }
  
  /* 文言変更 */
 .question_group input:checked + label::after {
  content: "閉じる";
  margin-bottom: 10px; /* ボタンを下に移動 */
}


.q_ttl{
    display: flex;
    gap: 20px;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: solid 3px #029dd1;
    align-items: center;
}
.q_ttl .img{
    width:65px;
}
.q_ttl picture{
    padding-top: 5px;
}
.qttl2 .img{
    width:78px;
}
.q_ttl h2{
    font-size:clamp(1.375rem, 0.446rem + 2.32vw, 2.188rem);
    line-height: 1;
    margin: 20px 0;
}
.tac{
    text-align: center;
}
/*q1*/
.question01 .graph{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    border: solid 1px #fa5032;
    margin-top: 20px;
    border-radius: 10px;
    position: relative;
}
.question01 .graph p{
    background-color: #fa5032;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 8px 8px 0 0;
    font-size: 20px;
    font-weight: bold;
}
.question01 .graph::after{
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-top: 20px solid #fa5032;
}
.question01 ul{
    list-style: none;
    padding:0 30px 5px 30px;
}
.question01 li{
    position: relative;
    padding-left: 28px; 
    margin-bottom: 10px;
    font-weight: bold;
}
.question01 li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url("../img/question_q1_check01.png") no-repeat center/contain;
}
.question01 .tac{
    margin-top: 35px;
    background-image: url("../img/question_q1_bg_check02.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 130px;
}
.question01 .tac b{
    border-bottom: solid 1px #029dd1;
}
/*q2*/
.question02 .df{
    display: flex;
    width: 100%
}
.question02 .df p{
    width: 65%;
}
.question02 .df picture{
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
    padding: 20px 0;
}
.question02 .graph{
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}
.question02 .graph p{
    background-color: #fa5032;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 8px 8px 0 0;
    font-size: 20px;
    font-weight: bold;
    margin-top: 20px;
}
.question02 .graph table{
    border: 1px solid #ffcfc7;
    border-radius: 0 0 8px 8px;
    border-collapse: collapse;
    overflow: hidden;
    width: 100%;
}
.question02 .graph .table{
    border: 1px solid #ffcfc7;
    border-radius: 0 0 8px 8px;
    border-collapse: collapse;
    overflow: hidden;
}
.question02 .graph table th{
    color: #fa5032;
    border-top: solid 1px #ffcfc7;
    width: 30%;
    background-color:#fff5f3;
    font-size: 19px;
}
.question02 .graph table td{
    border-right: solid 1px #ffcfc7;
    border-top: solid 1px #ffcfc7;
    width: 75%;
    padding:20px 10px;
}
.question02 .bottom{
    margin-top: 20px;
}
.question02 .bottom img{
    width: 100%;
    margin: 20px 0;
}
/*q3*/
.question03 .graph{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 10px;
}
.question03 .graph table th{
    color: #fa5032;
    border-top: solid 1px #ffcfc7;
    width: 50%;
    background-color:#fff5f3;
    font-size: 19px;
}
.question03 .graph table td{
    border-right: solid 1px #ffcfc7;
    border-top: solid 1px #ffcfc7;
    width: 60%;
    padding:20px 10px;
    text-align: center;
}
.question03 .graph table td span{
    width: 60%;
    text-align: center;
    font-size: 25px;
}
@media only screen and (max-width: 760px){
    p,li{
        color: #01232e;
        margin: 0;
        padding: 0;
        font-size: 16px;
    }
    .question{
        padding-bottom: 25px;
    }
    .question_inner{
        padding: 40px 0 65px;
    }
    .q_ttl .img{
        width:53px;
    }
    .q_ttl h2{
        line-height: 1.3;
        margin: 10px 0;
    }
    .question_group {
        padding: 10px 25px 40px;
    }
    .question_group::before{
        border-width: 0px 0px 40px 40px;
    }
    .question01 ul{
        list-style: none;
        padding:0 20px 5px 20px;
    }
    .question02 .df{
        display: block;
    }
    .question02 .graph table th{
        width: 33%;
        padding: 0 10px;
    }
    .question03 .graph table th{
        width: 51%;
    }
}
/*point*/
.point{
    width: 95%;
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 0px;
    box-sizing: border-box;
    overflow: hidden;
}
.point .ttl{
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 0px 20px;
    box-sizing: border-box;
}
.point .point_inner h2 img{
    width: 100%;
    max-width: 450px;
    float: left;
}
.point .point_inner p{
    float: left;
    width: 65%;
    padding:10px 0 0 10px;
    margin-bottom: 30px;
}
.point .point_inner .img{
    float: right;
    width: 28%;
    padding-top: 10px;
}
@media only screen and (max-width: 760px){
.point{
    padding: 40px 0px 0px 0px;
}
.point .point_inner h2 img{
    width: 95%;
    float:none;
}
.point .point_inner p{
    float:none;
    width: 100%;
    padding:20px;
    box-sizing: border-box;
}
.point .point_inner .img{
    float:none;
    width: 70%;
    padding-top: 5px;
    margin: 0 auto;
}
}
/*rank*/
.rank .ttl{
    padding: 40px 0;
    background: linear-gradient(to top,#0095c7 0%, #39d7ff 100%);
}
.rank .scroll{
    text-align: center;
    font-size: 19px;
    margin: 20px 0;
    display: flex;
    align-items: center;/* 縦位置の調整 */
    justify-content: center;/* 横位置の調整 */
}
.rank .scroll::before {
  content: '←';   /* 左矢印 */
  font-size: 18px; /* 大きさ調整 */
  color: #01232e;  /* 色を線と同じに */
  margin-right: 8px;
}
.rank .scroll::after {
  content: '→';   /* 右矢印 */
  font-size: 18px;
  color: #01232e;
  margin-left: 8px;
}
.rank .scroll::before {
    margin-right: 20px;
}

.rank .scroll::after {
    margin-left: 20px;
}
.rank .ttl picture{
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
}
.comparison-table {
    width: 95%;
    max-width: 1000px;
    margin: 0 auto;
    word-wrap: break-word;
    border: 5px solid #b8e0ee;
    box-sizing: border-box;
    margin-top: 30px;
    margin-bottom: 60px;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
}
.comparison-table th {
    text-align: center;
    background-color: rgb(214, 214, 214);
    padding: 1.5%;
    border-bottom: 1px solid #fff;
    width: 130px;
}
.comparison-table td:first-of-type {
    background-color: #fcffdf;
}
.comparison-table tr:first-of-type{
    background-color: #0BA8DD;
}
.comparison-table tr:first-of-type td{
    background-color: #0BA8DD;
    color: #fff;
    font-size: 18px;
}
.comparison-table td {
    text-align: center;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    background-color: #ececec;
    padding: 5px;
    font-size: 14px;
}
.comparison-table td.berry::before {
    content: "◎";
    font-weight: bold;
    color: #fa5032;
    font-size: 250%;
    line-height: 1;

}
.comparison-table td.good::before {
    content: "〇";
    color: #50c0e6;
    font-size: 250%;
    line-height: 0.8;

}
.comparison-table td.not::before {
    content: "×";
    color: #646464;
    font-size: 250%;
    line-height: 0.5;

}
.comparison-table td.usually::before {
    content: "△";
    font-weight: bold;
    color: #ff7b00;
    font-size: 200%;
    line-height: 1;
}
.comparison-table .cta{
    padding: 10px 0;
}
.comparison-table .cta a{
    background-color: #fa5032;
    padding: 7px 15px;
    border-radius: 10px;
    box-shadow: 0px 3px 0px  #791200;
}
@media only screen and (max-width: 760px){
    .rank .ttl{
        padding: 30px 0;
    }
    .comparison-table {
        overflow-x: scroll;
        display: block;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        font-size: 12px;
        margin-top: 15px;
    }
    .comparison-table table {
        width: 900px;
    }
    .comparison-table th {
        position: sticky;
        left: 0;
        z-index: 5;
        width: 62px;
        padding: 0;
    }
    .comparison-table td {
        width: 95px;
        padding: 10px 5px;
        /* display: inline-block; */
        white-space: normal;
        /* min-height: 150px; */
    }
}
/*vendor*/
.vendor{
    padding: 85px 0 60px;
    text-align: center;
}
.vendor .vendor_inner{
    background-color: #fff;
    width: 95%;
    max-width: 1000px;
    margin: 0 auto;
    box-shadow: 5px 5px 5px #7e7e7e49;
    padding: 0 30px 50px;
    box-sizing: border-box;
    position: relative;
    border-radius: 20px;
}
.vendor01 .vendor_inner{
    border: solid 2px #fa5032;
}
.vendor02 .vendor_inner{
    border: solid 2px #029dd1;
}
.vendor03 .vendor_inner{
    border: solid 2px #029dd1;
}
.vendor04 .vendor_inner{
    border: solid 2px #029dd1;
}
.vendor .lain::before{
    content: "•\A•\A•"; /* 改行で縦に並べる */
    position: absolute;
    white-space: pre; /* 改行を反映させる */
    bottom: -26px;
    left: 50%;
    color: #fa5032;
    font-size: 40px;
    line-height: 20px; 
    display: block;
}
.vendor01{
    background-color: #F6EDDD;
}
.vendor02{
    background-color: #ECF9FF;
}
.vendor03{
    background-color: #e9e9e9;
}
.vendor04{
    background-color: #ECF9FF
}
.vendor .ttl{
    padding: 15px 30px;
    color: #fff;
    font-weight: bold;
    font-size: 25px;
    display: inline-block;
    border-radius: 10px;
    margin-top: -30px;
    position: relative;
    z-index: 1;
    top: -6px;
}
.vendor .ttl::before{
    content: "";
    position: absolute;
    bottom: -24px;
    left: 38%;
    transform: translateX(-50%);
    color: #fa5032;
    border-style: solid;
    border-width: 0px 0px 50px 50px;
    border-color: transparent;
    border-left-color: #fa5032;
    transform: rotate(76deg);
    z-index: -1;
}
.vendor .ttl{
    background-color: #fa5032;
}
.vendor01 .ttl02{
    display: block;
    width: 90%;
    max-width: 400px;
    margin: 0 auto;
    margin-top: 30px;
}
.vendor02 .ttl02{
    display: block;
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    margin-top: 30px;
}
.vendor03 .ttl02 {
    display: block;
    width: 90%;
    max-width: 500px;
    margin: 0 auto;
    margin-top: 30px;
}
.vendor04 .ttl02 {
    display: block;
    width: 90%;
    max-width: 500px;
    margin: 0 auto;
    margin-top: 30px;
}
.vendor03 {
    padding: 60px 0 60px;
    text-align: center;
}
.vendor04 {
    padding: 60px 0 60px;
    text-align: center;
}
.vendor .df{
    display: flex;
    gap: 20px;
    margin:25px 0;
}
.vendor .df picture{
    width: 35%;
}
.vendor03 .df picture{
    width: 50%;
    margin: 0 auto;
}
.vendor04 .df picture{
    width: 50%;
    margin: 0 auto;
}
.vendor .text{
    width: 65%;
    text-align: left;
}
.vendor .fc_o{
    font-weight: bold;
}
.vendor_table{
    margin-bottom: 20px;
}
.vendor_table table{
    width: 100%;

}
.vendor_pc th{
    background-color: #d1d1d1;
    padding: 10px;
    width: 10%;
    vertical-align: middle;
    border-right:4px solid #ffffff;
    border-bottom: 4px solid #ffffff;
}
.vendor_sp th{
    background-color: #d1d1d1;
    padding: 10px;
    width: 5%;
    vertical-align: middle;
    border-right:4px solid #ffffff;
    border-bottom: 4px solid #ffffff;
}
.vendor_pc td {
    text-align: center;
    background-color: #fcffdf;
    border-right:4px solid #ffffff;
    border-bottom: 4px solid #ffffff;
    padding: 5px;
    width: 10%;
    vertical-align: middle;
    font-size: 16px;
}
.vendor_sp td {
    text-align: center;
    background-color: #fcffdf;
    border-right:4px solid #ffffff;
    border-bottom: 4px solid #ffffff;
    padding: 5px;
    width: 10%;
    vertical-align: middle;
    font-size: 16px;
}
.vendor_sp td.not::before{
	content: "×";
	color: #636363;
    font-size: 200%;
    line-height: 0.5;
}
.vendor_sp td.berry::before {
    content: "◎";
    font-weight: bold;
    color: #fa5032;
    font-size: 200%;
    line-height: 1;
}
.vendor_sp td.good::before {
    content: "〇";
    color: #50c0e6;
    font-size: 200%;
    line-height: 0.8;
}
.vendor_sp td.usually::before {
    content: "△";
    font-weight: bold;
    color: #ffc72d;
    font-size: 200%;
    line-height: 1;
}
.vendor_table td.berry::before {
    content: "◎";
    font-weight: bold;
    color: #fa5032;
    font-size: 200%;
    line-height: 1;

}
.vendor_table td.good::before {
    content: "〇";
    color: #50c0e6;
    font-size: 200%;
    line-height: 0.8;

}
.vendor_table td.not::before {
    content: "×";
    color: #646464;
    font-size: 200%;
    line-height: 0.5;

}
.vendor_table td.usually::before {
    content: "△";
    font-weight: bold;
    color: #ff7b00;
    font-size: 200%;
    line-height: 1;
}
.vendor .vendor_inner .heat{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
@media only screen and (max-width: 760px){
    .vendor_sp td{
        font-size: 14px;
    }
    .vendor{
        padding: 70px 0 40px;
        text-align: center;
    }
    .vendor .vendor_inner {
        padding: 0 20px 30px;
    }
    .vendor .ttl{
        padding: 15px 20px;
        font-size: 20px;
    }
    .vendor .df picture{
        width: 100%;
    }
    .vendor .text{
        width: 100%;
        margin-bottom: 20px;
    }
}
/*voice*/
.voice{
    position: relative;
    margin-bottom: 80px;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
    padding: 0 30px;
    box-sizing: border-box;
}
.voice input{
    display: none;
}
  /*開くためのボタンとテキストを隠すグラデーションの設定*/
  .vendor .voice label {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    bottom: -10px;
    width: 100%;
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, #F6EDDD 90%);
  }
.vendor01 .voice label {
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, #F6EDDD 90%);
  }
  .vendor02 .voice label {
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, #ECF9FF 90%);
  }
  .vendor03 .voice label {
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, #e9e9e9 90%);
  }
  .vendor04 .voice label {
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, #ECF9FF 90%);
  }
  /* 開いた時にグラデーションを消す */
.voice input:checked + label {
    background: inherit;
  }
  .voice input:checked + label {
    /* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
  }
  .voice .voice_inner {
    height: 400px; /* 開く前に見えている部分の高さ */
    transition: all 0.5s;
  }
  /*続きをよむボタン*/
  .voice label:after,
  .voice label::before {
    content: '';
    position: absolute;
    line-height: 2.5rem;
  }
  .voice label:after {
    z-index: 2;
    bottom: 40px;
    margin-right: 30px;
    width: 9em;
    content: '続きをよむ';
    font-weight: bold;
    border: solid 2px #f13818;
    color: #f13818;
    background: #ffffff;
  }
  /*閉じるボタン*/
  .voice input:checked + label:after {
    content: '閉じる';
  }
  .voice input:checked + label:before {
    left: calc(50% - 2.5em);
    transform: scale(1, -1);
  }
  .voice input:checked ~ .voice_inner {
    height: auto;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    transition: all 0.5s;
  }
.voice h2{
    margin-top: 50px;
}
.voice .group{
    border-radius: 20px;
    background-color: #fff;
    padding: 20px;
    text-align: left;
    margin-bottom: 15px;
    position: relative;
}
.voice .group::before{
    content: url("../img/voice.png");
    position: absolute;
    top: -20px;
    right: -20px;
    transform: scale(0.6); /* 50%縮小 */
}
.voice .icon{
    display: flex;
    vertical-align: middle;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.voice .icon p{
    font-weight: bold;
    font-size: 20px;
}
.voice .icon img{
    width: 70px;
}
/*cta*/
.cta{
    margin-top: 30px;
}
.btn, a.btn, button.btn {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    transition: all .3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: .1em;
    border-radius: 100px;
    width: 90%;
    box-sizing: border-box;
}
.vendor01 .btn--red, a.btn--red, button.btn--red {
    color: #fff;
    background-image: linear-gradient(to top, #f13818,#ff8873);
    padding: 23px;
    line-height:1.3;
}
.cta p{
    color: #fff;
    font-size: 20px;
}
.vendor .cta a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    padding-left: 100px;
}
.vendor02 .btn--red, a.btn--red, button.btn--red {
    color: #fff;
    background-image: linear-gradient(to top, #029dd1,#9be6ff);
    padding: 23px;
    line-height:1.3;
}
.shiny::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn 2.5s 
ease-in-out infinite;
}
.shiny {
    position: relative;
    overflow: hidden;
}
.vendor01 .btn--red.btn--cubic, a.btn--red.btn--cubic, button.btn--red.btn--cubic {
    border-bottom: 8px solid #791200;
}
.vendor02 .btn--red.btn--cubic, a.btn--red.btn--cubic, button.btn--red.btn--cubic {
    border-bottom: 8px solid #00506b;
}
@-webkit-keyframes shiny-btn {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }
    
    80% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }
    
    81% {
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }
    
    100% {
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
    }
/* 丸い矢印 */
.btn-icon {
    display: inline-block;
    width: 35px;
    height: 35px;
    margin-left: 75px;   /* 文字との間隔 */
    border-radius: 50%;
    background: #fff;   /* 丸の背景色 */
    position: relative;
    vertical-align: middle;
  }
  
  /* 中の三角矢印 */
  .btn-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    width: 0;
    height: 0;
    border-left: 13px solid #fa5032;   /* 矢印の色 */
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
  }
  .vendor01 .btn-icon::before {
    border-left: 13px solid #fa5032;
  }
  .vendor02 .btn-icon::before {
    border-left: 13px solid #029dd1;
  }
  .vendor03 .btn-icon::before {
    border-left: 13px solid #029dd1;
  }
  .vendor04 .btn-icon::before {
    border-left: 13px solid #029dd1;
  }
@media only screen and (max-width: 760px){
    .vendor02 .btn--red, a.btn--red, button.btn--red {
    padding: 15px 23px;
}
    .vendor .cta a{
        padding-left: 55px;
    }
    .btn-icon{
        margin-left: 30px;
    }
    .btn--red, a.btn--red, button.btn--red {
        padding: 20px;
    }
.voice {
    position: relative;
    margin-bottom: 80px;
    width: 95%;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
    padding: 10px;
    box-sizing: border-box;
    }
.voice label:after{
    margin-right: 0px;
}
    }
.end{
    background:url("../img/last_bg_pc.jpg") ;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    text-align: center;
}
.end::after{
    content: "";
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
    border-top: 40px solid #ECF9FF;
    z-index: 999;
}
.end .end_inner{
    width: 95%;
    max-width: 900px;
    margin: 0 auto;
    padding: 45px 0 30px;
    box-sizing: border-box;
}
.end .end_inner h2{
    margin: 30px 0 10px;
    font-size:50px;
}
.end p{
    color: #fff;
}
.memo{
    background:url("../img/last_memo_bg.png") ;
    background-repeat: no-repeat;
    background-size: cover;
    margin:30px 0;
    padding: 30px;
}
.memo_ttl{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding-top: 30px;
}
.memo_group{
    display: flex;
    padding-top: 20px;
    align-items: center;
    justify-content: center;
}
.memo_item img{
    width: 100%;
    max-width: 320px;
}
.memo_group p{
    color: #01232e;
    padding-bottom: 20px;
}
footer{
    background-color: #01232e;
    padding: 40px 0;
    text-align: center;
}
@media only screen and (max-width: 760px){
    .end{
        background:url("../img/last_bg_sp.jpg") ;
    }
    .memo{
        background:url("../img/last_memo_bg_sp.png") ;
        background-repeat: no-repeat;
        background-size: cover;
        margin: 30px 0 0;
    }
    .memo_group{
        display:contents;
        padding-top: 20px;
        align-items: center;
        justify-content: center;
    }
    .memo_item img{
        margin: 25px 0 20px;
    }
}
/*★塗 小数点まで*/
.rating {
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 1; /* 改行防止 */
    color: #ccc; /* 背景（未選択） */
    white-space: nowrap; /* ★が折り返されないようにする */
}
.rating::before {
    content: "★★★★★"; /* ベースの星 */
}
.rating::after {
    content: "★★★★★"; /* 塗りつぶし用 */
    position: absolute;
    top: 0;
    left: 0;
    color: #fa5032; /* 黄色い星 */
    width: 0; /* JSで制御 */
    overflow: hidden;
}
.rating::after {
    width: var(--w, 0);
}