:root {
  --animate-delay: 0.5s;
  --color-primary: #00a9ff;
}

@keyframes fadeInRight {
  0% {
    transform: translateX(10rem);
  }
  to {
    transform: translateX(0);
  }
}
html {
  width: 100%;
  font-size: 62.5%;
  font-size: -moz-calc(1em * 0.625);
  font-size: 0.625em;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.7777777778vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  html {
    font-size: 0.6944444444vw;
  }
}
html * {
  box-sizing: border-box;
  outline: none;
}

body {
  position: relative;
  margin: 0;
  min-height: 100dvh;
  font-family: "Zen Maru Gothic", serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-weight: 400;
  color: #000;
  background-color: #fff;
  font-size: 1.6rem;
  line-height: 1.4;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-top: 0;
  margin-bottom: 0;
}

img {
  height: auto;
  max-width: 100%;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .only_sp {
    display: none;
  }
}

.logo {
  background: url(../img/logo.png) center/cover no-repeat;
  display: block;
  text-indent: -100vw;
  aspect-ratio: 334/56;
  overflow: hidden;
}

.bold {
  font-weight: bold;
}

.red {
  color: #f00;
}

.text-center {
  text-align: center;
}

@keyframes light_effect {
  0% {
    left: -10%;
  }
  50% {
    left: 150%;
  }
  100% {
    left: 200%;
  }
}
.light_effect {
  position: relative;
  overflow: hidden;
  display: block;
}
.light_effect::after {
  content: "";
  height: 300%;
  width: 40%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 15%, rgba(255, 255, 255, 0.6039215686) 50%, rgba(0, 0, 0, 0) 85%, rgba(0, 0, 0, 0) 100%);
  position: absolute;
  top: 0;
  left: -10rem;
  transform-origin: top left;
  transform: translateY(-50%) rotate(30deg);
  animation: light_effect infinite 3s forwards;
}

.container {
  width: 100%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .container {
    max-width: 123rem;
  }
  .container_md {
    max-width: 100rem;
  }
}

.section_title {
  text-align: center;
}
.section_title h1,
.section_title h2 {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #ffff01;
  margin-bottom: 1.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section_title h1,
  .section_title h2 {
    text-shadow: -3px -1px 0 #00a9ff, -3px 0px 0 #00a9ff, -3px 1px 0 #00a9ff, -2px -2px 0 #00a9ff, -2px -1px 0 #00a9ff, -2px 0px 0 #00a9ff, -2px 1px 0 #00a9ff, -2px 2px 0 #00a9ff, -1px -3px 0 #00a9ff, -1px -2px 0 #00a9ff, -1px -1px 0 #00a9ff, -1px 0px 0 #00a9ff, -1px 1px 0 #00a9ff, -1px 2px 0 #00a9ff, -1px 3px 0 #00a9ff, 0px -3px 0 #00a9ff, 0px -2px 0 #00a9ff, 0px -1px 0 #00a9ff, 0px 0px 0 #00a9ff, 0px 1px 0 #00a9ff, 0px 2px 0 #00a9ff, 0px 3px 0 #00a9ff, 1px -3px 0 #00a9ff, 1px -2px 0 #00a9ff, 1px -1px 0 #00a9ff, 1px 0px 0 #00a9ff, 1px 1px 0 #00a9ff, 1px 2px 0 #00a9ff, 1px 3px 0 #00a9ff, 2px -2px 0 #00a9ff, 2px -1px 0 #00a9ff, 2px 0px 0 #00a9ff, 2px 1px 0 #00a9ff, 2px 2px 0 #00a9ff, 3px -1px 0 #00a9ff, 3px 0px 0 #00a9ff, 3px 1px 0 #00a9ff;
    font-size: 2.6rem;
    font-weight: 900;
    padding-bottom: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_title h1,
  .section_title h2 {
    text-shadow: -6px -1px 0 #00a9ff, -6px 0px 0 #00a9ff, -6px 1px 0 #00a9ff, -5px -3px 0 #00a9ff, -5px -2px 0 #00a9ff, -5px -1px 0 #00a9ff, -5px 0px 0 #00a9ff, -5px 1px 0 #00a9ff, -5px 2px 0 #00a9ff, -5px 3px 0 #00a9ff, -4px -4px 0 #00a9ff, -4px -3px 0 #00a9ff, -4px -2px 0 #00a9ff, -4px -1px 0 #00a9ff, -4px 0px 0 #00a9ff, -4px 1px 0 #00a9ff, -4px 2px 0 #00a9ff, -4px 3px 0 #00a9ff, -4px 4px 0 #00a9ff, -3px -5px 0 #00a9ff, -3px -4px 0 #00a9ff, -3px -3px 0 #00a9ff, -3px -2px 0 #00a9ff, -3px -1px 0 #00a9ff, -3px 0px 0 #00a9ff, -3px 1px 0 #00a9ff, -3px 2px 0 #00a9ff, -3px 3px 0 #00a9ff, -3px 4px 0 #00a9ff, -3px 5px 0 #00a9ff, -2px -5px 0 #00a9ff, -2px -4px 0 #00a9ff, -2px -3px 0 #00a9ff, -2px -2px 0 #00a9ff, -2px -1px 0 #00a9ff, -2px 0px 0 #00a9ff, -2px 1px 0 #00a9ff, -2px 2px 0 #00a9ff, -2px 3px 0 #00a9ff, -2px 4px 0 #00a9ff, -2px 5px 0 #00a9ff, -1px -6px 0 #00a9ff, -1px -5px 0 #00a9ff, -1px -4px 0 #00a9ff, -1px -3px 0 #00a9ff, -1px -2px 0 #00a9ff, -1px -1px 0 #00a9ff, -1px 0px 0 #00a9ff, -1px 1px 0 #00a9ff, -1px 2px 0 #00a9ff, -1px 3px 0 #00a9ff, -1px 4px 0 #00a9ff, -1px 5px 0 #00a9ff, -1px 6px 0 #00a9ff, 0px -6px 0 #00a9ff, 0px -5px 0 #00a9ff, 0px -4px 0 #00a9ff, 0px -3px 0 #00a9ff, 0px -2px 0 #00a9ff, 0px -1px 0 #00a9ff, 0px 0px 0 #00a9ff, 0px 1px 0 #00a9ff, 0px 2px 0 #00a9ff, 0px 3px 0 #00a9ff, 0px 4px 0 #00a9ff, 0px 5px 0 #00a9ff, 0px 6px 0 #00a9ff, 1px -6px 0 #00a9ff, 1px -5px 0 #00a9ff, 1px -4px 0 #00a9ff, 1px -3px 0 #00a9ff, 1px -2px 0 #00a9ff, 1px -1px 0 #00a9ff, 1px 0px 0 #00a9ff, 1px 1px 0 #00a9ff, 1px 2px 0 #00a9ff, 1px 3px 0 #00a9ff, 1px 4px 0 #00a9ff, 1px 5px 0 #00a9ff, 1px 6px 0 #00a9ff, 2px -5px 0 #00a9ff, 2px -4px 0 #00a9ff, 2px -3px 0 #00a9ff, 2px -2px 0 #00a9ff, 2px -1px 0 #00a9ff, 2px 0px 0 #00a9ff, 2px 1px 0 #00a9ff, 2px 2px 0 #00a9ff, 2px 3px 0 #00a9ff, 2px 4px 0 #00a9ff, 2px 5px 0 #00a9ff, 3px -5px 0 #00a9ff, 3px -4px 0 #00a9ff, 3px -3px 0 #00a9ff, 3px -2px 0 #00a9ff, 3px -1px 0 #00a9ff, 3px 0px 0 #00a9ff, 3px 1px 0 #00a9ff, 3px 2px 0 #00a9ff, 3px 3px 0 #00a9ff, 3px 4px 0 #00a9ff, 3px 5px 0 #00a9ff, 4px -4px 0 #00a9ff, 4px -3px 0 #00a9ff, 4px -2px 0 #00a9ff, 4px -1px 0 #00a9ff, 4px 0px 0 #00a9ff, 4px 1px 0 #00a9ff, 4px 2px 0 #00a9ff, 4px 3px 0 #00a9ff, 4px 4px 0 #00a9ff, 5px -3px 0 #00a9ff, 5px -2px 0 #00a9ff, 5px -1px 0 #00a9ff, 5px 0px 0 #00a9ff, 5px 1px 0 #00a9ff, 5px 2px 0 #00a9ff, 5px 3px 0 #00a9ff, 6px -1px 0 #00a9ff, 6px 0px 0 #00a9ff, 6px 1px 0 #00a9ff;
    font-size: 5rem;
    padding-bottom: 3rem;
  }
}
.section_title h1::before,
.section_title h2::before {
  box-sizing: border-box;
  background-repeat: repeat;
  content: "";
  display: block;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .section_title h1::before,
  .section_title h2::before {
    width: 18rem;
    height: 0.9rem;
    background-image: linear-gradient(to right, #ffff01, #ffff01, 0.8rem, #53c8fe, 0.8rem, #53c8fe 1.6rem);
    background-size: 1.6rem 0.4rem;
    height: 0.4rem;
  }
}
@media screen and (min-width: 768px) {
  .section_title h1::before,
  .section_title h2::before {
    width: 36rem;
    height: 0.9rem;
    background-image: linear-gradient(to right, #ffff01, #ffff01, 1.4rem, #53c8fe, 1.4rem, #53c8fe 2.8rem);
    background-size: 2.8rem 0.9rem;
  }
}
.section_title p {
  font-weight: bold;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .section_title p {
    font-size: 3rem;
  }
}

#back_to_top {
  position: fixed;
  z-index: 1000;
  display: none;
}
@media screen and (max-width: 767px) {
  #back_to_top {
    bottom: 1.2rem;
    right: 1rem;
  }
}
@media screen and (min-width: 768px) {
  #back_to_top {
    bottom: 3rem;
    right: 3rem;
  }
}
#back_to_top div {
  display: block;
  aspect-ratio: 1;
  border-radius: 100%;
  background: #fff url(../img/back_to_top.svg) center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  #back_to_top div {
    width: 5rem;
  }
}
@media screen and (min-width: 768px) {
  #back_to_top div {
    width: 7rem;
  }
}

#contact_mobile {
  display: none;
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1rem 1.5rem;
}
@media screen and (min-width: 768px) {
  #contact_mobile {
    display: none !important;
  }
}
#contact_mobile .inn {
  display: flex;
  margin-left: -0.2rem;
  margin-right: -0.2rem;
}
#contact_mobile .inn .item {
  width: calc(100% - 5.5rem);
  padding: 0 0.2rem;
}
#contact_mobile .inn .item a {
  display: block;
  border-radius: 1.1rem;
  text-decoration: none;
  font-weight: 900;
  background-color: #ef101d;
  padding: 0.3rem;
}
#contact_mobile .inn .item a .btn_wrap {
  display: block;
  border-radius: 0.5rem;
  background-color: #ef101d;
  color: #fff;
  padding: 0.5rem 1rem 0.6rem 1rem;
  text-align: center;
  border: 0.2rem solid #fff;
  border-radius: 1rem;
}
#contact_mobile .inn .item a .btn_wrap small {
  font-size: 0.8em;
  display: block;
}
#contact_mobile .inn .item:nth-child(2) .light_effect::after {
  animation-delay: 0.75s;
}

@media screen and (max-width: 767px) {
  main {
    width: 100vw;
    overflow-x: hidden;
  }
}

.main_page {
  padding-top: 10rem;
}
@media screen and (min-width: 768px) {
  .main_page {
    padding-top: 15rem;
  }
}

#breadcrumb {
  width: 100%;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  margin-bottom: 3rem;
}
#breadcrumb ul {
  display: flex;
  gap: 1rem;
}
#breadcrumb ul li {
  font-weight: bold;
}
#breadcrumb ul li a {
  color: #00a9ff;
  text-decoration: none;
}
#breadcrumb ul li a:hover {
  text-decoration: underline;
}
#breadcrumb ul li:not(:last-child)::after {
  content: ">";
  margin-left: 1rem;
}

.oct-title_web {
  color: #00a9ff !important;
}

