.banner-page {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.banner-page img {
  width: 100%;
  height: 35rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.banner-page .banner-page-title {
  padding: 0.6rem 3rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 2;
  background-color: #e26278;
  letter-spacing: 0.4rem;
  line-height: 1.5;
  font-weight: 500;
  font-size: 3.2rem;
  text-align: center;
  color: #fff;
  max-width: 50rem;
  width: -moz-max-content;
  width: max-content;
}

.brecum-page-ul {
  font-size: max(1.4rem, 12px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 1.3rem;
       column-gap: 1.3rem;
  color: #e26278;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.brecum-page-ul .icon {
  width: 0.7rem;
  height: 0.7rem;
  border-top: 1px solid #1f1b1c;
  border-right: 1px solid #1f1b1c;
  transform: rotate(45deg);
}
.brecum-page-ul a {
  color: #1f1b1c;
  transition: all 0.3s ease-in-out;
}
.brecum-page-ul a:hover {
  color: #e26278;
}

.cont-1200 {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
}

.under-list-ul {
  font-size: 1.6rem;
  letter-spacing: 0.3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  border: max(0.2rem, 1px) solid #e26278;
  border-radius: 1rem;
  padding: 1.8rem 4rem 3.8rem;
  background-color: #fff;
  line-height: 1.4;
}
.under-list-ul a {
  padding-left: 0.3rem;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  padding-right: 3.5rem;
  min-height: 5.6rem;
  display: flex;
  align-items: center;
  position: relative;
  border-bottom: 1px solid #cec9c6;
  transition: all 0.3s ease-in-out;
}
.under-list-ul a:before {
  content: "";
  position: absolute;
  width: max(1rem, 8px);
  height: max(1rem, 8px);
  background: #e26278;
  -webkit-mask: url("../img/common/icon_arrow.svg") center/100% no-repeat;
          mask: url("../img/common/icon_arrow.svg") center/100% no-repeat;
  top: 50%;
  right: 0.7rem;
  transform: translateY(-50%);
}
.under-list-ul a:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  transition: all 0.5s ease-in-out;
  background-color: #e26278;
}
@media screen and (min-width: 768px) {
  .under-list-ul a:hover {
    color: #e26278;
    padding-left: 0.7rem;
  }
  .under-list-ul a:hover:after {
    width: 100%;
  }
  .under-list-ul a:hover:before {
    animation: arrowMove 0.6s ease 0s 1 both;
  }
}

.setting-title h3 {
  letter-spacing: 0.5rem;
  line-height: 1.45;
  text-align: center;
  font-weight: 500;
  font-size: 3.2rem;
  margin-bottom: 5.6rem;
  position: relative;
}
.setting-title h3:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 8rem;
  height: max(0.2rem, 2px);
  background-color: #e26278;
}

.setting-title h2 {
  letter-spacing: 0.5rem;
  line-height: 1.45;
  text-align: center;
  font-weight: 500;
  font-size: 4rem;
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 767px) {
  .setting-title h2 {
    font-size: 3rem;
    margin-bottom: 3.3rem;
  }
}

.setting-title h5 {
  letter-spacing: 0.5rem;
  line-height: 1.45;
  font-weight: 500;
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  background-color: #e26278;
  color: #fff;
  padding: 1rem 1.5rem;
  border-bottom: max(0.4rem, 2px) solid #f1b9b3;
}
@media screen and (max-width: 767px) {
  .setting-title h5 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}

.setting-title h6 {
  letter-spacing: 0.5rem;
  line-height: 1.45;
  font-weight: 500;
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.setting-title h6:before {
  content: "";
  display: block;
  width: 2rem;
  height: max(0.4rem, 2px);
  background-color: #e26278;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .setting-title h6 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}

.pt {
  padding-top: 7.6rem;
}

.pb {
  padding-bottom: 10rem;
}

.default-txt {
  font-size: 1.7rem;
  line-height: 2.3;
  letter-spacing: 0.2rem;
}
.default-txt a {
  text-decoration: underline;
  color: #e26278;
}
@media screen and (min-width: 768px) {
  .default-txt a:hover {
    text-decoration: none;
  }
}

.endoscopy {
  display: grid;
  grid-template-columns: 61.9% 34.2%;
  justify-content: space-between;
  align-items: flex-start;
}
.endoscopy .endoscopy__image img {
  border-radius: 1.5rem;
}

.setting-title h4 {
  font-size: 2.2rem;
  padding-left: 3rem;
  padding-bottom: 2rem;
  border-bottom: max(0.2rem, 1px) solid #e26278;
  margin-bottom: 2.2rem;
  margin-top: 6.8rem;
  position: relative;
  line-height: 1.45;
  letter-spacing: 0.3rem;
}
.setting-title h4:before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2rem;
  left: 0.5rem;
  width: 0.5rem;
  height: 3rem;
  z-index: 1;
  background: #e26278;
}

.m_kakomi__checklist {
  font-size: 1.6rem;
  letter-spacing: 0.15rem;
  line-height: 2;
  display: grid;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.4rem;
  grid-template-columns: 1fr 1fr;
}
.m_kakomi__checklist li {
  padding-left: 3.4rem;
  background-image: url(../img/common/icon_check.svg);
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: top 0.8rem left 0.1rem;
}
.m_kakomi__checklist li a {
  text-decoration: underline;
  color: #e26278;
}
@media screen and (min-width: 768px) {
  .m_kakomi__checklist li a:hover {
    text-decoration: none;
  }
}

.m_kakomi {
  background: rgba(66, 62, 62, 0.08);
  border-radius: 1rem;
  padding: 6rem 5rem;
}

.m_kakomi__alltext--pt {
  margin-top: 1.7rem;
}
.m_kakomi__alltext--pt li + li {
  margin-top: 1.7rem;
}

.m_kakomi__checklist--3col {
  grid-template-columns: 1fr 1fr 1fr;
}

.setting-mgt0 {
  margin-top: 0 !important;
}

.m_kakomi02 {
  padding: 3rem 3rem 4rem;
  margin-top: 3rem;
  background-color: rgba(66, 62, 62, 0.08);
  border-radius: 1rem;
}

.m_kakomi02_box-stiker {
  font-size: 1.7rem;
  padding: 0.3em 0.5em 0.3em;
  margin-bottom: 1.9rem;
  background-color: #e26278;
  color: #fff;
  display: inline-block;
  letter-spacing: 0.2rem;
  line-height: 1.45;
}

.default-txt-mini {
  font-size: max(1.4rem, 10px);
  line-height: 2;
}

.m_kakomi02-img {
  padding-top: 1.4rem;
}

.m_kakomi02-img img {
  border-radius: 2rem;
  width: 100%;
}

.m_kakomi02-txt-vs-img {
  display: grid;
  grid-template-columns: 1fr 36.36%;
  -moz-column-gap: 5.8%;
       column-gap: 5.8%;
}

.m_kakomi02_box_list li + li {
  margin-top: 2.9rem;
  padding-top: 3rem;
  border-top: 1px dashed #cec9c6;
}

.import-youtube iframe {
  width: 100%;
  height: 49.7rem;
}

.m_flow {
  padding-left: 2rem;
  margin-top: 6.5rem;
}
.m_flow h2, .m_flow h3, .m_flow h4, .m_flow h5, .m_flow h6 {
  margin-top: 0 !important;
}
.m_flow li {
  border-radius: 2rem;
  padding: 3.9rem 6rem 6rem;
  border: 2px solid #cec9c6;
  position: relative;
}
.m_flow li + li {
  margin-top: 6.5rem;
}
.m_flow li + li:before {
  content: "";
  position: absolute;
  width: 2rem;
  height: 1.5rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: #e26278;
  left: 50%;
  transform: translateX(-50%);
  top: -4rem;
}

.tlt-style-line {
  font-size: 2.2rem;
  padding-bottom: 1.3rem;
  border-bottom: 2px solid #e26278;
  margin-bottom: 3.2rem;
  line-height: 1.45;
  letter-spacing: 0.15rem;
}

.m_flow_step {
  width: 8rem;
  height: 8rem;
  top: -3.7rem;
  left: -2.2rem;
  padding-top: 1rem;
  font-size: 1.4rem;
  position: absolute;
  text-align: center;
  border-radius: 100rem;
  background-color: #e26278;
  color: #fff;
  letter-spacing: 0.2rem;
}
.m_flow_step span {
  font-size: 3rem;
  line-height: 1;
}

.m_flow-img {
  padding-top: 1.4rem;
}

.m_flow-img img {
  width: 100%;
  border-radius: 2rem;
}

.m_flow-txt-vs-img {
  display: grid;
  grid-template-columns: 1fr 39.7%;
  -moz-column-gap: 6.1%;
       column-gap: 6.1%;
}

@keyframes arrowMove {
  0% {
    opacity: 1;
    transform: translate(0%, -50%);
  }
  50% {
    opacity: 0;
    transform: translate(120%, -50%);
  }
  64% {
    opacity: 0;
    transform: translate(-120%, -50%);
  }
  100% {
    opacity: 1;
    transform: translate(0%, -50%);
  }
}
@media (max-width: 767px) {
  .banner-page img {
    height: 25rem;
    -o-object-position: left center;
       object-position: left center;
  }
  .banner-page .banner-page-title {
    padding: 0.6rem 1.5rem;
    font-size: 1.9rem;
    max-width: 30rem;
    top: 61%;
  }
  .brecum-page-ul {
    font-size: 1.2rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .under-list-ul {
    font-size: 1.3rem;
    letter-spacing: 0.2rem;
    display: block;
    border: 0.1rem solid #e26278;
    padding-left: 1.8rem;
    padding-top: 1.3rem;
    padding-bottom: 2.5rem;
    padding-right: 1.8rem;
  }
  .under-list-ul a {
    min-height: 4.4rem;
    padding-left: 0.5rem;
    padding-top: 0.7rem;
    padding-right: 3rem;
    padding-bottom: 0.7rem;
    border-bottom: 0.1rem solid #cec9c6;
  }
  .under-list-ul a:before {
    width: 0.8rem;
    height: 0.8rem;
    right: 0.6rem;
  }
  .under-list-ul a:after {
    bottom: -0.1rem;
    height: 0.1rem;
  }
  .setting-title h3 {
    font-size: 2.2rem;
    margin-bottom: 3.3rem;
  }
  .pt {
    padding-top: 3.7rem;
  }
  .pb {
    padding-bottom: 4.5rem;
  }
  .default-txt {
    font-size: 1.3rem;
  }
  .endoscopy {
    display: flex;
    flex-direction: column-reverse;
  }
  .endoscopy .endoscopy__image {
    margin-bottom: 1.8rem;
  }
  .setting-title h4 {
    font-size: 2rem;
    padding-left: 2.4rem;
    padding-bottom: 1.1rem;
    border-bottom: 0.2rem solid #e26278;
    margin-bottom: 2.2rem;
    margin-top: 3.7rem;
  }
  .setting-title h4:before {
    top: 0.18rem;
    left: 0.45rem;
    width: 0.37rem;
    height: 2.6rem;
  }
  .m_kakomi {
    padding: 2.25rem;
  }
  .m_kakomi__checklist {
    font-size: 1.3rem;
    display: block;
  }
  .m_kakomi__checklist li {
    padding-left: 2.7rem;
    background-image: url(../img/common/icon_check.svg);
    background-repeat: no-repeat;
    background-size: 1.8rem auto;
    background-position: top 0.5rem left 0.1rem;
  }
  .m_kakomi__checklist li + li {
    margin-top: 1.1rem;
  }
  .m_kakomi__alltext--pt {
    margin-top: 1.3rem;
  }
  .m_kakomi__alltext--pt li + li {
    margin-top: 1.3rem;
  }
  .m_kakomi02 {
    padding: 3rem 2.25rem;
    margin-top: 1.8rem;
  }
  .m_kakomi02_box-stiker {
    font-size: 1.45rem;
    padding-top: 0.29rem;
    padding-bottom: 0.43rem;
    padding-left: 1.45rem;
    padding-right: 1.45rem;
    margin-bottom: 1.5rem;
    letter-spacing: 0.15rem;
  }
  .m_kakomi02_box_list li + li {
    margin-top: 3rem;
    border-top: 0.1rem dashed #e26278;
  }
  .m_kakomi02-txt-vs-img {
    display: flex;
    flex-direction: column-reverse;
  }
  .m_kakomi02-img {
    padding-top: 0;
    margin-bottom: 1.3rem;
  }
  .default-txt-mini {
    font-size: 1rem;
  }
  .import-youtube iframe {
    height: 50rem;
  }
  .m_flow {
    padding-left: 0;
    margin-top: 4.5rem;
  }
  .m_flow li {
    padding: 2.25rem;
    padding-top: 3rem;
    border: 0.2rem solid #cec9c6;
  }
  .m_flow li + li {
    margin-top: 6.7rem;
  }
  .m_flow_step {
    width: 5.2rem;
    height: 5.2rem;
    top: -2.6rem;
    left: -1rem;
    padding-top: 0.7rem;
    font-size: 0.9rem;
  }
  .m_flow_step span {
    font-size: 2rem;
  }
  .tlt-style-line {
    font-size: 1.8rem;
    padding-bottom: 1.1rem;
    border-bottom: 0.2rem solid #423e3e;
    margin-bottom: 2.2rem;
  }
  .m_flow-txt-vs-img {
    display: flex;
    flex-direction: column-reverse;
  }
  .m_flow-img {
    padding-top: 0;
    padding-bottom: 1.5rem;
  }
}
.m_page_links-item {
  font-size: 1.4rem;
  line-height: 1.4;
  background-color: #fff;
  padding: 1.2rem 1.8rem;
  border: max(1px, 0.1rem) solid #e26278 !important;
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.3rem;
  transition: all 0.3s ease-in-out;
}
.m_page_links-item:hover, .m_page_links-item.is-active {
  background-color: #e26278;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .m_page_links-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.8rem;
    height: 100%;
    text-align: center;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
  }
}

.m_page_links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .m_page_links {
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .m_page_links {
    gap: 1rem;
    justify-content: flex-start;
  }
  .m_page_links li {
    width: calc((100% - 1rem) / 2);
  }
}

.under-list-style2-ul-item {
  display: flex;
  align-items: center;
  background-color: #e26278;
  padding: 0.9rem 4rem 1rem 2rem;
  border-radius: 0.5rem;
  color: #fff;
  line-height: 1.5;
  font-size: 1.6rem;
  position: relative;
  letter-spacing: 0.3rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .under-list-style2-ul-item {
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
}
.under-list-style2-ul-item:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: max(0.8rem, 5px);
  height: max(0.8rem, 5px);
  border-right: max(1px, 0.2rem) solid #fff;
  border-bottom: max(1px, 0.2rem) solid #fff;
  transform: translateY(-75%) rotate(45deg);
}

.under-list-style2-ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .under-list-style2-ul {
    display: block;
  }
  .under-list-style2-ul li + li {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .under-list-style2.col1 .under-list-style2-ul {
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
  }
  .under-list-style2.col2 .under-list-style2-ul {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
  }
  .under-list-style2.col2 .under-list-style2-ul li {
    width: calc((100% - 1rem) / 2);
  }
  .under-list-style2.col3 .under-list-style2-ul li {
    width: calc((100% - 2rem) / 3);
  }
  .under-list-style2.col4 .under-list-style2-ul li {
    width: calc((100% - 3rem) / 4);
  }
}

.qa_box-gr .qa_box_item .q_box-tlt {
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.7;
  color: #e26278;
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .qa_box-gr .qa_box_item .q_box-tlt {
    font-size: 2rem;
  }
}
.qa_box-gr .qa_box_item .q_box-tlt:before {
  content: "Q.";
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.7;
  color: #e26278;
  display: inline-block;
  transform: translateY(-0.3rem);
}
@media screen and (max-width: 767px) {
  .qa_box-gr .qa_box_item .q_box-tlt:before {
    font-size: 2.5rem;
  }
}
.qa_box-gr .qa_box_item .a_box-tlt {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.7;
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .qa_box-gr .qa_box_item .a_box-tlt {
    font-size: 1.5rem;
  }
}
.qa_box-gr .qa_box_item .a_box-tlt:before {
  content: "A.";
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.7;
  display: inline-block;
  transform: translateY(-1rem);
}
@media screen and (max-width: 767px) {
  .qa_box-gr .qa_box_item .a_box-tlt:before {
    font-size: 2.5rem;
  }
}
.qa_box-gr .qa_box_item .a_box {
  padding-top: 1.5rem;
}
.qa_box-gr .qa_box_item + .qa_box_item {
  border-top: max(1px, 0.1rem) solid #e26278;
  padding-top: 2rem;
  margin-top: 2rem;
}

.archive-post-list {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .archive-post-list {
    font-size: 1.5rem;
  }
}
.archive-post-list li {
  display: grid;
  grid-template-columns: 14rem 1fr;
  padding: 2rem 2rem;
  border-bottom: max(1px, 0.1rem) solid #333333;
}
@media screen and (max-width: 767px) {
  .archive-post-list li {
    display: block;
    padding: 1.5rem;
  }
}

.archive-post {
  display: grid;
  grid-template-columns: 1fr 25rem;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
@media screen and (max-width: 767px) {
  .archive-post {
    display: block;
  }
}

.archive-main {
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .archive-main {
    padding-top: 3rem;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .archive-post-right {
    padding-top: 3rem;
  }
}

.title-category {
  font-size: 2.2rem;
  color: #fff;
  background-color: #e26278;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
}

.archive-post-category {
  font-size: 1.8rem;
  color: #e26278;
  font-weight: 500;
  border: max(1px, 0.1rem) solid #e26278;
}
.archive-post-category li {
  padding: 0 2rem;
}
.archive-post-category li a {
  display: block;
  padding: 1rem 1rem;
}

.wrap-pagi .wp-pagenavi {
  padding-top: 5rem;
}
.wrap-pagi .wp-pagenavi a, .wrap-pagi .wp-pagenavi span {
  padding: 1rem;
  font-size: 1.5rem;
  border-color: #e26278;
}
.wrap-pagi .wp-pagenavi a:hover, .wrap-pagi .wp-pagenavi span.current {
  background-color: #e26278;
  color: #fff;
  border-color: #e26278;
}

.single-post1 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .single-post1 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.single-post-tlt {
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .single-post-tlt {
    font-size: 2.5rem;
  }
}

.single-post-date {
  font-size: 1.6rem;
  font-weight: 500;
}

.single-content-post {
  font-size: 1.6rem;
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .single-content-post {
    font-size: 1.5rem;
  }
}

.parent-pre-list-next {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
.parent-pre-list-next span.link-arline-page {
  opacity: 0.5;
  background-color: #e26278 !important;
  color: #fff !important;
}
@media screen and (max-width: 767px) {
  .parent-pre-list-next {
    -moz-column-gap: 0;
         column-gap: 0;
    justify-content: space-between;
  }
  .parent-pre-list-next .link-arline-page {
    width: 30%;
  }
}

.sec1-top {
  position: relative;
  overflow: hidden;
}
.sec1-top:before {
  content: "";
  position: absolute;
  bottom: 16rem;
  left: 0.5rem;
  width: 69.5rem;
  height: 22.8rem;
  background-image: url(../img/top/image02.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top left;
  z-index: 6;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .sec1-top:before {
    bottom: 7.43vw;
    left: 0.36vw;
    width: 49.64vw;
    height: 16.29vw;
  }
}
@media screen and (max-width: 767px) {
  .sec1-top:before {
    content: none;
  }
}

.sec1-top-text-banner {
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  bottom: 0;
  padding-left: 6rem;
  padding-right: 6rem;
  padding-bottom: 8.2rem;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .sec1-top-text-banner {
    padding-left: 4.29vw;
    padding-right: 4.29vw;
    padding-bottom: 5.86vw;
  }
}
.sec1-top-text-banner:before {
  content: "";
  width: 78.2rem;
  height: 36rem;
  background-image: url(../img/top/image03.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -1.8rem;
  left: -7.2rem;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .sec1-top-text-banner:before {
    width: 55.86vw;
    height: 25.71vw;
    bottom: -1.29vw;
    left: -5.14vw;
  }
}

.sec1-top-text-bannerh2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 1.5rem;
  position: relative;
  z-index: 5;
}
.sec1-top-text-bannerh2 .sec1-top-text-span {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  position: relative;
  padding-left: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .sec1-top-text-bannerh2 .sec1-top-text-span {
    font-size: 3.43vw;
    padding-left: 1.07vw;
    padding-top: 0.71vw;
    padding-bottom: 0.71vw;
  }
}
@media screen and (max-width: 767px) {
  .sec1-top-text-bannerh2 .sec1-top-text-span {
    font-size: 2.6rem;
  }
}
.sec1-top-text-bannerh2 .sec1-top-text-span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
}
.sec1-top-text-bannerh2 .sec1-top-text-span span {
  position: relative;
  z-index: 2;
}
.sec1-top-text-bannerh2 .sec1-top-text-span1 {
  color: #46383e;
}
.sec1-top-text-bannerh2 .sec1-top-text-span2 {
  padding-right: 1.5rem;
}
.sec1-top-text-bannerh2 .sec1-top-text-span2 span {
  background: linear-gradient(90deg, rgb(221, 63, 122) 0%, rgb(244, 170, 50) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.sec1-top-text-banner-sub {
  font-size: 1.8rem;
  font-weight: 700;
  color: #46383e;
  line-height: 1.6;
  padding-left: 1.7rem;
  padding-top: 1.1rem;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .sec1-top-text-banner-sub {
    font-size: 1.29vw;
    padding-left: 1.21vw;
    padding-top: 0.79vw;
  }
}
@media screen and (max-width: 767px) {
  .sec1-top-text-banner-sub {
    font-size: 1.6rem;
    padding-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .marrgin-hd-sp {
    padding-top: 10.5rem;
    background-color: #FAEDED;
  }
}

.sec2-top {
  position: relative;
}
.sec2-top .sec2-top-main {
  position: absolute;
  bottom: -2.1rem;
  left: 0;
  right: 0;
  height: 8.5rem;
  background-image: url(../img/top/image04.png);
  background-repeat: repeat-x;
  background-size: auto 100%;
  animation: anime1 60s linear infinite;
}
@media screen and (max-width: 767px) {
  .sec2-top .sec2-top-main {
    height: 5rem;
    bottom: -1.3rem;
  }
}

@media screen and (min-width: 768px) {
  @keyframes anime1 {
    0% {
      background-position: 207.2rem 0;
    }
    100% {
      background-position: -207.2rem 0;
    }
  }
}
@media screen and (max-width: 767px) {
  @keyframes anime1 {
    0% {
      background-position: 121.9rem 0;
    }
    100% {
      background-position: -121.9rem 0;
    }
  }
}
.sec3-top {
  background: #FAECED;
  background: linear-gradient(90deg, rgb(250, 236, 237) 0%, rgb(255, 253, 247) 100%);
  padding: 3rem 1.5rem;
}

.sec4-top {
  background: #FAECED;
  background: linear-gradient(90deg, rgb(250, 236, 237) 0%, rgb(255, 253, 247) 100%);
  padding-top: 3.6rem;
  padding-bottom: 6.5rem;
}
.sec4-top .header-mid-ul {
  justify-content: center;
}

.sec5-top-slider-img {
  width: 100%;
}

.sec5-top {
  padding-top: 1rem;
  padding-bottom: 6.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec5-top {
    padding-bottom: 1rem;
  }
}
.sec5-top .sec5-top-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #FFF;
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(253, 253, 253) 50%, rgb(255, 255, 255) 100%);
  z-index: -2;
}
.sec5-top .sec5-top-bg:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/top/image14.png);
  background-size: 78.4rem auto;
  background-repeat: no-repeat;
  background-position: bottom 52% center;
}
@media screen and (max-width: 767px) {
  .sec5-top .sec5-top-bg:before {
    background-size: contain;
    background-position: bottom 62% center;
  }
}
.sec5-top:before, .sec5-top:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
}
.sec5-top:before {
  width: 29.5rem;
  left: 0;
  background-image: url(../img/top/icon2.png);
  background-size: contain;
  background-position: bottom 34% left;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .sec5-top:before {
    width: 50%;
    background-position: bottom 25% left;
  }
}
.sec5-top:after {
  width: 37.7rem;
  right: 3rem;
  background-image: url(../img/top/icon1.png);
  background-size: contain;
  background-position: bottom 57% right;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .sec5-top:after {
    content: none;
  }
}

.sec5-top-content-tlt {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 3.2rem;
  margin-top: 11rem;
}
@media screen and (max-width: 767px) {
  .sec5-top-content-tlt {
    margin-bottom: 2.5rem;
    margin-top: 3rem;
    font-size: 1.8rem;
    text-align: left;
  }
}
.sec5-top-content-tlt span {
  color: #FF7B7C;
}

.sec5-top-content-txt {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec5-top-content-txt {
    font-size: 1.5rem;
    text-align: left;
  }
}

.sec5-top-content-txt-mgt {
  margin-top: 0.7rem;
}

.sec5-top-content {
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .sec5-top-content {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 3rem;
  }
}

.sec6-top {
  background-color: #FBEDED;
  padding-top: 11.8rem;
  padding-bottom: 21.4rem;
}
@media screen and (max-width: 767px) {
  .sec6-top {
    padding: 5rem 0;
  }
}

.top-title-cat1 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.top-title-cat1 h2, .top-title-cat1 h3, .top-title-cat1 h4, .top-title-cat1 h5, .top-title-cat1 h6 {
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.top-title-cat1 h2 img, .top-title-cat1 h3 img, .top-title-cat1 h4 img, .top-title-cat1 h5 img, .top-title-cat1 h6 img {
  height: 7.6rem;
}
@media screen and (max-width: 767px) {
  .top-title-cat1 h2 img, .top-title-cat1 h3 img, .top-title-cat1 h4 img, .top-title-cat1 h5 img, .top-title-cat1 h6 img {
    height: 4rem;
  }
}

.sec6-top-cont {
  max-width: 106rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 3.7%;
       column-gap: 3.7%;
  padding-top: 6.3rem;
}
@media screen and (max-width: 767px) {
  .sec6-top-cont {
    display: block;
    padding-top: 3rem;
  }
  .sec6-top-cont .sec6-top-item + .sec6-top-item {
    margin-top: 3rem;
  }
}
.sec6-top-cont .sec6-top-item {
  border-width: 1rem;
  border-style: solid;
  position: relative;
}
.sec6-top-cont .sec6-top-item:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  width: 4.7rem;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 100% auto;
  z-index: 2;
}
.sec6-top-cont .sec6-top-item:first-child {
  border-color: #F4B845;
}
.sec6-top-cont .sec6-top-item:first-child:before {
  background-image: url(../img/top/image26.png);
}
.sec6-top-cont .sec6-top-item:first-child .sec6-top-item-tlt {
  background-color: #F4B845;
}
.sec6-top-cont .sec6-top-item:first-child .sec6-top-item-icon {
  border-color: #F4B845;
}
.sec6-top-cont .sec6-top-item:first-child .sec6-top-item-icon:before {
  background-image: url(../img/top/image27.png);
}
.sec6-top-cont .sec6-top-item:first-child:hover .sec6-top-item-icon {
  background-color: #fff;
}
.sec6-top-cont .sec6-top-item:first-child .sec6-top-item-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #F4B845;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.sec6-top-cont .sec6-top-item:nth-child(2) {
  border-color: #23D06F;
}
.sec6-top-cont .sec6-top-item:nth-child(2):before {
  background-image: url(../img/top/image29.png);
  width: 6.4rem;
  left: -1rem;
}
.sec6-top-cont .sec6-top-item:nth-child(2) .sec6-top-item-tlt {
  background-color: #23D06F;
}
.sec6-top-cont .sec6-top-item:nth-child(2) .sec6-top-item-icon {
  border-color: #23D06F;
}
.sec6-top-cont .sec6-top-item:nth-child(2) .sec6-top-item-icon:before {
  background-image: url(../img/top/image30.png);
}
.sec6-top-cont .sec6-top-item:nth-child(2):hover .sec6-top-item-icon {
  background-color: #fff;
}
.sec6-top-cont .sec6-top-item:nth-child(2) .sec6-top-item-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #23D06F;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.sec6-top-cont .sec6-top-item:last-child {
  border-color: #28C1D6;
}
.sec6-top-cont .sec6-top-item:last-child:before {
  background-image: url(../img/top/image32.png);
  width: 4.8rem;
}
.sec6-top-cont .sec6-top-item:last-child .sec6-top-item-tlt {
  background-color: #28C1D6;
}
.sec6-top-cont .sec6-top-item:last-child .sec6-top-item-icon {
  border-color: #28C1D6;
}
.sec6-top-cont .sec6-top-item:last-child .sec6-top-item-icon:before {
  background-image: url(../img/top/image33.png);
}
.sec6-top-cont .sec6-top-item:last-child:hover .sec6-top-item-icon {
  background-color: #fff;
}
.sec6-top-cont .sec6-top-item:last-child .sec6-top-item-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #28C1D6;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.sec6-top-cont .sec6-top-item:hover .sec6-top-item-img:before {
  opacity: 0.3;
}
.sec6-top-cont .sec6-top-item-img {
  position: relative;
}
.sec6-top-cont .sec6-top-item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.sec6-top-cont .sec6-top-item-tlt {
  position: absolute;
  top: 0;
  left: 0;
  width: 15rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  padding-top: 1rem;
  z-index: 2;
}
.sec6-top-cont .sec6-top-item-link {
  position: absolute;
  top: -1rem;
  left: -1rem;
  right: -1rem;
  bottom: -1rem;
  z-index: 5;
}
.sec6-top-cont .sec6-top-item-icon {
  width: 8rem;
  height: 8rem;
  border-width: max(0.5rem, 2px);
  border-style: solid;
  border-radius: 100rem;
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
  transition: all 0.3s ease-in-out;
}
.sec6-top-cont .sec6-top-item-icon:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: 3.7rem auto;
  background-repeat: no-repeat;
  background-position: center center;
}

