@charset "UTF-8";
body {
  font-size: 14px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
}

#main {
  width: 750px;
  margin: 0 auto;
  position: relative;
}

.fv {
  position: relative;
}
.fv a.ank_btn {
  position: absolute;
  width: 100%;
  bottom: 6%;
  left: 6%;
}

.qlist li input {
  display: none;
}
.qlist li .btn {
  position: relative;
  display: block;
}
.qlist li .btn .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.qlist li input:checked + .btn .on {
  opacity: 1;
}
.qlist li .btn img {
  width: 100%;
  height: auto;
}

.q1_list.qlist li,
.q2_list.qlist li {
  margin-bottom: 2em;
}

.qlist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 92%;
  margin: 2em auto 0;
}

.q1, .q2, .q3 {
  position: relative;
  background-color: #FCF9F4;
  padding: 0 0 8% 0;
}

.q1_list.qlist li:nth-child(2n) {
  margin-left: 4.6%;
}

.q2_list.qlist {
  justify-content: space-between;
  position: relative;
  margin-top: 0;
}
.q2_list.qlist li {
  position: absolute;
}
.q2_list.qlist li.a1 {
  top: 0%;
  right: 21.6%;
  width: 37%;
  z-index: 5;
}
.q2_list.qlist li.a2 {
  top: 8.7%;
  right: 38%;
  width: 54.5%;
}
.q2_list.qlist li.a3 {
  top: 39.2%;
  right: 39.6%;
  width: 55.1%;
}
.q2_list.qlist li.a4 {
  top: 46%;
  right: 15.5%;
  width: 37%;
}

.q3_list.qlist li {
  width: 100%;
  margin-bottom: 2em;
}

.q3 .case1_only, .q3 .case2_only, .q3 .case3_only {
  display: none;
  position: relative;
  margin: 10% 0 0 0;
}
.q3 .case1_only a.q3_btn, .q3 .case2_only a.q3_btn, .q3 .case3_only a.q3_btn {
  position: absolute;
  bottom: 2%;
  right: 0;
  left: 11%;
}
.q3 .case1_only a.q3_btn2, .q3 .case2_only a.q3_btn2, .q3 .case3_only a.q3_btn2 {
  position: absolute;
  bottom: 2%;
  right: 0;
  left: 11%;
}

.end_conts {
  position: relative;
}
.end_conts .btn_erea1 {
  position: relative;
}
.end_conts .btn_erea1 a {
  display: block;
  position: absolute;
  left: 5%;
  right: 0;
  bottom: 5.4%;
  margin: auto;
}
.end_conts .btn_erea1 a.btn {
  height: 105px;
  bottom: 50px;
}
.end_conts .btn_erea2 {
  position: relative;
}
.end_conts .btn_erea2 a {
  position: absolute;
  left: 5%;
  right: 0;
  bottom: 6.4%;
  margin: auto;
}
.end_conts .btn_erea2 a.btn {
  height: 105px;
  bottom: 50px;
}
.end_conts .btn_erea3 {
  position: relative;
  background-color: #E3EEFF;
}
.end_conts .btn_erea3 a {
  position: absolute;
  left: 5%;
  right: 0;
  bottom: 3.2%;
  margin: auto;
}
.end_conts .btn_erea3 a.btn {
  height: 105px;
  bottom: 50px;
}
.end_conts .mocchiri {
  animation: mocchiri 3s infinite;
}

@keyframes mocchiri {
  0% {
    transform: scale(1, 0.8);
  }
  20% {
    transform: scale(0.8, 1.1);
  }
  95% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 0.8);
  }
}
.q3 {
  padding-bottom: 2em;
}

.qlist label {
  display: block;
  cursor: pointer;
}

.popup {
  position: relative;
}

/*モーダルを開くボタン*/
.modal-open {
  position: absolute;
  width: 490px;
  height: 80px;
  bottom: 53px;
  left: 125px;
  cursor: pointer;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
}
.modal-container:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal-container.active {
  opacity: 1;
  visibility: visible;
}

/*モーダル本体の擬似要素の指定*/
/*モーダル本体に「active」クラス付与した時のスタイル*/
/*モーダル枠の指定*/
.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 500px;
  width: 90%;
}

/*モーダルを閉じるボタンの指定*/
.modal-close:nth-of-type(1) {
  position: absolute;
  top: 0;
  right: 0px;
  width: 60px;
  height: 60px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}
.modal-close:nth-of-type(2) {
  position: absolute;
  /* top: 0; */
  /* right: -40px; */
  bottom: 20px;
  left: 35%;
  width: 150px;
  height: 45px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}

/*モーダル内のコンテンツの指定*/
.modal-content {
  position: relative;
}

.to_form {
  position: absolute;
  display: block;
  width: 80px;
  cursor: pointer;
  height: 20px;
}

.area1 {
  bottom: 460px;
  left: 128px;
}

.area2 {
  bottom: 260px;
  left: 180px;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
}
.modal-container2:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal-container2.active {
  opacity: 1;
  visibility: visible;
  z-index: 3;
}

/*モーダル本体の擬似要素の指定*/
/*モーダル本体に「active」クラス付与した時のスタイル*/
/*モーダル枠の指定*/
.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 500px;
  width: 90%;
}

/*モーダルを閉じるボタンの指定*/
.modal-close2:nth-of-type(1) {
  position: absolute;
  top: 0;
  right: 0px;
  width: 60px;
  height: 60px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}