.backtop {
  margin-top: 10rem;
  margin-bottom: 5rem;
  text-align: center;
}
.backtop a {
  border-radius: 4px;
  margin: 0px 5px;
  outline: none;
  padding: 10px 47px;
  background: #ffff47;
  color: #000;
  font-weight: bold;
  border-radius: 20rem;
  bottom: 0.1rem solid #000;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-decoration: none;
  transition: 0.3s;
}
.backtop a:hover {
  filter: drop-shadow(0 0 1rem #979797);
}

.contact_info {
  text-align: center;
  margin-top: 5rem;
  margin-bottom: 5rem;
  font-weight: bold;
}
.contact_info .number {
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 5rem;
  font-weight: bold;
  padding: 0.5rem 3rem;
  padding-bottom: 0.75rem;
  background: #00a9ff;
  color: #fff;
  border-radius: 1.5rem;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: 0.3s;
  font-size: 2.5rem;
  line-height: 4rem;
}
@media screen and (min-width: 768px) {
  .contact_info .number {
    font-size: 3.5rem;
    line-height: 5rem;
  }
}
.contact_info .number:hover {
  filter: drop-shadow(0 0 1rem #ffff01);
}
.contact_info .number .icon-phone {
  display: inline-block;
  position: relative;
  background: url(../img/icon-phone.svg) no-repeat center/contain;
  margin-right: 1rem;
  position: relative;
  top: 0.3rem;
  width: 2.6rem;
  height: 2.6rem;
}
@media screen and (min-width: 768px) {
  .contact_info .number .icon-phone {
    width: 3.2rem;
    height: 3.2rem;
  }
}

.group-btn-contact {
  text-align: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  gap: 1rem;
  font-weight: 700;
  font-size: 1.4rem;
  justify-content: center;
}
.group-btn-contact.nmb {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .group-btn-contact {
    font-size: 2rem;
  }
}
.group-btn-contact_hr {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .group-btn-contact_hr {
    margin-top: 2rem !important;
    flex-direction: row;
  }
}
.group-btn-contact p {
  margin-bottom: 0;
}
.group-btn-contact li {
  text-indent: 0;
}
.group-btn-contact .btn {
  max-width: 100%;
  padding: 0.7rem 1.5rem;
  padding-bottom: 1rem;
  color: #fff;
  width: 30rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #06259e;
  margin: 0.2em auto;
  transition: 0.25s ease-out;
  text-decoration: none;
}
.group-btn-contact .btn:hover {
  filter: drop-shadow(0 0 1rem #06259e);
}
.group-btn-contact .icon-phone {
  display: inline-block;
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  background: url(../img/icon-phone.svg) no-repeat center/contain;
  margin-right: 1rem;
  position: relative;
  top: 0.3rem;
}
.group-btn-contact .icon-email {
  display: inline-block;
  position: relative;
  width: 3rem;
  height: 3rem;
  background: url(../img/icon-email.svg) no-repeat center/contain;
  margin-right: 1rem;
}
.group-btn-contact .icon-line {
  display: inline-block;
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  background: url(../img/line-icon.svg) no-repeat center/contain;
  margin-right: 1rem;
}
.group-btn-contact .title {
  color: #00a9ff;
  margin-bottom: 0 !important;
}
.group-btn-contact .tel .btn {
  font-size: 1.3em;
}
.group-btn-contact .mail .btn {
  background-color: #ff0000;
}
.group-btn-contact .mail .btn:hover {
  filter: drop-shadow(0 0 1rem #ff0000);
}
.group-btn-contact .line .btn {
  background-color: #00b900;
}
.group-btn-contact .line .btn:hover {
  filter: drop-shadow(0 0 1rem #00b900);
}

.modal-content .group-btn-contact {
  margin-top: 2rem;
}

.page_404_content .section_title {
  margin-bottom: 4rem;
}
.page_404_content .content {
  font-size: 1.8rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
.section_privacy {
  max-width: 980px;
  margin: 0 auto;
  margin-top: 10rem;
}
.section_privacy a {
  color: inherit;
}
.section_privacy p,
.section_privacy h2 {
  margin-bottom: 0.75em;
}
.section_privacy h2 {
  margin-top: 1.5em;
}
.section_privacy ol {
  margin: 0;
  padding: 0;
  padding-left: 1em;
}
.section_privacy ol li {
  margin-bottom: 0.5em;
}
.section_privacy ol ol {
  margin-top: 0.75em;
}

#site_header {
  position: fixed;
  z-index: 99;
  width: 100%;
  top: 0;
  left: 0;
  transition: 0.3s;
  display: flex;
  align-items: center;
}
#site_header .header_logo {
  background-color: #fff;
  position: relative;
  top: 0;
  left: 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  #site_header .header_logo {
    padding: 1.5rem 0.5rem 1.5rem 1rem;
  }
}
@media screen and (min-width: 768px) {
  #site_header .header_logo {
    left: 5rem;
    padding: 2rem 1.2rem;
  }
}
@media screen and (min-width: 1500px) {
  #site_header .header_logo {
    left: 20rem;
  }
}
@media screen and (max-width: 767px) {
  #site_header .header_logo .logo {
    width: 14rem;
  }
}
@media screen and (min-width: 768px) {
  #site_header .header_logo .logo {
    width: 32rem;
  }
}
#site_header .header_info {
  color: #fff;
  font-weight: 500;
  margin-left: auto;
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  #site_header .header_info {
    gap: 1rem;
  }
}
@media screen and (min-width: 768px) {
  #site_header .header_info {
    gap: 2.5rem;
  }
}
#site_header .header_info p {
  margin: 0;
}
@media screen and (max-width: 767px) {
  #site_header .header_info .work_time {
    font-size: 1.2rem;
    text-align: center;
  }
  #site_header .header_info .work_time strong {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  #site_header .header_info .work_time {
    font-size: 1.6rem;
  }
}
#site_header .header_info .hotline {
  text-align: center;
}
#site_header .header_info .hotline a {
  color: #ffff01;
  font-weight: 900;
  text-decoration: none;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  #site_header .header_info .hotline a {
    display: block;
    width: 4.4rem;
    height: 4.4rem;
    background: #ef101d;
    border: 0.2rem solid #fff;
    border-radius: 0.5rem;
    position: relative;
    overflow: hidden;
  }
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.04) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.04) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  #site_header .header_info .hotline a {
    font-size: 4.5rem;
  }
}
#site_header .header_info .hotline a span {
  display: block;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #site_header .header_info .hotline a span {
    display: block;
    width: 4rem;
    height: 4rem;
    background: #ef101d url(../img/icon-phone-black.svg) center/3.2rem no-repeat;
    position: relative;
    text-indent: -100vw;
    animation-name: tada;
    animation-fill-mode: both;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
  }
}
#site_header .header_info .hotline p {
  font-weight: 500;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  #site_header .header_info .hotline p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  #site_header .header_info .mail {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  #site_header .header_info .mail {
    font-size: 1.8rem;
    margin-left: 5rem;
  }
}
#site_header .header_info .mail a {
  display: block;
  background-color: #fff;
  color: #000000;
  text-align: center;
  text-decoration: none;
  border-radius: 0.7rem;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  #site_header .header_info .register {
    display: none;
  }
}
#site_header .header_info .register a {
  display: block;
  color: #000000;
  text-align: center;
  text-decoration: none;
  border-radius: 2.5rem;
  line-height: 1.75;
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  overflow: hidden;
  background: #ef101d;
  padding: 0.5rem;
}
#site_header .header_info .register a .btn_wrap {
  display: block;
  background-color: #ef101d;
  color: #fff;
  padding: 1rem 4.5rem;
  border: 0.4rem solid #fff;
  border-radius: 2.2rem;
  line-height: 1.2;
}
#site_header .header_info .register a .btn_wrap small {
  display: block;
}

.sub_page #site_header {
  background-color: rgba(0, 169, 255, 0.8156862745);
  -webkit-backdrop-filter: blur(1rem);
          backdrop-filter: blur(1rem);
}

body.header_fixed #site_header {
  background-color: rgba(0, 169, 255, 0.8156862745);
  -webkit-backdrop-filter: blur(1rem);
          backdrop-filter: blur(1rem);
}
@media screen and (min-width: 768px) {
  body.header_fixed #site_header .header_logo {
    padding: 1.5rem 1.2rem;
  }
}

main {
  overflow-x: hidden;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .lp-notel #site_header .header_info {
    justify-content: center;
  }
}

#site_footer {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #e1f5ff;
}
@media screen and (max-width: 767px) {
  #site_footer {
    padding-bottom: 8rem;
  }
}
#site_footer .footer_logo {
  text-align: center;
  margin-bottom: 3.5rem;
}
#site_footer .footer_logo a {
  display: inline-block;
}
#site_footer .footer_logo .logo {
  width: 20.5rem;
}
@media screen and (min-width: 768px) {
  #site_footer .footer_logo .logo {
    width: 33.4rem;
  }
}
#site_footer .copyright {
  text-align: center;
  color: #696969;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #site_footer .copyright {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  #site_footer .copyright {
    font-size: 2rem;
  }
}
#site_footer .menu_footer {
  text-align: center;
  margin-bottom: 2rem;
}
#site_footer .menu_footer a {
  color: inherit;
  font-weight: bold;
  text-decoration: none;
}
#site_footer .menu_footer a:hover {
  text-decoration: underline;
}

