@charset "UTF-8";

/*----------------------------------------レイアウト基礎----------------------------------------*/
html, body {
  width: 100%;
  height: 90%;
}

a {
  color: #000;
}

a:hover {
  opacity: 0.7;
}

.left {
  float: left;
}

.right {
  float: right;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.centertxt {
  text-align: center;
}

/* .clearfix {margin: 0;} */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.cb {
  clear: both;
}

.oh {
  overflow: hidden;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

table {
  width: 100%;
}

table th {
  padding: 5px;
  vertical-align: middle;
  border: 1px solid;
}

table td {
  padding: 5px;
  vertical-align: middle;
  border: 1px solid;
}

@media screen and (max-width: 800px) {
  .left {
    float: none;
  }

  .right {
    float: none;
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  table th, table td {
    display: block;
  }
}

/*---------------------------------------画像の基礎----------------------------------------*/
body {
  background-color: #fff;
  /*画像を背景に入れる方法。svgも可*/
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  color: #ffffff;
}

object, svg {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*---------------------------------------フォントの基礎----------------------------------------*/
html {
  font-size: 62.5%;
}

body {
  font-family: 'メイリオ', 'Meiryo', 'Lucida Grande', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', Verdana, Helvetica, Arial, Sans-serif;
  color: #000;
  font-size: 1.4rem;
  /* 16px*/
  line-height: 1.8;
}

h1 {
  font-size: 36px;
  /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));
  /* 24px~36pxで可変*/
  line-height: 1.3;
}

h2 {
  font-size: 24px;
  /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));
  /* 20px~24pxで可変*/
  line-height: 1.3;
}

p {
  line-height: 1.8;
}

dt {
  float: left;
}

dt::after {
  content: "："
}

input {
  color: #000;
}

select {
  color: black;
}

.bold {
  font-weight: bold;
}

@media (min-width: 1100px) {

  /* 1200px以上*/
  h1 {
    font-size: 3.6rem;
    /* 36px*/
  }

  h2 {
    font-size: 2.4rem;
    /* 24px*/
  }
}

@media screen and (max-width: 800px) {

  /* 640px以下*/
  body {
    line-height: 1.5;
  }

  h1 {
    font-size: 2.4rem;
    /* 24px*/
  }

  h2 {
    font-size: 2rem;
    /* 20px*/
  }

  p {
    line-height: 1.5;
  }
}

@media screen and (max-width: 500px) {

  /* 640px以下*/
  h1 {
    font-size: 2.4rem;
    /* 24px*/
  }

  h2 {
    font-size: 2rem;
    /* 20px*/
  }
}

/*----------------------------------------共通----------------------------------------*/
section {
  margin: 0;
}

.container {
  min-height: 100vh;
  /*フッターを底に固定するのに必要*/
  position: relative;
  /*←相対位置。フッターを底に固定するのに必要*/
  padding-bottom: 0px;
  /*←footerの高さ*/
  box-sizing: border-box;
  /*←全て含めてmin-height:100vhに*/
}

/*----------------------------------------quiz----------------------------------------*/
#quiz {
  width: 100%;
  max-width: 500px;
  text-align: center;
  margin: 0 auto;
}

#quiz h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 1% auto;
}

#quiz img {
  width: 95%;
  max-width: 500px;
}

#quiz dl {}

#quiz dt {}

#quiz dd {}

#quiz .catch {
  width: auto;
}

#quiz .btn {
  margin: 2% auto;
}

button {
  width: auto;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 15px 20px;
  background-color: #248;
  color: #fff;
  border-style: none;
  box-shadow: 2px 2px 3px 1px #666;
  -moz-box-shadow: 2px 2px 3px 1px #666;
  -webkit-box-shadow: 2px 2px 3px 1px #666;
}

button:hover {
  background-color: #24d;
  color: #fff;
  cursor: pointer;
}

#quiz .cp_iptxt {
  margin: 2% 0;
}

#quiz input.q_text {
  width: 80%;
  border: 1px solid;
  border-radius: 5px;
  padding: 2px 5px;
}

#quiz .check {
  padding: 2% 0;
  margin: 1% auto;
}

#quiz .check input {
  width: auto;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 5px 15px;
  background-color: #248;
  color: #fff;
  border-style: none;
  box-shadow: 2px 2px 3px 1px #666;
  -moz-box-shadow: 2px 2px 3px 1px #666;
  -webkit-box-shadow: 2px 2px 3px 1px #666;
}

#quiz .check input:hover {
  background-color: #24d;
  color: #fff;
  cursor: pointer;
}

/*----------------------------------------magnificPopup----------------------------------------*/
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 2%;
  left: 0;
  width: 100%;
  height: 150%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #fff;
}