.modal-close2:nth-of-type(2) {
  position: absolute;
  /* top: 0; */
  /* right: -40px; */
  bottom: 20px;
  left: 35%;
  width: 150px;
  height: 45px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}

/*モーダル内のコンテンツの指定*/
.modal-content {
  position: relative;
}

.area3 {
  position: absolute;
  display: block;
  width: 405px;
  cursor: pointer;
  height: 85px;
  top: 311px;
  left: 45px;
}

article.diet {
  position: relative;
}
article.diet a {
  display: block;
  width: 540px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
article.diet a.btn {
  height: 105px;
  bottom: 50px;
}
article.diet a.detail {
  height: 90px;
  bottom: 175px;
}

#footer {
  width: 100%;
  background-color: #FFF;
  color: #000000;
  text-align: center;
  padding: 6% 0 0 0;
  position: absolute;
  bottom: auto;
}
#footer small {
  margin: 10px;
  font-size: 18px;
  color: #FFF;
}
#footer ul {
  margin: 5% 0;
  font-size: 24px;
}
#footer ul li {
  display: inline-block;
  margin: 0 10px;
  text-decoration: none;
  color: #595757;
}
#footer .copyright_bg {
  background: #5F90CC;
  padding: 3%;
}

@media screen and (max-width: 750px) {
  body {
    font-size: 2.4vw;
  }
  #main {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
  }
  .q1_list.qlist {
    flex-wrap: nowrap;
  }
  .fv a.ank_btn {
    width: 95%;
    bottom: 5%;
    left: 3%;
  }
  /*モーダルを開くボタン*/
  .modal-open {
    position: absolute;
    width: 100%;
    height: 40px;
    bottom: 5%;
    left: 0;
    cursor: pointer;
  }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    padding: 0px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
  }
  .modal-container:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
  }
  .modal-container.active {
    opacity: 1;
    visibility: visible;
  }
  /*モーダル本体の擬似要素の指定*/
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  /*モーダル枠の指定*/
  .modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 500px;
    width: 90%;
  }
  /*モーダルを閉じるボタンの指定*/
  .modal-close:nth-of-type(1) {
    position: absolute;
    top: 0;
    right: 0px;
    width: 60px;
    height: 60px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
  }
  .modal-close:nth-of-type(2) {
    position: absolute;
    /* top: 0; */
    /* right: -40px; */
    bottom: 20px;
    left: 35%;
    width: 150px;
    height: 45px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
  }
  /*モーダル内のコンテンツの指定*/
  .modal-content {
    position: relative;
  }
  .to_form {
    position: absolute;
    display: block;
    width: 80px;
    height: 20px;
  }
  .area1 {
    bottom: 19%;
    left: 23%;
  }
  .area2 {
    bottom: 10.5%;
    left: 30%;
  }
  .q3 .case1_only,
  .q3 .case2_only,
  .q3 .case3_only {
    display: none;
    position: relative;
    margin: 10% 0 0 0;
  }
  .q3 .case1_only a.q3_btn,
  .q3 .case2_only a.q3_btn,
  .q3 .case3_only a.q3_btn {
    right: 8%;
    left: 8%;
  }
  .q3 .case1_only a.q3_btn2,
  .q3 .case2_only a.q3_btn2,
  .q3 .case3_only a.q3_btn2 {
    right: 8%;
    left: 8%;
  }
  article.diet a {
    display: block;
    width: 70%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  article.diet a.btn {
    height: 10%;
    bottom: 3%;
  }
  article.diet a.detail {
    height: 7%;
    bottom: 15%;
  }
  .end_conts .btn_erea1 a {
    width: 90%;
    left: 5%;
    right: 6%;
  }
  .end_conts .btn_erea2 a {
    width: 90%;
    left: 5%;
    right: 6%;
    bottom: 5.4%;
  }
  .end_conts .btn_erea3 {
    background-color: #E3EEFF;
  }
  .end_conts .btn_erea3 a {
    left: -1%;
    right: 0%;
    width: 90%;
  }
  /*モーダルを開くボタン*/
  .modal-open2 {
    position: absolute;
    width: 100%;
    height: 40px;
    bottom: 5%;
    left: 0;
    cursor: pointer;
  }
  /*モーダル本体の指定 + モーダル外側の背景の指定*/
  .modal-container2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    padding: 0px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
  }
  .modal-container2:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
  }
  .modal-container2.active {
    opacity: 1;
    visibility: visible;
  }
  /*モーダル本体の擬似要素の指定*/
  /*モーダル本体に「active」クラス付与した時のスタイル*/
  /*モーダル枠の指定*/
  .modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 500px;
    width: 90%;
  }
  /*モーダルを閉じるボタンの指定*/
  .modal-close2:nth-of-type(1) {
    position: absolute;
    top: 0;
    right: 0px;
    width: 60px;
    height: 60px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
  }
  .modal-close2:nth-of-type(2) {
    position: absolute;
    /* top: 0; */
    /* right: -40px; */
    bottom: 20px;
    left: 35%;
    width: 150px;
    height: 45px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
  }
  /*モーダル内のコンテンツの指定*/
  .modal-content {
    position: relative;
  }
  .area3 {
    position: absolute;
    display: block;
    width: 80%;
    cursor: pointer;
    height: 60px;
    top: 13.5%;
    left: 10%;
  }
  #footer img {
    width: 60%;
  }
  #footer small {
    font-size: 10px;
  }
  #footer ul {
    font-size: 10px;
  }
}
body#fade_action {
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}