#main {
  /* 
  overflow: hidden; */
  font-weight: bold;
  background: url(../img/main_bg_sp.jpg) bottom center/cover no-repeat;
  padding-top: 8rem;
  /* @media screen and (min-width: 1200px) and (max-width: 1600px) {
    .container {
      max-width: 1400px;
    }
  } */
}
@media screen and (min-width: 768px) {
  #main {
    padding-top: 17rem;
    background: url(../img/main_bg.jpg) bottom center/cover no-repeat;
  }
}
#main p {
  margin-bottom: 0;
}
#main .text {
  color: #fff;
  text-align: center;
}
#main .txt_top {
  display: block;
}
@media screen and (max-width: 767px) {
  #main .txt_top {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  #main .txt_top {
    font-size: 4rem;
  }
}
#main .txt_md {
  margin: 0;
  font-size: 2rem;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  #main .txt_md {
    font-size: 5rem;
  }
}
#main .txt_md span {
  font-size: 1.3em;
}
#main .txt_md .txt_orange {
  color: #ff9227;
}
#main .txt_md .txt_yellow {
  color: #ffff01;
}
#main .txt_lg {
  text-shadow: -4px -1px 0 #000000, -4px 0px 0 #000000, -4px 1px 0 #000000, -3px -3px 0 #000000, -3px -2px 0 #000000, -3px -1px 0 #000000, -3px 0px 0 #000000, -3px 1px 0 #000000, -3px 2px 0 #000000, -3px 3px 0 #000000, -2px -3px 0 #000000, -2px -2px 0 #000000, -2px -1px 0 #000000, -2px 0px 0 #000000, -2px 1px 0 #000000, -2px 2px 0 #000000, -2px 3px 0 #000000, -1px -4px 0 #000000, -1px -3px 0 #000000, -1px -2px 0 #000000, -1px -1px 0 #000000, -1px 0px 0 #000000, -1px 1px 0 #000000, -1px 2px 0 #000000, -1px 3px 0 #000000, -1px 4px 0 #000000, 0px -4px 0 #000000, 0px -3px 0 #000000, 0px -2px 0 #000000, 0px -1px 0 #000000, 0px 0px 0 #000000, 0px 1px 0 #000000, 0px 2px 0 #000000, 0px 3px 0 #000000, 0px 4px 0 #000000, 1px -4px 0 #000000, 1px -3px 0 #000000, 1px -2px 0 #000000, 1px -1px 0 #000000, 1px 0px 0 #000000, 1px 1px 0 #000000, 1px 2px 0 #000000, 1px 3px 0 #000000, 1px 4px 0 #000000, 2px -3px 0 #000000, 2px -2px 0 #000000, 2px -1px 0 #000000, 2px 0px 0 #000000, 2px 1px 0 #000000, 2px 2px 0 #000000, 2px 3px 0 #000000, 3px -3px 0 #000000, 3px -2px 0 #000000, 3px -1px 0 #000000, 3px 0px 0 #000000, 3px 1px 0 #000000, 3px 2px 0 #000000, 3px 3px 0 #000000, 4px -1px 0 #000000, 4px 0px 0 #000000, 4px 1px 0 #000000;
  font-weight: 900;
  color: #ffff01;
  letter-spacing: 0.03em;
  filter: drop-shadow(0 0 1rem #656bff);
  font-size: 4.6rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  #main .txt_lg {
    display: block;
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  #main .txt_lg {
    text-align: center;
    display: inline-block;
    text-shadow: -7px -1px 0 #000000, -7px 0px 0 #000000, -7px 1px 0 #000000, -6px -4px 0 #000000, -6px -3px 0 #000000, -6px -2px 0 #000000, -6px -1px 0 #000000, -6px 0px 0 #000000, -6px 1px 0 #000000, -6px 2px 0 #000000, -6px 3px 0 #000000, -6px 4px 0 #000000, -5px -5px 0 #000000, -5px -4px 0 #000000, -5px -3px 0 #000000, -5px -2px 0 #000000, -5px -1px 0 #000000, -5px 0px 0 #000000, -5px 1px 0 #000000, -5px 2px 0 #000000, -5px 3px 0 #000000, -5px 4px 0 #000000, -5px 5px 0 #000000, -4px -6px 0 #000000, -4px -5px 0 #000000, -4px -4px 0 #000000, -4px -3px 0 #000000, -4px -2px 0 #000000, -4px -1px 0 #000000, -4px 0px 0 #000000, -4px 1px 0 #000000, -4px 2px 0 #000000, -4px 3px 0 #000000, -4px 4px 0 #000000, -4px 5px 0 #000000, -4px 6px 0 #000000, -3px -6px 0 #000000, -3px -5px 0 #000000, -3px -4px 0 #000000, -3px -3px 0 #000000, -3px -2px 0 #000000, -3px -1px 0 #000000, -3px 0px 0 #000000, -3px 1px 0 #000000, -3px 2px 0 #000000, -3px 3px 0 #000000, -3px 4px 0 #000000, -3px 5px 0 #000000, -3px 6px 0 #000000, -2px -6px 0 #000000, -2px -5px 0 #000000, -2px -4px 0 #000000, -2px -3px 0 #000000, -2px -2px 0 #000000, -2px -1px 0 #000000, -2px 0px 0 #000000, -2px 1px 0 #000000, -2px 2px 0 #000000, -2px 3px 0 #000000, -2px 4px 0 #000000, -2px 5px 0 #000000, -2px 6px 0 #000000, -1px -7px 0 #000000, -1px -6px 0 #000000, -1px -5px 0 #000000, -1px -4px 0 #000000, -1px -3px 0 #000000, -1px -2px 0 #000000, -1px -1px 0 #000000, -1px 0px 0 #000000, -1px 1px 0 #000000, -1px 2px 0 #000000, -1px 3px 0 #000000, -1px 4px 0 #000000, -1px 5px 0 #000000, -1px 6px 0 #000000, -1px 7px 0 #000000, 0px -7px 0 #000000, 0px -6px 0 #000000, 0px -5px 0 #000000, 0px -4px 0 #000000, 0px -3px 0 #000000, 0px -2px 0 #000000, 0px -1px 0 #000000, 0px 0px 0 #000000, 0px 1px 0 #000000, 0px 2px 0 #000000, 0px 3px 0 #000000, 0px 4px 0 #000000, 0px 5px 0 #000000, 0px 6px 0 #000000, 0px 7px 0 #000000, 1px -7px 0 #000000, 1px -6px 0 #000000, 1px -5px 0 #000000, 1px -4px 0 #000000, 1px -3px 0 #000000, 1px -2px 0 #000000, 1px -1px 0 #000000, 1px 0px 0 #000000, 1px 1px 0 #000000, 1px 2px 0 #000000, 1px 3px 0 #000000, 1px 4px 0 #000000, 1px 5px 0 #000000, 1px 6px 0 #000000, 1px 7px 0 #000000, 2px -6px 0 #000000, 2px -5px 0 #000000, 2px -4px 0 #000000, 2px -3px 0 #000000, 2px -2px 0 #000000, 2px -1px 0 #000000, 2px 0px 0 #000000, 2px 1px 0 #000000, 2px 2px 0 #000000, 2px 3px 0 #000000, 2px 4px 0 #000000, 2px 5px 0 #000000, 2px 6px 0 #000000, 3px -6px 0 #000000, 3px -5px 0 #000000, 3px -4px 0 #000000, 3px -3px 0 #000000, 3px -2px 0 #000000, 3px -1px 0 #000000, 3px 0px 0 #000000, 3px 1px 0 #000000, 3px 2px 0 #000000, 3px 3px 0 #000000, 3px 4px 0 #000000, 3px 5px 0 #000000, 3px 6px 0 #000000, 4px -6px 0 #000000, 4px -5px 0 #000000, 4px -4px 0 #000000, 4px -3px 0 #000000, 4px -2px 0 #000000, 4px -1px 0 #000000, 4px 0px 0 #000000, 4px 1px 0 #000000, 4px 2px 0 #000000, 4px 3px 0 #000000, 4px 4px 0 #000000, 4px 5px 0 #000000, 4px 6px 0 #000000, 5px -5px 0 #000000, 5px -4px 0 #000000, 5px -3px 0 #000000, 5px -2px 0 #000000, 5px -1px 0 #000000, 5px 0px 0 #000000, 5px 1px 0 #000000, 5px 2px 0 #000000, 5px 3px 0 #000000, 5px 4px 0 #000000, 5px 5px 0 #000000, 6px -4px 0 #000000, 6px -3px 0 #000000, 6px -2px 0 #000000, 6px -1px 0 #000000, 6px 0px 0 #000000, 6px 1px 0 #000000, 6px 2px 0 #000000, 6px 3px 0 #000000, 6px 4px 0 #000000, 7px -1px 0 #000000, 7px 0px 0 #000000, 7px 1px 0 #000000;
    font-size: 11.5rem;
    margin-bottom: 3rem;
  }
}
#main .detail {
  position: relative;
}
#main .detail .main_img {
  position: absolute;
  bottom: 0;
  right: 0;
  /* 
  @media screen and (min-width: 1601px) {
    right: -17rem;
  } */
}
@media screen and (max-width: 767px) {
  #main .detail .main_img {
    width: 15rem;
    margin-top: 2rem;
    right: -1rem;
  }
}
@media screen and (min-width: 768px) {
  #main .detail .main_img {
    bottom: 0;
    right: -5rem;
  }
}
#main .detail .main_img .main_img_bg {
  display: block;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  #main .detail .main_img .main_img_bg {
    width: 15rem;
    aspect-ratio: 300/536;
    background: url(../img/main_img.png) top center/contain no-repeat;
  }
}
@media screen and (min-width: 768px) {
  #main .detail .main_img .main_img_bg {
    width: 71rem;
    aspect-ratio: 71/39;
    background: url(../img/main_img_pc.png) top center/cover no-repeat;
  }
}
#main .detail .main_img .main_img_bg .box {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #main .detail .main_img .main_img_bg .box {
    width: 12.5rem;
    right: 0.5rem;
    bottom: 0.2rem;
    font-size: 1.6rem;
    line-height: 1.3;
  }
}
@media screen and (min-width: 768px) {
  #main .detail .main_img .main_img_bg .box {
    width: 35rem;
    right: 0;
    top: 1rem;
    line-height: 1.8;
    font-size: 3.5rem;
  }
}
#main .detail .main_img .main_img_bg .box .red {
  color: #ff0211;
}
#main .detail .main_img .main_img_bg .box strong {
  font-family: "Aachen", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #000;
  display: inline-block;
  padding-top: 0.1em;
  font-size: 2em;
}
@media screen and (min-width: 768px) {
  #main .detail .main_img .main_img_bg .box strong {
    padding-top: 0.2em;
    font-size: 2.5em;
  }
}
#main .detail_box {
  background-color: #ffff01;
  color: #000;
  font-weight: bold;
  font-size: 1.8rem;
  padding: 2rem 1.5rem;
  line-height: 1.2;
  border-top-left-radius: 4.5rem;
}
@media screen and (max-width: 767px) {
  #main .detail_box {
    margin-right: -1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #main .detail_box {
    padding: 3rem 7rem;
    font-size: 2.8rem;
    width: 58rem;
  }
}
#main .detail_box p {
  margin-bottom: 0;
}
#main .detail_box .lg {
  font-size: 3rem;
}
@media screen and (min-width: 768px) {
  #main .detail_box .lg {
    font-size: 8rem;
  }
}
#main .detail_box .percent {
  font-weight: 900;
  line-height: 1;
  display: flex;
  align-items: center;
  font-size: 7rem;
}
@media screen and (min-width: 768px) {
  #main .detail_box .percent {
    font-size: 15.5rem;
  }
}
#main .detail_box .percent span {
  display: block;
  aspect-ratio: 1/1;
  background-color: #ff0211;
  border-radius: 100%;
  color: #fff;
  text-align: center;
  font-size: 4rem;
  width: 6rem;
  line-height: 6rem;
  transform: translateY(0.5rem);
}
@media screen and (min-width: 768px) {
  #main .detail_box .percent span {
    width: 13rem;
    line-height: 11rem;
    font-size: 9rem;
    transform: translateY(1rem);
  }
}
#main .payment_wrap {
  background-color: #ffffff;
}
#main .payment_wrap .payments {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  #main .payment_wrap .payments {
    gap: 4rem;
  }
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments > div {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  #main .payment_wrap .payments > div {
    width: -moz-fit-content;
    width: fit-content;
  }
}
#main .payment_wrap .payments .payment {
  width: 11rem;
  display: block;
  aspect-ratio: 110/72;
  background: center/contain no-repeat;
  text-indent: -1000vw;
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments .payment {
    width: 8rem;
  }
}
#main .payment_wrap .payments .dbarai {
  background-image: url(../img/payment_dbarai.png);
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments .dbarai {
    aspect-ratio: 1;
    background-size: auto 5rem;
    width: 5rem;
  }
}
#main .payment_wrap .payments .nudge {
  background-image: url(../img/payment_nudge.png);
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments .nudge {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
#main .payment_wrap .payments .mpay {
  background-image: url(../img/payment_mpay.png);
}
#main .payment_wrap .payments .paidy {
  aspect-ratio: 150/72;
  width: 15rem;
  background-image: url(../img/payment_paidy.png);
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments .paidy {
    background-size: 80%;
  }
}
#main .payment_wrap .payments .paidy2 {
  background-image: url(../img/payment_paidy2.png);
}
#main .payment_wrap .payments .visa {
  background-image: url(../img/payment_visa.png);
}
#main .payment_wrap .payments .master-card {
  background-image: url(../img/payment_master-card.png);
}
#main .payment_wrap .payments .jcb {
  background-image: url(../img/payment_jcb.png);
}
#main .payment_wrap .payments .amex {
  background-image: url(../img/payment_amex.png);
}
#main .payment_wrap .payments img {
  width: auto;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #main .payment_wrap .payments img {
    width: auto;
    height: 4rem;
  }
}
@media screen and (min-width: 768px) {
  #main .payment_wrap .payments img {
    height: 7.2rem;
  }
}

