body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0;
  line-height: 1.75;
}

img:not(.popup_img) {
  width: 100%;
  max-width: 100%;
}

.sp_only {
  display: none;
}

.pc_none {
  display: none;
}

.sitewrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
}

section {
  text-align: center;
}

.mv img {
  margin-top: -3%;
}

.mail-button_link img {
  width: 54vw;
  margin-left: 0;
}

.mail-button_link {
  display: inline-block;
  margin: 3vw auto 5vw;
}

.quest_mv {
  padding-bottom: 10vw;
}

.recommend img {
  margin-bottom: 0;
}

.quest_main_wrapper {
  width: 100%;
  background: #FCF261;
  padding: 8vw 0;
  margin-top: 15%;
}

.quest_main {
  width: 62%;
  background: #fff;
  border: solid 7px #725E2E;
  border-radius: 50px;
  padding: 0 2vw 2vw;
  margin: 0 auto;
}

.quest .mail-button_link {
  margin: 0 auto;
}

.quest_main img {
  max-width: 100%;
  margin-left: 0;
}

img.quest_head {
  max-width: 100%;
  width: 100%;
  margin-top: -27%;
}

.ans_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.ans_btn a {
  width: 23%;
}

.ans_btn img {
  width: 100%;
}

.ans_btn a:first-child {
  margin-right: 5vw;
}

.ques03 .ans_btn a {
  margin-right: 2.66%;
}

.ques03 a:last-child {
  margin-right: 0;
}

.ques02,
.ques03,
.ques04,
.ques05 {
  display: none;
  margin-top: 4vw;
}

img.bottom {
  width: 68%;
  max-width: 600px;
  display: block;
  margin: 2vw auto 4vw;
}

.result {
  display: none;
}

img.quest_foot {
  margin-bottom: 0;
}

footer {
  display: block;
  width: 100%;
  background: #FFB351;
  color: #fff;
  text-align: center;
  padding: 5vw 0 2vw;
}

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

footer .sky_office {
  font-size: 2.7vw;
  font-weight: 700;
}

.footer_right {
  flex: 0 0 44%;
  padding-top: 3em;
}

.footer_left {
  flex: 0 0 32%;
}

footer img {
  width: 8vw;
  max-width: 220px !important;
}

footer ul {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 6vw auto 0;
}

footer ul li:first-child {
  margin-right: 2em;
}

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

  100% {
    opacity: 1;
  }
}

.fade {
  opacity: 0;
}

.fade.fade_anime {
  animation: fadein 1s ease-in-out both;
}

.mail-button_link {
  animation: scale_anime 1.2s ease-in-out infinite;
}

@keyframes scale_anime {
  0% {
    transform: scale(1);
  }

  20% {
    transform: scale(.92);
  }

  60% {
    transform: scale(1);
  }

  80% {
    transform: scale(.96);
  }

  100% {
    transform: scale(1);
  }
}

.fixed_btn_area {
  width: 18%;
  min-width: 180px;
  position: fixed;
  bottom: 0;
  right: 5px;
  opacity: 1;
}

.fixed_btn_area img {
  width: 98%;
  min-width: 178px;
  filter: drop-shadow(3px 3px 0 #333);
  margin-bottom: 2px;
}

/* 繝励Λ繧､繝舌す繝ｼ繝昴Μ繧ｷ繝ｼ */
header h1 {
  width: 80%;
  border-bottom: solid 6px #ffd6a3;
  position: relative;
  margin: 3em 0 3em 20%;
}

header h1:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 6px #FFB351;
  bottom: -6px;
  width: 10em;
}

h2.policy_hl {
  position: relative;
  padding: 5px 26px 5px 42px;
  background: #ffd6a3;
  font-size: 26px;
  color: #2d2d2d;
  margin-left: -33px;
  line-height: 1.3;
  border-bottom: solid 6px #FFB351;
  z-index: -2;
  margin-bottom: 1em;
}

h2.policy_hl:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index: -1;
}

h2.policy_hl:after {
  position: absolute;
  content: '';
  right: -3px;
  top: -7px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px transparent;
  border-bottom: solid 79px white;
  z-index: -1;
}

