@charset "UTF-8";
html .pc {
  display: none !important;
}
@media only screen and (min-width: 768px) {
  html .pc {
    display: block !important;
  }
}

html .pc_lg {
  display: none !important;
}
@media only screen and (min-width: 1025px) {
  html .pc_lg {
    display: block !important;
  }
}

@media only screen and (min-width: 768px) {
  html .sp {
    display: none !important;
  }
}

.form_custom .file_ref_displayed_name, .topics_context_txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.form_custom .file_ref_displayed_name {
  line-clamp: 1;
  -webkit-line-clamp: 1;
}

.topics_context_txt {
  line-clamp: 2;
  -webkit-line-clamp: 2;
}

.form_row_label .is_any,
.form_row_label .is_required, .lr_goals_more_link, .topics_context_txt {
  font-family: "BIZ UDPGothic", sans-serif;
}

.topics_toggler_tag, .topics_context_title {
  font-family: "Barlow", sans-serif;
}

.c_pagination .page,
.c_pagination span,
.c_pagination .extend,
.c_pagination .last,
.c_pagination .first, .mv_child_heading .en, .btn_more {
  font-family: "Oswald", sans-serif;
}

.heading .en, .footer_copyright {
  font-family: "Roboto", sans-serif;
}

.lr_info_row_detail .smaller, .breadcrumb_lists {
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_detail .smaller, .breadcrumb_lists {
    font-size: 1.4rem;
  }
}

.form_custom .is_file .cd-upload-btn, .form_custom .file_ref_default > label, .form_custom .file_note, .form_row_label .smaller {
  font-size: 1.3rem;
}
@media only screen and (min-width: 768px) {
  .form_custom .is_file .cd-upload-btn, .form_custom .file_ref_default > label, .form_custom .file_note, .form_row_label .smaller {
    font-size: 1.5rem;
  }
}

.form_row_label .is_any,
.form_row_label .is_required, .lr_info_row_map_btn {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .form_row_label .is_any,
.form_row_label .is_required, .lr_info_row_map_btn {
    font-size: 1.6rem;
  }
}

.form_txt, .c_pagination .page,
.c_pagination span,
.c_pagination .extend,
.c_pagination .last,
.c_pagination .first {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .form_txt, .c_pagination .page,
.c_pagination span,
.c_pagination .extend,
.c_pagination .last,
.c_pagination .first {
    font-size: 1.7rem;
  }
}

.form_intro, .form_contact, .form_custom input[type=tel]::placeholder,
.form_custom input[type=text]::placeholder,
.form_custom textarea::placeholder,
.form_custom input[type=email]::placeholder, .form_custom .wpcf7-checkbox label,
.form_custom .form_radio label, .form_custom .is_file .codedropz-upload-inner span:nth-child(1), .form_custom .file_ref, .lr_info_row_title, .lr_info_row_detail, .txt {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .form_intro, .form_contact, .form_custom input[type=tel]::placeholder,
.form_custom input[type=text]::placeholder,
.form_custom textarea::placeholder,
.form_custom input[type=email]::placeholder, .form_custom .wpcf7-checkbox label,
.form_custom .form_radio label, .form_custom .is_file .codedropz-upload-inner span:nth-child(1), .form_custom .file_ref, .lr_info_row_title, .lr_info_row_detail, .txt {
    font-size: 1.8rem;
  }
}

.form_leading {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .form_leading {
    font-size: 1.9rem;
  }
}

.form_checkbox_lead, .form_row_label, .form_acceptance label, .lr_goals_leading {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .form_checkbox_lead, .form_row_label, .form_acceptance label, .lr_goals_leading {
    font-size: 2.2rem;
  }
}

.title_badge {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .title_badge {
    font-size: 2.3rem;
  }
}

.lr_goals_heading {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .lr_goals_heading {
    font-size: clamp(
        2.3rem,
        calc(2.3rem + 0.0079113924 * (100vw - 768px)),
        2.8rem
    );
  }
}

.heading_sect {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .heading_sect {
    font-size: clamp(
        2.5rem,
        calc(2.5rem + 0.0158227848 * (100vw - 768px)),
        3.5rem
    );
  }
}

.l_404_title {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .l_404_title {
    font-size: clamp(
        2.5rem,
        calc(2.5rem + 0.0174050633 * (100vw - 768px)),
        3.6rem
    );
  }
}

.form_heading {
  font-size: 2.2rem;
}
@media only screen and (min-width: 768px) {
  .form_heading {
    font-size: clamp(
        3rem,
        calc(3rem + 0.0110759494 * (100vw - 768px)),
        3.7rem
    );
  }
}

.ul_counter[data-themes=parentheses] > li::before {
  font-feature-settings: "palt";
}