.into_cash {
  padding-top: 5rem;
  background: #fffff3;
}
@media screen and (max-width: 767px) {
  .into_cash {
    background-size: cover;
    background-position: left;
  }
}
.into_cash .into_cash_wrap {
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .into_cash .into_cash_wrap {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .into_cash .into_cash_wrap {
    width: 100rem;
    margin-top: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.into_cash .into_cash_wrap .layer {
  text-indent: -1000vw;
  content: "";
  aspect-ratio: 365/455;
  display: block;
  position: relative;
  z-index: 1;
  margin-right: 0;
  background: url(../img/into_cash_img.png) center left/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .into_cash .into_cash_wrap .layer {
    width: 18rem;
    position: absolute;
    right: -1rem;
    bottom: 0;
    transform: translateY(2rem);
  }
}
@media screen and (min-width: 768px) {
  .into_cash .into_cash_wrap .layer {
    width: 36.5rem;
  }
}
.into_cash .into_cash_wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .into_cash .into_cash_wrap ul {
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .into_cash .into_cash_wrap ul {
    width: 34rem;
  }
}
.into_cash .into_cash_wrap ul li {
  padding: 2rem 0;
}
.into_cash .into_cash_wrap ul li .cash {
  max-width: 100%;
  aspect-ratio: 19/6;
  display: block;
  background: #89cff3 center/auto 80% no-repeat;
  text-indent: -100vw;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .into_cash .into_cash_wrap ul li .cash {
    height: 4.2rem;
    width: 15rem;
  }
}
@media screen and (min-width: 768px) {
  .into_cash .into_cash_wrap ul li .cash {
    width: 20rem;
    height: 6rem;
    margin: 0 auto;
  }
}
.into_cash .into_cash_wrap ul li .mpay {
  background-image: url(../img/into_cash_mpay.png);
}
.into_cash .into_cash_wrap ul li .paidy {
  background-image: url(../img/into_cash_paidy.png);
}
.into_cash .into_cash_wrap ul li .paidy2 {
  background-image: url(../img/into_cash_paidy2.png);
}
.into_cash .into_cash_wrap ul li .visa {
  background-image: url(../img//into_cash_visa.png);
}
.into_cash .into_cash_wrap ul li .master-card {
  background-image: url(../img//into_cash_master-card.png);
}
.into_cash .into_cash_wrap ul li .jcb {
  background-image: url(../img//into_cash_jcb.png);
}
.into_cash .into_cash_wrap ul li .amex {
  background-image: url(../img//into_cash_amex.png);
}
.into_cash .into_cash_wrap ul li .dbarai {
  background-image: url(../img//into_cash_dbarai.png);
}
.into_cash .into_cash_wrap ul li .nudge {
  background-image: url(../img//into_cash_nudge.png);
}
.into_cash .into_cash_wrap ul li img {
  width: auto;
}
@media screen and (max-width: 767px) {
  .into_cash .into_cash_wrap ul li img {
    height: 4.2rem;
  }
}
@media screen and (min-width: 768px) {
  .into_cash .into_cash_wrap ul li img {
    height: 6rem;
  }
}
.into_cash .into_cash_wrap ul li:not(:last-child) {
  border-bottom: 0.1rem dashed;
}
.into_cash .into_cash_wrap-2 {
  flex-direction: row-reverse;
}
.into_cash .into_cash_wrap-2 + .section_title {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .into_cash .into_cash_wrap-2 + .section_title {
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .into_cash .into_cash_wrap-2 + .section_title p {
    line-height: 1.6;
    font-size: 1.6rem;
  }
}
.into_cash .into_cash_wrap-2 .layer {
  background-image: url(../img/into_cash_img2.png);
}
.into_cash .note {
  background-color: #00a9ff;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 1rem 0;
  font-size: 1.8rem;
  border-radius: 0.6rem 0.6rem 0 0;
}
@media screen and (max-width: 767px) {
  .into_cash .note {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}

#into_cash {
  background: #fffff3 url(../img/into_cash_bg.png) center bottom 15rem/80% no-repeat;
}
@media screen and (max-width: 767px) {
  #into_cash {
    background: url(../img/into_cash_bg_sp.png) center/auto 70% no-repeat;
  }
  #into_cash .section_title h1,
  #into_cash .section_title h2 {
    font-size: 2.4rem;
  }
}

#into_cash2 {
  background: #fffff3 url(../img/into_cash2_bg.png) right -5rem bottom/67rem no-repeat;
}
@media screen and (max-width: 767px) {
  #into_cash2 .section_title p {
    font-size: 1.6rem;
  }
}

.section_paydyplus {
  padding: 3rem 0;
  background-color: #89cff3;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.2509803922));
}
.section_paydyplus p {
  color: #00a9ff;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 2.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .section_paydyplus p {
    text-shadow: -3px -1px 0 #fff, -3px 0px 0 #fff, -3px 1px 0 #fff, -2px -2px 0 #fff, -2px -1px 0 #fff, -2px 0px 0 #fff, -2px 1px 0 #fff, -2px 2px 0 #fff, -1px -3px 0 #fff, -1px -2px 0 #fff, -1px -1px 0 #fff, -1px 0px 0 #fff, -1px 1px 0 #fff, -1px 2px 0 #fff, -1px 3px 0 #fff, 0px -3px 0 #fff, 0px -2px 0 #fff, 0px -1px 0 #fff, 0px 0px 0 #fff, 0px 1px 0 #fff, 0px 2px 0 #fff, 0px 3px 0 #fff, 1px -3px 0 #fff, 1px -2px 0 #fff, 1px -1px 0 #fff, 1px 0px 0 #fff, 1px 1px 0 #fff, 1px 2px 0 #fff, 1px 3px 0 #fff, 2px -2px 0 #fff, 2px -1px 0 #fff, 2px 0px 0 #fff, 2px 1px 0 #fff, 2px 2px 0 #fff, 3px -1px 0 #fff, 3px 0px 0 #fff, 3px 1px 0 #fff;
  }
}
@media screen and (min-width: 768px) {
  .section_paydyplus p {
    font-size: 5rem;
    text-shadow: -5px -1px 0 #fff, -5px 0px 0 #fff, -5px 1px 0 #fff, -4px -3px 0 #fff, -4px -2px 0 #fff, -4px -1px 0 #fff, -4px 0px 0 #fff, -4px 1px 0 #fff, -4px 2px 0 #fff, -4px 3px 0 #fff, -3px -4px 0 #fff, -3px -3px 0 #fff, -3px -2px 0 #fff, -3px -1px 0 #fff, -3px 0px 0 #fff, -3px 1px 0 #fff, -3px 2px 0 #fff, -3px 3px 0 #fff, -3px 4px 0 #fff, -2px -4px 0 #fff, -2px -3px 0 #fff, -2px -2px 0 #fff, -2px -1px 0 #fff, -2px 0px 0 #fff, -2px 1px 0 #fff, -2px 2px 0 #fff, -2px 3px 0 #fff, -2px 4px 0 #fff, -1px -5px 0 #fff, -1px -4px 0 #fff, -1px -3px 0 #fff, -1px -2px 0 #fff, -1px -1px 0 #fff, -1px 0px 0 #fff, -1px 1px 0 #fff, -1px 2px 0 #fff, -1px 3px 0 #fff, -1px 4px 0 #fff, -1px 5px 0 #fff, 0px -5px 0 #fff, 0px -4px 0 #fff, 0px -3px 0 #fff, 0px -2px 0 #fff, 0px -1px 0 #fff, 0px 0px 0 #fff, 0px 1px 0 #fff, 0px 2px 0 #fff, 0px 3px 0 #fff, 0px 4px 0 #fff, 0px 5px 0 #fff, 1px -5px 0 #fff, 1px -4px 0 #fff, 1px -3px 0 #fff, 1px -2px 0 #fff, 1px -1px 0 #fff, 1px 0px 0 #fff, 1px 1px 0 #fff, 1px 2px 0 #fff, 1px 3px 0 #fff, 1px 4px 0 #fff, 1px 5px 0 #fff, 2px -4px 0 #fff, 2px -3px 0 #fff, 2px -2px 0 #fff, 2px -1px 0 #fff, 2px 0px 0 #fff, 2px 1px 0 #fff, 2px 2px 0 #fff, 2px 3px 0 #fff, 2px 4px 0 #fff, 3px -4px 0 #fff, 3px -3px 0 #fff, 3px -2px 0 #fff, 3px -1px 0 #fff, 3px 0px 0 #fff, 3px 1px 0 #fff, 3px 2px 0 #fff, 3px 3px 0 #fff, 3px 4px 0 #fff, 4px -3px 0 #fff, 4px -2px 0 #fff, 4px -1px 0 #fff, 4px 0px 0 #fff, 4px 1px 0 #fff, 4px 2px 0 #fff, 4px 3px 0 #fff, 5px -1px 0 #fff, 5px 0px 0 #fff, 5px 1px 0 #fff;
  }
}
.section_paydyplus p .red {
  color: #f00;
}
@media screen and (max-width: 767px) {
  .section_paydyplus p .red {
    text-shadow: -3px -1px 0 #000, -3px 0px 0 #000, -3px 1px 0 #000, -2px -2px 0 #000, -2px -1px 0 #000, -2px 0px 0 #000, -2px 1px 0 #000, -2px 2px 0 #000, -1px -3px 0 #000, -1px -2px 0 #000, -1px -1px 0 #000, -1px 0px 0 #000, -1px 1px 0 #000, -1px 2px 0 #000, -1px 3px 0 #000, 0px -3px 0 #000, 0px -2px 0 #000, 0px -1px 0 #000, 0px 0px 0 #000, 0px 1px 0 #000, 0px 2px 0 #000, 0px 3px 0 #000, 1px -3px 0 #000, 1px -2px 0 #000, 1px -1px 0 #000, 1px 0px 0 #000, 1px 1px 0 #000, 1px 2px 0 #000, 1px 3px 0 #000, 2px -2px 0 #000, 2px -1px 0 #000, 2px 0px 0 #000, 2px 1px 0 #000, 2px 2px 0 #000, 3px -1px 0 #000, 3px 0px 0 #000, 3px 1px 0 #000;
  }
}
@media screen and (min-width: 768px) {
  .section_paydyplus p .red {
    text-shadow: -5px -1px 0 #000, -5px 0px 0 #000, -5px 1px 0 #000, -4px -3px 0 #000, -4px -2px 0 #000, -4px -1px 0 #000, -4px 0px 0 #000, -4px 1px 0 #000, -4px 2px 0 #000, -4px 3px 0 #000, -3px -4px 0 #000, -3px -3px 0 #000, -3px -2px 0 #000, -3px -1px 0 #000, -3px 0px 0 #000, -3px 1px 0 #000, -3px 2px 0 #000, -3px 3px 0 #000, -3px 4px 0 #000, -2px -4px 0 #000, -2px -3px 0 #000, -2px -2px 0 #000, -2px -1px 0 #000, -2px 0px 0 #000, -2px 1px 0 #000, -2px 2px 0 #000, -2px 3px 0 #000, -2px 4px 0 #000, -1px -5px 0 #000, -1px -4px 0 #000, -1px -3px 0 #000, -1px -2px 0 #000, -1px -1px 0 #000, -1px 0px 0 #000, -1px 1px 0 #000, -1px 2px 0 #000, -1px 3px 0 #000, -1px 4px 0 #000, -1px 5px 0 #000, 0px -5px 0 #000, 0px -4px 0 #000, 0px -3px 0 #000, 0px -2px 0 #000, 0px -1px 0 #000, 0px 0px 0 #000, 0px 1px 0 #000, 0px 2px 0 #000, 0px 3px 0 #000, 0px 4px 0 #000, 0px 5px 0 #000, 1px -5px 0 #000, 1px -4px 0 #000, 1px -3px 0 #000, 1px -2px 0 #000, 1px -1px 0 #000, 1px 0px 0 #000, 1px 1px 0 #000, 1px 2px 0 #000, 1px 3px 0 #000, 1px 4px 0 #000, 1px 5px 0 #000, 2px -4px 0 #000, 2px -3px 0 #000, 2px -2px 0 #000, 2px -1px 0 #000, 2px 0px 0 #000, 2px 1px 0 #000, 2px 2px 0 #000, 2px 3px 0 #000, 2px 4px 0 #000, 3px -4px 0 #000, 3px -3px 0 #000, 3px -2px 0 #000, 3px -1px 0 #000, 3px 0px 0 #000, 3px 1px 0 #000, 3px 2px 0 #000, 3px 3px 0 #000, 3px 4px 0 #000, 4px -3px 0 #000, 4px -2px 0 #000, 4px -1px 0 #000, 4px 0px 0 #000, 4px 1px 0 #000, 4px 2px 0 #000, 4px 3px 0 #000, 5px -1px 0 #000, 5px 0px 0 #000, 5px 1px 0 #000;
  }
}
.section_paydyplus p .txt_yel {
  color: #ffff01;
}
@media screen and (max-width: 767px) {
  .section_paydyplus p .txt_yel {
    text-shadow: -3px -1px 0 #000, -3px 0px 0 #000, -3px 1px 0 #000, -2px -2px 0 #000, -2px -1px 0 #000, -2px 0px 0 #000, -2px 1px 0 #000, -2px 2px 0 #000, -1px -3px 0 #000, -1px -2px 0 #000, -1px -1px 0 #000, -1px 0px 0 #000, -1px 1px 0 #000, -1px 2px 0 #000, -1px 3px 0 #000, 0px -3px 0 #000, 0px -2px 0 #000, 0px -1px 0 #000, 0px 0px 0 #000, 0px 1px 0 #000, 0px 2px 0 #000, 0px 3px 0 #000, 1px -3px 0 #000, 1px -2px 0 #000, 1px -1px 0 #000, 1px 0px 0 #000, 1px 1px 0 #000, 1px 2px 0 #000, 1px 3px 0 #000, 2px -2px 0 #000, 2px -1px 0 #000, 2px 0px 0 #000, 2px 1px 0 #000, 2px 2px 0 #000, 3px -1px 0 #000, 3px 0px 0 #000, 3px 1px 0 #000;
  }
}
@media screen and (min-width: 768px) {
  .section_paydyplus p .txt_yel {
    text-shadow: -5px -1px 0 #000, -5px 0px 0 #000, -5px 1px 0 #000, -4px -3px 0 #000, -4px -2px 0 #000, -4px -1px 0 #000, -4px 0px 0 #000, -4px 1px 0 #000, -4px 2px 0 #000, -4px 3px 0 #000, -3px -4px 0 #000, -3px -3px 0 #000, -3px -2px 0 #000, -3px -1px 0 #000, -3px 0px 0 #000, -3px 1px 0 #000, -3px 2px 0 #000, -3px 3px 0 #000, -3px 4px 0 #000, -2px -4px 0 #000, -2px -3px 0 #000, -2px -2px 0 #000, -2px -1px 0 #000, -2px 0px 0 #000, -2px 1px 0 #000, -2px 2px 0 #000, -2px 3px 0 #000, -2px 4px 0 #000, -1px -5px 0 #000, -1px -4px 0 #000, -1px -3px 0 #000, -1px -2px 0 #000, -1px -1px 0 #000, -1px 0px 0 #000, -1px 1px 0 #000, -1px 2px 0 #000, -1px 3px 0 #000, -1px 4px 0 #000, -1px 5px 0 #000, 0px -5px 0 #000, 0px -4px 0 #000, 0px -3px 0 #000, 0px -2px 0 #000, 0px -1px 0 #000, 0px 0px 0 #000, 0px 1px 0 #000, 0px 2px 0 #000, 0px 3px 0 #000, 0px 4px 0 #000, 0px 5px 0 #000, 1px -5px 0 #000, 1px -4px 0 #000, 1px -3px 0 #000, 1px -2px 0 #000, 1px -1px 0 #000, 1px 0px 0 #000, 1px 1px 0 #000, 1px 2px 0 #000, 1px 3px 0 #000, 1px 4px 0 #000, 1px 5px 0 #000, 2px -4px 0 #000, 2px -3px 0 #000, 2px -2px 0 #000, 2px -1px 0 #000, 2px 0px 0 #000, 2px 1px 0 #000, 2px 2px 0 #000, 2px 3px 0 #000, 2px 4px 0 #000, 3px -4px 0 #000, 3px -3px 0 #000, 3px -2px 0 #000, 3px -1px 0 #000, 3px 0px 0 #000, 3px 1px 0 #000, 3px 2px 0 #000, 3px 3px 0 #000, 3px 4px 0 #000, 4px -3px 0 #000, 4px -2px 0 #000, 4px -1px 0 #000, 4px 0px 0 #000, 4px 1px 0 #000, 4px 2px 0 #000, 4px 3px 0 #000, 5px -1px 0 #000, 5px 0px 0 #000, 5px 1px 0 #000;
  }
}

#point {
  background: url(../img/point_bg.png) top center/cover repeat-x;
  position: relative;
}
@media screen and (max-width: 767px) {
  #point {
    padding-top: 5em;
    padding-bottom: 14rem;
  }
}
@media screen and (min-width: 768px) {
  #point {
    padding-top: 6rem;
    padding-bottom: 10rem;
  }
}
#point::after {
  content: "";
  pointer-events: none;
  background: url(../img/point_bg2.png) right bottom/cover no-repeat;
  aspect-ratio: 29/54;
  width: 8rem;
  position: absolute;
  display: block;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  #point::after {
    width: 12rem;
    aspect-ratio: 4/5;
    background-position: right top;
  }
}
@media screen and (min-width: 768px) and (max-width: 1900px) {
  #point::after {
    width: 20vw;
  }
}
@media screen and (min-width: 1500px) {
  #point::after {
    width: 30rem;
  }
}
@media screen and (min-width: 1900px) {
  #point::after {
    right: 50%;
    transform: translateX(70rem);
  }
}
#point .points {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  #point .points {
    gap: 1rem;
  }
}
@media screen and (min-width: 768px) {
  #point .points {
    justify-content: center;
    -moz-column-gap: 16rem;
         column-gap: 16rem;
    transform: translateX(-10%);
  }
}
@media screen and (min-width: 768px) and (max-width: 1900px) {
  #point .points {
    transform: translateX(-10%);
  }
}
#point .points .break {
  flex-basis: 100%;
  height: 0;
}
#point .points .point {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  #point .points .point:first-child {
    margin-bottom: -2rem;
  }
}
#point .points .point::before {
  content: "";
  border-radius: 100%;
  aspect-ratio: 1;
  background: #00a9ff center/contain no-repeat;
  border: 0.2rem solid #00a9ff;
}
@media screen and (max-width: 767px) {
  #point .points .point::before {
    width: 8rem;
  }
}
@media screen and (min-width: 768px) {
  #point .points .point::before {
    width: 19.3rem;
  }
}
#point .points .point.point1::before {
  background-image: url(../img/point1.png);
}
#point .points .point.point2::before {
  background-image: url(../img/point2.png);
}
#point .points .point.point3::before {
  background-image: url(../img/point3.png);
}
#point .points .point .txt {
  font-weight: 500;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  #point .points .point .txt {
    font-size: 2rem;
  }
}
#point .points .point .txt strong {
  display: block;
  font-weight: bold;
  font-size: 1.5em;
  color: #00a9ff;
}