.sec7-top-tltcat1 h2, .sec7-top-tltcat1 h3, .sec7-top-tltcat1 h4, .sec7-top-tltcat1 h5, .sec7-top-tltcat1 h6 {
  row-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sec7-top-tltcat1 h2, .sec7-top-tltcat1 h3, .sec7-top-tltcat1 h4, .sec7-top-tltcat1 h5, .sec7-top-tltcat1 h6 {
    row-gap: 0;
  }
}

.sec7-top-txt {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec7-top-txt {
    font-size: 1.5rem;
    text-align: left;
    margin-top: 3rem;
  }
}

.sec7-top {
  background-image: url(../img/top/image35.jpg);
  background-size: cover;
  background-position: bottom 30% center;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 11rem;
  padding-bottom: 24rem;
}
@media screen and (max-width: 1400px) {
  .sec7-top {
    background-position: bottom center;
  }
}
@media screen and (max-width: 767px) {
  .sec7-top {
    padding: 5rem 1.5rem;
  }
}
.sec7-top .sec7-top-tlt {
  position: absolute;
  top: -5.3rem;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .sec7-top .sec7-top-tlt {
    position: static;
  }
}

.sec8-top {
  display: grid;
  grid-template-columns: 20.8% 1fr;
}
@media screen and (max-width: 767px) {
  .sec8-top {
    display: block;
  }
}

