/* Eric Meyer's Reset CSS v2.0 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  font-size: 2.6666666667vw;
  font-family: "Noto Sans JP","noto-sans-jp", sans-serif;
}
@media (min-width: 769px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-size: 1.6rem;
}
@media (min-width: 769px) {
  body {
    margin: 0 auto;
    max-width: 50rem;
  }
}

a {
  cursor: pointer;
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
  pointer-events: none;
}

/* header */
.l-wrap__inner {
  padding: 1.6rem;
  display: flex;
  justify-content: space-between;
  justify-items: center;
}
.l-wrap__inner img {
  width: 11rem;
}
.l-wrap__inner p {
  font-size: 1rem;
  display: inline;
}
p.l-header__inner--date {
  margin-right: 0.5rem;
  padding: 0.2rem 0.8rem;
  background-color: #FF8F0B;
  color: #fff;
  font-size: 1.2rem;
  border-radius: .2rem;
}

/* mv */
.p-mv__area {
  position: relative;
}
.p-mv__area--time {
  display: block;
  position: absolute;
  margin: auto;
  padding: .5rem;
  width: fit-content;
  left: 0;
  right: 0;
  bottom: 1.6rem;
  border-radius: .8rem;
  background-color: #FFF200;
  text-align: center;
}
.p-mv__area--time div {
  padding: .9rem 2.2rem;
  border: .1rem solid #0F422B;
  border-radius: .8rem;
}
.p-mv__area--time img {
  display: inline-block;
  position: relative;
  margin-right: 0.8rem;
  width: 1.4rem;
  top: 0.4rem;
}
.p-mv__area--time p {
  color: #0F422B;
  font-size: 1.7rem;
  font-weight: 500;
}
.p-mv__area--time p.timer {
  margin-top: 1.3rem;
  font-size: 2.3rem;
}
.p-mv__area--time p.timer small {
  font-size: 1.5rem;
}
.p-mv__area--time p.timer span {
  font-size: 3.9rem;
  font-weight: 900;
}
@media (min-width: 769px) {
  .p-mv__area--time {
    width: 44rem;
    bottom: 5.6rem;
  }
}

