@charset "UTF-8";
* {
  box-sizing: border-box;
}
/*PC・SP表示非表示*/
.pc {
  display: none;
}
@media screen and (min-width:640px) {
  .pc {
    display: inline-block;
  }
  .sp {
    display: none;
  }
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  outline: 0;
  vertical-align: baseline;
}
html {
  box-sizing: border-box;
  cursor: default;
  font-size: 62.5%;
  height: 100%;
  width: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  background: #f5fffa;
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  height: 100%;
  margin: 0 auto;
  letter-spacing: .05rem;
  line-height: 1.5;
  width: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
/*共通*/
a {
  color: #0044CC;
  font-size: 100%;
  font-weight: bold;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  text-decoration-skip: objects;
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
/*共通設定*/
.bold {
  font-weight: bold;
}
.center {
  text-align: center;
}
.red {
  color: #f00;
}
.blue {
  color: #1955e1;
}
.bgy {
  background: #FFFF00;
  padding: 4px 4px 1px;
}
.marker {
  background: linear-gradient(transparent 55%, #c8ffff 55% 95%, transparent 95%);
  font-weight: bold;
  padding: 0 5px 3px;
}
/*figure.figure*/
.figure {
  margin: 10px 12px 0;
}
.figure.mt0 {
  margin-top: 0;
}
@media screen and (min-width:640px) {
  .figure {
    margin: 20px 12px 0;
  }
}
/*p.tx 基本*/
p.tx {
  font-size: 16px;
  line-height: 2;
  margin: 30px 12px 0;
  padding: 0;
  text-align: center;
}
p.tx span {
  font-size: 16px;
}
p.tx.mt0 {
  margin-top: 0;
}
p.tx.mtm {
  margin-top: 10px;
}
p.tx.mtb {
  margin-top: 50px;
}
p.tx.tl {
  text-align: left;
}
@media screen and (min-width:640px) {
  p.tx {
    margin: 50px 12px 0;
  }
  p.tx.mtm {
    margin-top: 15px;
  }
  p.tx.mtb {
    margin-top: 80px;
  }
  p.tx, p.tx span {
    font-size: 18px;
  }
}
@media screen and (max-width:375px) {
  p.tx, p.tx span {
    font-size: 14px;
  }
}
/*p.tx 大きめ*/
p.tx.big, p.tx span.big {
  font-size: 20px;
}
@media screen and (min-width:640px) {
  p.tx.big, p.tx span.big {
    font-size: 28px;
  }
}
@media screen and (max-width:375px) {
  p.tx.big, p.tx span.big {
    font-size: 17px;
  }
}
/*p.tx すごく大きめ*/
p.tx.sbig, p.tx span.sbig {
  font-size: 28px;
}
@media screen and (min-width:640px) {
  p.tx.sbig, p.tx span.sbig {
    font-size: 35px;
  }
}
@media screen and (max-width:375px) {
  p.tx.sbig, p.tx span.sbig {
    font-size: 25px;
  }
}
/*header*/
header {
  background: #fff;
  margin: 0 auto;
  width: 100%;
  max-width: 640px;
  padding: 20px 0 0;
  text-align: center;
}
h1 {
  background: linear-gradient(to right, #fa82a5, #fa457d);
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
  padding: 7px 15px 5px;
  text-align: center;
}
header p.p {
  color: #111;
  font-size: 21px;
  font-weight: bold;
  line-height: 1.8;
  margin: 10px 12px 0;
  padding: 0 15px;
  text-align: center;
}
header p.p span {
  font-size: 21px;
  font-weight: bold;
}
@media screen and (min-width:640px) {
  h1 {
    font-size: 24px;
  }
  header p.p, header p.p span {
    font-size: 28px;
  }
}
@media screen and (max-width:375px) {
  h1 {
    font-size: 18px;
  }
  header p.p, header p.p span {
    font-size: 19px;
  }
}

/* pr */
header p.pr{
    color:#555;
    font-size:12px;
	margin:10px 12px 0;
    text-align:right;
}
@media screen and (min-width:640px) {
p.pr{
font-size:13px;
}
}
@media screen and (max-width:375px) {
header p.pr{
font-size:10px;
}
}

/*article*/
article {
  background: #fff;
  margin: 0 auto;
  width: 100%;
  max-width: 640px;
  padding: 15px 0 40px;
}
/*div.h2*/
div.h2 {
  margin: 0 12px;
  padding: 15px;
}
div.h2 h2 video {
  width: 100%;
  height: auto;
}
div.h2 h2 img {
  margin-top: 10px;
  width: 100%;
  height: auto;
}
@media screen and (min-width:640px) {
  div.h2 {
    padding: 20px;
  }
}
/*div.check_zone*/
div.check_zone {
  margin: 30px auto 0;
  width: 100%;
  max-width: 640px;
}
p.check_t {
  background: #ffca29 url("../img/check_t.png") no-repeat;
  background-size: 22px;
  background-position: 8px 4px;
  border-radius: 5px 5px 0 0;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  margin: 0 12px;
  padding: 8px 10px 4px 35px;
}
div.check {
  background: #fff;
  border: 3px solid #ffca29;
  margin: 0 12px;
  padding: 5px 13px 13px;
}
div.check ul {
  width: 100%;
}
div.check ul li {
  border-bottom: 1px dashed #c0c0c0;
  color: #111;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  list-style: none;
  padding: 16px 0 13px 25px;
  position: relative;
}
@media screen and (min-width:640px) {
  div.check ul li {
    font-size: 22px;
    padding: 18px 0 15px 30px;
  }
}
@media screen and (max-width:375px) {
  div.check ul li {
    font-size: 16px;
  }
}
div.check ul li.one:before {
  content: "①";
  color: #3296af;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
}
div.check ul li.two:before {
  content: "②";
  color: #3296af;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
}
div.check ul li.three:before {
  content: "③";
  color: #3296af;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
}
/*div.merit*/
div.merit {
  margin-top: 50px;
}
div.merit h3 {
  background: #e7f6fa;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4;
  margin: 30px 12px 0 35px;
  padding: 10px 5px 10px 35px;
  position: relative;
}
@media screen and (min-width:640px) {
  div.merit h3 {
    font-size: 26px;
    margin: 50px 12px 0 42px;
    padding: 17px 5px 15px 40px;
  }
}
@media screen and (max-width:375px) {
  div.merit h3 {
    font-size: 16px;
  }
}
div.merit h3.one {
  margin-top: 15px;
}
@media screen and (min-width:640px) {
  div.merit h3.one {
    margin-top: 30px;
  }
}
div.merit h3.one:before {
  background: url("../img/merit_01.png") 0 center no-repeat #3296af;
  background-size: 100% auto;
  content: "";
  display: inline-block;
  width: 42px;
  height: 42px;
  position: absolute;
  left: -25px;
  top: 50%;
  margin-top: -21px;
}
div.merit h3.two:before {
  background: url("../img/merit_02.png") 0 center no-repeat #3296af;
  background-size: 100% auto;
  content: "";
  display: inline-block;
  width: 42px;
  height: 42px;
  position: absolute;
  left: -25px;
  top: 50%;
  margin-top: -21px;
}
div.merit h3.three:before {
  background: url("../img/merit_03.png") 0 center no-repeat #3296af;
  background-size: 100% auto;
  content: "";
  display: inline-block;
  width: 42px;
  height: 42px;
  position: absolute;
  left: -25px;
  top: 50%;
  margin-top: -21px;
}
div.merit h3.four:before {
  background: url("../img/merit_04.png") 0 center no-repeat #3296af;
  background-size: 100% auto;
  content: "";
  display: inline-block;
  width: 42px;
  height: 70px;
  position: absolute;
  left: -25px;
  top: 21px;
  margin-top: -21px;
}
div.merit h3.five:before {
  background: url("../img/merit_05.png") 0 center no-repeat #3296af;
  background-size: 100% auto;
  content: "";
  display: inline-block;
  width: 42px;
  height: 70px;
  position: absolute;
  left: -25px;
  top: 21px;
  margin-top: -21px;
}
@media screen and (min-width:640px) {
  div.merit h3.one:before, div.merit h3.two:before, div.merit h3.three:before, div.merit h3.four:before {
    width: 50px;
    height: 68px;
    left: -30px;
    top: 25px;
    margin-top: -25px;
  }
  div.merit h3.five:before {
    width: 50px;
    height: 105px;
    left: -30px;
    top: 25px;
    margin-top: -25px;
  }
}
@media screen and (max-width:375px) {
  div.merit h3.four:before, div.merit h3.five:before {
    height: 65px;
  }
}
/*div.video*/
div.video {
  margin: 10px 12px 0;
}
div.video video {
  width: 100%;
  height: auto;
}
@media screen and (min-width:640px) {
  div.video {
    margin: 15px 12px 0;
  }
}


/* footer */
.footer{
  background:#fff;
  margin:0 auto;
  padding:20px 12px 25px;
  width:100%;
  max-width:640px;
  display:flex;
  justify-content:center;
}
.footer p{
  display:inline-block;
  margin:0;
  padding:0 10px;
}
.footer a{
  color:#333;
  font-size:12px;
  font-weight:bold;
  line-height:1;
  text-decoration:none;
}
@media screen and (min-width:640px) {
  .footer a{
    font-size:14px;
  }
}
@media screen and (max-width:375px) {
  .footer a{
    font-size:11px;
  }
}