@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;
}


/*btn*/
#cv_btn,#cv_btn2,.cv-box-footer{
    max-width: 640px;
    position: relative;
    text-align: center;
    margin: auto;
}


#cv_btn .btn-group1{
    position: absolute;
    bottom:29.5%;
    margin: auto;
}
#cv_btn .btn-group2{
    position: absolute;
    bottom:7%;
    margin: auto;
}

#cv_btn2 .btn-group1{
    position: absolute;
    bottom:26.2%;
    margin: auto;
}
#cv_btn2 .btn-group2{
    position: absolute;
    bottom:6.3%;
    margin: auto;
}

.btn-group1 li,
.btn-group2 li{
	width:50%;
	float:left;
  list-style: none;
  vertical-align: middle;
}
.title {
  line-height: 2;
  font-size: 18px;
  margin-bottom: 5px;
    text-align: left;
}
select {
    max-width: 600px;
    width: 100%;
    padding: 10px;
	 -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #999;
    background: #eee;
    background: url(../img/arrow01.png) right 50% no-repeat, -webkit-linear-gradient(top, #fff 0%,#d8d8d8 100%);
    background: url(../img/arrow01.png) right 50% no-repeat, linear-gradient(to bottom, #fff 0%,#d8d8d8 100%);
    background-size: 40px, 100%;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

select {
    vertical-align: middle;
    font-size: 18px;
}
.select-bg {
  background-size: 100% 100%;
  padding: 10px 4%;
}

/*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%;
}




.footer-content {
  width: 100%;
  max-width: 750px;
  padding: 2%;
  position: relative;
  margin: 30px auto 0;
  text-align: justify;
  font-size: 13px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.4;
}

.footer-content dl {
  line-height: 1.5;

}

.footer-content dt {
  margin-bottom: 5px;
  font-size: 15px;
  font-weight: bold;
  color: #4C9F80
}

.footer-content dd {
  margin-bottom: 15px;
  font-size: 13px;
}

.footer-content dd strong {
  font-weight: bold;
  display: block;
}

.footer {
  width: 100%;
  background: #fff;
  font-size: 13px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.4;
}

.footer {
  max-width: 640px;
  margin: 0 auto;
}

.footer ul li a{
  color: #0000e4!important;
  text-decoration: underline!important;
}

.footer img {
  line-height: 0;
  max-width: 100%;
}


.footer ul li {
  text-align: center;
  list-style: none;
}

.resale {
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	border: 1px solid #9a9a9a;
	padding: 1.5% 3% 4.5%;
	margin: 5% 1%;
}
ul.box_resale {
	padding-left:0
}
ul.box_resale li.h5 {
	color: #000;
	font-weight: bold;
}
ul.box_resale li {
	font-size: 15px;
	margin-top: 4%;
	line-height:140%;
	text-align: justify;
	list-style: none;
}

.mark {
  overflow: hidden;
}

.left {
  float: left;
  width: 50%;
}

.right {
  float: right;
  width: 50%;
}
.copy {
  text-align: center;
  padding: 15px 0;
  line-height:110% !important;
  font-size: 100% !important;
}

@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;
    }
}
 