html {
  line-height: 1.6;
  scrollbar-width: thin;
  overflow-y: scroll;
  scroll-padding-top: 80px;
}
@media only screen and (min-width: 768px) {
  html {
    scroll-padding-top: 120px;
  }
}
html body {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0em;
  color: #545251;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  left: 0;
}
@media only screen and (min-width: 768px) {
  html body {
    font-size: 1.6rem;
  }
}
html main {
  width: 100%;
  padding-top: 94px;
}
@media only screen and (min-width: 768px) {
  html main {
    padding-top: 122px;
  }
}
@media only screen and (min-width: 768px) {
  html a {
    transition: opacity 150ms linear;
  }
  html a:hover {
    opacity: 0.6;
  }
}
@media only screen and (min-width: 768px) {
  html a[href^=tel] {
    pointer-events: none;
  }
}
html img {
  width: 100%;
  height: auto;
}
html address {
  font-style: normal;
}
html .wrapper,
html #wrapper {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  position: relative;
  overflow: hidden;
}
/** -- ▷ header -- */
.header {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.85);
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 1025px) {
  .header {
    background-color: rgba(255, 255, 255, 0);
    background-image: linear-gradient(to right, #fff 0);
    background-size: 100% 61px;
    background-repeat: no-repeat;
    background-position: 0 25px;
    background-position: 0 clamp(23px, (1200px - 100vw) * 1000, 25px);
  }
}
.header.is_c::after {
  content: "";
  width: 100%;
  height: calc(100% + 25px);
  background-color: #fff;
  display: none;
  position: absolute;
  z-index: -10000;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 1025px) {
  .header.is_c::after {
    display: block;
  }
}
.header_inner {
  display: flex;
  align-items: center;
  padding: 10px 10px 20px 18px;
}
@media only screen and (min-width: 1025px) {
  .header_inner {
    padding-top: 6px;
    padding-left: 23px;
    padding-right: 46px;
    padding-right: clamp(
        2rem,
        calc(2rem + 0.0693333333 * (100vw - 1025px)),
        4.6rem
    );
    padding-bottom: 0;
  }
}
.header_logo {
  margin-right: auto;
}
.header_logo_link {
  width: 179px;
  display: block;
  position: relative;
  top: 8px;
}
@media only screen and (min-width: 1025px) {
  .header_logo_link {
    width: 245.68px;
    width: clamp(
        14rem,
        calc(14rem + 0.2818133333 * (100vw - 1025px)),
        24.568rem
    );
    top: 3px;
  }
}
.header_menu {
  display: none;
  gap: 50.5px;
  gap: clamp(
        2rem,
        calc(2rem + 0.0813333333 * (100vw - 1025px)),
        5.05rem
    );
  align-items: center;
  position: relative;
  padding: 13px 16px 7px 75px;
  padding-left: clamp(
        4rem,
        calc(4rem + 0.0933333333 * (100vw - 1025px)),
        7.5rem
    );
}
@media only screen and (min-width: 1025px) {
  .header_menu {
    display: flex;
  }
}
.header_menu::after {
  content: "";
  width: 1914px;
  height: 61px;
  background-image: url("./../images/common/bg_menu.webp");
  background-size: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}
.header_menu_item.has_sub_menu {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .header_menu_item.has_sub_menu:hover::after {
    rotate: 225deg;
  }
  .header_menu_item.has_sub_menu:hover .header_sub_menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .header_menu_item.has_sub_menu:hover .header_sub_menu::after {
    scale: 1 1;
  }
  .header_menu_item.has_sub_menu:hover .header_sub_menu_item {
    opacity: 1;
  }
}
.header_menu_item.has_sub_menu::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  rotate: 45deg;
  transition: rotate 300ms ease;
  pointer-events: none;
}
.header_menu_item_link {
  font-weight: 900;
  line-height: 2.4375;
  color: #fff;
  display: inline-flex;
}
@media only screen and (min-width: 768px) {
  .header_menu_item_link {
    font-size: 1.6rem;
    font-size: clamp(
        1.4rem,
        calc(1.4rem + 0.0053333333 * (100vw - 1025px)),
        1.6rem
    );
    transition: 300ms ease;
    transform-origin: bottom center;
  }
  .header_menu_item_link:hover {
    opacity: 1;
    scale: 1.25;
    color: #002c34;
  }
}
.header_sub_menu {
  width: 171px;
  position: absolute;
  top: calc(100% + 7px);
  left: calc(50% - 2px);
  padding: 8px 6px 0;
  translate: -50% 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 500ms ease;
}
.header_sub_menu::before {
  content: "";
  width: 100%;
  height: 10px;
  position: absolute;
  top: -7px;
  left: 0;
}
.header_sub_menu::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #5eb7e8;
  transform-origin: top center;
  transition: 300ms ease;
  scale: 1 0;
}
.header_sub_menu li:nth-child(1) .header_sub_menu_item_link {
  border: 0;
}
.header_sub_menu_item_link {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4285714286;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  border: 0;
  border-top: 1px solid currentColor;
  padding-top: 7px;
  padding-bottom: 8px;
}
.header_contact {
  --background-color: #fff;
  --hover-background-color: #fff;
  --icon-width: 0px;
  width: 55px;
  height: 48px;
  position: relative;
  background-color: var(--background-color);
  mask-image: url("./../images/common/img_frame.svg");
  mask-size: 100% 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .header_contact {
    width: 54.93px;
    height: 48.22px;
    transition: background-color 300ms ease;
  }
  .header_contact:hover {
    opacity: 1;
    background-color: var(--hover-background-color);
  }
}
@media only screen and (min-width: 1025px) {
  .header_contact {
    width: 104px;
    height: 92px;
  }
}
.header_contact[data-themes=recruit] {
  --background-color: #588df0;
  --hover-background-color: #3972dd;
  --icon-width: 26.84px;
  right: -14px;
}
@media only screen and (min-width: 1025px) {
  .header_contact[data-themes=recruit] {
    --icon-width: 34.1px;
    top: 40px;
    right: -7px;
    padding-top: 4px;
  }
}
.header_contact[data-themes=mail] {
  --background-color: #fc83b6;
  --hover-background-color: #ef71a7;
  --icon-width: 27.93px;
  top: 27px;
  right: -7px;
}
@media only screen and (min-width: 1025px) {
  .header_contact[data-themes=mail] {
    --icon-width: 35.61px;
    gap: 3px;
    top: -6px;
    right: 0;
    padding-top: 6px;
  }
}
.header_contact img {
  width: var(--icon-width);
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.nav {
  position: fixed;
  z-index: -1;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 500ms linear;
  padding: 87px 0px 60px;
}
@media only screen and (min-width: 1025px) {
  .nav {
    transition: none;
  }
}
.nav.is_open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.nav.is_open .nav_inner {
  translate: none;
}
.nav_toggler {
  width: 54.93px;
  height: 48.22px;
  position: relative;
  background-color: #5eb7e8;
  mask-image: url("./../images/common/img_frame.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
}
@media only screen and (min-width: 1025px) {
  .nav_toggler {
    display: none;
  }
}
.nav_toggler.is_open .nav_toggler_bar:nth-child(1) {
  top: 50%;
  rotate: 45deg;
}
.nav_toggler.is_open .nav_toggler_bar:nth-child(2) {
  opacity: 0;
}
.nav_toggler.is_open .nav_toggler_bar:nth-child(3) {
  top: 50%;
  rotate: -45deg;
}
.nav_toggler.is_open .nav_toggler_state_txt:nth-child(1) {
  opacity: 0;
}
.nav_toggler.is_open .nav_toggler_state_txt:nth-child(2) {
  opacity: 1;
}
.nav_toggler_box {
  width: 22.72px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.nav_toggler_bar {
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  border-radius: 2px;
  transition: rotate 150ms linear;
}
.nav_toggler_bar:nth-child(1) {
  top: 0;
}
.nav_toggler_bar:nth-child(2) {
  top: 50%;
}
.nav_toggler_bar:nth-child(3) {
  top: 100%;
}
.nav_mask {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #fff;
}
.nav_inner {
  width: 274px;
  position: relative;
  margin-left: auto;
  overflow: hidden;
  padding-top: 70px;
  translate: 100% 0;
  transition: 500ms cubic-bezier(0.02, 0.69, 0.52, 1.26);
}
.nav_decoration {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 150px, #5eb7e8 0);
}
.nav_decoration::before {
  content: "";
  width: 274px;
  height: 192px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./../images/common/bg_menu_sp.webp");
  background-repeat: no-repeat;
  background-size: 100%;
}
.nav_menu {
  display: flex;
  gap: 6px;
  flex-direction: column;
}
.nav_menu_ova {
  width: 100%;
  max-height: calc(100vh - 156px);
  overflow: auto;
}
.nav_menu_inner {
  padding-left: 87px;
  padding-bottom: 60px;
}
.nav_menu_tag {
  font-size: 6.7rem;
  font-weight: 900;
  line-height: 1;
  color: #abd3ea;
  position: absolute;
  top: 36px;
  left: -10px;
  transform-origin: left bottom;
  rotate: 90deg;
}
.nav_menu_item_link {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
.nav_menu_item_link.has_sub_menu {
  display: inline-flex;
  gap: 18px;
}
.nav_menu_item_link.has_sub_menu::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: relative;
  top: 7px;
  rotate: 45deg;
}
.nav_sub_menu {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  display: flex;
  gap: 7.8px;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 8px;
  padding-bottom: 7px;
}
.nav_sub_menu_item_link {
  display: flex;
  gap: 6px;
  align-items: flex-start;
}
.nav_sub_menu_item_link::before {
  content: "";
  width: 3px;
  height: 3px;
  background-color: #fff;
  border-radius: 9px;
  flex-shrink: 0;
  position: relative;
  top: 9px;
  left: 1px;
}

/** -- ▷ footer -- */
.footer {
  padding-top: 43px;
  padding-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  .footer {
    padding-top: 96px;
    padding-bottom: 20px;
  }
}
.footer_grid {
  display: flex;
  gap: 6px 37px;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .footer_grid {
    gap: 0;
    justify-content: space-between;
    padding-left: 14px;
  }
}
@media only screen and (min-width: 1025px) {
  .footer_grid {
    justify-content: flex-start;
  }
}
.footer_grid_col:nth-child(1) {
  width: 84px;
}
@media only screen and (min-width: 768px) {
  .footer_grid_col:nth-child(1) {
    width: 258px;
    width: clamp(
        15rem,
        calc(15rem + 0.420233463 * (100vw - 768px)),
        25.8rem
    );
  }
}
.footer_grid_col:nth-child(2) {
  width: calc(100% - 84px - 37px);
  margin-top: -3px;
}
@media only screen and (min-width: 768px) {
  .footer_grid_col:nth-child(2) {
    width: 198px;
  }
}
@media only screen and (min-width: 1025px) {
  .footer_grid_col:nth-child(2) {
    margin-top: -8px;
    margin-left: 88px;
    margin-left: clamp(
        6rem,
        calc(6rem + 0.0746666667 * (100vw - 1025px)),
        8.8rem
    );
  }
}
.footer_grid_col:nth-child(3) {
  width: calc(100% - 84px - 37px);
  order: 4;
}
@media only screen and (min-width: 768px) {
  .footer_grid_col:nth-child(3) {
    width: 240px;
    order: 3;
  }
}
@media only screen and (min-width: 1025px) {
  .footer_grid_col:nth-child(3) {
    margin-top: -8px;
    margin-left: 68px;
    margin-left: clamp(
        2rem,
        calc(2rem + 0.128 * (100vw - 1025px)),
        6.8rem
    );
  }
}
.footer_grid_col:nth-child(4) {
  width: 84px;
  order: 3;
  display: flex;
  gap: 7px;
  flex-direction: column;
  justify-content: flex-end;
}
@media only screen and (min-width: 768px) {
  .footer_grid_col:nth-child(4) {
    width: 100%;
    order: 4;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0px 40px;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 1025px) {
  .footer_grid_col:nth-child(4) {
    width: 118px;
    width: clamp(118px, (1025px - 100vw) * 1000, 100%);
    display: block;
    margin-top: -1px;
    margin-left: 41px;
    margin-left: clamp(
        2rem,
        calc(2rem + 0.056 * (100vw - 1025px)),
        4.1rem
    );
  }
}
.footer_logo {
  display: block;
  margin-left: -3.8px;
}
@media only screen and (min-width: 768px) {
  .footer_logo {
    margin-left: 0;
  }
}
.footer_menu {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
@media only screen and (min-width: 768px) {
  .footer_menu {
    gap: 9.7px;
  }
}
@media only screen and (min-width: 768px) {
  .footer_menu li:nth-child(1) .footer_menu_link {
    font-size: 1.7rem;
  }
}
.footer_menu_link {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.375;
  display: inline-flex;
  gap: 5px;
}
@media only screen and (min-width: 768px) {
  .footer_menu_link {
    font-size: 1.7rem;
    gap: 8px;
  }
}
.footer_menu_link::before {
  content: "";
  width: 14px;
  height: 14px;
  display: block;
  background-color: #5eb7e8;
  mask-image: url("./../images/common/img_frame.svg");
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center center;
  position: relative;
  top: 2.5px;
}
@media only screen and (min-width: 768px) {
  .footer_menu_link::before {
    width: 17px;
    height: 15px;
    top: 5px;
  }
}
.footer_sub_menu {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  gap: 0;
  flex-direction: column;
  justify-content: center;
  margin-top: -2px;
}
@media only screen and (min-width: 768px) {
  .footer_sub_menu {
    font-size: 1.4rem;
    line-height: 1.4;
    gap: 0.6px;
    margin-top: 3px;
    padding-left: 6px;
  }
}
.footer_sub_menu_link {
  display: inline-flex;
  gap: 4px;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .footer_sub_menu_link {
    gap: 4px;
  }
}
.footer_sub_menu_link::before {
  content: "";
  width: 3px;
  height: 3px;
  background-color: #5eb7e8;
  border-radius: 99px;
  flex-shrink: 0;
  position: relative;
  top: 7px;
}
@media only screen and (min-width: 768px) {
  .footer_sub_menu_link::before {
    width: 3.33px;
    height: 3.33px;
    top: 8px;
  }
}
.footer_google_partner, .footer_sales_partner, .footer_maces_partner {
  width: 100%;
  display: block;
}
@media only screen and (min-width: 768px) {
  .footer_google_partner, .footer_sales_partner, .footer_maces_partner {
    width: clamp(120px, (100vw - 1025px) * 1000, 100%);
  }
}
.footer_copyright {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.3333333333;
  margin-top: 8px;
  color: #9b9b9b;
}
@media only screen and (min-width: 768px) {
  .footer_copyright {
    font-size: 1.5rem;
    text-align: center;
    margin-top: 36px;
  }
}
@media only screen and (min-width: 768px) {
  .footer_sales_partner {
    margin-top: 12px;
  }
}
@media only screen and (min-width: 768px) {
  .footer_maces_partner {
    margin-top: 9px;
  }
}

.totop {
  width: 40px;
  aspect-ratio: 1.1392993525;
  background-color: #fff;
  transition: 300ms ease;
  position: fixed;
  right: 20px;
  bottom: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  border-radius: 8px;
  background-color: #5eb7e8;
  mask-image: url("./../images/common/img_frame.svg");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .totop {
    width: 68.62px;
    cursor: pointer;
  }
  .totop:hover {
    filter: brightness(1.2);
  }
}
.totop.is_show {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.totop::after {
  content: "";
  width: 12px;
  height: 12px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 42%;
  left: 50%;
  rotate: -45deg;
  translate: -50% 0;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .totop::after {
    width: 18px;
    height: 18px;
  }
}

.heading {
  --color: #4c4948;
  display: flex;
  gap: 4px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .heading {
    gap: 0px;
  }
}
.heading[data-align=sm-center] {
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .heading[data-align=sm-center] {
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.heading[data-align=center] {
  align-items: center;
  justify-content: center;
}
.heading[data-color-themes="#fff"] {
  --color: #fff;
}
.heading .en,
.heading .jp {
  font-weight: 900;
  color: var(--color);
}
.heading .jp {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .heading .jp {
    font-size: 3.3rem;
  }
}
.heading .en {
  font-size: 3.5rem;
  line-height: 1.12;
}
@media only screen and (min-width: 768px) {
  .heading .en {
    font-size: 7.7rem;
  }
}

.heading_sect {
  font-weight: 900;
  line-height: 1.6285714286;
  color: #709df0;
}
.heading_sect[data-align=center] {
  text-align: center;
}

.title_badge {
  --badge-color: #5eb7e8;
  --color: #fff;
  font-weight: 500;
  line-height: 1.5217391304;
  letter-spacing: 0.15em;
  color: var(--color);
  height: 48px;
  position: relative;
  z-index: 1;
  padding: 10px 24px;
}
@media only screen and (min-width: 768px) {
  .title_badge {
    height: 54px;
    padding: 11px 47px 10px;
  }
}
.title_badge[data-color-themes="#fff"] {
  --badge-color: #fff;
  --color: #5eb7e8;
}
.title_badge::before, .title_badge::after {
  content: "";
  width: 30px;
  background-color: var(--badge-color);
  border-radius: 2px;
  position: absolute;
  right: 5px;
  z-index: -1;
  transition: background-color 300ms ease;
}
.title_badge::after {
  height: calc(50% + 0px);
  top: 0;
  transform: skewX(30deg);
}
.title_badge::before {
  height: calc(50% + 1px);
  bottom: 0px;
  transform: skewX(-30deg);
}
.title_badge_bc {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--badge-color);
  mask-image: linear-gradient(to right, rgba(255, 255, 255, 0) 15px, #fff 15px, #fff calc(100% - 15px), rgba(255, 255, 255, 0) 0);
  transition: background-color 300ms ease;
}
.title_badge_shape {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.title_badge_shape::before, .title_badge_shape::after {
  content: "";
  width: 30px;
  background-color: var(--badge-color);
  border-radius: 2px;
  position: absolute;
  left: 6px;
  transition: background-color 300ms ease;
}
.title_badge_shape::after {
  height: 50%;
  top: 0;
  transform: skewX(-30deg);
}
.title_badge_shape::before {
  height: calc(50% + 1px);
  bottom: 0;
  transform: skewX(30deg);
}

.txt {
  font-weight: 400;
  line-height: 2.0555555556;
}
.txt[data-align=center] {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .txt[data-align=md-center] {
    text-align: center;
  }
}
.txt[data-txt="15"] {
  font-size: 1.2rem;
  line-height: 1.9333333333;
}
@media only screen and (min-width: 768px) {
  .txt[data-txt="15"] {
    font-size: 1.5rem;
  }
}

.btn_more {
  --btn-width: 109px;
  --btn-height: 29px;
  --btn-bc: #fff0;
  --btn-c: #545251;
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--btn-c);
  width: var(--btn-width);
  height: var(--btn-height);
  background-color: var(--btn-bc);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 99px;
  border: 1px solid #fff;
}
@media only screen and (min-width: 768px) {
  .btn_more {
    --btn-width: 141px;
    --btn-height: 37px;
    font-size: 2.2rem;
  }
}
.btn_more[data-color-themes="#fff"] {
  --btn-c: #fff;
}
.btn_more::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  position: absolute;
  top: 50%;
  right: 14px;
  translate: 0 -50%;
  rotate: 45deg;
}
@media only screen and (min-width: 768px) {
  .btn_more::after {
    width: 10px;
    height: 10px;
    right: 20px;
  }
}
.btn_more_wrap {
  display: flex;
}
.btn_more_wrap[data-align=center] {
  justify-content: center;
}
.btn_more__sm {
  --btn-width: 76px;
  --btn-height: 20px;
  font-size: 1.1rem;
  padding-top: 2px;
}
@media only screen and (min-width: 768px) {
  .btn_more__sm {
    --btn-width: 107.56px;
    --btn-height: 28.06px;
    font-size: 1.5rem;
    padding-top: 0;
  }
}
.btn_more__sm::after {
  width: 4px;
  height: 4px;
  right: 12px;
}
@media only screen and (min-width: 768px) {
  .btn_more__sm::after {
    width: 8px;
    height: 8px;
    right: 12px;
  }
}

.semibold {
  font-weight: 600 !important;
}

.ul_counter {
  --after-width: 24px;
  line-height: 1.9375;
}
@media only screen and (min-width: 768px) {
  .ul_counter {
    --after-width: 34px;
  }
}
.ul_counter[data-themes=parentheses] {
  counter-reset: parentheses-counter;
}
.ul_counter[data-themes=parentheses] > li {
  counter-increment: parentheses-counter;
}
@media only screen and (min-width: 768px) {
  .ul_counter[data-themes=parentheses] > li {
    margin-right: -7px;
  }
}
.ul_counter[data-themes=parentheses] > li::before {
  content: "（" counter(parentheses-counter) "）";
}
.ul_counter[data-themes=parentheses] .ul_counter[data-themes=parentheses] > li::before {
  content: "(" counter(parentheses-counter) ")";
}
.ul_counter[data-themes=parentheses] .ul_counter[data-themes=latin_upper],
.ul_counter[data-themes=parentheses] .ul_counter[data-themes=parentheses],
.ul_counter[data-themes=parentheses] .ul_counter[data-themes=number] {
  padding-left: 0;
  --after-width: 22px;
}
.ul_counter[data-themes=number] {
  counter-reset: number-counter;
}
.ul_counter[data-themes=number] > li {
  counter-increment: number-counter;
}
@media only screen and (min-width: 768px) {
  .ul_counter[data-themes=number] > li {
    margin-right: -7px;
  }
}
.ul_counter[data-themes=number] > li::before {
  content: counter(number-counter) ".";
}
.ul_counter[data-themes=number] .ul_counter[data-themes=parentheses] > li::before {
  content: "(" counter(parentheses-counter) ")";
}
.ul_counter[data-themes=number] .ul_counter[data-themes=parentheses],
.ul_counter[data-themes=number] .ul_counter[data-themes=latin_upper],
.ul_counter[data-themes=number] .ul_counter[data-themes=number] {
  padding-left: 0;
  --after-width: 22px;
}
.ul_counter[data-themes=latin_upper] {
  counter-reset: latin-counter;
}
.ul_counter[data-themes=latin_upper] > li {
  counter-increment: latin-counter;
}
@media only screen and (min-width: 768px) {
  .ul_counter[data-themes=latin_upper] > li {
    margin-right: -7px;
  }
}
.ul_counter[data-themes=latin_upper] > li::before {
  content: counter(latin-counter, upper-latin) ")";
}
.ul_counter[data-themes=latin_upper] .ul_counter[data-themes=parentheses] > li::before {
  content: "(" counter(parentheses-counter) ")";
}
.ul_counter[data-themes=latin_upper] .ul_counter[data-themes=latin_upper],
.ul_counter[data-themes=latin_upper] .ul_counter[data-themes=parentheses],
.ul_counter[data-themes=latin_upper] .ul_counter[data-themes=number] {
  padding-left: 0;
  --after-width: 22px;
}
.ul_counter[data-themes=dot] > li {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ul_counter[data-themes=dot] > li {
    margin-right: -7px;
  }
}
.ul_counter[data-themes=dot] > li::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: currentColor;
  border-radius: 99px;
  position: absolute;
  top: 0.585em;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ul_counter[data-themes=dot] > li::before {
    width: 14px;
    height: 14px;
    top: 0.48em;
  }
}
.ul_counter > li {
  position: relative;
  padding-left: var(--after-width);
}
.ul_counter > li::before {
  position: absolute;
  top: 0;
  left: 0;
}

.container {
  width: 100%;
  padding-left: 28px;
  padding-right: 28px;
}
@media only screen and (min-width: 768px) {
  .container {
    max-width: 1190px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.container_fluid {
  padding-left: 20px;
  padding-right: 20px;
}

html.is_loading #loadding {
  opacity: 1;
  pointer-events: all;
}
html.is_loading body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

#loadding {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  background-color: #5eb7e8;
  opacity: 0;
  transition: opacity 1s ease-out 0.5s;
}

.three-body {
  position: relative;
  display: inline-block;
  height: 50px;
  width: 50px;
  animation: spin 2.75s infinite linear;
}
.three-body__dot {
  position: absolute;
  height: 100%;
  width: 30%;
}
.three-body__dot:after {
  content: "";
  position: absolute;
  height: 0%;
  width: 100%;
  padding-bottom: 100%;
  background-color: #fff;
  border-radius: 50%;
}
.three-body__dot:nth-child(1) {
  bottom: 5%;
  left: 0;
  transform: rotate(60deg);
  transform-origin: 50% 85%;
}
.three-body__dot:nth-child(1)::after {
  bottom: 0;
  left: 0;
  animation: wobble1 1.1s infinite ease-in-out;
  animation-delay: -0.33s;
}
.three-body__dot:nth-child(2) {
  bottom: 5%;
  right: 0;
  transform: rotate(-60deg);
  transform-origin: 50% 85%;
}
.three-body__dot:nth-child(2)::after {
  bottom: 0;
  left: 0;
  animation: wobble1 1.1s infinite -0.165s ease-in-out;
}
.three-body__dot:nth-child(3) {
  bottom: -5%;
  left: 0;
  transform: translateX(116.666%);
}
.three-body__dot:nth-child(3)::after {
  top: 0;
  left: 0;
  animation: wobble2 1.1s infinite ease-in-out;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes wobble1 {
  0%, 100% {
    transform: translateY(0%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translateY(-66%) scale(0.65);
    opacity: 0.8;
  }
}
@keyframes wobble2 {
  0%, 100% {
    transform: translateY(0%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translateY(66%) scale(0.65);
    opacity: 0.8;
  }
}
.video_fixed {
  position: fixed;
  inset: 0;
  z-index: -1;
}
.video_fixed video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.2;
}

.mv_child {
  position: relative;
}
.mv_child_cover {
  width: 100%;
  min-width: 526.13px;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 17px;
  background-color: #fff;
  mask-image: url("./../images/common/img_mv_shape.svg");
  mask-size: cover;
  mask-position: center right;
  mask-repeat: no-repeat;
}
@media only screen and (min-width: 768px) {
  .mv_child_cover {
    min-width: 1579px;
    right: 100px;
  }
}
.mv_child_cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 2px 39%;
}
@media only screen and (min-width: 768px) {
  .mv_child_cover img {
    object-position: 6px 40%;
  }
}
.mv_child_inner {
  height: 87px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 8px;
}
@media only screen and (min-width: 768px) {
  .mv_child_inner {
    height: 261.83px;
  }
}
.mv_child_heading {
  --color: #fff;
  text-align: center;
}
.mv_child_heading[data-color-themes=default] {
  --color: inherit;
}
.mv_child_heading .en,
.mv_child_heading .jp {
  color: var(--color);
  display: block;
}
.mv_child_heading .en {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.4545454545;
}
@media only screen and (min-width: 768px) {
  .mv_child_heading .en {
    font-size: 2.2rem;
  }
}
.mv_child_heading .jp {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.511627907;
  letter-spacing: 0.15em;
}
@media only screen and (min-width: 768px) {
  .mv_child_heading .jp {
    font-size: clamp(
        3rem,
        calc(3rem + 0.0205696203 * (100vw - 768px)),
        4.3rem
    );
  }
}

.breadcrumb {
  --color: #9a9a9a;
  padding-top: 24px;
  padding-bottom: 22px;
}
@media only screen and (min-width: 768px) {
  .breadcrumb {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.breadcrumb[data-color-themes="#fff"] {
  --color: #fff;
}
.breadcrumb_lists {
  font-weight: 400;
  line-height: 1.4285714286;
  color: var(--color);
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
}
.breadcrumb_lists li:has(a)::after {
  content: "＞";
  margin-left: 3px;
  margin-right: 3px;
}
.breadcrumb_lists a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (min-width: 768px) {
  .breadcrumb_lists a {
    transition: 300ms ease;
  }
  .breadcrumb_lists a:hover {
    text-decoration-color: rgba(255, 255, 255, 0);
  }
}

.topics {
  width: 30px;
  position: fixed;
  z-index: 100;
  right: 0px;
  bottom: 78px;
  translate: 30px 0;
}
@media only screen and (min-width: 768px) {
  .topics {
    bottom: 105px;
  }
}
.topics.is_open .topics_inner {
  translate: -100% 0;
}
.topics.is_open .topics_toggler::after {
  left: 37%;
  rotate: 45deg;
}
.topics.is_open .topics_toggler_tag {
  opacity: 0;
  transition: 150ms linear;
  pointer-events: none;
}
.topics_inner {
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  translate: -30px 0;
  filter: drop-shadow(0 0 20px rgba(91, 195, 231, 0.81));
  transition: all 450ms cubic-bezier(0.15, 0.95, 0.5, 1.05);
}
.topics_toggler {
  width: 16px;
  height: 100%;
  background-color: #5eb7e8;
  position: absolute;
  top: 0;
  left: -16px;
  border-top-left-radius: 17px;
  border-bottom-left-radius: 17px;
}
@media only screen and (min-width: 768px) {
  .topics_toggler {
    width: 20px;
    cursor: pointer;
    left: -20px;
  }
}
.topics_toggler::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 60%;
  translate: -50% -50%;
  rotate: -135deg;
  border: 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media only screen and (min-width: 768px) {
  .topics_toggler::after {
    width: 12px;
    height: 12px;
  }
}
.topics_toggler_tag {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
  text-align: center;
  writing-mode: tb-rl;
  width: 30px;
  height: 75px;
  background-color: #5eb7e8;
  border: 1px solid #53b7e8;
  position: absolute;
  z-index: 1;
  top: 0;
  left: -30px;
  padding-left: 3px;
  padding-right: 4px;
  transition: 150ms linear 200ms;
}
@media only screen and (min-width: 768px) {
  .topics_toggler_tag {
    width: 30px;
    height: 97px;
    font-size: 1.8rem;
    padding-right: 4px;
    cursor: pointer;
  }
}
.topics_context {
  height: 75px;
  display: flex;
  gap: 12px;
  padding: 8px 13px 10px 14px;
}
@media only screen and (min-width: 768px) {
  .topics_context {
    height: 97px;
    gap: 0px;
    padding: 8px 9px 10px 25px;
  }
}
.topics_context_info {
  width: 186px;
}
@media only screen and (min-width: 768px) {
  .topics_context_info {
    width: 163px;
  }
}
.topics_context_title {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.1851851852;
  color: #5eb7e8;
}
@media only screen and (min-width: 768px) {
  .topics_context_title {
    font-size: 2.7rem;
  }
}
.topics_context_txt {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4666666667;
}
@media only screen and (min-width: 768px) {
  .topics_context_txt {
    font-size: 1.5rem;
    margin-top: 6px;
  }
}
.topics_context_photo {
  width: 66px;
  aspect-ratio: 1.1486486486;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .topics_context_photo {
    width: 85px;
    margin-top: 4px;
  }
}
.topics_context_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lr_info_row {
  display: flex;
  gap: 7px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .lr_info_row {
    flex-direction: row;
  }
}
.lr_info_row + .lr_info_row {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .lr_info_row + .lr_info_row {
    margin-top: 20px;
  }
}
.lr_info_row_title {
  font-weight: 500;
  line-height: 1.7777777778;
  letter-spacing: 0.15em;
  color: #545251;
  background-color: rgba(94, 183, 232, 0.3);
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  border-radius: 10px;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_title {
    width: 252px;
    padding: 10px 10px 8px 50px;
    border-radius: 0px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }
}
.lr_info_row_detail {
  font-weight: 400;
  line-height: 1.5;
  background-color: rgba(94, 183, 232, 0.08);
  border-radius: 10px;
  padding: 16px;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_detail {
    width: calc(100% - 252px - 7px);
    min-height: 53px;
    padding: 11px 22px 11px 52px;
    border-radius: 0px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
  }
}
.lr_info_row_detail .smaller {
  line-height: 1.9285714286;
}
.lr_info_row table th,
.lr_info_row table td {
  font-weight: 400;
  text-align: left;
  line-height: 1.8333333333;
}
.lr_info_row table th {
  width: 190px;
}
@media only screen and (min-width: 768px) {
  .lr_info_row table th {
    width: 230px;
  }
}
.lr_info_row_map {
  padding-bottom: 10px;
}
.lr_info_row_map + .lr_info_row_map {
  margin-top: 15px;
}
.lr_info_row_map_context {
  display: flex;
  gap: 12px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_map_context {
    gap: 12px 29px;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: row;
  }
}
.lr_info_row_map_name {
  font-weight: 600;
  line-height: 1.8333333333;
}
.lr_info_row_map_txt {
  width: 100%;
  font-weight: 400;
  line-height: 1.6111111111;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_map_txt {
    width: 420px;
  }
}
.lr_info_row_map_txt a {
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_map_btn_wrap {
    padding-top: 9px;
  }
}
.lr_info_row_map_btn {
  font-weight: 600;
  line-height: 1.5625;
  color: #fff;
  width: 103px;
  height: 31px;
  background-color: #5eb7e8;
  border-radius: 99px;
  display: flex;
  gap: 10px;
  align-items: center;
  padding-left: 13px;
  padding-right: 13px;
}
.lr_info_row_map_btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  display: inline-block;
  margin-left: auto;
  rotate: 45deg;
  flex-shrink: 0;
}
.lr_info_row_map_btn img {
  width: 17.24px;
}
.lr_info_row_lists {
  display: flex;
  gap: 6px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_lists {
    gap: 6px;
    padding-bottom: 6px;
  }
}
.lr_info_row_lists[data-gap="22px"] {
  gap: 16px;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_lists[data-gap="22px"] {
    gap: 22px;
  }
}
.lr_info_row_lists li {
  --dot-bc: #5eb7e8;
  position: relative;
  padding-left: 20px;
}
.lr_info_row_lists li[data-color-themes="#709DF0"] {
  --dot-bc: #709df0;
}
.lr_info_row_lists li[data-color-themes="#AF75EA"] {
  --dot-bc: #af75ea;
}
.lr_info_row_lists li[data-color-themes="#F7965A"] {
  --dot-bc: #f7965a;
}
.lr_info_row_lists li[data-color-themes="#FFCA39"] {
  --dot-bc: #ffca39;
}
.lr_info_row_lists li[data-color-themes="#F465A2"] {
  --dot-bc: #f465a2;
}
.lr_info_row_lists li[data-color-themes="#B1DD3D"] {
  --dot-bc: #b1dd3d;
}
.lr_info_row_lists li[data-color-themes="#ED4DE7"] {
  --dot-bc: #ed4de7;
}
.lr_info_row_lists li[data-color-themes="#9B9B9B"] {
  --dot-bc: #9b9b9b;
}
.lr_info_row_lists li::before {
  content: "";
  width: 13px;
  height: 13px;
  background-color: var(--dot-bc);
  border-radius: 99px;
  position: absolute;
  top: 0.4em;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_lists li::before {
    width: 16px;
    height: 16px;
  }
}
.lr_info_row_lists a {
  font-weight: 600;
  line-height: 1.6111111111;
  color: #5eb7e8;
}
@media only screen and (min-width: 768px) {
  .lr_info_row_lists a:hover span {
    text-decoration-color: rgba(255, 255, 255, 0);
  }
}
.lr_info_row_lists a span {
  text-decoration: underline;
  transition: 300ms ease;
}
.lr_info_row_lists_item_tag {
  font-weight: 600;
}
.lr_info_row_lists_item_txt {
  line-height: 1.6111111111;
  margin-top: 8px;
}
.lr_goals {
  margin-top: 60px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .lr_goals {
    margin-top: 131px;
    padding-bottom: 98px;
  }
}
.lr_goals_heading {
  font-weight: 700;
  line-height: 1.8214285714;
  text-align: center;
}
.lr_goals_leading {
  font-weight: 600;
  line-height: 1.95;
  text-align: center;
  margin-top: 12px;
}
@media only screen and (min-width: 768px) {
  .lr_goals_leading {
    margin-top: 20px;
  }
}
.lr_goals_txt {
  text-align: center;
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .lr_goals_txt {
    margin-top: 30px;
  }
}
.lr_goals_mv_txt {
  width: 300px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .lr_goals_mv_txt {
    width: 60vw;
    max-width: 567px;
    margin-top: 81px;
  }
}
.lr_goals_more {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}
@media only screen and (min-width: 768px) {
  .lr_goals_more {
    margin-top: 42px;
  }
}
.lr_goals_more_confirm {
  display: flex;
  gap: 50px;
  justify-content: center;
}
.lr_goals_more_link {
  --badge-color: #fc83b6;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
}
@media only screen and (min-width: 768px) {
  .lr_goals_more_link {
    min-width: 350px;
    height: 74px;
    font-size: 2.2rem;
    padding: 11px 35px 10px 20px;
    transition: 300ms ease;
  }
  .lr_goals_more_link:hover {
    --badge-color: #ef71a7;
    opacity: 1;
  }
}
.lr_goals_more_link::before, .lr_goals_more_link::after {
  right: 0;
}
.lr_goals_more_link .title_badge_shape::before, .lr_goals_more_link .title_badge_shape::after {
  left: 0;
}
.lr_goals_more_link .icon {
  width: 26px;
}
@media only screen and (min-width: 768px) {
  .lr_goals_more_link .icon {
    width: 43px;
  }
}
.lr_goals_more_link_arrow {
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 10px;
  translate: 0 -50%;
  rotate: 45deg;
  border: 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media only screen and (min-width: 768px) {
  .lr_goals_more_link_arrow {
    width: 14px;
    height: 14px;
    right: 15px;
  }
}

.c_pagination {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c_pagination.hidden_all .nextpostslink,
.c_pagination.hidden_all .previouspostslink {
  display: none;
}
.c_pagination.hidden_begin .previouspostslink {
  display: none;
}
.c_pagination.hidden_end .nextpostslink {
  display: none;
}
.c_pagination .wp-pagenavi {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.c_pagination .page,
.c_pagination span,
.c_pagination .extend,
.c_pagination .last,
.c_pagination .first {
  color: #5eb7e8;
  text-align: center;
  width: 38px;
  height: 35px;
  display: block;
  position: relative;
  z-index: 1;
  padding: 6px 1px 0 0;
}
.c_pagination .page::after,
.c_pagination span::after,
.c_pagination .extend::after,
.c_pagination .last::after,
.c_pagination .first::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url(./../images/common/icon_pagination_w.svg);
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
}
.c_pagination .current {
  color: #fff;
}
.c_pagination .current::after {
  background-image: url(./../images/common/icon_pagination.svg);
}
.c_pagination .previouspostslink,
.c_pagination .nextpostslink {
  width: 10px;
  height: 10px;
  font-size: 0;
  position: relative;
}
.c_pagination .previouspostslink::after,
.c_pagination .nextpostslink::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 0;
  rotate: 45deg;
  translate: 0 -50%;
}
.c_pagination .previouspostslink {
  scale: -1 1;
}
.c_pagination .extend {
  color: #fff;
  width: auto;
  padding: 0;
}
.c_pagination .extend::after {
  display: none;
}

.wpcf7-form.resetting, .wpcf7-form.submitting {
  pointer-events: none;
}

.form {
  margin-top: 10px;
}
@media only screen and (min-width: 768px) {
  .form {
    margin-top: 32px;
  }
}
.form_inner {
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .form_inner {
    max-width: 1094px;
  }
}
.form_inner .lr_goals_more {
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more {
    margin-top: 77px;
  }
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more .title_badge {
    padding-top: 14px;
  }
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more.has_mail .title_badge {
    padding-inline: 47px 20px;
  }
}
.form_inner .lr_goals_more.has_mail .title_badge_shape {
  background-size: 26px 20px;
  background-repeat: no-repeat;
  background-image: url(../images/common/icon_mail_w.svg);
  background-position: 30px 13px;
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more.has_mail .title_badge_shape {
    background-size: 43px 33px;
    background-position: 44px 22px;
  }
}
.form_inner .lr_goals_more.has_back .lr_goals_more_link_arrow {
  left: 10px;
  rotate: -135deg;
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more.has_back .lr_goals_more_link_arrow {
    left: 21px;
  }
}
.form_inner .lr_goals_more_link {
  position: relative;
  min-width: 240px;
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more_link {
    min-width: 360px;
  }
}
@media only screen and (min-width: 768px) {
  .form_inner .lr_goals_more_link_arrow {
    right: 21px;
    width: 16px;
    height: 16px;
  }
}
.form_inner .lr_goals_more_link input {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  width: 100%;
  opacity: 0;
  cursor: pointer;
}
.form_inner .lr_goals_more_link .wpcf7-spinner {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  margin: 0;
}
.form_inner .lr_goals_more + .lr_goals_more {
  margin-top: 30px;
}
.form_intro {
  font-weight: 500;
  line-height: 1.8333333333;
}
.form_intro__tell {
  color: #4b9eff;
}
.form_intro__tell::before {
  content: "☎ ";
}
.form_heading {
  font-weight: 700;
  color: var(--color-main-1);
  letter-spacing: 0.18em;
  line-height: 1.7567567568;
  text-align: center;
}
.form_leading {
  font-weight: 400;
  line-height: 1.7894736842;
  letter-spacing: 0.05em;
  color: #4c4948;
  text-align: center;
  margin-top: 16px;
}
.form_txt {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.06em;
  color: #4c4948;
  text-align: center;
  margin-top: 14px;
}
.form_contact {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #4c4948;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .form_contact {
    line-height: 1.4;
  }
}
.form_custom {
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .form_custom {
    margin-top: 59px;
  }
}
.form_custom.is_confirm .form_row .form_row_label {
  margin-bottom: 0;
}
.form_custom .wpcf7-list-item {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .form_custom label:not(:has(a)) {
    cursor: pointer;
    transition: 300ms ease;
  }
  .form_custom label:not(:has(a)):hover {
    opacity: 0.6;
  }
}
.form_custom input[type=tel],
.form_custom input[type=text],
.form_custom textarea,
.form_custom input[type=email] {
  width: 100%;
  outline: 0;
  border: 1px solid #b5b5b5;
  border-radius: 10px;
  box-shadow: inset 0px 3px 7px rgba(0, 0, 0, 0.17);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #545251;
  padding: 10px 20px;
  resize: none;
}
@media only screen and (min-width: 768px) {
  .form_custom input[type=tel],
.form_custom input[type=text],
.form_custom textarea,
.form_custom input[type=email] {
    border-radius: 14px;
    font-size: 1.7rem;
    padding: 12px 24px;
  }
}
.form_custom input[type=tel]::placeholder,
.form_custom input[type=text]::placeholder,
.form_custom textarea::placeholder,
.form_custom input[type=email]::placeholder {
  color: #b5b5b5;
  letter-spacing: 0.1em;
  text-align: left;
  white-space: pre-line;
  line-height: 1.7777777778;
}
.form_custom input[type=tel],
.form_custom input[type=text],
.form_custom input[type=email] {
  height: 54px;
}
@media only screen and (min-width: 768px) {
  .form_custom textarea {
    padding: 10px 8px 10px 24px;
  }
}
.form_custom input[type=checkbox],
.form_custom input[type=radio] {
  width: 20px;
  height: 20px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.36);
  position: relative;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .form_custom input[type=checkbox],
.form_custom input[type=radio] {
    width: 26px;
    height: 26px;
    cursor: pointer;
  }
}
.form_custom input[type=checkbox]:checked::after,
.form_custom input[type=radio]:checked::after {
  opacity: 1;
}
.form_custom input[type=checkbox]::after,
.form_custom input[type=radio]::after {
  content: "";
  background-color: #709df0;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: 300ms ease;
  opacity: 0;
}
.form_custom input[type=radio] {
  border-radius: 99px;
}
.form_custom input[type=radio]::after {
  width: 14px;
  height: 14px;
  border-radius: 99px;
}
.form_custom input[type=checkbox]::after {
  width: 14px;
  height: 10px;
  mask-image: url("./../images/common/icon_checkbox.svg");
  mask-size: 13px 10px;
  mask-repeat: no-repeat;
}
.form_custom .wpcf7-checkbox,
.form_custom .form_radio {
  display: flex;
  gap: 17.5px;
  flex-direction: column;
}
.form_custom .wpcf7-checkbox label,
.form_custom .form_radio label {
  font-weight: 500;
  line-height: 1.4;
  display: inline-flex;
  gap: 13px;
  cursor: pointer;
}
.form_custom input[type=file] {
  width: 100%;
  height: 52px;
  opacity: 0;
  position: relative;
  z-index: 1;
}
.form_custom input[type=file]::-webkit-file-upload-button {
  visibility: hidden;
}
.form_custom .is_file .codedropz-upload-container {
  padding: 0;
}
.form_custom .is_file .codedropz-upload-handler {
  position: relative;
  box-shadow: inset 0px 3px 7px rgba(0, 0, 0, 0.17);
  border-radius: 10px;
  outline: 0;
  border: 1px solid #b5b5b5;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .form_custom .is_file .codedropz-upload-handler {
    border-radius: 14px;
  }
}
.form_custom .is_file .codedropz-upload-inner {
  text-align: left;
}
.form_custom .is_file .codedropz-upload-inner span:nth-child(2) {
  display: none;
}
.form_custom .is_file .codedropz-upload-inner span:nth-child(1) {
  font-weight: 500;
  line-height: 1.6111111111;
  color: #545251;
  position: absolute;
  top: 50%;
  left: 164px;
  translate: 0 -50%;
}
.form_custom .is_file .codedropz-upload-wrapper {
  position: relative;
}
.form_custom .is_file .dnd-upload-counter {
  display: none;
}
.form_custom .is_file .dnd-upload-status {
  position: absolute;
  inset: 0;
  background-color: #fff;
  margin: -1px;
}
.form_custom .is_file .dnd-upload-image {
  display: none;
}
.form_custom .is_file .dnd-upload-details {
  padding-left: 0;
}
.form_custom .is_file .dnd-upload-details .name {
  padding-right: 30px;
  justify-content: space-between;
}
.form_custom .is_file .dnd-upload-details .remove-file {
  top: 50%;
  translate: 0 -50%;
}
.form_custom .is_file .dnd-upload-details .remove-file span::after {
  width: 20px;
  height: 20px;
}
.form_custom .is_file .dnd-upload-details .dnd-progress-bar {
  display: none;
}
.form_custom .is_file .cd-upload-btn {
  font-weight: 500;
  line-height: 1;
  color: #545251;
  display: block;
  padding: 20px 20px 21px 30px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .form_custom .is_file .cd-upload-btn {
    padding: 18px 24px;
  }
}
.form_custom .is_file .cd-upload-btn::before {
  content: "";
  width: 138px;
  height: 29px;
  background-color: #d3d3d3;
  border: 1px solid #b2b2b2;
  border-radius: 7px;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 10px;
  translate: 0 -50%;
}
.form_custom .file_ref {
  font-weight: 500;
  line-height: 1.6111111111;
  color: #545251;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  padding: 5px 11px 4px;
}
.form_custom .file_ref_default {
  display: flex;
  gap: 16px;
  align-items: center;
}
.form_custom .file_ref_default > label {
  line-height: 1;
  background-color: #d3d3d3;
  border: 1px solid #b2b2b2;
  border-radius: 7px;
  padding: 6px 16px;
}
.form_custom .file_ref_displayed {
  display: none;
}
.form_custom .file_error {
  color: #dc3232;
  font-size: 1em;
  font-weight: normal;
  display: block;
}
.form_custom .file_note {
  font-weight: 400;
  line-height: 1.6;
  margin-top: 12px;
}
@media only screen and (min-width: 768px) {
  .form_custom .file_note {
    margin-bottom: -60px;
    margin-bottom: clamp(-60px, (1025px - 100vw) * 1000, 0px);
  }
}
.form_checkbox_list {
  padding-left: 15px;
}
@media only screen and (min-width: 768px) {
  .form_checkbox_list {
    padding-left: 30px;
    margin-top: -8px;
  }
}
.form_checkbox_list .wpcf7-form-control {
  padding-left: 15px;
  margin-top: 15px;
}
@media only screen and (min-width: 768px) {
  .form_checkbox_list .wpcf7-form-control {
    padding-left: 30px;
    margin-top: 22px;
  }
}
.form_checkbox_lead {
  font-weight: 700;
  letter-spacing: 0.05em;
}
.form_checkbox_lead ~ .form_checkbox_lead {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .form_checkbox_lead ~ .form_checkbox_lead {
    margin-top: 27px;
  }
}
.form_row + .form_row {
  border-top: 1px solid #c4c4c4;
  margin-top: 30px;
  padding-top: 30px;
}
@media only screen and (min-width: 768px) {
  .form_row + .form_row {
    margin-top: 39px;
    padding-top: 38px;
  }
}
.form_row.is_input {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media only screen and (min-width: 768px) {
  .form_row.is_input {
    gap: 33px 50px;
    margin-inline: -3px;
    padding-top: 24px;
  }
}
@media only screen and (min-width: 768px) {
  .form_row.is_input:not(:first-child) {
    margin-top: 51px;
  }
}
.form_row.is_input .form_row_label {
  margin-bottom: 12px;
}
.form_row_label {
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  display: inline-flex;
  gap: 15px;
  align-items: flex-start;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .form_row_label {
    gap: 26px;
    margin-bottom: 27px;
  }
}
.form_row_label .is_any,
.form_row_label .is_required {
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #fff;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 3px 7px 4px;
  position: relative;
  top: 1px;
}
@media only screen and (min-width: 768px) {
  .form_row_label .is_any,
.form_row_label .is_required {
    top: 6px;
  }
}
.form_row_label .is_any {
  background-color: #5eb7e8;
}
.form_row_label .is_required {
  background-color: #ff001d;
}
.form_row_label .smaller {
  letter-spacing: 0.06em;
  margin-left: 10px;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .form_row_label .smaller {
    margin-left: 32px;
  }
}
.form_col {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .form_col.is_half {
    width: calc(50% - 25px);
    width: clamp(50% - 25px, (1024px - 100vw) * 1000, 100%);
  }
}
@media only screen and (min-width: 768px) {
  .form_col.is_textarea {
    padding-top: 14px;
  }
}
.form_col textarea {
  height: 200px;
  background-color: #fff;
  padding-left: 64px;
  text-indent: -40px;
}
@media only screen and (min-width: 768px) {
  .form_col textarea {
    height: 250px;
  }
}
.form_col textarea.has_value {
  padding-left: 24px;
  text-indent: 0;
}
.form_col:empty {
  display: none;
}
@media only screen and (min-width: 768px) {
  .form_col:empty {
    display: block;
  }
}
.form_acceptance {
  margin-top: 30px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .form_acceptance {
    margin-top: 50px;
  }
}
.form_acceptance label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  color: #0062ff;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .form_acceptance label {
    gap: 19px;
  }
}
.form_acceptance label span {
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .form_acceptance label span:hover {
    text-decoration: none;
  }
}
.form_acceptance input {
  position: relative;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .form_acceptance input {
    top: 2px;
  }
}

.p_solution_form .form {
  margin-top: 11px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .p_solution_form .form {
    padding-bottom: 100px;
  }
}
.p_solution_form .form_custom {
  border-top: 1px solid #c4c4c4;
  padding-top: 24px;
}
@media only screen and (min-width: 768px) {
  .p_solution_form .form_custom {
    margin-top: 72px;
    padding-top: 0;
  }
}

.l_404 {
  padding-bottom: 50px;
}
.l_404 .btn {
  width: 100%;
  max-width: 148px;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .l_404 .btn {
    min-height: 49px;
  }
}
.l_404 .btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #5eb7e8;
  mask-image: url(./../images/common/img_shape_news02.svg);
  mask-size: contain;
  mask-position: center right;
  mask-repeat: no-repeat;
}
.l_404_title {
  font-weight: 700;
  text-align: center;
}
.l_404_txt {
  margin-top: 20px;
  text-align: center;
}
.l_404_backtop {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .l_404_backtop {
    margin-top: 80px;
  }
}

/*# sourceMappingURL=common.css.map */