#recommended {
  padding-top: 5rem;
  background: url(../img/recommended_bg.png) right center/80rem no-repeat;
}
@media screen and (min-width: 768px) {
  #recommended {
    padding-top: 10rem;
  }
}
#recommended .recommended_content {
  position: relative;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  #recommended .recommended_content {
    margin-top: 6rem;
    width: 100rem;
  }
}
#recommended .recommended_content .layer {
  aspect-ratio: 680/745;
  background: url(../img/recommended_img.png) center/contain no-repeat;
  display: block;
  display: block;
  margin-left: auto;
  margin-right: 0;
  text-indent: -10000vw;
}
@media screen and (max-width: 767px) {
  #recommended .recommended_content .layer {
    margin-top: 1rem;
    width: 20rem;
  }
}
@media screen and (min-width: 768px) {
  #recommended .recommended_content .layer {
    width: 68rem;
    margin-right: -20rem;
  }
}
#recommended .recommended_content .recommended_box {
  font-weight: 500;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #b6e6ff;
}
@media screen and (max-width: 767px) {
  #recommended .recommended_content .recommended_box {
    padding: 2rem 1rem;
    padding-left: 2rem;
    border-radius: 3rem;
  }
}
@media screen and (min-width: 768px) {
  #recommended .recommended_content .recommended_box {
    background: url(../img/recommended_box.png) left center/contain no-repeat;
    width: 67.5rem;
    height: 41.5rem;
    font-size: 2.5rem;
    padding: 5rem 7rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
}
#recommended .recommended_content .recommended_box ul li {
  line-height: 1.2;
  background: url(../img/recommended_icon.png) left top 1.5rem/2.8rem no-repeat;
  padding: 1rem;
  padding-left: 4.5rem;
}
@media screen and (max-width: 767px) {
  #recommended .recommended_content .recommended_box ul li {
    padding-right: 0;
    background-position: left top 1rem;
    background-size: 1.8rem;
    padding-left: 2.5rem;
    font-size: 1.4rem;
  }
}