.sec8-top-left {
  background-color: #F8B2CC;
}

.top-title-cat2 h2, .top-title-cat2 h3, .top-title-cat2 h4, .top-title-cat2 h5, .top-title-cat2 h6 {
  position: relative;
}
.top-title-cat2 h2 .eng, .top-title-cat2 h3 .eng, .top-title-cat2 h4 .eng, .top-title-cat2 h5 .eng, .top-title-cat2 h6 .eng {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
  position: absolute;
  top: 0;
  left: -0.3rem;
  transform-origin: top left;
  transform: rotate(90deg);
  width: -moz-max-content;
  width: max-content;
  top: 7rem;
}
@media screen and (max-width: 767px) {
  .top-title-cat2 h2 .eng, .top-title-cat2 h3 .eng, .top-title-cat2 h4 .eng, .top-title-cat2 h5 .eng, .top-title-cat2 h6 .eng {
    position: static;
    transform: none;
    text-align: center;
    display: block;
    width: 100%;
  }
}
.top-title-cat2 h2 .jpn, .top-title-cat2 h3 .jpn, .top-title-cat2 h4 .jpn, .top-title-cat2 h5 .jpn, .top-title-cat2 h6 .jpn {
  font-size: 4rem;
  font-weight: 700;
  display: block;
  text-align: center;
}
.top-title-cat2 h2 .jpn::first-letter, .top-title-cat2 h3 .jpn::first-letter, .top-title-cat2 h4 .jpn::first-letter, .top-title-cat2 h5 .jpn::first-letter, .top-title-cat2 h6 .jpn::first-letter {
  color: #D5236A;
}
.top-title-cat2 h2 img, .top-title-cat2 h3 img, .top-title-cat2 h4 img, .top-title-cat2 h5 img, .top-title-cat2 h6 img {
  width: 4.8rem;
}

