*{
    margin:0;
    padding:0;
}

.l-main {
    max-width: 750px;
    margin: 0 auto;
}


.width-box {
    width: 100%;
}

img {
    width: 100%;
}

.question_formbox {
    padding-top: 50px;
    padding-bottom: 20px;
    margin: auto;
    width: 82%;
}

.question_wrap {
    width: 100%;
    border-bottom: solid 0.5px #3E3A39;
    padding-bottom: 33px;
    padding-top: 33px;
}

.label_test {
    font-size: 15px;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #474747;
}

html body [type=checkbox] {
       display: none; 
    }   

    /*ボックス枠のCSS*/
.label_test:after {
    background-size: contain;
    position: absolute;
    content: "";
    background-image: url(/pages/aono_article_002/img/checkbox.png);
    display: block;
    top: 50%;
    left: -50px;
    margin: -10px 0 0 -2px;
    width: 30px;
    height: 30px;
}

    .label_test {
    position: relative; 
    margin-left: 54px;
    display: block;

    }

   .label_test:hover:after {
      border-color: #0171bd; 
   }

     .label_test:after, .label_test:before{
      position: absolute; 
      content: ""; 
      display: block; 
      top: 50%; 
      }
    /*チェックマークの追加*/
      .label_test:before {
        left: -46px;
        margin-top: -16px;
        width: 16px;
        height: 24px;
        border-right: 5px solid #77892C;
        border-bottom: 5px solid #77892C;
        transform: rotate(45deg);
        opacity: 0;
      }
      /*チェックボックスがチェックされた時に動作する内容*/
      input[type=checkbox]:checked + .label_test:before {
      opacity: 1; 
      }

.label_test {
    position: relative;
}

.label_test:before {
    z-index: 2;   /* チェックマークを前面に */
}

.label_test:after {
    z-index: 1;   /* ボックス画像を背面に */
}

.question__a {
  position: static !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

/* 質問ブロック初期非表示 */
.question {
  display: none;
}

/* 表示状態 */
.question.is-active {
  display: block;
}

/* 回答も初期非表示 */
.question__a {
  display: none;
}

/* ===== 強制表示修正（最重要） ===== */

/* question が表示されたら中身も表示 */
.question.is-active .question__q,
.question.is-active .question__a {
  position: static !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* 高さを持たせる */
.question.is-active {
  height: auto !important;
  overflow: visible !important;
}


/*YES/NOボタン*/
.l-main .question .question__button {
  padding: 5vw 5vw 37vw;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5vw;
}
.l-main .question .question__button .question__yes,
.l-main .question .question__button .question__no {
  width: 50%;
}
.l-main .question .question__button input[type=radio] {
  display: none;
}
.l-main .question .question__button input[type=radio] + label {
  display: block;
  position: relative;
}
.l-main .question .question__button input[type=radio] + label .off {

}
.l-main .question .question__button input[type=radio] + label .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.l-main .question .question__button input[type=radio]:checked + label .on {
  opacity: 1;
}

/* 4択 */

/* ラジオ非表示 */
.image-choices input {
  display: none;
}

/* 2×2 グリッド */
.image-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 90%;
  margin: 0 auto;
  padding-top: 20px;
}

/* 画像ラベル */
.image-choices .choice {
  display: block;
  cursor: pointer;
  position: relative;
}

/* 画像 */
.image-choices img {
  width: 100%;
  display: block;
  transition: opacity 0.3s ease;
}

/* 選択時に半透明 */
.image-choices input:checked + .choice img {
  opacity: 0.4;
}

/* hover（任意） */
.image-choices .choice:hover img {
  opacity: 0.8;
}

.q3 {
    background-color: #F6F6F6;
}

.attention_q3 {
    text-align: center;
    font-size: 8px;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #747474;
    padding-top: 20px;
    padding-bottom: 20px;
}


/* next btn */

.question__next img {
    display: block;
    width: 90%;
    margin: auto;
    padding-bottom: 37vh;
    padding-top: 20px;
}

/* offer btn */

.btn_buy_text {
    width: 80%;
    margin: auto;
    display: block;
    padding-top: 70px;
}

.offer__button {
    width: 90%;
    margin: auto;
}

.offer__button___02 {
    width: 80%;
    padding-top: 10px;
    padding-bottom: 20px;
}

.question__a {
    background-color: #fff;
}

.question__a__bg {
    background-color: #F8FBF5;
}

.offer__button___03 {
    padding-top: 20px;
    padding-bottom: 70px;
}

.footer_logo {
    display: block;
    margin: auto;
    width: 70%;
    padding-bottom: 70px;
}

/*-------------------------------------------
footer
-----------------------------------------------*/

ul{
    list-style: none;
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}



.footer-link {
  text-align: center;
}
.footer-link li{
  margin-bottom: .4em;
}
.footer-link-obi {
  margin: 100px auto 50px;
  text-align: left;
}
.footer-link-obi li {
  margin-bottom: 0;
  border-top: 1px solid #cce1e4;
}
.footer-link-obi li:last-child {
  border-bottom: 1px solid #cce1e4;
}
.footer-link-obi li a{
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: .9em 3em .9em;
  position: relative;
  line-height: 1em;
  border-bottom: 1px solid #fff;
}
.footer-link-obi li a:after {
  content: "＞";
  font-weight: bold;
  color: #efefef;
  position: absolute;
  top: 50%;
  left: .5rem;
  margin-top: -.5em;
  -webkit-transform: scaleX(.8);
  -ms-transform: scaleX(.8);
  -o-transform: scaleX(.8);
  transform: scaleX(.8);
}
#copy {
  text-align: center;
  font-size: 24px;
  color: #000;
  box-sizing: border-box;
  padding: 1.4em;
}

@media (max-width: 750px) {
  .lpbox {
    padding: 0 20px;
  }
  .footer-link-obi {
    margin: 40px auto;
    text-align: left;
  }  
  #copy {
    font-size: 14px;
  }
  
}