@charset "utf-8";

/* rem設定用 */
html{
    font-size: 15px;
}

/*============================
#layout
margin、paddingなどは親コンテナの幅を基準に％指定
30pxなら30/640*100=4.69%、通常4.69%に設定
画像は左右paddingとmax-widthでコントロール
============================*/

#wrapper {
  width: 100%;
  background-color: #FFF;
}
#wrapper .mainCont {
  position: relative;
  max-width: 750px;
  margin: 0 auto;
  background-color: #FFF;
  overflow: hidden;
}
#wrapper img {
  max-width: 100%;
}

#wrapper .q-wrapper {
    position: relative;
    background: url(../img/sec-bg.jpg) top left repeat-y;
    background-size: contain;
}
#wrapper .q-wrapper::after {
    content: '';
    width: 100vw;
    height: 2.1vw;
    position: absolute;
    bottom: 0;
    right: 0;
    background: url(../img/sec_bg-bottom.jpg) top left no-repeat;
    background-size: cover;
}
/* q-box*/
#wrapper .form {
    padding: 5% 0;
}
#wrapper .form01 {
    padding: 5% 0 10%;
}
#wrapper .form02 {
    padding: 5% 0 9.5%;
}
#wrapper .form input[type="radio"],
#wrapper .form input[type="checkbox"]{
  display: none;
}

#wrapper .form input[type="radio"] + label{
  position: relative;
  display: block;
  background: #e6e6e6;
  width: 78.7%;
  margin: 0 auto 2.5%;
  padding: 6.5% 0 6.5% 14%;
  box-sizing: border-box;
  font-size:  calc(40 / 750 *100vw);
  color: #2f2f2f;
  cursor: pointer;
    border-radius: 1.3vw;
}
#wrapper .form input[type="radio"] + label:last-child {
    margin-bottom: 0;
}
#wrapper .form input[type="radio"]:checked + label {
    background: #008b8b;
    color: #fff;
}

#wrapper .form input[type="radio"] + label::after {
    content: '';
    width: 5.2vw;
    height: 5.2vw;
    position: absolute;
    top: 32%;
    left: 5%;
    background: url(../img/check-off.png), url(../img/check-on.png);
    background-size: contain, 0 0;
}

#wrapper .form input[type="radio"]:checked + label::after{
    background-size: 0 0, contain;
}

#wrapper .q-link {
    display: block;
    width: 84%;
    margin: 0 auto;
    padding-bottom: 8%;
}
#wrapper .q2-toggle {
    margin-bottom: 7%;
    display: none; 
}
#wrapper .q3-toggle{
    margin-bottom: 6%;
    display: none;
}
.q2-toggle02 {
    display: none;
}
.q2_02-toggle02 {
    display: none;
    position: relative;
}
.q2_02-toggle02_gif {
    position: absolute;
    width: 63.5%;
    top: 0;
    left: 18.3%;
}
/*
resu/t
*/
#wrapper #box-q2,
#wrapper #box-q3,
#wrapper #result {
    display: none;
}
#wrapper .cv01,
#wrapper .cv02,
#wrapper .cv03 {
    width: 90.1%;
    margin: 0 auto 3%;
    display: flex;
    flex-wrap: wrap;
}
#wrapper .cv01 .cv-box,
#wrapper .cv02 .cv-box{
    display: inline-flex;
    width: 50%;
    justify-content: space-between;
}

#wrapper .cv01 .cv-box:first-child,
#wrapper .cv01 .cv-box:nth-child(1),
#wrapper .cv02 .cv-box:first-child,
#wrapper .cv02 .cv-box:nth-child(1) {
    margin-bottom: 2%;
}
#wrapper .cv01 .cv-box .inline-box,
#wrapper .cv02 .cv-box .inline-box{
    display: block;
    width: 100%;
}

#wrapper .cv01 .cv-box .inline-box .cv-link,
#wrapper .cv02 .cv-box .inline-box .cv-link{
    display: block;
    padding-top: 3%;
    cursor: pointer;
}

#wrapper .cv03-link {
    display: block;
    width: 91.5%;
    margin: 0 auto;
    padding-bottom: 10%;
    cursor: pointer;
} 

#wrapper .point02-box {
    width: 92%;
    margin: 0 auto 5%;
    position: relative;
}
#wrapper .point02-box::after {
    content: '';
    position: absolute;
    bottom: 4%;
    left: 48%;
    width: 5.1vw;
    height: 5.1vw;
    background: url(../img/point02_arrow.png) top left no-repeat;
    background-size: contain;
    transform: rotate(180deg);
}
#wrapper .point02-box-active::after {
    transform: rotate(0deg);  
}
#wrapper .point02-box .point02-q img{
    display: block;
    border-radius:  10px / 10px;
}
#wrapper .point02-box-active .point02-q img{
    border-radius:  0;  
}
#wrapper .point02-box .point02-a {
    display: none;
}