.sec8-top-left-tlt {
  padding-top: 11.5rem;
  height: 69rem;
  background-color: #FBD6E3;
}
@media screen and (max-width: 767px) {
  .sec8-top-left-tlt {
    height: auto;
    padding: 3rem 0;
  }
}
.sec8-top-left-tlt .top-title-cat2 {
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  padding-right: 6rem;
}
@media screen and (max-width: 767px) {
  .sec8-top-left-tlt .top-title-cat2 {
    width: 100%;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .sec8-top-left-tlt {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 79%);
  }
}

.sec8-top-right-cril {
  max-width: 96rem;
  width: calc(100% - 3rem);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (min-width: 1501px) {
  .sec8-top-right-cril {
    max-width: 120rem;
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril {
    padding-bottom: 5rem;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now {
  display: grid;
  grid-template-columns: max-content max-content max-content;
  justify-content: space-between;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now {
    display: block;
    position: static;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item {
  width: 25rem;
  height: 25rem;
  border-radius: 100rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 1501px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item {
    width: 30rem;
    height: 30rem;
  }
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item {
    width: 100%;
    height: auto;
    border-radius: 0;
    padding: 2rem 0;
    row-gap: 1rem !important;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:before {
  content: "";
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  left: 0.3rem;
  right: 0.3rem;
  border: max(0.2rem, 2px) solid #EE98B9;
  border-radius: 100rem;
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:before {
    border-radius: 0;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:after {
  content: "";
  position: absolute;
  height: 6.7rem;
  width: max(0.2rem, 2px);
  background-color: #EE98B9;
  bottom: -3.6rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:after {
    content: none;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:first-child {
  background-color: #EB568F;
  row-gap: 2.5rem;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:nth-child(2) {
  background-color: #00B250;
  row-gap: 0.3rem;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:nth-child(2):before {
  border-color: #A1E7C0;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:nth-child(2) .sec8-top-right-cril-item-sub {
  color: #A1E7C0;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:nth-child(2):after {
  background-color: #A1E7C0;
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:nth-child(2) {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:last-child {
  background-color: #E49502;
  row-gap: 1.2rem;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:last-child:before {
  border-color: #FFDB8E;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:last-child .sec8-top-right-cril-item-sub {
  color: #FFDB8E;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item:last-child:after {
  background-color: #FFDB8E;
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item .sec8-top-right-cril-item-tlt {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item .sec8-top-right-cril-item-tlt {
    font-size: 2.4rem;
  }
}
.sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item .sec8-top-right-cril-item-sub {
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  color: #EE98B9;
  line-height: 1.2;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 767px) {
  .sec8-top-right-cril .sec8-top-right-cril-now .sec8-top-right-cril-item .sec8-top-right-cril-item-sub {
    font-size: 1.5rem;
  }
}

.top-charm-number-img {
  height: 5.8rem;
}
@media screen and (max-width: 767px) {
  .top-charm-number-img {
    height: 4rem;
  }
}

.charm01 {
  max-width: 98rem;
  width: calc(100% - 3rem);
  margin-left: auto;
  margin-right: auto;
  padding-top: 8rem;
}
@media screen and (min-width: 1501px) {
  .charm01 {
    max-width: 120rem;
  }
}
@media screen and (max-width: 767px) {
  .charm01 {
    padding-top: 0;
  }
}
.charm01 .top-charm-number {
  position: relative;
  z-index: 2;
  padding-left: 0.8rem;
}
@media screen and (max-width: 767px) {
  .charm01 .top-charm-number {
    padding-left: 0;
  }
}

.charm01-img-banner {
  padding-left: 0.8rem;
  padding-right: 2rem;
  position: relative;
  margin-top: -4rem;
}
@media screen and (max-width: 767px) {
  .charm01-img-banner {
    margin-top: -1.5rem;
  }
}
.charm01-img-banner:before {
  content: "";
  position: absolute;
  right: 0.8rem;
  left: 3.5rem;
  bottom: -1rem;
  top: 3.6rem;
  background-color: #FEE6EE;
  z-index: -1;
}
.charm01-img-banner img {
  width: 100%;
}

.charm-tlt-global {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
}
.charm-tlt-global.charm-tlt-global-mgt-sub {
  margin-top: 3rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .charm-tlt-global {
    font-size: 2rem;
  }
}

.charm-txt-global {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .charm-txt-global {
    font-size: 1.5rem;
  }
}

.charm02 {
  max-width: 101.5rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
}
@media screen and (min-width: 1501px) {
  .charm02 {
    max-width: 120rem;
  }
}

.charm02-item-small-left-number {
  position: relative;
  z-index: 3;
}
.charm02-item-small-left-number img {
  height: 5.9rem;
}
@media screen and (max-width: 767px) {
  .charm02-item-small-left-number img {
    height: 4rem;
  }
}

.charm02-item-small-left-img {
  position: relative;
  margin-top: -1.5rem;
}
@media screen and (max-width: 767px) {
  .charm02-item-small-left-img {
    margin-top: 0;
  }
}
.charm02-item-small-left-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #FFE6EF;
  transform: translate(1.3rem, 1rem);
}
@media screen and (max-width: 767px) {
  .charm02-item-small-left-img:before {
    transform: translate(1rem, 1rem);
  }
}
.charm02-item-small-left-img .charm02-item-small-left-img-main {
  position: relative;
  z-index: 2;
}
.charm02-item-small-left-img .charm02-item-small-left-img-main img {
  width: 100%;
}

.charm02-item-small {
  display: flex;
  flex-wrap: wrap;
  max-width: 100rem;
  margin-left: auto;
  justify-content: space-between;
}
@media screen and (min-width: 1501px) {
  .charm02-item-small {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .charm02-item-small {
    display: block;
  }
}
.charm02-item-small .charm02-item-small-left {
  width: 42%;
}
@media screen and (max-width: 767px) {
  .charm02-item-small .charm02-item-small-left {
    width: 100%;
  }
}
.charm02-item-small .charm02-item-small-right {
  width: 54.6%;
}
@media screen and (min-width: 1501px) {
  .charm02-item-small .charm02-item-small-right {
    max-width: 60rem;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .charm02-item-small .charm02-item-small-right {
    width: 100%;
  }
}
.charm02-item-small .charm02-item-small-right .btn-link-style2 {
  margin-top: 2.5rem;
}

.charm02-item-small-right-tlt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .charm02-item-small-right-tlt {
    font-size: 2rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
  }
}

.charm02-item-small-left1 {
  padding-top: 0.6rem;
}

.charm02-item-small-right-txt {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .charm02-item-small-right-txt {
    font-size: 1.5rem;
  }
}

.charm02-2 {
  padding-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  .charm02-2 {
    padding-top: 3rem;
  }
}

.charm02-item-small-revert {
  flex-direction: row-reverse;
  justify-content: flex-end;
  padding-top: 9.5rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .charm02-item-small-revert {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.charm02-item-small-revert .charm02-item-small-right {
  width: 50%;
  padding-top: 4rem;
  margin-left: 0;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .charm02-item-small-revert .charm02-item-small-right {
    width: 100%;
    padding-top: 0;
  }
}

.charm012 {
  padding-top: 11rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .charm012 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.btn-link-style2 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 16rem;
  height: 4.6rem;
  background-color: #D62469;
  -moz-column-gap: 0.7rem;
       column-gap: 0.7rem;
}
.btn-link-style2:after {
  content: "";
  display: inline-block;
  background-image: url(../img/top/image48.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.2rem;
  height: 1.2rem;
  transition: all 0.3s ease-in-out;
}
.btn-link-style2:hover:after {
  transform: translateX(0.5rem);
}

.charm03 {
  max-width: 98.7rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 28rem;
  width: calc(100% - 3rem);
  padding-bottom: 12rem;
}
@media screen and (min-width: 1501px) {
  .charm03 {
    max-width: 115rem;
  }
}
@media screen and (max-width: 767px) {
  .charm03 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.charm03-main {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .charm03-main {
    display: block;
  }
}

.charm03-left {
  width: 21.7%;
  position: relative;
}
.charm03-left .charm03-left-img {
  position: absolute;
  top: -3rem;
  left: 1rem;
  width: 22rem;
}
@media screen and (min-width: 1501px) {
  .charm03-left .charm03-left-img {
    width: 27rem;
    left: 0;
  }
}
@media screen and (max-width: 1300px) {
  .charm03-left .charm03-left-img {
    left: 0;
  }
}
.charm03-left .charm03-left-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #FFE6EF;
  transform: translate(0.5rem, 0.5rem);
  z-index: 4;
}
.charm03-left .charm03-left-img .charm03-left-img-main {
  position: relative;
  z-index: 5;
}
.charm03-left .charm03-left-img .charm03-left-img-main img {
  width: 100%;
}

.charm03-mid {
  width: 66.2%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .charm03-mid {
    width: 100%;
    margin-top: 3rem;
  }
}
.charm03-mid:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #FFE6EF;
  transform: translate(1rem, 1rem);
}

.charm03-right {
  width: 12.1%;
  position: relative;
}
.charm03-right .charm03-right-img {
  position: absolute;
  top: -16.5rem;
  right: 0;
  width: 32.6rem;
}
.charm03-right .charm03-right-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #FFE6EF;
  transform: translate(0.5rem, 0.5rem);
  z-index: 4;
}
.charm03-right .charm03-right-img .charm03-right-img-main {
  position: relative;
  z-index: 5;
}
.charm03-right .charm03-right-img .charm03-right-img-main img {
  width: 100%;
}

.charm03-mid-main {
  background-color: #fff;
  border: max(2px, 0.1rem) solid #F0AEC8;
  padding-left: 4rem;
  padding-top: 1.5rem;
  padding-bottom: 3.3rem;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .charm03-mid-main {
    padding: 2rem 1.5rem;
  }
}

.charm03-mid-main-tlt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.3rem;
}
@media screen and (max-width: 767px) {
  .charm03-mid-main-tlt {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
}

.sec8-top-left-tlt-icon {
  position: relative;
}
.sec8-top-left-tlt-icon:before {
  content: "";
  position: absolute;
  bottom: -0.8rem;
  left: 1rem;
  right: 0;
  height: 17.9rem;
  background-image: url(../img/top/image52.png);
  background-size: auto 100%;
  background-position: bottom left;
  background-repeat: no-repeat;
}

.charm02--icon-page {
  position: relative;
}
.charm02--icon-page:before {
  content: "";
  width: 29.1rem;
  height: 16.8rem;
  background-image: url(../img/top/image53.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  top: 1.5rem;
  right: 0;
  position: absolute;
  z-index: -1;
}
.charm02--icon-page:after {
  content: "";
  position: absolute;
  width: 19.2rem;
  height: 23.9rem;
  background-image: url(../img/top/image54.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: right center;
  top: 50.5rem;
  right: 0;
  z-index: 3;
}
@media screen and (max-width: 1300px) {
  .charm02--icon-page:after {
    top: 38.5rem;
  }
}

.charm04--icon-page {
  position: relative;
}
.charm04--icon-page:before {
  content: "";
  width: 24.8rem;
  height: 16.7rem;
  background-image: url(../img/top/image55.png);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: right center;
  top: -46rem;
  left: 0;
  position: absolute;
  z-index: -1;
}

.charm06--icon-page {
  position: relative;
}
.charm06--icon-page:before {
  content: "";
  width: 29.2rem;
  height: 16.7rem;
  background-image: url(../img/top/image56.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: right center;
  bottom: -5rem;
  right: 0;
  position: absolute;
  z-index: -1;
}

.charm07--icon-page {
  position: relative;
}
.charm07--icon-page:before {
  content: "";
  width: 15.7rem;
  height: 15.2rem;
  background-image: url(../img/top/image57.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: right center;
  top: -1rem;
  left: 0;
  position: absolute;
  z-index: 1;
}

.charm08--icon-page {
  position: relative;
}
.charm08--icon-page:before {
  content: "";
  width: 19.1rem;
  height: 12.3rem;
  background-image: url(../img/top/image58.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: right center;
  position: absolute;
  z-index: 1;
  right: 1.5rem;
  bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .sec8-top-right {
    padding-top: 3rem;
  }
}
.charm01-img-banner-sp .charm01-img-banner-sp-item + .charm01-img-banner-sp-item {
  margin-top: 3rem;
}
.charm01-img-banner-sp .charm01-img-banner-sp-item {
  position: relative;
}
.charm01-img-banner-sp .charm01-img-banner-sp-item img {
  width: 100%;
}
.charm01-img-banner-sp .charm01-img-banner-sp-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translate(1rem, 1rem);
  background-color: #FFE6EF;
  z-index: -1;
}

.sec9-top {
  position: relative;
  background-color: #84DCAC;
  padding-top: 7rem;
  padding-bottom: 9.5rem;
}
@media screen and (max-width: 767px) {
  .sec9-top {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.sec9-top:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #3FBF79;
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

.sec9-top-main {
  position: relative;
  z-index: 2;
}

.sec9-top-tlt {
  text-align: center;
  position: relative;
  z-index: 2;
}
.sec9-top-tlt .sec9-top-tlt-first {
  display: inline-block;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-shadow: rgb(58, 188, 120) 4px 0px 0px, rgb(58, 188, 120) 3.87565px 0.989616px 0px, rgb(58, 188, 120) 3.51033px 1.9177px 0px, rgb(58, 188, 120) 2.92676px 2.72656px 0px, rgb(58, 188, 120) 2.16121px 3.36588px 0px, rgb(58, 188, 120) 1.26129px 3.79594px 0px, rgb(58, 188, 120) 0.282949px 3.98998px 0px, rgb(58, 188, 120) -0.712984px 3.93594px 0px, rgb(58, 188, 120) -1.66459px 3.63719px 0px, rgb(58, 188, 120) -2.51269px 3.11229px 0px, rgb(58, 188, 120) -3.20457px 2.39389px 0px, rgb(58, 188, 120) -3.69721px 1.52664px 0px, rgb(58, 188, 120) -3.95997px 0.56448px 0px, rgb(58, 188, 120) -3.97652px -0.432781px 0px, rgb(58, 188, 120) -3.74583px -1.40313px 0px, rgb(58, 188, 120) -3.28224px -2.28625px 0px, rgb(58, 188, 120) -2.61457px -3.02721px 0px, rgb(58, 188, 120) -1.78435px -3.57996px 0px, rgb(58, 188, 120) -0.843183px -3.91012px 0px, rgb(58, 188, 120) 0.150409px -3.99717px 0px, rgb(58, 188, 120) 1.13465px -3.8357px 0px, rgb(58, 188, 120) 2.04834px -3.43574px 0px, rgb(58, 188, 120) 2.83468px -2.82216px 0px, rgb(58, 188, 120) 3.44477px -2.03312px 0px, rgb(58, 188, 120) 3.84068px -1.11766px 0px, rgb(58, 188, 120) 3.9978px -0.132717px 0px;
}
@media screen and (max-width: 1300px) {
  .sec9-top-tlt .sec9-top-tlt-first {
    font-size: 6.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec9-top-tlt .sec9-top-tlt-first {
    font-size: 4rem;
  }
}
.sec9-top-tlt .sec9-top-tlt-small {
  line-height: 1;
  font-size: 4.8rem;
  font-weight: 700;
  display: inline-block;
  margin-left: 0.3rem;
}
@media screen and (max-width: 1300px) {
  .sec9-top-tlt .sec9-top-tlt-small {
    font-size: 4.3rem;
  }
}
@media screen and (max-width: 767px) {
  .sec9-top-tlt .sec9-top-tlt-small {
    font-size: 3.3rem;
  }
}
.sec9-top-tlt .sec9-top-tlt-big {
  display: inline-block;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1300px) {
  .sec9-top-tlt .sec9-top-tlt-big {
    font-size: 6.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec9-top-tlt .sec9-top-tlt-big {
    font-size: 4rem;
    padding-top: 0.5rem;
  }
}

.sec9-top-number-left {
  position: relative;
  padding-bottom: 7rem;
  max-width: 140rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
}
@media screen and (max-width: 767px) {
  .sec9-top-number-left {
    padding-bottom: 3rem;
  }
}
.sec9-top-number-left:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 16.2rem;
  height: 14.5rem;
  background-image: url(../img/top/image63.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .sec9-top-number-left:before {
    width: 11.2rem;
    height: 11.5rem;
    bottom: 7rem;
  }
}
.sec9-top-number-left:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 18.9rem;
  height: 17rem;
  background-image: url(../img/top/image64.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .sec9-top-number-left:after {
    width: 11.9rem;
    height: 12rem;
  }
}

.sec9-top-list-ul {
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 8rem;
       column-gap: 8rem;
  row-gap: 3rem;
}
@media screen and (max-width: 767px) {
  .sec9-top-list-ul {
    display: block;
  }
}
.sec9-top-list-ul li {
  background-color: #fff;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 1.2rem;
  min-height: 23rem;
}
@media screen and (max-width: 767px) {
  .sec9-top-list-ul li + li {
    margin-top: 3rem;
  }
}

.sec9-top-list-ul-tlt {
  font-size: 1.8rem;
  text-align: center;
  font-weight: 700;
}

.sec9-top-list-li-first-img {
  margin-top: 3.5rem;
}
.sec9-top-list-li-first-img img {
  max-width: 30.8rem;
}

.charm03-mid-main-txt {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .charm03-mid-main-txt {
    font-size: 1.5rem;
  }
}

@keyframes fade-top {
  to {
    opacity: 1;
    transform: none;
  }
}
.fade-top {
  opacity: 0;
  transform: translate(0, 35px);
  animation: fade-top 0.5s ease forwards;
}

.sec9-top-list-ul-txt {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 0.6rem;
}
@media screen and (max-width: 767px) {
  .sec9-top-list-ul-txt {
    font-size: 1.5rem;
  }
}

.sec9-top-list {
  padding-top: 3.7rem;
}
@media screen and (max-width: 767px) {
  .sec9-top-list {
    padding-top: 1.7rem;
  }
}

.sec10-top {
  padding-top: 4.5rem;
}

.sec11-top-main {
  max-width: 128rem;
  width: calc(100% - 3rem);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (min-width: 1501px) {
  .sec11-top-main {
    max-width: 140rem;
  }
}
@media screen and (max-width: 767px) {
  .sec11-top-main {
    display: block;
  }
}

.top-title-cat3 {
  padding-left: 0;
  padding-right: 0;
}
.top-title-cat3 h2, .top-title-cat3 h3, .top-title-cat3 h4, .top-title-cat3 h5, .top-title-cat3 h6 {
  align-items: flex-start;
}

.sec11-top {
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .sec11-top {
    padding-top: 5rem;
  }
}

.sec11-top-ul {
  font-size: 1.6rem;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .sec11-top-ul {
    font-size: 1.5rem;
    padding-top: 3rem;
  }
}
.sec11-top-ul li + li {
  margin-top: 1rem;
}

.sec11-top-right-box {
  position: relative;
  width: 54.3rem;
  height: 65.3rem;
  border: max(0.2rem, 1px) solid #F8B585;
}
@media screen and (max-width: 767px) {
  .sec11-top-right-box {
    width: 100%;
    height: auto;
    padding: 3rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .sec11-top-right-box .sec11-top-right-box-img {
    position: absolute;
    width: 58.9rem;
    top: -3rem;
    right: 1rem;
  }
}

.sec11-top-icon {
  position: relative;
}
.sec11-top-icon:before {
  content: "";
  position: absolute;
  top: 3rem;
  right: 0;
  width: 20.3rem;
  height: 23.9rem;
  background-image: url(../img/top/image80.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: right center;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec11-top-icon:before {
    z-index: -1;
    top: 13rem;
    width: 17.3rem;
    height: 20.9rem;
  }
}

.btn-link-style3 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 24rem;
  height: 4.5rem;
  background: linear-gradient(90deg, rgb(245, 183, 75) 0%, rgb(255, 165, 154) 100%);
  transition: all 0.3s ease-in-out;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.btn-link-style3:hover {
  background: linear-gradient(90deg, rgb(245, 183, 75) 0%, rgb(245, 183, 75) 100%);
}
.btn-link-style3:after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  background-image: url(../img/top/image81.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}

.sec11-top-left .btn-link-style3 {
  margin-top: 6.7rem;
}
@media screen and (max-width: 767px) {
  .sec11-top-left .btn-link-style3 {
    margin-top: 3rem;
  }
}

.sec11-top-right {
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .sec11-top-right {
    padding-bottom: 0;
  }
}

.sec11-top-right-sp .sec11-top-right-item + .sec11-top-right-item {
  margin-top: 1.5rem;
}
.sec11-top-right-sp .sec11-top-right-item {
  position: relative;
}
.sec11-top-right-sp .sec11-top-right-item-name {
  position: absolute;
  bottom: 3rem;
  left: 0;
  width: 80%;
  background: linear-gradient(90deg, rgb(245, 183, 75) 0%, rgb(255, 165, 154) 100%);
  color: #fff;
  text-align: right;
  padding-right: 3rem;
  padding-top: 0.5rem;
  padding-bottom: 1.2rem;
}
.sec11-top-right-sp .sec11-top-right-item-name-tlt {
  font-size: 1.2rem;
  font-weight: 700;
}
.sec11-top-right-sp .sec11-top-right-item-name-tlt-sub {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .sec11-top-left {
    padding-bottom: 3rem;
  }
}
.sec12-top-tlt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .sec12-top-tlt {
    display: block;
  }
}
.sec12-top-tlt .sec12-top-tlt-mid {
  padding-left: 5.7rem;
  padding-right: 7rem;
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .sec12-top-tlt .sec12-top-tlt-mid {
    padding-left: 0;
    padding-right: 0;
    margin-top: -6rem;
    position: relative;
    z-index: 3;
  }
}
.sec12-top-tlt:before {
  content: "";
  display: inline-block;
  width: 16.5rem;
  height: 12.5rem;
  background-image: url(../img/top/image84.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .sec12-top-tlt:before {
    width: 12.5rem;
    height: 9.5rem;
    opacity: 0.7;
  }
}
.sec12-top-tlt:after {
  content: "";
  display: inline-block;
  width: 16rem;
  height: 10.7rem;
  background-image: url(../img/top/image85.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .sec12-top-tlt:after {
    width: 12rem;
    height: 8.7rem;
    margin-top: -6rem;
    margin-left: auto;
    display: block;
  }
}
.sec12-top-tlt h2, .sec12-top-tlt h3, .sec12-top-tlt h4, .sec12-top-tlt h5, .sec12-top-tlt h6 {
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .sec12-top-tlt h2, .sec12-top-tlt h3, .sec12-top-tlt h4, .sec12-top-tlt h5, .sec12-top-tlt h6 {
    font-size: 3rem;
  }
}

.sec12-top-tlt-sub {
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
  line-height: 1.5;
  background: linear-gradient(90deg, rgb(246, 189, 99) 0%, rgb(255, 165, 163) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
}

.sec12-top {
  padding-top: 11.4rem;
}
@media screen and (max-width: 767px) {
  .sec12-top {
    padding-top: 5rem;
  }
}

.sec13-top {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
}

.sec13-top-left-item {
  width: 34rem;
  height: 20rem;
  font-size: 1.6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec13-top-left-item {
    width: 100%;
  }
}
.sec13-top-left-item .sec13-top-left-item-under {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgb(246, 189, 99) 0%, rgb(255, 165, 163) 100%);
  transform: translate(0.7rem, 0.5rem);
}
.sec13-top-left-item .sec13-top-left-item-under:before {
  content: "";
  position: absolute;
  top: max(0.1rem, 1px);
  left: max(0.1rem, 1px);
  right: max(0.1rem, 1px);
  bottom: max(0.1rem, 1px);
  background-color: #fff;
}
.sec13-top-left-item .sec13-top-left-item-under-icon {
  position: absolute;
  top: 100%;
  right: 2rem;
  width: 2.4rem;
  height: 2rem;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #FFA49E;
  transform: translateY(0.4rem);
}
.sec13-top-left-item .sec13-top-left-item-under-icon:before {
  content: "";
  width: 100%;
  height: 100%;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #fff;
  position: absolute;
  transform: scale(0.85);
}
@media screen and (max-width: 767px) {
  .sec13-top-left-item {
    font-size: 1.5rem;
  }
}
.sec13-top-left-item .sec13-top-left-item-main {
  width: 100%;
  height: 100%;
  padding-top: 1.5rem;
  padding-left: 2rem;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .sec13-top-left-item .sec13-top-left-item-main {
    padding: 3rem 1.5rem;
  }
}
.sec13-top-left-item .sec13-top-left-item-main:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 1rem;
  width: 3.5rem;
  height: 3rem;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 100% auto;
}
.sec13-top-left-item .sec13-top-left-item-main:after {
  content: "";
  width: 2.4rem;
  height: 2rem;
  position: absolute;
  top: calc(100% - 1px);
  right: 2.8rem;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.sec13-top-left-item .sec13-top-left-item-main.sec13-top-left-item-main1 {
  background-color: #FEF2E6;
  color: #715c4f;
  font-weight: 700;
}
.sec13-top-left-item .sec13-top-left-item-main.sec13-top-left-item-main1:before {
  background-image: url(../img/top/image86.png);
}
.sec13-top-left-item .sec13-top-left-item-main.sec13-top-left-item-main1:after {
  background-color: #FEF2E6;
}
.sec13-top-left-item .sec13-top-left-item-main.sec13-top-left-item-main2 {
  background: linear-gradient(90deg, rgb(245, 183, 75) 0%, rgb(254, 165, 150) 100%);
  color: #fff;
  font-weight: 700;
}
.sec13-top-left-item .sec13-top-left-item-main.sec13-top-left-item-main2:before {
  background-image: url(../img/top/image87.png);
}
.sec13-top-left-item .sec13-top-left-item-main.sec13-top-left-item-main2:after {
  background-color: #FEA596;
}

.sec13-top-left1 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  max-width: 80.7rem;
  justify-content: space-between;
}
.sec13-top-left1 .sec13-top-left-item:last-child {
  margin-top: 3.4rem;
}
@media screen and (max-width: 767px) {
  .sec13-top-left1 .sec13-top-left-item:last-child {
    margin-top: 4.4rem;
  }
}

.sec13-top-left2 {
  margin-left: auto;
  padding-top: 4.5rem;
}
@media screen and (max-width: 1300px) {
  .sec13-top-left2 {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .sec13-top-left2 {
    margin-left: 0;
  }
}

.sec13-top-left {
  max-width: 95rem;
}

.sec13-top {
  padding-top: 3.2rem;
}

.sec14-top {
  position: relative;
  max-width: 150rem;
  width: calc(100% - 3rem);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 11.7rem;
}
@media screen and (max-width: 767px) {
  .sec14-top {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .sec14-top-img {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .sec14-top-img img {
    width: 32rem;
  }
}
@media screen and (max-width: 767px) {
  .sec14-top-img {
    padding-top: 3rem;
  }
  .sec14-top-img img {
    width: 100%;
  }
}

.sec15-top-cont {
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
  height: 55rem;
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sec15-top-cont {
    display: block;
    height: auto;
    width: 100%;
  }
}

.sec15-top-left {
  width: 59rem;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec15-top-left .sec15-top-left-item {
  width: 27.4rem;
  height: 100%;
  background-image: url(../img/top/image94.png);
  background-repeat: repeat-y;
  background-size: 100% auto;
  animation: anime-bg1 50s linear infinite;
}
.sec15-top-left .sec15-top-left-item2 {
  width: 27.6rem;
  height: 100%;
  background-image: url(../img/top/image95.png);
  background-repeat: repeat-y;
  background-size: 100% auto;
  animation: anime-bg2 50s linear infinite;
}

.sec15-top {
  background-color: #FFD3E4;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec15-top {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.sec15-top:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #FABBD0;
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.sec15-top .sec15-top-right-btn {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .sec15-top .sec15-top-right-btn {
    margin-top: 3rem;
    margin-bottom: 3rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  @keyframes anime-bg1 {
    0% {
      background-position: 0 110.1rem;
    }
    100% {
      background-position: 0 -110.1rem;
    }
  }
  @keyframes anime-bg2 {
    0% {
      background-position: 0 -110.1rem;
    }
    100% {
      background-position: 0 110.1rem;
    }
  }
}
.sec15-top-right-btn {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 34rem;
  height: 7.6rem;
  background: linear-gradient(90deg, rgb(220, 53, 111) 0%, rgb(252, 160, 153) 100%);
  transition: all 0.3s ease-in-out;
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
}
@media screen and (max-width: 767px) {
  .sec15-top-right-btn {
    width: 30rem;
  }
}
.sec15-top-right-btn:hover {
  background: linear-gradient(90deg, rgb(220, 53, 111) 0%, rgb(220, 53, 111) 100%);
}
.sec15-top-right-btn:after {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.9rem;
  background-image: url(../img/top/image97.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}

.sec15-top-right-icon-entry {
  position: relative;
}
.sec15-top-right-icon-entry:before {
  content: "";
  position: absolute;
  bottom: -6rem;
  left: -7.6rem;
  width: 11.7rem;
  height: 22rem;
  background-image: url(../img/top/image98.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}
.sec15-top-right-icon-entry:after {
  content: "";
  position: absolute;
  bottom: -4rem;
  right: -7.6rem;
  width: 11.7rem;
  height: 18.1rem;
  background-image: url(../img/top/image99.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}

.sec15-top-right-bottom2 {
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .sec15-top-right {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.sec16-top {
  display: flex;
}
.sec16-top iframe {
  width: 100%;
  height: 40rem;
}

.sec17-top-cont {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 3rem);
}

.sec17-top {
  padding-top: 12rem;
  padding-bottom: 13.6rem;
}
@media screen and (max-width: 767px) {
  .sec17-top {
    padding-top: 5rem;
    padding-bottom: 8rem;
  }
}

.sec17-top-main {
  display: grid;
  grid-template-columns: 50.9% 42.5%;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  .sec17-top-main {
    display: block;
    padding-top: 3rem;
  }
}

.sec17-top-main-right-table-main {
  font-size: 1.6rem;
  width: 100%;
  margin-top: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec17-top-main-right-table-main {
    font-size: 1.5rem;
  }
}
.sec17-top-main-right-table-main tr td:first-child {
  width: 15.5rem;
}
@media screen and (max-width: 767px) {
  .sec17-top-main-right-table-main tr td:first-child {
    width: 8rem;
  }
}
.sec17-top-main-right-table-main tr td:last-child {
  width: calc(100% - 15.5rem);
}
@media screen and (max-width: 767px) {
  .sec17-top-main-right-table-main tr td:last-child {
    width: calc(100% - 8rem);
  }
}
.sec17-top-main-right-table-main tr td {
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

.table-calender01 {
  width: 100%;
  max-width: 50rem;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .table-calender01 {
    font-size: 1.5rem;
  }
}
.table-calender01 .clip-date {
  color: #D62469;
}
.table-calender01 .hh-date {
  font-size: 1.2rem;
}
.table-calender01 tr td:first-child {
  width: 16rem;
}
@media screen and (max-width: 767px) {
  .table-calender01 tr td:first-child {
    width: 10rem;
  }
}
.table-calender01 tr td {
  text-align: center;
  border-bottom: max(0.1rem, 1px) solid #A1A1A1;
}
.table-calender01 tr:first-child td {
  height: 6rem;
  vertical-align: middle;
  border-top: max(0.1rem, 1px) solid #A1A1A1;
}
.table-calender01 tr:nth-child(2) td {
  border-bottom: 0;
  padding-top: 0.5rem;
}
.table-calender01 tr:last-child td {
  padding-bottom: 0.5rem;
}

.table-calender {
  padding-top: 3rem;
}

.table-calender-sub-tlt {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-top: 1rem;
}

@media screen and (max-width: 767px) {
  .sec17-top-main-right {
    padding-top: 2.5rem;
  }
}