.section_button {
  background-color: #d1efff;
  padding-top: 5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .section_button {
    background: #d1efff url(../img/section_button_bg_sp.jpg) bottom center/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .section_button {
    background: #d1efff url(../img/section_button_bg.jpg) bottom center/cover no-repeat;
  }
}
.section_button .group_button {
  display: flex;
  justify-content: center;
  margin-bottom: 5rem;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .section_button .group_button {
    gap: 5.5rem;
  }
}
.section_button .group_button .button {
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  border-radius: 100%;
  line-height: 1.2;
  text-align: center;
  color: #000000;
  border: 0.3rem solid #fff;
  filter: drop-shadow(0 0.4rem 2.5rem #00a9ff);
}
@media screen and (max-width: 767px) {
  .section_button .group_button .button {
    width: 12rem;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .section_button .group_button .button {
    width: 20rem;
    font-size: 2.4rem;
  }
}
.section_button .group_button .button:nth-child(1) {
  background-color: #70cdfc;
}
.section_button .group_button .button:nth-child(2) {
  background-color: #a0e9ff;
}
.section_button .group_button .button:nth-child(3) {
  background-color: #cdf5fd;
}
.section_button .section_text {
  background-color: #ffffff;
  text-align: center;
  padding: 2rem 0;
  font-weight: bold;
  font-size: 1.6rem;
  border-radius: 2rem;
}
@media screen and (min-width: 768px) {
  .section_button .section_text {
    font-size: 3.2rem;
  }
}

.section_no1 {
  background-color: #b6e6ff;
  padding: 3.5rem 0;
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .section_no1 {
    font-size: 4.5rem;
  }
}
.section_no1 span {
  font-weight: 900;
  font-size: 1.45em;
}
.section_no1 .txt_red {
  color: #ff0211;
}
.section_no1 .txt_yellow {
  color: #ff8c00;
}

.section_banner_register {
  background-color: #cdf5fd;
}
@media screen and (max-width: 767px) {
  .section_banner_register {
    background-image: linear-gradient(to top, #cdf5fd 0%, #00a9ff 50%);
  }
}
@media screen and (min-width: 768px) {
  .section_banner_register {
    background-image: linear-gradient(to right, #cdf5fd 0%, #00a9ff 100%);
  }
}
.section_banner_register .banner_register {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .section_banner_register .banner_register {
    padding-top: 3rem;
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_register .banner_register {
    padding: 0 2rem;
    gap: 5rem;
  }
}
.section_banner_register .banner_register .btn_box {
  filter: drop-shadow(0 0 2.5rem #fff);
}
.section_banner_register .banner_register .img {
  background: url(../img/banner_register.png) center right/contain no-repeat;
  display: block;
  aspect-ratio: 400/368;
  text-indent: -1000vw;
}
@media screen and (max-width: 767px) {
  .section_banner_register .banner_register .img {
    order: 2;
    width: 60%;
    align-self: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_register .banner_register .img {
    width: 40rem;
  }
}
.section_banner_register .banner_register .detail {
  color: #000;
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 3rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .section_banner_register .banner_register .detail {
    font-size: 2.5rem;
    width: calc(100% - 46rem);
    width: -moz-fit-content;
    width: fit-content;
  }
}
.section_banner_register .banner_register .detail p strong {
  font-size: 1.2em;
  font-weight: 900;
}
.section_banner_register .banner_register .detail .btn_register {
  display: block;
  text-decoration: none;
  margin-bottom: 1rem;
  border-radius: 7.5rem;
  overflow: hidden;
  padding: 0.4rem;
  background: #f0222e;
}
@media screen and (min-width: 768px) {
  .section_banner_register .banner_register .detail .btn_register {
    font-size: 3rem;
    width: 51rem;
  }
}
.section_banner_register .banner_register .detail .btn_register .btn_wrap {
  border-radius: 7.5rem;
  display: block;
  border: 0.2rem solid #ffffff;
  background-color: #f0222e;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 2rem;
  font-size: 2.5rem;
}
@media screen and (min-width: 768px) {
  .section_banner_register .banner_register .detail .btn_register .btn_wrap {
    border: 0.4rem solid #ffffff;
    font-size: 3rem;
  }
}
.section_banner_register .banner_register .detail .btn_register .btn_wrap small {
  display: block;
}
.section_banner_register .banner_register .detail .btn_register .btn_wrap:after {
  animation-delay: 800ms;
}

.section_banner_contact {
  background: url(../img/banner_contact_bg.png) top center repeat-x;
  position: relative;
}
.section_banner_contact::after {
  content: "";
  aspect-ratio: 25/42;
  width: 25rem;
  display: block;
  position: absolute;
  pointer-events: none;
  right: 0;
  bottom: 0;
  background: url(../img/banner_contact_layer.png) top center/cover repeat-x;
}
@media screen and (max-width: 767px) {
  .section_banner_contact::after {
    width: 16rem;
    aspect-ratio: 1;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_contact::after {
    right: 50%;
    transform: translateX(60rem);
  }
}
.section_banner_contact .banner_contact {
  padding-top: 7rem;
  padding-bottom: 7rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact {
    padding-bottom: 14rem;
  }
}
.section_banner_contact .banner_contact .phone_contact p {
  font-weight: bold;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .phone_contact p {
    font-size: 3rem;
  }
}
.section_banner_contact .banner_contact .phone_contact p.txt {
  margin-top: 1em;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .phone_contact p.txt {
    font-size: 2rem;
  }
}
.section_banner_contact .banner_contact .phone_contact .btn_phone {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact .phone_contact .btn_phone {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
.section_banner_contact .banner_contact .phone_contact .btn_phone .icon {
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  border: 0.2rem solid #fff;
  transition: 0.3s;
  background: #00a9ff url(../img/banner_contact_phone.png) center/65% no-repeat;
  width: 4.2rem;
  text-indent: -1000vw;
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .phone_contact .btn_phone .icon {
    width: 9rem;
    border-width: 0.5rem;
  }
}
.section_banner_contact .banner_contact .phone_contact .btn_phone .icon img {
  width: 6.2rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact .phone_contact .btn_phone .icon img {
    width: 60%;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .phone_contact .btn_phone .icon img {
    width: 6.2rem;
  }
}
.section_banner_contact .banner_contact .phone_contact .btn_phone .txt {
  text-shadow: -2px -1px 0 #000000, -2px 0px 0 #000000, -2px 1px 0 #000000, -1px -2px 0 #000000, -1px -1px 0 #000000, -1px 0px 0 #000000, -1px 1px 0 #000000, -1px 2px 0 #000000, 0px -2px 0 #000000, 0px -1px 0 #000000, 0px 0px 0 #000000, 0px 1px 0 #000000, 0px 2px 0 #000000, 1px -2px 0 #000000, 1px -1px 0 #000000, 1px 0px 0 #000000, 1px 1px 0 #000000, 1px 2px 0 #000000, 2px -1px 0 #000000, 2px 0px 0 #000000, 2px 1px 0 #000000;
  font-weight: 900;
  color: #ffff01;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-top: 0.1em;
  padding-bottom: 0.25em;
  font-size: 3.8rem;
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .phone_contact .btn_phone .txt {
    text-shadow: -4px -1px 0 #000000, -4px 0px 0 #000000, -4px 1px 0 #000000, -3px -3px 0 #000000, -3px -2px 0 #000000, -3px -1px 0 #000000, -3px 0px 0 #000000, -3px 1px 0 #000000, -3px 2px 0 #000000, -3px 3px 0 #000000, -2px -3px 0 #000000, -2px -2px 0 #000000, -2px -1px 0 #000000, -2px 0px 0 #000000, -2px 1px 0 #000000, -2px 2px 0 #000000, -2px 3px 0 #000000, -1px -4px 0 #000000, -1px -3px 0 #000000, -1px -2px 0 #000000, -1px -1px 0 #000000, -1px 0px 0 #000000, -1px 1px 0 #000000, -1px 2px 0 #000000, -1px 3px 0 #000000, -1px 4px 0 #000000, 0px -4px 0 #000000, 0px -3px 0 #000000, 0px -2px 0 #000000, 0px -1px 0 #000000, 0px 0px 0 #000000, 0px 1px 0 #000000, 0px 2px 0 #000000, 0px 3px 0 #000000, 0px 4px 0 #000000, 1px -4px 0 #000000, 1px -3px 0 #000000, 1px -2px 0 #000000, 1px -1px 0 #000000, 1px 0px 0 #000000, 1px 1px 0 #000000, 1px 2px 0 #000000, 1px 3px 0 #000000, 1px 4px 0 #000000, 2px -3px 0 #000000, 2px -2px 0 #000000, 2px -1px 0 #000000, 2px 0px 0 #000000, 2px 1px 0 #000000, 2px 2px 0 #000000, 2px 3px 0 #000000, 3px -3px 0 #000000, 3px -2px 0 #000000, 3px -1px 0 #000000, 3px 0px 0 #000000, 3px 1px 0 #000000, 3px 2px 0 #000000, 3px 3px 0 #000000, 4px -1px 0 #000000, 4px 0px 0 #000000, 4px 1px 0 #000000;
    font-size: 10rem;
  }
}
.section_banner_contact .banner_contact .phone_contact .btn_phone:hover {
  filter: drop-shadow(0 0 0.5rem #3f46ed);
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact .mail_contact {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .mail_contact {
    margin-top: 5rem;
  }
}
.section_banner_contact .banner_contact .mail_contact a {
  display: block;
  text-decoration: none;
  margin: 0 auto;
  transition: 0.3s;
  filter: drop-shadow(0 0 3.5rem #1473a4);
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact .mail_contact a {
    width: 30rem;
    transform: translateX(5%);
  }
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .mail_contact a {
    width: 67rem;
  }
}
.section_banner_contact .banner_contact .mail_contact a .btn_wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ef101d;
  color: #fff;
  border-radius: 10rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact .mail_contact a .btn_wrap {
    padding: 0.5rem;
    height: 10rem;
    border: 0.2rem solid;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .mail_contact a .btn_wrap {
    border: 0.5rem solid;
    padding: 1.5rem;
    height: 19rem;
  }
}
.section_banner_contact .banner_contact .mail_contact a .btn_wrap:after {
  animation-delay: 300ms;
}
.section_banner_contact .banner_contact .mail_contact a:hover {
  filter: drop-shadow(0 0 3.5rem #ffff01);
}
.section_banner_contact .banner_contact .mail_contact a::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  position: absolute;
  z-index: 1;
  transform: translateX(-60%);
  left: 0;
  bottom: 0;
  background: url(../img/banner_contact_mail.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .section_banner_contact .banner_contact .mail_contact a::before {
    width: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .mail_contact a::before {
    width: 26rem;
  }
}
.section_banner_contact .banner_contact .mail_contact a .txt {
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
  font-size: 2.5rem;
}
@media screen and (min-width: 768px) {
  .section_banner_contact .banner_contact .mail_contact a .txt {
    font-size: 5rem;
  }
}
.section_banner_contact .banner_contact .mail_contact a .txt span {
  color: #ffff01;
}

@keyframes btn_info {
  0% {
    filter: drop-shadow(0 0 0.5rem #00a9ff);
  }
  50% {
    filter: drop-shadow(0 0 2.5rem #00a9ff);
  }
  100% {
    filter: drop-shadow(0 0 0.5rem #00a9ff);
  }
}
.section_apple {
  background: url(../img/apple_bg.png) top center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .section_apple {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1900px) {
  .section_apple {
    padding-top: 10rem;
  }
}
.section_apple .container {
  position: relative;
}
@media screen and (min-width: 768px) {
  .section_apple .container {
    padding-top: 5rem;
    padding-bottom: 19rem;
  }
}
.section_apple .apple_box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #e1f5ff;
  border-radius: 65rem;
  aspect-ratio: 1/1;
  filter: drop-shadow(0 0.4rem 3.5rem rgba(0, 169, 255, 0.75));
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box {
    padding-bottom: 2rem;
    padding-top: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box {
    width: 67rem;
    margin-left: auto;
    margin-right: 0;
    padding-top: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .section_apple .apple_box {
    margin-right: 5rem;
  }
}
.section_apple .apple_box:after {
  content: "";
  display: block;
  aspect-ratio: 50/75;
  position: absolute;
  background: url(../img/apple_img.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box:after {
    content: none;
    right: 0rem;
    bottom: 0;
    width: 15rem;
    transform: translateY(5rem) translateX(4rem);
    aspect-ratio: 1;
    background-size: cover;
    background-position: top right;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box:after {
    left: 0;
    bottom: 0;
    width: 50rem;
    transform: translateX(-95%) translateY(19rem);
  }
}
.section_apple .apple_box .tth2 {
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box .tth2 {
    font-size: 3rem;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .tth2 {
    margin-bottom: 3rem;
    font-size: 6.5rem;
  }
}
.section_apple .apple_box .tth2 .text_blue {
  color: #00a9ff;
}
.section_apple .apple_box .tth2 .txt_b {
  text-shadow: -4px -1px 0 #000, -4px 0px 0 #000, -4px 1px 0 #000, -3px -3px 0 #000, -3px -2px 0 #000, -3px -1px 0 #000, -3px 0px 0 #000, -3px 1px 0 #000, -3px 2px 0 #000, -3px 3px 0 #000, -2px -3px 0 #000, -2px -2px 0 #000, -2px -1px 0 #000, -2px 0px 0 #000, -2px 1px 0 #000, -2px 2px 0 #000, -2px 3px 0 #000, -1px -4px 0 #000, -1px -3px 0 #000, -1px -2px 0 #000, -1px -1px 0 #000, -1px 0px 0 #000, -1px 1px 0 #000, -1px 2px 0 #000, -1px 3px 0 #000, -1px 4px 0 #000, 0px -4px 0 #000, 0px -3px 0 #000, 0px -2px 0 #000, 0px -1px 0 #000, 0px 0px 0 #000, 0px 1px 0 #000, 0px 2px 0 #000, 0px 3px 0 #000, 0px 4px 0 #000, 1px -4px 0 #000, 1px -3px 0 #000, 1px -2px 0 #000, 1px -1px 0 #000, 1px 0px 0 #000, 1px 1px 0 #000, 1px 2px 0 #000, 1px 3px 0 #000, 1px 4px 0 #000, 2px -3px 0 #000, 2px -2px 0 #000, 2px -1px 0 #000, 2px 0px 0 #000, 2px 1px 0 #000, 2px 2px 0 #000, 2px 3px 0 #000, 3px -3px 0 #000, 3px -2px 0 #000, 3px -1px 0 #000, 3px 0px 0 #000, 3px 1px 0 #000, 3px 2px 0 #000, 3px 3px 0 #000, 4px -1px 0 #000, 4px 0px 0 #000, 4px 1px 0 #000;
  color: #ffff01;
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .tth2 .txt_b {
    text-shadow: -5px -1px 0 #000, -5px 0px 0 #000, -5px 1px 0 #000, -4px -3px 0 #000, -4px -2px 0 #000, -4px -1px 0 #000, -4px 0px 0 #000, -4px 1px 0 #000, -4px 2px 0 #000, -4px 3px 0 #000, -3px -4px 0 #000, -3px -3px 0 #000, -3px -2px 0 #000, -3px -1px 0 #000, -3px 0px 0 #000, -3px 1px 0 #000, -3px 2px 0 #000, -3px 3px 0 #000, -3px 4px 0 #000, -2px -4px 0 #000, -2px -3px 0 #000, -2px -2px 0 #000, -2px -1px 0 #000, -2px 0px 0 #000, -2px 1px 0 #000, -2px 2px 0 #000, -2px 3px 0 #000, -2px 4px 0 #000, -1px -5px 0 #000, -1px -4px 0 #000, -1px -3px 0 #000, -1px -2px 0 #000, -1px -1px 0 #000, -1px 0px 0 #000, -1px 1px 0 #000, -1px 2px 0 #000, -1px 3px 0 #000, -1px 4px 0 #000, -1px 5px 0 #000, 0px -5px 0 #000, 0px -4px 0 #000, 0px -3px 0 #000, 0px -2px 0 #000, 0px -1px 0 #000, 0px 0px 0 #000, 0px 1px 0 #000, 0px 2px 0 #000, 0px 3px 0 #000, 0px 4px 0 #000, 0px 5px 0 #000, 1px -5px 0 #000, 1px -4px 0 #000, 1px -3px 0 #000, 1px -2px 0 #000, 1px -1px 0 #000, 1px 0px 0 #000, 1px 1px 0 #000, 1px 2px 0 #000, 1px 3px 0 #000, 1px 4px 0 #000, 1px 5px 0 #000, 2px -4px 0 #000, 2px -3px 0 #000, 2px -2px 0 #000, 2px -1px 0 #000, 2px 0px 0 #000, 2px 1px 0 #000, 2px 2px 0 #000, 2px 3px 0 #000, 2px 4px 0 #000, 3px -4px 0 #000, 3px -3px 0 #000, 3px -2px 0 #000, 3px -1px 0 #000, 3px 0px 0 #000, 3px 1px 0 #000, 3px 2px 0 #000, 3px 3px 0 #000, 3px 4px 0 #000, 4px -3px 0 #000, 4px -2px 0 #000, 4px -1px 0 #000, 4px 0px 0 #000, 4px 1px 0 #000, 4px 2px 0 #000, 4px 3px 0 #000, 5px -1px 0 #000, 5px 0px 0 #000, 5px 1px 0 #000;
  }
}
.section_apple .apple_box .detail {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box .detail {
    gap: 2rem;
    text-align: center;
    flex-direction: column;
  }
}
.section_apple .apple_box .detail .text {
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .detail .text {
    gap: 3.5rem;
    font-size: 2rem;
  }
}
.section_apple .apple_box .detail .text .stt {
  line-height: 1.2;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .detail .text .stt {
    font-size: 4rem;
  }
}
.section_apple .apple_box .detail .text .btn_info {
  display: inline-block;
  color: #000000;
  text-decoration: none;
  filter: drop-shadow(0 0 1.5rem #00a9ff);
  animation: btn_info 2s ease-out infinite;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box .detail .text .btn_info {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .detail .text .btn_info {
    font-size: 3.5rem;
  }
}
.section_apple .apple_box .detail .text .btn_info .btn_wrap {
  background-color: #ef101d;
  display: block;
  color: #fff;
  border-radius: 10rem;
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box .detail .text .btn_info .btn_wrap {
    border: 0.2rem solid #fff;
    padding: 1rem 3rem 1.2rem 3rem;
  }
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .detail .text .btn_info .btn_wrap {
    border: 0.4rem solid #fff;
    padding: 2.5rem 6.5rem;
  }
}
.section_apple .apple_box .detail .text .btn_info .btn_wrap:after {
  animation-delay: 500ms;
}
.section_apple .apple_box .detail .text .btn_info:hover {
  animation: none;
  filter: drop-shadow(0 0 1.5rem rgba(0, 169, 255, 0.85));
}
.section_apple .apple_box .detail img {
  display: block;
}
@media screen and (max-width: 767px) {
  .section_apple .apple_box .detail img {
    width: 20rem;
  }
}
@media screen and (min-width: 768px) {
  .section_apple .apple_box .detail img {
    width: 37.9rem;
  }
}

.section_deferred {
  background: #b6e6ff url(../img/deferred_bg.png) top center/80rem no-repeat;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .section_deferred {
    padding-top: 8rem;
    padding-bottom: 10rem;
  }
}
.section_deferred .deferred_wrap {
  padding: 2rem 0;
  position: relative;
}
.section_deferred .deferred_detail {
  text-align: center;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .section_deferred .deferred_detail {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_deferred .deferred_detail {
    font-size: 2rem;
  }
}
.section_deferred .deferred_detail p {
  margin-bottom: 0.75em;
}
.section_deferred .deferred_imgs {
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  .section_deferred .deferred_imgs {
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .section_deferred .deferred_imgs {
    margin-top: 9rem;
  }
}
.section_deferred .deferred_imgs .img {
  aspect-ratio: 1/1;
  display: block;
  background: center/contain no-repeat;
  text-indent: -1000vw;
  border-radius: 100%;
}
.section_deferred .deferred_imgs .img:not(:nth-child(2)) {
  position: absolute;
}
.section_deferred .deferred_imgs .img:nth-child(1) {
  bottom: 0;
  left: 0;
  background-image: url(../img/deferred1.png);
}
@media screen and (max-width: 767px) {
  .section_deferred .deferred_imgs .img:nth-child(1) {
    width: 10rem;
    transform: translateY(-40%);
  }
}
@media screen and (min-width: 768px) {
  .section_deferred .deferred_imgs .img:nth-child(1) {
    width: 24.2rem;
    transform: translateX(55%) translateY(-60%);
  }
}
.section_deferred .deferred_imgs .img:nth-child(2) {
  margin: 0 auto;
  background-image: url(../img/deferred2.png);
}
@media screen and (max-width: 767px) {
  .section_deferred .deferred_imgs .img:nth-child(2) {
    width: 12rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .section_deferred .deferred_imgs .img:nth-child(2) {
    width: 30.3rem;
  }
}
.section_deferred .deferred_imgs .img:nth-child(3) {
  bottom: 0;
  right: 0;
  background-image: url(../img/deferred3.png);
  transform: translateX(-55%) translateY(-45%);
}
@media screen and (max-width: 767px) {
  .section_deferred .deferred_imgs .img:nth-child(3) {
    width: 10rem;
    transform: translateY(-30%);
  }
}
@media screen and (min-width: 768px) {
  .section_deferred .deferred_imgs .img:nth-child(3) {
    width: 25.6rem;
  }
}

.section_step {
  padding: 5rem 1.5rem;
  background-color: #09a2f6;
}
@media screen and (min-width: 768px) {
  .section_step {
    padding: 11rem 3rem;
    background: url(../img/step_bg.png) top center/cover repeat-x;
  }
}
.section_step .container {
  background-color: #ffffff;
  padding-top: 3rem;
  padding-bottom: 4rem;
  border-radius: 2.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .section_step .container {
    padding: 5rem;
    padding-bottom: 9rem;
    border-radius: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_step .container:after {
    content: "";
    aspect-ratio: 45/68;
    background: url(../img/step_layer.png) center/contain no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
    display: block;
    width: 30rem;
    transform: translateX(calc(100% - 5rem)) translateY(11rem);
  }
}
@media screen and (min-width: 1900px) {
  .section_step .container:after {
    width: 45rem;
  }
}
.section_step .step_title {
  background-color: #00a9ff;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding-bottom: 0.15em;
}
@media screen and (max-width: 767px) {
  .section_step .step_title {
    font-size: 2.4rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding: 1rem 0;
    border-radius: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_step .step_title {
    font-size: 4.5rem;
    margin-top: 4rem;
    margin-bottom: 4rem;
    border-radius: 3.5rem;
  }
}
.section_step .step_title span {
  color: #ffff01;
}
.section_step .steps {
  display: flex;
  margin-left: -1rem;
  margin-right: -1rem;
}
@media screen and (max-width: 767px) {
  .section_step .steps {
    flex-direction: column;
    gap: 2rem;
  }
}
.section_step .steps .step {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .section_step .steps .step {
    width: 33.3333333333%;
  }
}
.section_step .steps .step .step_inn {
  height: 100%;
  border-radius: 2.5rem;
  border-radius: 2.5rem;
  position: relative;
  overflow: hidden;
}
.section_step .steps .step .step_inn::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #e1f5ff;
}
@media screen and (max-width: 767px) {
  .section_step .steps .step .step_inn::after {
    bottom: 0;
    right: 0;
    width: 30%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .section_step .steps .step .step_inn::after {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
  }
}
@media screen and (max-width: 767px) {
  .section_step .steps .step .step_inn {
    display: flex;
    gap: 1rem;
    border-radius: 1.5rem;
  }
}
.section_step .steps .step .step_inn .step_top {
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .section_step .steps .step .step_inn .step_top {
    width: 10rem;
    padding-right: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.section_step .steps .step .step_inn .step_top .num {
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .section_step .steps .step .step_inn .step_top .num {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .section_step .steps .step .step_inn .step_top .num {
    font-size: 4rem;
  }
}
.section_step .steps .step .step_inn .step_top::after {
  content: "";
  display: block;
  margin: 2rem auto;
  width: 100%;
  background: center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .section_step .steps .step .step_inn .step_top::after {
    margin: 0 auto;
    margin-top: 1rem;
    height: 9.7rem;
  }
}
@media screen and (min-width: 768px) {
  .section_step .steps .step .step_inn .step_top::after {
    height: 22rem;
  }
}
.section_step .steps .step .step_inn .step_top.step1::after {
  background-image: url(../img/step01.png);
}
.section_step .steps .step .step_inn .step_top.step2::after {
  background-image: url(../img/step02.png);
}
.section_step .steps .step .step_inn .step_top.step3::after {
  background-image: url(../img/step03.png);
}
.section_step .steps .step .step_inn .detail {
  color: #000;
  background-color: #e1f5ff;
}
@media screen and (max-width: 767px) {
  .section_step .steps .step .step_inn .detail {
    width: calc(100% - 11rem);
    padding: 1.5rem 0.5rem;
    border-radius: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_step .steps .step .step_inn .detail {
    padding: 3rem 1.5rem;
    border-radius: 2.5rem;
  }
}
.section_step .steps .step .step_inn .detail h3 {
  font-weight: bold;
  color: #00a9ff;
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .section_step .steps .step .step_inn .detail h3 {
    font-size: 3rem;
    height: 2.6em;
  }
}
.section_step .steps .step .step_inn .detail P {
  line-height: 1.666;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .section_step .steps .step .step_inn .detail P {
    font-size: 1.8rem;
  }
}

.rate_section {
  padding-top: 11rem;
  padding-bottom: 12rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .rate_section {
    padding: 5rem 0;
  }
}
.rate_section .rate_table {
  margin-top: 5rem;
  /* 
  margin-bottom: 6rem; */
  display: flex;
  border-radius: 1.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .rate_section .rate_table::before {
    content: "";
    aspect-ratio: 20/27;
    background: url(../img/rate_layer.png) center/contain no-repeat;
    pointer-events: none;
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    width: 18rem;
    transform: translateY(12rem) translateX(12rem);
  }
}
.rate_section .rate_table table {
  width: 100%;
  border-collapse: collapse;
}
.rate_section .rate_table table thead tr th {
  background-color: #00a9ff;
  color: #ffff01;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .rate_section .rate_table table thead tr th {
    font-size: 1.4rem;
    padding: 1rem 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .rate_section .rate_table table thead tr th {
    font-size: 2rem;
    padding: 2rem 1rem;
  }
}
.rate_section .rate_table table tbody strong {
  display: block;
  font-weight: 900;
  color: #000;
}
@media screen and (max-width: 767px) {
  .rate_section .rate_table table tbody strong {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 768px) {
  .rate_section .rate_table table tbody strong {
    font-size: 3.5rem;
  }
}
.rate_section .rate_table table tbody tr th {
  background-color: #a0e9ff;
  border-bottom: 0.2rem solid #fff;
  padding: 1rem 0.5rem;
}
.rate_section .rate_table table tbody tr th strong {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .rate_section .rate_table table tbody tr th strong {
    font-size: 2.6rem;
  }
}
.rate_section .rate_table table tbody tr td {
  border-bottom: 0.2rem solid #fff;
  text-align: center;
  font-weight: 500;
  color: #00a9ff;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .rate_section .rate_table table tbody tr td {
    font-size: 1.4rem;
    padding: 1rem 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .rate_section .rate_table table tbody tr td {
    width: 30%;
    font-size: 1.8rem;
    padding: 2rem 1rem;
  }
}
.rate_section .rate_table table tbody tr td:nth-child(2) {
  background-color: #cdf5fd;
}
.rate_section .rate_table table tbody tr td:nth-child(3) {
  background-color: #ffffd6;
}
@media screen and (max-width: 767px) {
  .rate_section .rate_table table tbody tr.txt_small td strong {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .rate_section .rate_table table tbody tr.txt_small td strong {
    font-size: 2rem;
  }
}
.rate_section .rate_banner {
  background: #cfd9ff;
  font-weight: 800;
  position: relative;
  overflow: hidden;
}
.rate_section .rate_banner::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 8rem;
  aspect-ratio: 215/275;
  width: 21.5rem;
  background: url(../img/rate_banner.png) top right/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .rate_section .rate_banner::after {
    width: 10rem;
    right: 0;
  }
}
.rate_section .rate_banner .ttl {
  background-color: #00a9ff;
  color: #fff;
  padding: 1rem 10rem;
  font-size: 5.5rem;
  text-indent: 0.5rem;
  line-height: 1.15;
}
@media screen and (max-width: 767px) {
  .rate_section .rate_banner .ttl {
    padding: 1rem 1rem;
    font-size: 2rem;
  }
}
.rate_section .rate_banner .ttl span {
  color: #ffff01;
}
.rate_section .rate_banner .percent {
  text-shadow: -4px -1px 0 #ffff01, -4px 0px 0 #ffff01, -4px 1px 0 #ffff01, -3px -3px 0 #ffff01, -3px -2px 0 #ffff01, -3px -1px 0 #ffff01, -3px 0px 0 #ffff01, -3px 1px 0 #ffff01, -3px 2px 0 #ffff01, -3px 3px 0 #ffff01, -2px -3px 0 #ffff01, -2px -2px 0 #ffff01, -2px -1px 0 #ffff01, -2px 0px 0 #ffff01, -2px 1px 0 #ffff01, -2px 2px 0 #ffff01, -2px 3px 0 #ffff01, -1px -4px 0 #ffff01, -1px -3px 0 #ffff01, -1px -2px 0 #ffff01, -1px -1px 0 #ffff01, -1px 0px 0 #ffff01, -1px 1px 0 #ffff01, -1px 2px 0 #ffff01, -1px 3px 0 #ffff01, -1px 4px 0 #ffff01, 0px -4px 0 #ffff01, 0px -3px 0 #ffff01, 0px -2px 0 #ffff01, 0px -1px 0 #ffff01, 0px 0px 0 #ffff01, 0px 1px 0 #ffff01, 0px 2px 0 #ffff01, 0px 3px 0 #ffff01, 0px 4px 0 #ffff01, 1px -4px 0 #ffff01, 1px -3px 0 #ffff01, 1px -2px 0 #ffff01, 1px -1px 0 #ffff01, 1px 0px 0 #ffff01, 1px 1px 0 #ffff01, 1px 2px 0 #ffff01, 1px 3px 0 #ffff01, 1px 4px 0 #ffff01, 2px -3px 0 #ffff01, 2px -2px 0 #ffff01, 2px -1px 0 #ffff01, 2px 0px 0 #ffff01, 2px 1px 0 #ffff01, 2px 2px 0 #ffff01, 2px 3px 0 #ffff01, 3px -3px 0 #ffff01, 3px -2px 0 #ffff01, 3px -1px 0 #ffff01, 3px 0px 0 #ffff01, 3px 1px 0 #ffff01, 3px 2px 0 #ffff01, 3px 3px 0 #ffff01, 4px -1px 0 #ffff01, 4px 0px 0 #ffff01, 4px 1px 0 #ffff01;
  padding: 0 10rem;
  padding-bottom: 1rem;
  line-height: 1.15;
  color: #000;
  font-size: 10rem;
  letter-spacing: 0.05em;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
}
@media screen and (max-width: 767px) {
  .rate_section .rate_banner .percent {
    padding: 1rem 1rem;
    font-size: 3rem;
  }
}
.rate_section .rate_banner .percent span {
  color: #ff0211;
}

.section_faq {
  background: url(../img/faq_bg.png) top center/cover repeat-x;
  padding-top: 11rem;
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .section_faq {
    padding: 5rem 1rem;
  }
}
.section_faq .container {
  background-color: #ffffff;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
  padding: 5rem 1rem;
  border-radius: 2.5rem;
}
@media screen and (min-width: 768px) {
  .section_faq .container {
    padding: 8rem 7rem;
    border-radius: 5rem;
  }
}
.section_faq .faqs {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.section_faq .faqs .faq {
  font-size: 1.8rem;
}
.section_faq .faqs .faq .question {
  display: flex;
  align-items: end;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .question {
    gap: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .question {
    gap: 2rem;
  }
}
.section_faq .faqs .faq .question::before {
  content: "?";
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #00a9ff;
  color: #fff;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0.8;
  padding-bottom: 0.01em;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .question::before {
    width: 4rem;
    font-size: 3rem;
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .question::before {
    width: 8rem;
    font-size: 6rem;
  }
}
.section_faq .faqs .faq .question .question_box {
  cursor: pointer;
  background-color: #cbedff;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .question .question_box {
    padding: 1rem;
    padding-right: 0.5rem;
    width: calc(100% - 5rem);
  }
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .question .question_box {
    padding: 2.5rem 4rem;
    padding-right: 2rem;
    width: calc(100% - 10rem);
  }
}
.section_faq .faqs .faq .question .question_box::before {
  content: "";
  aspect-ratio: 1/1;
  width: 5rem;
  background: url(../img/faq_question.png) bottom center/contain no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateX(-60%);
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .question .question_box::before {
    width: 3rem;
  }
}
.section_faq .faqs .faq .question .question_box .txt {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .question .question_box .txt {
    font-size: 1.4rem;
    padding-right: 2.5rem;
  }
}
.section_faq .faqs .faq .question .question_box .txt span {
  font-weight: bold;
  color: #00a9ff;
}
.section_faq .faqs .faq .question .question_box .txt::before {
  content: "Q";
  aspect-ratio: 1/1;
  width: 2.4rem;
  border-radius: 100%;
  background-color: #ffff01;
  color: #000;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}
.section_faq .faqs .faq .question .question_box .txt::after {
  content: "+";
  background-color: #00a9ff;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  color: #fff;
  height: 2.5rem;
  padding-bottom: 0.05em;
  line-height: 0.8;
  font-size: 2rem;
  font-weight: bold;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.section_faq .faqs .faq .answer {
  display: none;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .answer {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .answer {
    margin-top: 4rem;
  }
}
.section_faq .faqs .faq .answer .answer_wrap {
  display: flex;
  align-items: end;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .answer .answer_wrap::after {
    content: "";
    aspect-ratio: 1/1;
    border-radius: 100%;
    background: url(../img/faq_answer.png) bottom center/contain no-repeat;
    transform: translateY(-10%);
    width: 9.3rem;
  }
}
.section_faq .faqs .faq .answer .answer_wrap .answer_box {
  cursor: pointer;
  background-color: #fffff3;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
  padding-right: 2rem;
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .answer .answer_wrap .answer_box {
    width: 100%;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .answer .answer_wrap .answer_box {
    width: calc(100% - 10rem);
    padding: 2.5rem 6rem;
  }
}
@media screen and (min-width: 768px) {
  .section_faq .faqs .faq .answer .answer_wrap .answer_box::after {
    content: "";
    aspect-ratio: 110/55;
    width: 11rem;
    background: url(../img/faq_answer_icon.png) bottom center/contain no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateX(40%);
  }
}
.section_faq .faqs .faq .answer .answer_wrap .answer_box .txt {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .answer .answer_wrap .answer_box .txt {
    font-size: 1.4rem;
    gap: 0.5rem;
  }
}
.section_faq .faqs .faq .answer .answer_wrap .answer_box .txt p {
  width: calc(100% - 3rem);
}
.section_faq .faqs .faq .answer .answer_wrap .answer_box .txt::before {
  content: "A";
  aspect-ratio: 1/1;
  width: 2.4rem;
  border-radius: 100%;
  background-color: #00a9ff;
  color: #fff;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .section_faq .faqs .faq .answer .answer_wrap .answer_box .txt::before {
    width: 2.6rem;
  }
}
.section_faq .faqs .faq.show .answer {
  display: block;
}

.section_company {
  background: url(../img/company_bg.png) top center/cover repeat-x;
  padding-top: 10rem;
  padding-bottom: 5rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .section_company {
    padding: 5rem 1rem;
    background-repeat: repeat-y;
    background-size: contain;
  }
}
@media screen and (min-width: 768px) {
  .section_company::after {
    content: "";
    aspect-ratio: 6/8;
    background: url(../img/company_layer.png) center/contain no-repeat;
    position: absolute;
    bottom: 0;
    right: 50%;
    display: block;
    width: 50rem;
    transform: translateX(80rem);
  }
}
@media screen and (min-width: 1900px) {
  .section_company::after {
    width: 60rem;
    transform: translateX(100rem);
  }
}
.section_company .company_wrap {
  background-color: #e1f5ff;
  position: relative;
  filter: drop-shadow(0 0 1.5rem rgba(0, 0, 0, 0.25));
}
@media screen and (max-width: 767px) {
  .section_company .company_wrap {
    padding: 4rem 1rem;
    border-radius: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_company .company_wrap {
    padding: 6rem 7rem;
    border-radius: 5rem;
  }
}
.section_company .section_title {
  margin-bottom: 5rem;
}
.section_company .section_title h2 {
  margin-bottom: 4rem;
}
.section_company .section_title p {
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .section_company .section_title p {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_company .section_title p {
    font-size: 5rem;
  }
}
.section_company .company_info {
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
.section_company .company_info a {
  color: #000;
}
.section_company .company_info dl {
  display: flex;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .section_company .company_info dl {
    font-size: 1.4rem;
  }
}
.section_company .company_info dl:not(:last-child) {
  border-bottom: 0.1rem solid #6e6e6e;
}
.section_company .company_info dl dt,
.section_company .company_info dl dd {
  margin: 0;
  padding: 1.5rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .section_company .company_info dl dt,
  .section_company .company_info dl dd {
    padding: 3rem 2.5rem;
  }
}
.section_company .company_info dl dt {
  background-color: rgba(0, 169, 255, 0.1);
}
@media screen and (max-width: 767px) {
  .section_company .company_info dl dt {
    width: 10rem;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .section_company .company_info dl dt {
    width: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .section_company .company_info dl dd {
    width: calc(100% - 10rem);
    padding: 1.5rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .section_company .company_info dl dd {
    width: calc(100% - 15rem);
    padding: 3rem 2.5rem;
    padding-left: 6rem;
  }
}

.modal {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: opacity 0.3s;
}
.modal.show {
  visibility: visible;
  opacity: 1;
}
.modal .modal-layer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.6588235294);
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
}
.modal .modal-close {
  font: inherit;
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  z-index: 2;
  cursor: pointer;
  display: flex;
  align-items: center;
  background-color: #fff;
  box-shadow: 0.1rem 0.3rem 0.6rem #1d46d2;
  padding: 0.7rem 1ren;
  transition: all 0.25s;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .modal .modal-close {
    right: -0.5rem;
  }
  .modal .modal-close svg {
    width: 2.8rem;
  }
}
.modal .modal-close:hover {
  filter: drop-shadow(0 0 1rem rgba(6, 37, 158, 0.85));
}
.modal .modal-close .circle-close {
  width: 18rem;
}
.modal .modal-wrap {
  position: relative;
  z-index: 3;
  max-height: 90dvh;
  background: #fff;
  width: 90%;
  max-width: 80rem;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 1rem;
  padding: 0.5rem;
}
.modal .modal-wrap .modal-content {
  max-height: 89dvh;
  overflow: auto;
  background-color: #fff;
  /* width */
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.modal .modal-wrap .modal-content::-webkit-scrollbar {
  width: 0.4rem;
}
.modal .modal-wrap .modal-content::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.modal .modal-wrap .modal-content::-webkit-scrollbar-thumb {
  background: #06259e;
}
.modal .modal-wrap .modal-content::-webkit-scrollbar-thumb:hover {
  background: rgba(6, 37, 158, 0.5);
}
@media screen and (max-width: 767px) {
  .modal .modal-wrap .modal-content {
    padding: 5rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .modal .modal-wrap .modal-content {
    padding: 5rem 5rem;
  }
}

.modal-content {
  text-align: center;
  font-weight: 700;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .modal-content {
    font-size: 2rem;
  }
}
.modal-content p {
  margin-bottom: 0.75em;
}
.modal-content .text_red {
  color: #ff0000;
}

@media screen and (max-width: 767px) {
  #modal-apple .modal-wrap .modal-content {
    padding: 3rem 0rem;
  }
}
@media screen and (min-width: 768px) {
  #modal-apple .modal-wrap .modal-content {
    padding: 3rem 5rem;
  }
}
#modal-apple .apple-title {
  text-align: center;
  color: #06259e;
  font-weight: 900;
  margin-bottom: 1em;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  #modal-apple .apple-title {
    font-size: 3.4rem;
  }
}
#modal-apple .apple-content {
  text-align: center;
  font-weight: 700;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  #modal-apple .apple-content {
    font-size: 2rem;
  }
}
#modal-apple .apple-content p {
  margin-bottom: 0.75em;
}
#modal-apple .apple-content .text_red {
  color: #ff0000;
}

/** modal**/
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  z-index: 990;
}

.modal-window {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 84rem;
  max-width: calc(100% - 2rem);
  z-index: 1002;
  max-height: 96dvh;
  border: 0.3rem #272b8e solid;
  border-radius: 1.6rem;
  background-color: #fff;
  padding: 2rem 0.5rem;
}
.modal-window a {
  text-decoration: none;
  transition: 0.3s;
}
.modal-window a:hover {
  filter: drop-shadow(0 0 1rem #000);
}

.modal-window .modal-body {
  padding: 1.2rem 3rem;
  max-height: 87dvh;
  overflow: auto;
  /* width */
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.modal-window .modal-body::-webkit-scrollbar {
  width: 0.4rem;
}
.modal-window .modal-body::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.modal-window .modal-body::-webkit-scrollbar-thumb {
  background: #06259e;
}
.modal-window .modal-body::-webkit-scrollbar-thumb:hover {
  background: rgba(6, 37, 158, 0.5);
}
@media screen and (min-width: 768px) {
  .modal-window .modal-body {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 76.7rem) {
  .modal-window {
    padding-top: 4.5rem;
  }
  .modal-window .modal-body {
    padding: 0;
  }
}
.circle-close {
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  z-index: 2;
  cursor: pointer;
  display: flex;
  align-items: center;
  background-color: #fff;
  box-shadow: 0.1rem 0.3rem 0.6rem #1d46d2;
  padding: 0.7rem 1rem;
  transition: all 0.25s;
  border-radius: 1rem;
}

.circle-close-text {
  font-weight: bold;
  font-size: 1.8rem;
  padding-top: 0.3rem;
  color: #000 !important;
}

.circle-close-icon {
  width: 4.2rem;
  height: 3.2rem;
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 0.2rem solid #bababa;
}

.circle-close-icon svg {
  width: 100%;
  height: auto;
}

.circle-close-icon svg g {
  transform: rotateZ(45deg);
  transform-origin: 50%;
  stroke: #000;
  transition: stroke 0.25s ease-in-out;
}

@media screen and (max-width: 76.7rem) {
  .circle-close {
    top: -1rem;
    right: -0.5rem;
  }
}
.modal-title {
  text-align: center;
  color: #06259e;
  font-weight: 900;
  margin-bottom: 1em;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .modal-title {
    font-size: 3.4rem;
  }
}

.text1 {
  margin: 2rem auto 2.5rem;
  color: #ff6b00;
  font-weight: 800;
  font-size: 2.2rem;
}

@media screen and (max-width: 76.7rem) {
  .text1 {
    font-size: 1.8rem;
  }
}
.thanks3-tel {
  margin: 1em 0;
}

.thanks3-tel .number {
  font-size: 3.3rem;
  line-height: 4.8rem;
  font-weight: bold;
  padding: 0 3rem;
  padding-top: 0.6rem;
  background: #1d46d2;
  color: #fff;
  border-radius: 1.6rem;
  display: inline-block;
}

.number-wrap {
  margin: 0.4em 0;
  text-align: center;
}

.oct {
  display: flex;
  gap: 2rem 4rem;
  justify-content: center;
  margin: 1em 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .oct {
    flex-direction: column;
    align-items: center;
  }
}

.oct2 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.oct-title {
  text-align: center;
  font-weight: bold;
}

.oct .btn {
  max-width: 100%;
  padding: 0.8rem 1.5rem;
  color: #fff;
  width: 27.5rem;
  font-weight: 700;
  font-size: 2rem;
  border-radius: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1d46d2;
  margin: 0.2em 0;
  text-decoration: none;
  transition: 0.3s;
}
.oct .btn:hover {
  filter: drop-shadow(0 0 1rem #1d46d2);
}

.oct-line .btn {
  background-color: #00b900;
}
.oct-line .btn:hover {
  filter: drop-shadow(0 0 1rem #00b900);
}

.oct-phone .btn {
  background-color: #1d46d2;
}
.oct-phone .btn:hover {
  filter: drop-shadow(0 0 1rem #1d46d2);
}

.oct-line .oct-title {
  color: #00b900;
}

.oct-mail .oct-title {
  color: #1d46d2;
}

.oct-phone .oct-title {
  color: #000;
}

.icon-email {
  display: inline-block;
  position: relative;
  width: 3rem;
  height: 3rem;
  background: url(../img/icon-email.svg) no-repeat center/contain;
  margin-right: 1rem;
}

.icon-line {
  display: inline-block;
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  background: url(../img/line-icon.svg) no-repeat center/contain;
  margin-right: 1rem;
}

.icon-phone {
  display: inline-block;
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  background: url(../img/icon-phone.svg) no-repeat center/contain;
  margin-right: 1rem;
  position: relative;
  top: 0.3rem;
}/*# sourceMappingURL=style.css.map */