:root {
  background: #ececec;
  color: #111;
  font-family: "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  min-width: 320px;
  font-size: 14px;
}

/*-----共通-----*/
p{ line-height: 1.38;}
.red{ color: red;}
.blue{ color: #1500ff;}
.ym { background: linear-gradient(to bottom, transparent 52%, #f9fc92 52%, #f9fc92 96%, transparent 96%);}
.bm { background: linear-gradient(to bottom, transparent 52%, #d9e7f5 52%, #d9e7f5 96%, transparent 96%);}
.fw700{ font-weight: 700;}
.fw900{ font-weight: 900;}

.fs15{ font-size: 15px;}
.fs16{ font-size: 16px;}
.fs18{ font-size: 18px;}

.p10{ padding: 10px 0;}
.p30{ padding: 20px 10px 10px}
.pt10{ padding-top: 10px;}
.prl10{ padding: 0 10px;}
.pb40{ padding-bottom: 40px;}
.mt40{ margin-top: 40px;}

.lh17 p{ line-height: 1.5;}
.t_left{ text-align: left;}

.page {
  margin: 0 auto;
  width: min(100%, 393px);
  background: #fff;
  box-shadow: 0 0 24px rgb(0 0 0 / 12%);
}

.nav{
  margin: 0;
  padding: 16px 14px 8px 0;
  text-align: right;
  font-size: 11px;
}

main img{
  display: block;
  width: 100%;
}

main img.fv{
  padding: 0 7px;
}

.lp_inner{
  margin: 0 auto;
  padding: 0 14px;
  text-align: center;
}

.blue_box{
  margin: 16px auto 0;
  padding: 5px 0 1px;
  background: #d9e7f5;
  position: relative;
}

.blue_box::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 130px solid transparent;
  border-right: 130px solid transparent;
  border-top: 24px solid #d9e7f5;
}

.blue_box_02{
  margin: 0 auto 0;
  padding: 0;
  background: #d9e7f5;
  width: 86%;
}

.yello_box{
  margin: 16px auto 0;
  padding: 1px 0;
  background: #f9fc92;
}

.yello_box p{
  line-height: 1.5;
}

.yellow_box_02{
  margin: 0 auto 0;
  padding: 0;
  background: #f9fc92;
  width: 54%;
}

.loop-video {
  z-index: 1;
  top: 89.175%;
  left: 4.33%;
  display: block;
  width: 100%;
  height: 3.263%;
  object-fit: cover;
  background: #fff;
}

.hotspot {
  cursor: pointer;
  -webkit-tap-highlight-color: rgb(255 255 255 / 22%);
}

.hotspot:focus-visible {
  outline: 3px solid #185cff;
  outline-offset: 2px;
}

.official {
  width: 43%;
  height: 0.32%;
  border-radius: 0;
  background: #fff;
  color: #0645d6;
  font-size: clamp(11px, 3.56vw, 14px);
  line-height: 1.45;
  text-align: right;
  text-decoration: underline;
  white-space: nowrap;
}

.btn_right, .btn_right a{
  text-align: right;
}

.cta:hover{ opacity: 0.8;}

@media (hover: hover) {
  .cta:hover { background: rgb(255 255 255 / 12%); }
  .official:hover { color: #c00000; }
}