/* point1 */
.p-point1__content {
  margin: 4rem 0;
  text-align: center;
}
.p-point1__content--sub {
  margin-bottom: 2rem;
  line-height: 2.1rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #0F422B;
}
.p-point1__content--ttl {
  padding: 0.5rem 0 0.7rem;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.8rem;
  color: #fff;
  background-color: #FF8F0B;
}
.p-point1__content--ttl img {
  display: inline-block;
  position: relative;
  width: 2.6rem;
  vertical-align: sub;
}
.p-point1__content--text {
  padding: 1.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.7rem;
  color: #0F422B;
  background-color: #FF8F0B1A;
}
.p-point1__content--text .underline {
  background: linear-gradient(transparent 70%, #FFA6004D 30%);
}

/* recommend1 */
.p-recommend1__inner {
  margin: 1.8rem;
}
.p-recommend1__inner h2 {
  display: block;
  position: relative;
  margin: 0 auto;
  left: -1rem;
  width: 27rem;
}
.p-recommend1__content {
  display: flex;
  margin: 1.6rem auto;
  padding: 1.8rem;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  align-self: stretch;
  border-radius: .8rem;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.p-recommend1__content.blue {
  background: #00489B;
}
.p-recommend1__content.red {
  background: #8B000E;
}
.p-recommend1__content.green {
  background: #005E40;
}
.p-recommend1__content.lightgreen {
  background: #00B300;
}
.p-recommend1__content--img {
  width: 46%;
}
.p-recommend1__content--textarea {
  width: 50%;
  text-align: center;
  color: #FFF;
  font-size: 1.4rem;
  line-height: 1.7rem;
}
.p-recommend1__content--textarea span {
  color: #FFF45C;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
}
.p-recommend1__content--textarea h3 {
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 5.6rem;
}
.p-recommend1__content--textarea h3.small {
  font-size: 2.1rem;
}
.p-recommend1__content--btn {
  display: block;
  width: 12rem;
  margin: 0 auto;
  padding: .9rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #FFF;
  border-radius: 2.8rem;
  border: .1rem solid #941900;
  background: linear-gradient(180deg, #FF2B00 50.5%, #941900 100%);
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.20);
}

/* time1,time2 */
.p-time1__inner,
.p-time2__inner {
  position: relative;
  margin: 3rem auto 0;
  padding: 4rem 2.7rem;
  background-color: #0F422B;
  color: #fff;
  text-align: center;
}
.p-time1__inner::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 4.5rem solid transparent;
  border-left: 4.5rem solid transparent;
  border-top: 3rem solid #ffffff;
  border-bottom: 0;
}
.p-time1__text,
.p-time2__text {
  color: #FFF;
  font-size: 1.7rem;
  line-height: 2.3rem;
  font-weight: 300;
}
p.p-time1__ttl,
p.p-time2__ttl {
  padding: 1.5rem;
  color: #0F422B;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: .8rem;
  background: #FFF45C;
}
p.p-time1__ttl strong,
p.p-time2__ttl strong {
  font-size: 2.8rem;
}
.p-time1__inner p.timer,
.p-time2__inner p.timer {
  margin: 2rem auto;
  color: #FFF45C;
  font-size: 2.8rem;
  font-style: normal;
  font-weight: 700;
}
.p-time1__inner p.timer small,
.p-time2__inner p.timer small {
  font-size: 2rem;
  color: #fff;
  font-weight: 400;
}
.p-time1__inner p.timer span,
.p-time2__inner p.timer span {
  font-size: 4.4rem;
  font-weight: 900;
}

/* point2,point3 */
.p-point2__inner,
.p-point3__inner {
  margin: 4rem 1.8rem;
}
.p-point2__ttl,
.p-point3__ttl {
  text-align: center;
  color: #0F422B;
}
.p-point__ttl--sub,
.p-point__ttl--sub {
  font-size: 1.6rem;
  font-weight: 500;
}
.p-point2__ttl h2,
.p-point3__ttl h2 {
  font-size: 2.4rem;
  font-weight: 500;
}
.p-point2__ttl .orange,
.p-point3__ttl .orange {
  color: #FF8C00;
}
.p-point2__ttl strong,
.p-point3__ttl strong {
  font-size: 3.6rem;
}
.p-point2__content,
.p-point3__content {
  margin: 1.6rem auto;
  padding: 2.8rem 2.19rem;
  border-radius: .8rem;
  background: #FFFCDC;
}
.p-point2__content--img,
.p-point3__content--img {
  display: block;
  width: fit-content;
  margin: 0 auto 2rem;
}
.p-point2__content--img .point2_1 {
  width: 17.2rem;
}
.p-point2__content--img .point2_2 {
  width: 28.6rem;
}
.p-point2__content--img .point2_3 {
  width: 27rem;
}
.p-point2__content--img .point2_4 {
  width: 12rem;
}
.p-point3__content--img .point3_1 {
  width: 22.2rem;
}
.p-point3__content--img .point3_2 {
  width: 20.2rem;
}
.p-point3__content--img .point3_3 {
  width: 23.8rem;
}
.p-point2__content--ttl,
.p-point3__content--ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 1rem auto;
}
.p-point2__content--ttl p,
.p-point3__content--ttl p {
  width: 4.8rem;
  height: 4.8rem;
  font-size: 2.8rem;
  color: #fff;
  border-radius: 2.4rem;
  background: #FF8C00;
  line-height: 4.6rem;
  text-align: center;
}
.p-point2__content--ttl h3, 
.p-point3__content--ttl h3 {
  margin-left: 1.8rem;
  color: #0F422B;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.8rem
}
.p-point2__content--ttl h3 .underline, 
.p-point3__content--ttl h3 .underline {
  background: linear-gradient(transparent 70%, #FFA6004D 30%);
}
.p-point2__content--text,
.p-point3__content--text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.2rem;
}

