@charset "UTF-8";
body, div, dl, dt, dd,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, blockquote {
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-size: 14px;
  letter-spacing: 1px;
  font-family: "Outfit", "Noto Sans JP", "Yu Gothic UI", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  overflow-wrap: break-word;
  color: #333;
}

address, cite, code, dfn, h1, h2, h3, h4, th, var {
  font-style: normal;
  font-weight: normal;
}

fieldset, abbr {
  border: 0;
}

caption, th {
  text-align: left;
}

q:before, q:after {
  content: "";
}

img {
  border: none;
  vertical-align: bottom;
}

a:hover {
  color: #cc0000;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
.header-logo {
  margin: 0;
  padding: 10px 0;
  text-align: center;
}

.fv {
  margin: 0;
  padding: 0;
  background-image: url(../img/bg.png);
  background-size: cover;
}
.fv .fv-text {
  margin: 0 0 0 -10%;
  padding: 0 2em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .fv .fv-text {
    margin: 0 0 0 -80px;
  }
}

.wrapper {
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wrapper {
    width: 95%;
  }
}

.program {
  margin: 0;
  padding: 30px 0;
  width: 100%;
  background-color: #FFF2F2;
  background-image: url(../img/bg1.png);
  background-position: bottom;
  background-repeat: repeat-x;
}
.program .program-contents {
  width: 70%;
  margin: 30px auto;
  padding: 30px 1em;
  border: 2px solid #004074;
  border-radius: 8px;
  background-color: #fff;
  line-height: 1.8;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  position: relative;
}
@media screen and (max-width: 768px) {
  .program .program-contents {
    width: 90%;
  }
  .program .program-contents br {
    display: none;
  }
}
.program .program-contents h2 {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  width: 80%;
  margin: 0 auto;
  background: linear-gradient(transparent 80%, #FFD65C 80%);
  position: absolute;
  left: 50%;
  top: -10%;
  transform: translate(-50%);
  z-index: 2;
  line-height: 1.2em;
}
.program .program-contents h2 br {
  display: none;
}
@media screen and (max-width: 768px) {
  .program .program-contents h2 br {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .program .program-contents h2 {
    font-size: 18px;
  }
}
.program .program-contents span {
  display: block;
  position: absolute;
  background-color: #fff;
  width: 80%;
  height: 30px;
  z-index: 1;
  top: -2px;
  left: 50%;
  transform: translate(-50%);
}
@media screen and (max-width: 768px) {
  .program .program-contents span {
    width: 80%;
  }
}
.program .program-contents p {
  font-size: 22px;
  color: #333;
  text-align: center;
  margin: 0;
  z-index: 2;
  position: static;
}
@media screen and (max-width: 768px) {
  .program .program-contents p {
    font-size: 16px;
    text-align: left;
  }
}
.program .program-contents p strong {
  color: #cc0000;
  font-weight: bold;
}

.btn01 {
  width: 65%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .btn01 {
    width: 100%;
    margin-bottom: 15px;
  }
}
.btn01::after {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 26px;
  margin-right: 0.5em;
  position: absolute;
  z-index: 1;
  color: #fff;
  right: 20%;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .btn01::after {
    right: 5%;
  }
}
.btn01 span {
  position: absolute;
  border: 1px solid #C23D34;
  background: #fff;
  padding: 1px 20px;
  top: -10px;
  z-index: 1;
  font-weight: bold;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .btn01 span {
    padding: 1px 12px;
    display: inline-block;
    width: 60%;
    text-align: center;
  }
}
.btn01 span b {
  color: #C23D34;
}

.benefits {
  background-color: #FFD83B;
  padding: 30px 0;
  width: 100%;
  overflow-x: hidden;
  position: relative;
  background-image: url(../img/cloker01.png), url(../img/cloker02.png);
  background-repeat: no-repeat, no-repeat;
  background-position: left top, right bottom;
  background-size: 300px 300px, 300px 300px;
}
.benefits h2 {
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .benefits h2 {
    font-size: 22px;
  }
}
.benefits h2 strong {
  font-size: 42px;
  color: #cc0000;
}
.benefits h2 span {
  position: relative;
}
.benefits h2 span::before {
  content: "";
  background-image: url(../img/special_icon01.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 75%;
  left: -10%;
}
@media screen and (max-width: 768px) {
  .benefits h2 span::before {
    left: -8%;
  }
}
.benefits h2 span::after {
  content: "";
  background-image: url(../img/special_icon02.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 75%;
  right: -15%;
}
@media screen and (max-width: 768px) {
  .benefits h2 span::after {
    right: -12%;
  }
}
.benefits .benefits-contents {
  margin: 0;
  padding: 100px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .benefits .benefits-contents {
    display: block;
    padding: 70px 0 0 0;
  }
}
.benefits .benefits-contents .no01 {
  background-image: url(../img/special_icon03.png);
  background-size: 15%;
  background-position: 10px calc(100% - 5px);
  background-repeat: no-repeat;
}
.benefits .benefits-contents .no02 {
  background-image: url(../img/special_icon04.png);
  background-size: 12%;
  background-position: 10px calc(100% - 5px);
  background-repeat: no-repeat;
}
.benefits .benefits-contents .no03 {
  background-image: url(../img/special_icon05.png);
  background-size: 12%;
  background-position: 10px calc(100% - 15px);
  background-repeat: no-repeat;
}
.benefits .benefits-contents .no04 {
  background-image: url(../img/special_icon06.png);
  background-size: 12%;
  background-position: 10px calc(100% - 8px);
  background-repeat: no-repeat;
}
.benefits .benefits-contents .benefits-contents__box {
  margin: 0 0 60px 0;
  padding: 20px;
  border: 4px solid #000;
  border-radius: 10px;
  background-color: #FFF7E9;
  width: 44%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.55);
  transition: box-shadow 0.3s ease;
}
@media screen and (max-width: 768px) {
  .benefits .benefits-contents .benefits-contents__box {
    width: 85%;
    margin: 0 auto 60px auto;
  }
}
.benefits .benefits-contents .benefits-contents__box:hover {
  box-shadow: none;
}
.benefits .benefits-contents .benefits-contents__box a {
  color: #333;
  text-decoration: none;
}
.benefits .benefits-contents .benefits-contents__box .benefits-contents__box-title {
  background-image: url(../img/ribon.png);
  background-repeat: no-repeat;
  width: 303px;
  height: 55px;
  color: #fff;
  text-align: center;
  margin: -50px auto 0 auto;
  padding: 11px 0 0 0;
  font-size: 22px;
  font-weight: bold;
}
.benefits .benefits-contents .benefits-contents__box .benefits-contents__box-text {
  margin: 0;
  padding: 20px 0 40px 0;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .benefits .benefits-contents .benefits-contents__box .benefits-contents__box-text {
    font-size: 18px;
    padding: 10px 0 20px 0;
  }
}
.benefits .benefits-contents .benefits-contents__box .benefits-contents__box-text strong {
  color: #cc0000;
  font-size: 28px;
}
@media screen and (max-width: 768px) {
  .benefits .benefits-contents .benefits-contents__box .benefits-contents__box-text strong {
    font-size: 22px;
  }
}

.benefits01 {
  margin: 0;
  padding: 30px 0;
}
.benefits01 .benefits01-title {
  margin: 0;
  padding: 0;
}
.benefits01 .benefits01-title h2 {
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  width: 65%;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-title h2 {
    width: 90%;
    font-size: 22px;
  }
}
.benefits01 .benefits01-title h2 strong {
  font-size: 42px;
  color: #cc0000;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-title h2 strong {
    font-size: 26px;
    display: inline-block;
  }
}
.benefits01 .benefits01-title h2 span {
  display: block;
  background-image: url(../img/ribon.png);
  background-repeat: no-repeat;
  width: 303px;
  height: 55px;
  color: #fff;
  text-align: center;
  margin: -30px auto 0 auto;
  padding: 11px 0 0 0;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-title h2 span {
    background-size: 70%;
    background-position: center;
    padding: 25px 0 0 0;
    margin-bottom: -16px;
    font-size: 20px;
  }
}
.benefits01 .benefits01-title h2 p {
  position: relative;
}
.benefits01 .benefits01-title h2 p::before {
  content: "";
  background-image: url(../img/special_icon01.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  left: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-title h2 p::before {
    left: -7%;
  }
}
.benefits01 .benefits01-title h2 p::after {
  content: "";
  background-image: url(../img/special_icon02.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  right: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-title h2 p::after {
    right: -7%;
  }
}
.benefits01 .benefits01-text {
  margin: 0;
  padding: 20px 0;
  font-size: 18px;
  text-align: center;
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-text {
    font-size: 16px;
    text-align: left;
  }
}
.benefits01 .benefits01-text__sub {
  margin: 0;
  padding: 20px 0;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-text__sub {
    font-size: 17px;
  }
}
.benefits01 .benefits01-coupon {
  margin: 0 auto;
  padding: 0;
}
.benefits01 .benefits01-coupon ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0;
  padding: 0;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-coupon ul {
    gap: 5px;
  }
}
.benefits01 .benefits01-coupon ul .coupon01 {
  width: 100%;
  text-align: center;
}
.benefits01 .benefits01-coupon ul .coupon01 img {
  width: 99%;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-coupon ul .coupon01 img {
    width: 100%;
  }
}
.benefits01 .benefits01-coupon ul li {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 48%;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-coupon ul li {
    margin-left: -10px;
    width: 50%;
  }
}
.benefits01 .benefits01-coupon ul li img {
  width: 100%;
}
.benefits01 .benefits01-howto {
  margin: 20px auto;
  padding: 0;
  border: 2px solid #275484;
  width: 80%;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-howto {
    width: 100%;
  }
}
.benefits01 .benefits01-howto h3 {
  background-color: #275484;
  color: #fff;
  font-size: 18px;
  text-align: center;
  margin: 0;
  padding: 15px 0;
  font-weight: bold;
}
.benefits01 .benefits01-howto ul {
  margin: 0;
  padding: 30px 30px 15px 30px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-howto ul {
    font-size: 14px;
    padding: 10px 20px 10px 20px;
  }
}
.benefits01 .benefits01-howto ul li {
  list-style: none;
  margin-bottom: 15px;
}
.benefits01 .benefits01-points {
  margin: 20px auto 40px auto;
  padding: 0;
  border: 2px solid #F34343;
  background-color: #FFF5F5;
  width: 80%;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-points {
    width: 100%;
  }
}
.benefits01 .benefits01-points h3 {
  color: #ED6262;
  font-size: 18px;
  text-align: center;
  margin: 10px 0 0 0;
  padding: 15px 0;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-points h3 {
    margin: 0;
  }
}
.benefits01 .benefits01-points ul {
  margin: 0;
  padding: 15px 30px 15px 30px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .benefits01 .benefits01-points ul {
    font-size: 14px;
    padding: 5px 20px 10px 20px;
  }
}
.benefits01 .benefits01-points ul li {
  list-style: none;
  margin-bottom: 15px;
}

.benefits02 {
  background-color: #FFFEEE;
  padding: 30px 0 40px 0;
}
.benefits02 h2 {
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  width: 65%;
}
@media screen and (max-width: 768px) {
  .benefits02 h2 {
    width: 90%;
    font-size: 22px;
  }
}
.benefits02 h2 strong {
  font-size: 42px;
  color: #cc0000;
}
@media screen and (max-width: 768px) {
  .benefits02 h2 strong {
    font-size: 26px;
    display: inline-block;
  }
}
.benefits02 h2 span {
  display: block;
  background-image: url(../img/ribon.png);
  background-repeat: no-repeat;
  width: 303px;
  height: 55px;
  color: #fff;
  text-align: center;
  margin: -30px auto 0 auto;
  padding: 11px 0 0 0;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .benefits02 h2 span {
    background-size: 70%;
    background-position: center;
    padding: 25px 0 0 0;
    margin-bottom: -16px;
    font-size: 20px;
  }
}
.benefits02 h2 p {
  position: relative;
}
.benefits02 h2 p::before {
  content: "";
  background-image: url(../img/special_icon01.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  left: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits02 h2 p::before {
    left: -7%;
  }
}
.benefits02 h2 p::after {
  content: "";
  background-image: url(../img/special_icon02.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  right: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits02 h2 p::after {
    right: -7%;
  }
}
.benefits02 .benefits02-text {
  margin: 0;
  padding: 20px 0;
  font-size: 18px;
  text-align: center;
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  .benefits02 .benefits02-text {
    font-size: 16px;
    text-align: left;
  }
}
.benefits02 .benefits02-contents {
  margin: 0;
  padding: 30px 0 50px 0;
}
.benefits02 .benefits02-contents ul {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .benefits02 .benefits02-contents ul {
    display: block;
  }
}
.benefits02 .benefits02-contents ul li {
  list-style: none;
}
@media screen and (max-width: 768px) {
  .benefits02 .benefits02-contents ul li {
    margin-bottom: 20px;
  }
}

.benefits03 {
  padding: 30px 0 40px 0;
}
.benefits03 h2 {
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  width: 70%;
}
@media screen and (max-width: 768px) {
  .benefits03 h2 {
    width: 90%;
    font-size: 22px;
  }
}
.benefits03 h2 strong {
  font-size: 42px;
  color: #cc0000;
}
@media screen and (max-width: 768px) {
  .benefits03 h2 strong {
    font-size: 26px;
    display: inline-block;
  }
}
.benefits03 h2 span {
  display: block;
  background-image: url(../img/ribon.png);
  background-repeat: no-repeat;
  width: 303px;
  height: 55px;
  color: #fff;
  text-align: center;
  margin: -30px auto 0 auto;
  padding: 11px 0 0 0;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .benefits03 h2 span {
    background-size: 70%;
    background-position: center;
    padding: 25px 0 0 0;
    margin-bottom: -16px;
    font-size: 20px;
  }
}
.benefits03 h2 p {
  position: relative;
}
.benefits03 h2 p::before {
  content: "";
  background-image: url(../img/special_icon01.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  left: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits03 h2 p::before {
    left: -7%;
  }
}
.benefits03 h2 p::after {
  content: "";
  background-image: url(../img/special_icon02.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  right: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits03 h2 p::after {
    right: -7%;
  }
}
.benefits03 .benefits03-text {
  margin: 20px 0;
  padding: 20px 0;
  font-size: 18px;
  text-align: center;
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  .benefits03 .benefits03-text {
    font-size: 16px;
    text-align: left;
  }
}
.benefits03 .benefits03-contents {
  border: 2px solid #275484;
  margin: 0 auto 45px auto;
  padding: 20px 30px;
  width: 65%;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  background-image: url(../img/special_icon05.png);
  background-repeat: no-repeat;
  background-position: 25px 20px;
}
@media screen and (max-width: 768px) {
  .benefits03 .benefits03-contents {
    width: 85%;
    padding: 20px;
    background-image: none;
  }
}
.benefits03 .benefits03-contents h3 {
  background-color: #275484;
  text-align: center;
  padding: 10px 20px;
  margin: 0 auto;
  color: #fff;
  display: block;
  font-size: 22px;
  width: 70%;
}
@media screen and (max-width: 768px) {
  .benefits03 .benefits03-contents h3 {
    width: 95%;
    font-size: 16px;
    padding: 10px;
  }
}
.benefits03 .benefits03-contents ul {
  margin: 0 auto;
  padding: 20px 0 0 0;
  font-size: 20px;
  width: 75%;
}
@media screen and (max-width: 768px) {
  .benefits03 .benefits03-contents ul {
    width: 100%;
    font-size: 16px;
  }
}
.benefits03 .benefits03-contents ul li {
  margin: 0;
  padding: 0 0 15px 0;
  list-style: none;
}
.benefits03 .benefits03-contents ul li strong {
  font-size: 22px;
  color: #cc0000;
  background: linear-gradient(transparent 80%, #FFD65C 80%);
}
@media screen and (max-width: 768px) {
  .benefits03 .benefits03-contents ul li strong {
    font-size: 18px;
  }
}
.benefits03 .benefits03-contents .text {
  margin: 0;
  padding: 0 0 20px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .benefits03 .benefits03-contents .text {
    text-align: left;
  }
}

.benefits04 {
  background-color: #FFFEEE;
  padding: 30px 0 40px 0;
}
.benefits04 h2 {
  font-size: 32px;
  font-weight: bold;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  width: 70%;
}
@media screen and (max-width: 768px) {
  .benefits04 h2 {
    width: 90%;
    font-size: 22px;
  }
}
.benefits04 h2 strong {
  font-size: 42px;
  color: #cc0000;
}
@media screen and (max-width: 768px) {
  .benefits04 h2 strong {
    font-size: 26px;
    display: inline-block;
  }
}
.benefits04 h2 span {
  display: block;
  background-image: url(../img/ribon.png);
  background-repeat: no-repeat;
  width: 303px;
  height: 55px;
  color: #fff;
  text-align: center;
  margin: -30px auto 0 auto;
  padding: 11px 0 0 0;
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .benefits04 h2 span {
    background-size: 70%;
    background-position: center;
    padding: 25px 0 0 0;
    margin-bottom: -16px;
    font-size: 20px;
  }
}
.benefits04 h2 p {
  position: relative;
}
.benefits04 h2 p::before {
  content: "";
  background-image: url(../img/special_icon01.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  left: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits04 h2 p::before {
    left: -7%;
  }
}
.benefits04 h2 p::after {
  content: "";
  background-image: url(../img/special_icon02.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 100px;
  position: absolute;
  background-size: 100%;
  right: -10%;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .benefits04 h2 p::after {
    right: -7%;
  }
}
.benefits04 .benefits04-text {
  margin: 20px 0;
  padding: 20px 0;
  font-size: 18px;
  text-align: center;
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-text {
    font-size: 16px;
    text-align: left;
  }
}
.benefits04 .benefits04-contents {
  border: 2px solid #275484;
  margin: 0 auto 45px auto;
  padding: 0;
  width: 80%;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  background-image: url(../img/guid_bg.png);
  background-repeat: no-repeat;
  background-color: #fff;
  background-size: 35%;
  background-position: right 15px center;
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-contents {
    width: 95%;
    background-size: 35%;
    background-position-x: right 15px;
    background-position-y: calc(50% + 20px);
  }
}
.benefits04 .benefits04-contents h3 {
  background-color: #275484;
  color: #fff;
  padding: 10px 20px 10px 70px;
  border-radius: 5px 0 10px 0;
  display: inline-block;
  margin: 0;
  font-size: 22px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-contents h3 {
    font-size: 18px;
    padding: 15px 20px;
    display: block;
    border-radius: 0;
    text-align: center;
  }
}
.benefits04 .benefits04-contents h3::before {
  background-image: url(../img/special_icon06.png);
  background-repeat: no-repeat;
  background-size: 90%;
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  left: 10px;
  top: 5px;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-contents h3::before {
    display: none;
  }
}
.benefits04 .benefits04-contents ul {
  margin: 0 auto;
  padding: 20px 0 0 0;
  font-size: 20px;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-contents ul {
    width: 93%;
    font-size: 16px;
  }
}
.benefits04 .benefits04-contents ul li {
  margin: 0;
  padding: 0 0 15px 0;
  list-style: none;
}
.benefits04 .benefits04-contents ul li strong {
  font-size: 22px;
  color: #cc0000;
  background: linear-gradient(transparent 80%, #FFD65C 80%);
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-contents ul li strong {
    font-size: 18px;
  }
}
.benefits04 .benefits04-contents .text {
  margin: 0 auto;
  padding: 0 0 20px 0;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .benefits04 .benefits04-contents .text {
    text-align: left;
  }
}

footer {
  background-color: #202D3B;
  color: #fff;
  text-align: center;
  padding: 20px 0;
}

.c-button._shiny {
  display: block;
  position: relative;
  padding: 0.7em 1.5em;
  background-image: linear-gradient(180deg, rgb(244, 14, 0), rgb(194, 61, 52));
  box-shadow: 0 3px 0 0 #C23D34;
  border-radius: 50px;
  border: 5px solid #fff;
  margin: 0px auto;
  font-weight: bold;
  font-size: 28px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  transition: 300ms;
}
@media screen and (max-width: 768px) {
  .c-button._shiny {
    font-size: 22px;
    padding: 0.7em 1em;
  }
}

.c-button._shiny::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #ffb5b5;
  transition: 300ms;
  animation: shinyshiny 2.5s ease-in-out infinite;
}

.c-button._shiny:hover {
  text-decoration: none;
  color: #fff;
  box-shadow: none;
  -webkit-transform: translateY(3px);
}

@keyframes shinyshiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}/*# sourceMappingURL=common.css.map */