#wrapper .video-box {
    width: 85.2%;
    margin: 5% auto 15%;
}
#wrapper .video-box .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#wrapper .video-box .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.swiper-container {
    background: #eee;
    padding-bottom: 8%;
}
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
    content: '';
}
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
    content: '';
}
.swiper-button-next, .swiper-button-prev {
    top: 41.1%;
    width: 10.7vw;
    height: 10.7vw;
}
.swiper-button-prev {
    background: url(../img/voice_prev.png) top left no-repeat;
    background-size: contain;
    left: 5%;
}
.swiper-button-next {
    background: url(../img/voice_next.png) top left no-repeat;
    background-size: contain;
    right: 5%;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 1.25%;
}
.swiper-pagination-bullet {
    width: 2.6vw;
    height: 2.6vw;
}
.swiper-pagination-bullet-active {
    background: #008b8b;
}

#wrapper .faq-toggle {
    width: 92%;
    margin: 0 auto 5%;
}

#wrapper .faq-q {
    position: relative;
}
#wrapper .faq-q::after {
    content: '';
    width: 5.2vw;
    height: 5.2vw;
    position: absolute;
    top: 30%;
    right: 3.8%;
    background: url(../img/faq-arrow.png) top left no-repeat;
    background-size: contain;
    transform: rotate(180deg);
}
#wrapper .faq-q_aactive::after {
    transform: rotate(0deg);
}
#wrapper .faq-a {
    display: none;
}
/*============================
txt
font-size、line-heightは
基本デザインデータの2/3から半分程度に設定
(画面幅320pxのiPhone5で段落ちしない程度)
============================*/

#wrapper a {
  text-decoration: none;
  color: #000;
  -webkit-transition: opacity 0.5s ease-out;
  -moz-transition: opacity 0.5s ease-out;
  -ms-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
#wrapper a:hover {
  opacity: 0.7;
}

/* 本文用のpはここで一括指定しています */
#wrapper p {
  font-size: 1.00rem;
  line-height: 1.0;
}


/*============================
#util
============================*/


/*top*/

#wrapper .mt3 {
  margin-top: 3%!important;
}

#wrapper .mt4 {
  margin-top: 4%!important;
}

#wrapper .mt5 {
  margin-top: 5%!important;
}

#wrapper .mt6 {
  margin-top: 6%!important;
}

#wrapper .mt7 {
  margin-top: 7%!important;
}

#wrapper .mt8 {
  margin-top: 8%!important;
}

#wrapper .mt9 {
  margin-top: 9%!important;
}

#wrapper .mt10 {
  margin-top: 10%!important;
}


/*bottom*/

#wrapper .mb0 {
  margin-bottom: 0!important;
}

#wrapper .mb3 {
  margin-bottom: 3%!important;
}

#wrapper .mb4 {
  margin-bottom: 4%!important;
}

#wrapper .mb5 {
  margin-bottom: 5%!important;
}

#wrapper .mb6 {
  margin-bottom: 6%!important;
}

#wrapper .mb7 {
  margin-bottom: 7%!important;
}

#wrapper .mb8 {
  margin-bottom: 8%!important;
}

#wrapper .mb9 {
  margin-bottom: 9%!important;
}

#wrapper .mb10 {
  margin-bottom: 10%!important;
}

#wrapper .TaC_img {
  display: inline-block;
  max-width: 100%;
}


@media (min-width: 751px) {
    #wrapper .q-wrapper::after {
    width: 750px;
    height: 16px;;
    }
    #wrapper .form input[type="radio"] + label,
    #wrapper .form input[type="checkbox"] + label{
        font-size: 40px;
        　border-radius: 10px;
    }
    #wrapper .form input[type="radio"] + label::after,
    #wrapper .form input[type="checkbox"] + label::after {
        width: 39px;
        height: 39px;
    }
    .swiper-button-next, .swiper-button-prev {
    width: 80px;
    height: 80px;
    }
    #wrapper .point02-box::after {
        width: 38px;
        height: 38px;
    }
    .swiper-pagination-bullet {
        width: 20px;
        height: 20px;
    }
    #wrapper .faq-q::after {
        width: 39px;
        height: 39px;
    }
}
 
