@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Asap+Condensed:600');

/*additional reset
---------------------------------------------------*/
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

body.safari #content, body.safari #footer {/*サファリでリンク先から戻った時文字が拡大する対応*/
    -webkit-text-size-adjust: 100%;
}
body {
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    margin: 0;
    font-size: 17px;
    background-color: #f0f0f0;
    line-height: 1.8;
}

a:hover,
a:active {
    text-decoration: none;
}

@media screen and (max-width:640px) {
body {
    line-height: 1.9;
}
}


/*初期設定
----------------------------------------------------*/
#wrapper{
    width: 650px;
    padding: 0 0 20px 0;
    overflow: hidden;
    margin: auto;
    position: relative;
    background-color: #fff;
}
.content{
    display: block;
    margin: 0 auto;
    width: 95%;
}
@media screen and (min-width:640px) {
    .pc{
        display: block;
    }
    .sp{
        display: none;
    }
}

@media screen and (max-width:640px) {
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    #wrapper{
        width: 100%;
    }
}
/*layout
----------------------------------------------------*/
p {
    margin-bottom: 30px;
    text-align:center;
}

img{
    width: 100%;
    margin-bottom: 20px;
}
.w60{
    display: block;
    width: 60%;
    margin: auto;
}
.w80{
    display: block;
    width: 80%;
    margin: auto;
}
.taC{
    text-align: center;
}
.taR{
    text-align: right;
}
.taL{
    text-align: left;
}
.fwB {
  font-weight:bold;
}
.mt0{
    margin-top: 0;
}
.mb0{
    margin-bottom: 0;
}
.mb10{
    margin-bottom: 10px;
}
.mb20{
    margin-bottom: 20px;
}
.mt10{
    margin-top: 10px;
}
.mt20{
    margin-top: 20px;
}
.mb30{
    margin-bottom: 30px;
}
.mt30{
    margin-top: 30px;
}
.mb40{
    margin-bottom: 40px;
}
.mt40{
    margin-top: 40px;
}
.mt60{
    margin-top: 60px;
}
.pink{
    color: rgb(255, 0, 120);
}
.red{
    color: rgb(255, 0, 0);
    font-weight:bold;
}
.gray{
    color: rgb(170, 170, 170);
}
.orange{
    color: rgb(255, 153, 0);
}
.blue{
    color: rgb(0, 0, 255);
}
.marker{
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%,#fffca5 0%) repeat scroll 0 0;
}
.marker02{
    border-bottom-style: dotted;
    border-bottom-color: #dcdcdc;
    border-bottom-width: 3px;
    padding-bottom: 3px;
}
.fsLL{
    font-size: 26px;
}
.fsL{
    font-size: 22px;
}
.fsM{
    font-size: 20px;
}
.fsS{
    font-size: 10px;
}
.br_pc {
    display: block;
}
.br_sp {
    display: none;
}
.line {
    margin-bottom: 3%;
}
.line:after {
    display: block;
    width: 100%;
    height: 5px;
    margin-bottom: 10px;
    content: '';
    background-image: -webkit-gradient(linear, left top, right top, from(#e91732), to(#fe7002));
    background-image: -webkit-linear-gradient(left, #e91732 0%, #fe7002 100%);
    background-image: linear-gradient(to right, #e91732 0%, #fe7002 100%);
}

.rela {
  position: relative;
}

.note {
    color: #a3a0a0;
    font-size: 0.7rem;
    line-height: 1.5;
    text-align:right;
    margin: 0 10px;
}

.indent {
    padding-left: 1em;
    text-indent: -1em;
}

.video{
    width: 100%;
    margin: 10px auto;
    margin-bottom: 20px;
}

h2 {
  padding: 1rem 2rem;
  color: #fff;
  border-radius: 10px;
  background-image: -webkit-gradient(linear, left top, right top, from(#f83600), to(#f9d423));
  background-image: -webkit-linear-gradient(left, #f83600 0%, #f9d423 100%);
  background-image: linear-gradient(to right, #f83600 0%, #f9d423 100%);
font-size: clamp(20px, 2.7vw, 30px);
    margin: 10% 0 6%;
}

/*CTA*/
.btn {
  margin: 3% 0 8%;
}

.shuffling {
  animation-duration: 1.4s !important;
  -webkit-animation-duration: 1.4s;
  -ms-animation-duration: 1.4s;
  -moz-animation-duration: 1.4s !important;
  -webkit-animation-name: shuffling;
  -moz-animation-name: shuffling;
  -o-animation-name: shuffling;
  animation-name: shuffling;
}
.animate {
  /* -webkit-animation-timing-function: ease-in; */
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  /* animation-timing-function: ease-in; */
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  /* animation-iteration-count: infinite; */
}
@keyframes shuffling {
  0% {
    transform: skewX(9deg);
  }
  10% {
    transform: skewX(-8deg);
  }
  20% {
    transform: skewX(7deg);
  }
  30% {
    transform: skewX(-6deg);
  }
  40% {
    transform: skewX(5deg);
  }
  50% {
    transform: skewX(-4deg);
  }
  60% {
    transform: skewX(3deg);
  }
  70% {
    transform: skewX(-2deg);
  }
  80% {
    transform: skewX(1deg);
  }
  90% {
    transform: skewX(0deg);
  }
  100% {
    transform: skewX(0deg);
  }
}

.img03_abs {
    position: absolute;
    top: 41%;
    left: 3%;
    width: 94%;
}

.cta_abs {
    position: absolute;
    top: 46%;
    left: 7%;
    width: 86%;
}

/*ふきだし*/
.balloon5 {
  width: 100%;
  margin: 2em 0;
  overflow: hidden;
}

.balloon5 .faceicon {
  float: left;
  margin-right: -90px;
  width: 80px;
}

.balloon5 .faceicon_r {
    float: right;
    margin-right: 0;
    width: 80px;
}

.balloon5 .faceicon img{
  width: 100%;
  height: auto;
/*  border: solid 3px #d7ebfe;
  border-radius: 50%;*/
}

.balloon5 .chatting {
  width: 100%;
}

.says {
  display: inline-block;
  position: relative;
  margin: 5px 0 0 105px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #fff8cc;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #fff8cc;
}

.says_r {
  display: inline-block;
  position: relative;
  margin: 0 10px 0 335px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #ffe6e9;
}

.says_r:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 18px;
    right: -22px;
    border: 12px solid transparent;
    border-left: 12px solid #ffe6e9;
    left: inherit;
}

.says p {
  margin: 0;
  padding: 0;
}

/* 吹き出し2 */
.balloon{
  position: relative;
  padding: 20px 20px 5px;
  background-color: #fff8cc;
  border-radius: 30px;
/*      margin-left: 10%;
      margin-bottom: 5%;*/
  margin: 5% 0 5% 10%;
}
/* 大きい丸 */
.balloon::before{
  content: '';
  position: absolute;
  display: block;
  border-radius: 50%;
  background-color: #fff8cc;
  left: -35px;
  bottom: 15px;
  width: 30px;
  height: 30px;
}
/* 小さい丸 */
.balloon::after{
  content: '';
  position: absolute;
  display: block;
  border-radius: 50%;
  background-color: #fff8cc;
  left: -55px;
  bottom: 10px;
  width: 15px;
  height: 15px;
}


.continue {
  display: flex;
  justify-content: center;
}

.continue span {
  display: block;
  /*点の幅サイズ*/
  width: 10px;
  /*点の高さサイズ*/
  height: 10px;
  /*点の色*/
  background-color: #ccc;
  /*角を丸くする*/
  border-radius: 100vh;
  /*点周りの余白。左の値が上下、右の値が左右*/
  margin: 10px 0;
}

.continue .dot-1,
.continue .dot-2,
.continue .dot-3 {
  /*アニメーションの指定。左から、アニメーション名、アニメーション時間の長さ（1sは1秒）、infiniteは無限に再生を繰り返す*/
  -webkit-animation: continue 1s infinite;
  -moz-animation: continue 1s infinite;
}
.continue .dot-1 {
  /*アニメーションし始める時間*/
  -webkit-animation-delay: 0.1s;
  -moz-animation-delay: 0.1s;
}

.continue .dot-2 {
  -webkit-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
}
.continue .dot-3 {
  -webkit-animation-delay: 0.3s;
  -moz-animation-delay: 0.3s;
}
@-webkit-keyframes continue {

  /*アニメーション時間軸の指定。0%は開始地点、50%は真ん中、100%は最後の地点*/
  0% {
    /*不透明度の指定。1は不透明度100%*/
    opacity: 1;
  }

  50% {
    opacity: 0.5;
  }

  100% {
    opacity: 1;
  }
}

@keyframes continue {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0.5;
  }

  100% {
    opacity: 1;
  }
}

  /* 矢印 */
        .downArrow {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            animation: moveDown 1s infinite; /* アニメーションを追加 */
            margin-bottom: 10%;
        }

        .downArrow>span {
            /* 矢印の大きさの設定 */
            width: 100px;
            height: 65px;
            padding: 0 10px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
        }

        .downArrow>span::before {
            content: "";
            display: block;
            margin: 0 auto;
            width: 50%;
            height: 40%;
            /* 矢印の色の設定 */
            background: #e10000;
        }

        .downArrow>span::after {
            content: "";
            display: block;
            width: 100%;
            height: 60%;
            /* 矢印の色の設定 */
            background: -webkit-gradient(linear, left bottom, right top, color-stop(49%, transparent), color-stop(50%, #d096bb)) top left/50% 100% no-repeat, -webkit-gradient(linear, right bottom, left top, color-stop(49%, transparent), color-stop(50%, #d096bb)) top right/50% 100% no-repeat;
            background: linear-gradient(to top right, transparent 49%, #e10000 50%) top left/50% 100% no-repeat, linear-gradient(to top left, transparent 49%, #e10000 50%) top right/50% 100% no-repeat;
        }

        @keyframes moveDown {
            0% {
                transform: translateY(0);
            }
            100% {
                transform: translateY(50px); /* 下方向に100px移動 */
            }
        }


.slider {
    padding: 5%;
    border: 3px solid #fac220;
    margin-bottom: 6%;
}

  footer {
    font-size: 13px;
    padding: 5%;
    background: #ECECEC;
    text-align: center;
    margin-top: 10px;
}


@media screen and (max-width:640px) {
h2 {
    padding: 1rem;
}
.says_r {
    margin: 0 10px 0 28%;
}
.balloon {
    margin: 5vw 0 6vw 17vw;
}
.br_pc {
    display: none;
}
.br_sp {
    display: block;
}
.slider {
    margin-bottom: 10%;
}
.downArrow {
    margin-bottom: 18%;
    margin-top: -5%;
}
.cta_abs {
    top: 45%;
}
}