@charset "UTF-8";
.contents_ttl {
  background-color: #00388f;
    text-align: center;
    padding: 50px 0 34px;
}
.contents_ttl h2 {
    color: #fff;
    border: none;
    margin: 0;
    font-size: 38px;
}
.contents_ttl h2 span {
    font-size: 26px;
    font-weight: normal;
}
.fukidashi {
  text-align: center;
    margin-top: 70px;
  margin-bottom: 12px;
}
.ttl_fukidashi {
  display: flex;
  justify-content: center;
  align-items: center;
    font-size: 21px;
}
.ttl_fukidashi::before, .ttl_fukidashi::after {
  content: "";
  background-color: #38bdef;
  height: 2px;
  width: 46px;
}
.ttl_fukidashi::before {
  margin-right: 5px;
  transform: rotate(55deg);
}
.ttl_fukidashi::after {
  margin-left: 5px;
  transform: rotate(-55deg);
}
.c-bd-box {
    border: 10px solid #f3f3f3;
    border-radius: 8px;
    padding: 42px;
}
.btn-takarakuji {
  display: block;
  width: 100%;
  height: 80px;
  padding: 27px 10px 0 0;
  background-color: #00388f;
  box-shadow: 0 5px 0 #002465;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 26px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 18px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-takarakuji a {
  color: #fff;
  text-decoration: none;
}
.btn-takarakuji:hover {
  color: #fff;
  text-decoration: none;
  background-color: #002465;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}
.btn-anchor {
  display: block;
  width: 100%;
  height: 80px;
  padding: 27px 10px 0 0;
  background-color: #2b850a;
  box-shadow: 0 5px 0 #225300;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all_down.svg");
  background-position: right 26px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 18px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-anchor a {
  color: #fff;
  text-decoration: none;
}
.btn-anchor:hover {
  color: #fff;
  text-decoration: none;
  background-color: #225300;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}



.btn-dream {
  display: block;
  width: 100%;
  height: 80px;
  padding: 27px 10px 0 0;
  background-color: #009e96;
  box-shadow: 0 5px 0 #006a5f;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 26px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 18px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dream a {
  color: #fff;
  text-decoration: none;
}
.btn-dream:hover {
  color: #fff;
  text-decoration: none;
  background-color: #006a5f;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}

.btn-dbank {
  display: block;
  width: 100%;
  height: 80px;
  padding: 27px 10px 0 0;
  background-color: #d04533;
  box-shadow: 0 5px 0 #8d1400;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 26px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 18px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dbank a {
  color: #fff;
  text-decoration: none;
}
.btn-dbank:hover {
  color: #fff;
  text-decoration: none;
  background-color: #8d1400;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}
.btn-dream-account {
  display: block;
  width: 100%;
  height: 80px;
  padding: 27px 10px 0 0;
  background-color: #009e96;
  box-shadow: 0 5px 0 #006a5f;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 26px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 18px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dream-account a {
  color: #fff;
  text-decoration: none;
}
.btn-dream-account:hover {
  color: #fff;
  text-decoration: none;
  background-color: #006a5f;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}

.btn-dbank-account {
  display: block;
  width: 100%;
  height: 80px;
  padding: 27px 10px 0 0;
  background-color: #d04533;
  box-shadow: 0 5px 0 #8d1400;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 26px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 18px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dbank-account a {
  color: #fff;
  text-decoration: none;
}
.btn-dbank-account:hover {
  color: #fff;
  text-decoration: none;
  background-color: #8d1400;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}

.circle-arrow {
    display: inline-block;
  width: 44px;
  height: 44px;
  border: 2px solid #00388f;
  border-radius: 50%;
  position: relative;
}

.circle-arrow::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-left: 2px solid #00388f;
  border-bottom: 2px solid #00388f;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.circle-arrow:hover {
    background-color: #00388f;
    transition : all 0.4s ease 0s;
}
.circle-arrow:hover::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.section_box{
    position: relative;
    margin: 0 auto;
    padding: 60px 50px 50px;
    border-radius: 10px;
    background-color: #FFFFFF;
    filter: drop-shadow(6px 6px 3px rgba(0, 0, 0, 0.15));
}
/* ==================
   リボン風見出し(通常)
   ================== */
.ribbon-wrap {
    position: absolute;
    top: -24px;
    left: calc(50% - 110px);
}

/* リボン全体を包むコンテナ */
.ribbon-heading {
  position: relative;
  display: inline-block;
}

/* リボンの本体（中央の四角） */
.ribbon-heading h2 {
  position: relative;
  display: inline-block;
  background-color: #2b850a;
  color: #fff !important;
  font-size: 20px;
  font-weight: bold;
    text-align: center;
  padding: 10px 30px;
    width: 220px;
  margin: 0 !important;
  border-bottom: none !important;
  z-index: 2; /* リボンの端や影より上に配置 */
}

/* 左右の影（折り返し部分の暗い三角） */
.ribbon-heading h2::before,
.ribbon-heading h2::after {
  content: "";
  position: absolute;
  top: 100%;
  border-style: solid;
  border-color: transparent;
}
.ribbon-heading h2::before {
  left: 0;
  border-width: 0 10px 10px 0;
  border-right-color: #000e27; /* 暗いオレンジ */
}
.ribbon-heading h2::after {
  right: 0;
  border-width: 0 0 10px 10px;
  border-left-color: #000e27; /* 暗いオレンジ */
}

/* 左右に飛び出るリボンの端（V字カット） */
.ribbon-heading::before,
.ribbon-heading::after {
  content: "";
  position: absolute;
  top: 10px; /* 本体より少し下から始まる */
  bottom: -10px; /* 本体の下にはみ出す */
  width: 40px; /* 飛び出す幅 */
  background-color: #227100;
  z-index: 1; /* 本体の後ろに配置 */
}
.ribbon-heading::before {
  left: -30px;
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 15px 50%, 0 0);
}
.ribbon-heading::after {
  right: -30px;
  clip-path: polygon(0 0, 0 100%, 100% 100%, calc(100% - 15px) 50%, 100% 0);
}



@media screen and (max-width: 767px) {
.contents_ttl {
  background-color: #00388f;
    text-align: center;
    padding: 30px 0 14px;
}
.contents_ttl h2 {
    color: #fff;
    border: none;
    margin: 0;
    font-size: 24px;
}
.contents_ttl h2 span {
    font-size: 20px;
    font-weight: normal;
}
.fukidashi {
  text-align: center;
    margin-top: 70px;
  margin-bottom: 12px;
}
.ttl_fukidashi {
  display: flex;
  justify-content: center;
  align-items: center;
    font-size: 15px;
}
.ttl_fukidashi::before, .ttl_fukidashi::after {
  content: "";
  background-color: #38bdef;
  height: 2px;
  width: 46px;
}
.ttl_fukidashi::before {
  margin-right: 0;
  transform: rotate(55deg);
}
.ttl_fukidashi::after {
  margin-left: 0;
  transform: rotate(-55deg);
}
.c-bd-box {
    border: 10px solid #f3f3f3;
    border-radius: 8px;
    padding: 42px;
}
.btn-takarakuji {
  display: block;
  width: 100%;
  height: 70px;
  padding: 12px 10px 0 0;
  background-color: #00388f;
  box-shadow: 0 4px 0 #002465;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 20px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 16px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-takarakuji a {
  color: #fff;
  text-decoration: none;
}
.btn-takarakuji:hover {
  color: #fff;
  text-decoration: none;
  background-color: #002465;
  box-shadow: none;
  transform: translateY(4px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}
.btn-anchor {
  display: block;
  width: 100%;
  height: 70px;
  padding: 23px 10px 0 0;
  background-color: #2b850a;
  box-shadow: 0 5px 0 #225300;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all_down.svg");
  background-position: right 20px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 16px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-anchor a {
  color: #fff;
  text-decoration: none;
}
.btn-anchor:hover {
  color: #fff;
  text-decoration: none;
  background-color: #225300;
  box-shadow: none;
  transform: translateY(5px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}

.btn-dream {
  display: block;
  width: 100%;
  height: 70px;
  padding: 23px 10px 0 0;
  background-color: #009e96;
  box-shadow: 0 4px 0 #006a5f;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 20px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 16px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dream a {
  color: #fff;
  text-decoration: none;
}
.btn-dream:hover {
  color: #fff;
  text-decoration: none;
  background-color: #006a5f;
  box-shadow: none;
  transform: translateY(4px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}

.btn-dbank {
  display: block;
  width: 100%;
  height: 70px;
  padding: 23px 10px 0 0;
  background-color: #d04533;
  box-shadow: 0 4px 0 #8d1400;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 20px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 16px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dbank a {
  color: #fff;
  text-decoration: none;
}
.btn-dbank:hover {
  color: #fff;
  text-decoration: none;
  background-color: #8d1400;
  box-shadow: none;
  transform: translateY(4px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}
.btn-dream-account {
  display: block;
  width: 100%;
  height: 70px;
  padding: 12px 10px 0 0;
  background-color: #009e96;
  box-shadow: 0 4px 0 #006a5f;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 20px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 16px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dream-account a {
  color: #fff;
  text-decoration: none;
}
.btn-dream-account:hover {
  color: #fff;
  text-decoration: none;
  background-color: #006a5f;
  box-shadow: none;
  transform: translateY(4px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}

.btn-dbank-account {
  display: block;
  width: 100%;
  height: 70px;
  padding: 12px 10px 0 0;
  background-color: #d04533;
  box-shadow: 0 4px 0 #8d1400;
  border-radius: 40px;
  text-align: center;
  background-image: url("../img/common/ico_btn-arw-all.svg");
  background-position: right 20px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  content: "";
  vertical-align: 0;
  color: #fff;
  font-size: 16px;
    margin: 0 auto;
  text-decoration: none;
}

.btn-dbank-account a {
  color: #fff;
  text-decoration: none;
}
.btn-dbank-account:hover {
  color: #fff;
  text-decoration: none;
  background-color: #8d1400;
  box-shadow: none;
  transform: translateY(4px);
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}
.circle-arrow {
    display: inline-block;
  width: 38px;
  height: 38px;
  border: 2px solid #00388f;
  border-radius: 50%;
  position: relative;
}

.circle-arrow::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-left: 2px solid #00388f;
  border-bottom: 2px solid #00388f;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.circle-arrow:hover {
    background-color: #00388f;
    transition : all 0.4s ease 0s;
}
.circle-arrow:hover::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.section_box{
    position: relative;
    margin: 0 auto;
    padding: 40px 20px 20px;
    border-radius: 5px;
    background-color: #FFFFFF;
    filter: drop-shadow(4px 4px 2px rgba(0, 0, 0, 0.15));
}
/* ==================
   リボン風見出し(通常)
   ================== */
.ribbon-wrap {
    position: absolute;
    top: -20px;
    left: calc(50% - 80px);
}

/* リボン全体を包むコンテナ */
.ribbon-heading {
  position: relative;
  display: inline-block;
}

/* リボンの本体（中央の四角） */
.ribbon-heading h2 {
  position: relative;
  display: inline-block;
  background-color: #2b850a;
  color: #fff !important;
  font-size: 16px;
  font-weight: bold;
    text-align: center;
  padding: 8px 10px;
    width: 160px;
  margin: 0 !important;
  border-bottom: none !important;
  z-index: 2; /* リボンの端や影より上に配置 */
}

/* 左右の影（折り返し部分の暗い三角） */
.ribbon-heading h2::before,
.ribbon-heading h2::after {
  content: "";
  position: absolute;
  top: 100%;
  border-style: solid;
  border-color: transparent;
}
.ribbon-heading h2::before {
  left: 0;
  border-width: 0 5px 5px 0;
  border-right-color: #000e27; /* 暗いオレンジ */
}
.ribbon-heading h2::after {
  right: 0;
  border-width: 0 0 5px 5px;
  border-left-color: #000e27; /* 暗いオレンジ */
}

/* 左右に飛び出るリボンの端（V字カット） */
.ribbon-heading::before,
.ribbon-heading::after {
  content: "";
  position: absolute;
  top: 5px; /* 本体より少し下から始まる */
  bottom: -5px; /* 本体の下にはみ出す */
  width: 26px; /* 飛び出す幅 */
  background-color: #227100;
  z-index: 1; /* 本体の後ろに配置 */
}
.ribbon-heading::before {
  left: -21px;
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 12px 50%, 0 0);
}
.ribbon-heading::after {
  right: -21px;
  clip-path: polygon(0 0, 0 100%, 100% 100%, calc(100% - 12px) 50%, 100% 0);
}
}
@media screen and (min-width: 768px) {}