/* recommend2 */
.p-recommend2__inner {
  margin: 1.8rem;
}
.p-recommend2__inner h2 {
  display: block;
  position: relative;
  margin: 0 auto 1.5rem;
  left: -1rem;
  width: 27rem;
}
.p-recommend2__content {
  display: block;
  position: relative;
  padding: 3.6rem 1.5rem;
  border-radius: .8rem;
}
.p-recommend2__content.blue {
  background: linear-gradient(180deg, #00489B 0%, #FFF 70%);
}
.p-recommend2__content.red {
  background: linear-gradient(180deg, #8B000E 0%, #FFF 70%);
}
.p-recommend2__content.green {
  background: linear-gradient(180deg, #005E40 0%, #FFF 70%);
}
.p-recommend2__content.lightgreen {
  background: linear-gradient(180deg, #4B9756 0%, #FFF 70%);
}
.p-recommend2__content--ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  color: #fff;
  text-align: center;
}
.p-recommend2__content--ttl h3 {
  font-size: 4rem;
  font-weight: 900;
}
.p-recommend2__content--ttl h3 small {
  margin-bottom: 1.4rem;
  font-size: 1.6rem;
  font-weight: 500;
  display: block;
}
.p-recommend2__content--ttl div {
  display: block;
  position: relative;
  width: 9rem;
  height: 9rem;
  background-image: url(../img/speed.png);
  background-size: cover;
}
.p-recommend2__content--ttl p {
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  font-size: 1.2rem;
  line-height: 1.5rem;
}
.p-recommend2__content--ttl p span {
  font-size: 1.8rem;
  color: #FFF45C;
}
.p-recommend2__content--img {
  display: block;
  margin: 2.4rem auto;
  width: 26rem;
}
.p-recommend2__content--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .4rem;
  margin: 0 auto;
}
.p-recommend2__content--list li {
  padding: .8rem .1rem;
  width: 10rem;
  box-sizing: border-box;
  font-size: 1.2rem;
  color: #0F422B;
  border-radius: .4rem;
  background-color: #FFF45C;
  text-align: center;
}
.p-recommend2__content--list li.gray {
  background-color: #888;
}
.p-recommend2__content--meritarea {
  margin: 2rem auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .6rem;
  text-align: center;
}
.p-recommend2__content--merit {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-recommend2__content--meritleft {
  position: relative;
  color: #0F422B;
  font-size: 1.2rem;
  line-height: 1.44rem;
  background: #F6F7DF;
  width: 5rem;
  height: 6.8rem;
}
.p-recommend2__content--meritleft p {
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
}
.p-recommend2__content--meritright {
  position: relative;
  width: 10rem;
  height: 6.8rem;
  color: #0F422B;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  background-color: #FFF;
  background-image: url(../img/circle_single.png);
  background-size: 5rem;
  background-position: center;
  background-repeat: no-repeat;
}
.p-recommend2__content--meritright p {
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
}
.p-recommend2__content--meritright.double {
  background-image: url(../img/circle_double.png);
}
.p-recommend2__content--meritright.triangle {
  background-image: url(../img/triangle.png);
}
.p-recommend2__content--time {
  display: block;
  margin: 0 auto;
  position: relative;
  padding: 1.2rem 2.8rem;
  border-radius: .8rem;
  background: #0F422B;
  text-align: center;
  width: fit-content;
  box-sizing: border-box;
}
.p-recommend2__content--time::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 1rem solid transparent;
  border-left: 1rem solid transparent;
  border-top: 1rem solid #0F422B;
  border-bottom: 0;
}
.p-recommend2__content--time p {
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 500;
}
.p-recommend2__content--time p img {
  display: inline-block;
  width: 1.2rem;
  vertical-align: sub;
  margin-right: .5rem;
}
.p-recommend2__content--time p.timer {
  font-size: 1.8rem;
  color: #FFF45C;
  font-weight: 500;
  line-height: 2.7rem;
}
.p-recommend2__content--time p.timer small {
  font-size: 1.6rem;
  color: #FFF;
}
.p-recommend2__content--time p.timer span {
  font-size: 2.4rem;
  font-weight: 900;
}
.p-recommend2__content--cta {
  margin: 2rem auto 0;
}
.p-recommend2__content--cta p {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
}
.p-recommend2__content--btn {
  display: block;
  position: relative;
  margin: 1rem auto;
  padding: 1.7rem 0;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #FFF;
  border-radius: .8rem;
  border: .1rem solid #941900;
  background: linear-gradient(180deg, #FF2B00 50%, #941900 100%);
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.20);
}
.p-recommend2__content--btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  top: 3.7rem;
  right: 2rem;
  border-top: .2rem solid #fff;
  border-right: .2rem solid #fff;
  transform: rotate(45deg);
  pointer-events: none;
}
.p-recommend2__content--btn strong {
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: .5rem;
  pointer-events: none;
}
p.p-recommend2__content--note {
  font-size: 1rem;
  position: relative;
  text-align: left;
  padding: 0 .6rem;
  line-height: 1.4rem;
  font-weight: 300;
  font-feature-settings: 'halt' on;
}
@media (min-width: 769px) {
  .p-recommend2__content--list { 
    max-width: 40rem;
  }
}

/* caution */
.p-caution__inner {
  padding: 3.6rem 2.8rem;
  background-color: #eee;
}
.p-caution__inner h2 {
  margin-bottom: 2rem;
  color: #333;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
}
.p-caution__inner ul li {
  position: relative;
  color: #333;
  left: 1rem;
  text-indent: -1rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2.1rem;
}

/* footer */
.l-footer__link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
  padding: 4rem 0 2rem;
}
.l-footer__link a {
  display: block;
  position: relative;
  font-size: 1.2rem;
  color: #333;
}
.l-footer__link a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.4rem;
  right: -1rem;
  width: .4rem;
  height: .4rem;
  border-top: .1rem solid #333;
  border-right: .1rem solid #333;
  transform: rotate(45deg)
}
.l-footer__label {
  padding: 1rem 0;
  width: 100%;
  font-size: 1rem;
  text-align: center;
  background: #0F422B;
  color: #fff;
}