.policy_main h3 {
  background: #fffbbc;
  border-left: solid 6px #ffdd7e;
  padding: 10px;
  margin: 2em 0 .5em;
}

.policy_main {
  text-align: left;
  margin-left: 20%;
  padding-bottom: 17em;
}

footer.policy {
  position: fixed;
  bottom: 0;
  padding: 2vw;
}

footer.policy .footer_top {
  align-items: center;
}

footer.policy .footer_right {
  flex: 0 0 55%;
  padding-top: .5em;
  font-size: 16px;
}

footer.policy .footer_left {
  flex: 0 0 45%;
}

footer.policy .logo_area img {
  width: 50px;
}

footer.policy .logo_area {
  display: flex;
  justify-content: center;
  align-items: center;
}

footer.policy p.sky_office {
  font-size: 24px;
  font-weight: 400;
}

@media(max-width:1180px) {
  .quest_main {
    width: 64%;
  }

  .quest_main_wrapper {
    padding: 8vw 0;
  }

  img.quest_head {
    margin-top: -15.8vw;
  }
}

@media(max-width:821px) {
  .pc_none {
    display: block;
  }

  img:not(.popup_img) {
    max-width: 120%;
    width: 120%;
    margin-left: -10%;
  }

  section img {
    max-width: 120%;
    width: 120%;
    margin-left: -10%;
  }

  .mail-button_link img {
    width: 76vw;
  }

  .quest_main_wrapper {
    padding: 12vw 0 10vw;
  }

  .quest_main {
    width: 78%;
    border: solid 5px #725E2E;
    padding: 0 5vw 5vw;
  }

  img.quest_head {
    margin-top: -18vw;
  }

  .ans_btn a {
    width: 32%;
  }

  .ques03 .ans_btn a:nth-child(odd) {
    margin-right: 5vw;
  }

  .ques03 .ans_btn a:nth-child(even) {
    margin-right: 0;
  }

  img.quest_foot {
    margin: 8vw auto;
  }

  footer ul {
    margin: 6vw auto 16vw;
  }

  .fixed_btn_area {
    width: 100%;
    display: flex;
    right: 0;
    overflow: hidden;
  }

  .fixed_btn_area img {
    display: inline;
    width: 92%;
    filter: none;
    margin-bottom: 0;
    margin-left: 0;
  }

  .fixed_btn_area a:first-child {
    background: #FCF261;
    text-align: center;
  }

  .fixed_btn_area a:last-child {
    background: #33B157;
    text-align: center;
  }

  /* 繝励Λ繧､繝舌す繝ｼ繝昴Μ繧ｷ繝ｼ */
  header h1 {
    width: 92%;
    margin: 3em 0 3em 8%;
  }

  .policy_main {
    margin-left: 8%;
  }
}

@media(max-width:600px) {
  section img {
    max-width: 136%;
    width: 136%;
    margin-left: 0;
    /*
  margin-left: -18%;
  */
  }

  .mail-button_link img {
    width: 82vw;
  }

  .quest_main_wrapper {
    padding: 9% 0 10vw;
  }

  .quest_main {
    width: 84%;
    border-radius: 32px;
  }

  img.quest_head {
    margin-top: -27%;
  }

  .footer_top {
    flex-direction: column;
  }

  .footer_right {
    padding-top: 0;
  }

  footer img {
    width: 14vw;
    margin-left: 0;
  }

  h1.sky_office,
  p.sky_office {
    font-size: 5vw;
    font-weight: 400;
    margin-bottom: 4vw;
  }

  .footer_right {
    width: fit-content;
    margin: 0 auto 3vw;
  }

  /* 繝励Λ繧､繝舌す繝ｼ繝昴Μ繧ｷ繝ｼ */
  p.sky_office {
    margin-bottom: 0;
  }
}

@media(max-width:480px) {
  body {
    font-size: 16px;
  }

  .sp_only {
    display: block;
  }

  footer ul {
    width: 78%;
    max-width: 350px;
  }

  header h1 {
    width: 96%;
    font-size: 24px;
    margin: 2em 0 2em 4%;
  }

  .policy_main {
    margin-left: 4%;
  }

  h2.policy_hl {
    font-size: 22px;
    margin-left: -21px;
  }

  h3 {
    font-size: 20px;
  }
}