@charset "UTF-8";
@import 'reset.css';
/*------------------------------------*\
    內容變數
\*------------------------------------*/
/*------------------------------------*\
  base extend
\*------------------------------------*/
.stepbox_text, .radioBtn label {
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768.01px) {
  .section_join .frame_l a, .section_login .link_box a, .btn_pagi, .btn_eye, .btn_table_setting, .btn_light, .a_line, footer a, header ul a {
    transition: opacity 0.2s ease-in-out;
  }
  .section_join .frame_l a:hover, .section_login .link_box a:hover, .btn_pagi:hover, .btn_eye:hover, .btn_table_setting:hover, .btn_light:hover, .a_line:hover, footer a:hover, header ul a:hover, .section_join .frame_l a:focus, .section_login .link_box a:focus, .btn_pagi:focus, .btn_eye:focus, .btn_table_setting:focus, .btn_light:focus, .a_line:focus, footer a:focus, header ul a:focus {
    opacity: 0.75;
  }
}

@media screen and (min-width: 768.01px) {
  .section_nav .link_box .active, .btn_pagi.active, header .inner_nav_link.active {
    transition: none;
  }
  .section_nav .link_box .active:hover, .btn_pagi.active:hover, header .inner_nav_link.active:hover, .section_nav .link_box .active:focus, .btn_pagi.active:focus, header .inner_nav_link.active:focus {
    opacity: revert;
  }
}

.btn_danger, .btn_normal, header .btn_logout {
  transition: background-position 0.2s ease-in-out;
}
@media screen and (min-width: 768.01px) {
  .btn_danger:hover, .btn_normal:hover, header .btn_logout:hover, .btn_danger:focus, .btn_normal:focus, header .btn_logout:focus {
    background-position: right center;
  }
}

body {
  line-height: 1.5;
  font-size: 1rem;
  font-family: "Noto Sans TC", "Microsoft JhengHei", "微軟正黑體", "Roboto", sans-serif;
  font-weight: 400;
}

* {
  box-sizing: border-box;
}

.font-eng, .stepbox_item-1 .stepbox_text::before, .stepbox_item-2 .stepbox_text::before, .stepbox_item-3 .stepbox_text::before, .stepbox_item-4 .stepbox_text::before {
  font-family: "Roboto", sans-serif;
}

/*------------------------------------*\
    layout
\*------------------------------------*/
.wrapper {
  background-color: #FAFAFA;
  overflow-x: hidden;
  padding-top: 4.5rem;
}
@media screen and (max-width: 768px) {
  .wrapper {
    padding-top: 3.5rem;
  }
}

.ml-auto {
  margin-left: auto;
}

.mb_5x {
  margin-bottom: 1.25rem;
}

.mb_10x {
  margin-bottom: 2.5rem;
}

.mb_20x {
  margin-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  .mb_1x_mo {
    margin-bottom: 0.25rem;
  }
}

@media screen and (max-width: 768px) {
  .mb_5x_mo {
    margin-bottom: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  .mb_10x_mo {
    margin-bottom: 2.5rem;
  }
}

.ml_auto {
  margin-left: auto;
}

.d_flex_j_start_a_center {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.d_flex_j_start_a_end {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.d_flex_j_start_a_stretch {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}

.d_flex_j_around_a_center {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.d_flex_j_between_a_start {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.d_flex_j_between_a_center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.d_flex_j_between_a_end {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.d_flex_j_between_a_stretch {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.d_flex_j_end_a_center {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.d_flex_j_center_a_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.gap-2x {
  gap: 0.5rem;
}

@media screen and (max-width: 768px) {
  .order_1_mo {
    order: 1;
  }
}

@media screen and (max-width: 768px) {
  .order_2_mo {
    order: 2;
  }
}

@media screen and (max-width: 768px) {
  .order_3_mo {
    order: 3;
  }
}

@media screen and (max-width: 768px) {
  .order_4_mo {
    order: 4;
  }
}

@media screen and (max-width: 768px) {
  .order_5_mo {
    order: 5;
  }
}

@media screen and (max-width: 768px) {
  .order_6_mo {
    order: 6;
  }
}

@media screen and (max-width: 768px) {
  .order_7_mo {
    order: 7;
  }
}

@media screen and (max-width: 768px) {
  .order_8_mo {
    order: 8;
  }
}

.d_none {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .for_web {
    display: none !important;
  }
}

.for_mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .for_mobile {
    display: block;
  }
}

.br_mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .br_mobile {
    display: inline;
  }
}

.text_c {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .text_c_mo {
    text-align: center;
  }
}

.text_l {
  text-align: left;
}

.position_relative {
  position: relative;
}

.frame_l {
  width: 81.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1300px) {
  .frame_l {
    width: 100%;
  }
}

/*------------------------------------*\
    header
\*------------------------------------*/
header {
  width: 100%;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  transition: all 0.15s;
}
@media screen and (max-width: 768px) {
  header {
    background-color: #FFFFFF;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  }
}
header .frame_l {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header .frame_l {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
header .logo_box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .logo_box {
    gap: 0.5rem;
  }
}
header .logo {
  display: block;
  height: 3.5rem;
  width: 9rem;
  background-image: url("../images/logo.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  header .logo {
    height: 2.5rem;
    width: 6.5rem;
  }
}
header h1 {
  visibility: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
header span {
  display: block;
  width: 2px;
  height: 1.75rem;
  background-color: #444444;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  header span {
    height: 1.25rem;
  }
}
header span + div {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #444444;
}
@media screen and (max-width: 768px) {
  header span + div {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
header ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-left: auto;
}
@media screen and (max-width: 920px) {
  header ul {
    display: none;
  }
}
header ul a {
  font-size: 1.25rem;
  line-height: 2rem;
  font-weight: 700;
  color: #5071B2;
}
header .btn_logout {
  margin-left: 2.5rem;
  padding: 0.25rem 0.5rem;
  background: linear-gradient(to right, #FFFFFF 0%, #F0F0F0 50%, #F0F0F0 100%);
  background-size: 200% auto;
  background-position: left center;
  border-radius: 0.5rem;
  font-size: 1.25rem;
  line-height: 2rem;
  color: #5071B2;
}
@media screen and (max-width: 920px) {
  header .btn_logout {
    display: none;
  }
}
header .btn_menu {
  width: 2.25rem;
  height: 2.25rem;
  background-image: url("../images/btn_menu.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  display: none;
}
@media screen and (max-width: 920px) {
  header .btn_menu {
    display: block;
  }
}
header .inner_nav_link {
  font-weight: 500;
}
header .inner_nav_link.active {
  font-weight: 700;
  color: #004BA1;
}

.header_mail {
  width: 100%;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  transition: all 0.15s;
  background-color: #F0F9FF;
}
@media screen and (max-width: 768px) {
  .header_mail {
    background-color: #FFFFFF;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  }
}
.header_mail .frame_l {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .header_mail .frame_l {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.header_mail .logo_box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .header_mail .logo_box {
    gap: 0.5rem;
  }
}
.header_mail .logo {
  display: block;
  height: 3.5rem;
  width: 9rem;
  background-image: url("../images/logo.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .header_mail .logo {
    height: 2.5rem;
    width: 6.5rem;
  }
}
.header_mail h1 {
  visibility: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.header_mail span {
  display: block;
  width: 2px;
  height: 1.75rem;
  background-color: #444444;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  .header_mail span {
    height: 1.25rem;
  }
}
.header_mail span + div {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #444444;
}
@media screen and (max-width: 768px) {
  .header_mail span + div {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

header.shadow {
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  header.shadow {
    background-color: #FFFFFF;
  }
}
header.shadow .btn_logout {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

/*------------------------------------*\
    footer
\*------------------------------------*/
footer {
  width: 100%;
  background-color: #444444;
  font-size: 1rem;
  line-height: 1.5;
  color: #FFFFFF;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  footer {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
footer a {
  color: #FFFFFF;
}
footer .d_flex_j_center_a_center:first-of-type {
  gap: 5rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  footer .d_flex_j_center_a_center:first-of-type {
    font-size: 0.875rem;
    line-height: 1.375rem;
    gap: 0.5rem 1.25rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 374px) {
  footer .d_flex_j_center_a_center:first-of-type {
    flex-wrap: wrap;
    gap: 0.5rem 0.625rem;
  }
}
footer .d_flex_j_center_a_center:first-of-type a {
  position: relative;
}
@media screen and (max-width: 374px) {
  footer .d_flex_j_center_a_center:first-of-type a {
    width: calc(50% - 0.625rem);
    text-align: center;
  }
}
footer .d_flex_j_center_a_center:first-of-type a:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1.5rem;
  background-color: #FFFFFF;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -2.5rem;
}
@media screen and (max-width: 768px) {
  footer .d_flex_j_center_a_center:first-of-type a:after {
    height: 1.25rem;
    right: -0.625rem;
  }
}
@media screen and (max-width: 374px) {
  footer .d_flex_j_center_a_center:first-of-type a:nth-child(2)::after {
    display: none;
  }
}
footer .d_flex_j_center_a_center:first-of-type a:last-of-type:after {
  display: none;
}
footer .d_flex_j_center_a_center:last-of-type {
  gap: 0.5rem 1.25rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  footer .d_flex_j_center_a_center:last-of-type {
    flex-direction: column;
    font-size: 0.75rem;
    line-height: 1rem;
    gap: 0.25rem;
  }
}
footer .d_flex_j_center_a_center:last-of-type div {
  white-space: nowrap;
}

.footer_mail {
  padding: 1.5rem 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer_mail {
    padding: 0.75rem 0;
  }
}

/*------------------------------------*\
    component
\*------------------------------------*/
.container_inner {
  position: relative;
  z-index: 2;
  overflow: hidden;
  color: #444444;
  padding-bottom: 5rem;
  min-height: calc(100dvh - 11rem);
}
@media screen and (max-width: 768px) {
  .container_inner {
    padding-bottom: 2.5rem;
    min-height: calc(100dvh - 15.875rem);
  }
}
.container_inner .bg_obj_middle {
  height: 26.25rem;
  width: auto;
  position: absolute;
  top: 43.875rem;
  left: -3.875rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .container_inner .bg_obj_middle {
    height: 13.125rem;
    top: 41rem;
    left: -6.375rem;
  }
}
.container_inner .bg_obj_bottom {
  height: 26.375rem;
  width: auto;
  position: absolute;
  top: 78.75rem;
  right: -18.5rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .container_inner .bg_obj_bottom {
    height: 13.1875rem;
    top: auto;
    bottom: -6.625rem;
    right: -4.375rem;
  }
}

.color-text {
  color: #444444;
}

.color-main {
  color: #5071B2;
}

.color-danger {
  color: #A61414;
}

.inner_h2_decorate {
  text-align: center;
  margin-bottom: 2.5rem;
}
.inner_h2_decorate h2 {
  display: inline-block;
  font-size: 2rem;
  line-height: 1;
  color: #444444;
  position: relative;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 768px) {
  .inner_h2_decorate h2 {
    font-size: 1.75rem;
  }
}
.inner_h2_decorate h2:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: #5071b2;
  opacity: 0.5;
  position: absolute;
  bottom: -1rem;
  right: -1rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .inner_h2_decorate h2:after {
    width: 1.75rem;
    height: 1.75rem;
    bottom: -0.875rem;
    right: -0.875rem;
  }
}

.inner_h2_decorate_s {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .inner_h2_decorate_s {
    margin-bottom: 2.5rem;
  }
}

.inner_h3 {
  font-size: 1.25rem;
  line-height: 2rem;
  color: #444444;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .inner_h3 {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.a_line {
  color: #5071B2;
  text-decoration: underline;
}

.a_danger {
  color: #A61414;
}

/*------------------------------------*\
  post
\*------------------------------------*/
.section_post {
  position: relative;
}
.section_post .btn_more {
  font-size: 1.25rem;
  line-height: 2rem;
  color: #5071B2;
  position: absolute;
  right: 0;
  top: 2rem;
}
.section_post .post_wrapper .post_box {
  padding: 1.5rem;
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  transition: all 0.15s;
}
@media screen and (max-width: 768px) {
  .section_post .post_wrapper .post_box {
    flex-direction: column;
    align-items: center;
  }
}
.section_post .post_wrapper .post_box:last-of-type {
  margin-bottom: 0;
}
.section_post .post_wrapper .post_box .img_box {
  width: 3.75rem;
  height: 3.75rem;
  background-image: url("../images/ico_lamp.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 0.5rem;
  flex: 0 0 auto;
}
.section_post .post_wrapper .post_box p {
  font-size: 1.125rem;
  line-height: 1.875rem;
  color: #444444;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .section_post .post_wrapper .post_box p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.section_post .post_wrapper .post_box .p_limit {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.section_post .post_wrapper .post_box:hover:hover {
  background: linear-gradient(to right, #92aee4 0%, #5071b2 100%);
  transition: all 0.15s;
}
.section_post .post_wrapper .post_box:hover:hover .img_box {
  background-image: url("../images/ico_lamp_on.svg");
}
.section_post .post_wrapper .post_box:hover:hover p {
  color: #FFFFFF;
}
.section_post .post_wrapper .post_box:hover:hover p a {
  color: #FFFFFF;
}

.popup_menu_box {
  width: 100dvw;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: -100dvw;
  z-index: 10;
  opacity: 0;
  transition: all 0.15s;
}
.popup_menu_box .popup_header {
  padding: 0.5rem;
  background-color: #FFFFFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
}
.popup_menu_box .popup_header .logo_box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
  position: relative;
}
.popup_menu_box .popup_header .logo {
  display: block;
  height: 2.5rem;
  width: 6.5rem;
  background-image: url("../images/logo.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.popup_menu_box .popup_header span {
  display: block;
  width: 2px;
  height: 1.25rem;
  background-color: #444444;
  opacity: 0.5;
}
.popup_menu_box .popup_header span + div {
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #444444;
}
.popup_menu_box .popup_header .btn_close {
  width: 2.25rem;
  height: 2.25rem;
  background-image: url("../images/btn_close_menu.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.popup_menu_box .popup_body {
  padding: 1.5rem;
  border-radius: 0 0 0.75rem 0.75rem;
  background: linear-gradient(to right, #FFFFFF 50%, #E9F3FF 100%);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.popup_menu_box .popup_body li {
  padding: 0.75rem 0;
  border-bottom: 1px solid #92AEE4;
}
.popup_menu_box .popup_body li:first-of-type {
  padding-top: 0;
}
.popup_menu_box .popup_body li:last-of-type {
  padding-bottom: 0;
  border-bottom: 0;
}
.popup_menu_box .popup_body a {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #5071B2;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
}
.popup_menu_box .popup_body .ico_menu {
  width: 2rem;
  height: 2rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.popup_menu_box .popup_body .ico_menu_personal {
  background-image: url("../images/ico_menu_personal.svg");
}
.popup_menu_box .popup_body .ico_menu_key {
  background-image: url("../images/ico_menu_key.svg");
}
.popup_menu_box .popup_body .ico_menu_third {
  background-image: url("../images/ico_menu_third.svg");
}
.popup_menu_box .popup_body .ico_menu_trans {
  background-image: url("../images/ico_menu_trans.svg");
}
.popup_menu_box .popup_body .ico_menu_extend {
  background-image: url("../images/ico_menu_extend.svg");
}
.popup_menu_box .popup_body .ico_menu_qa {
  background-image: url("../images/ico_menu_qa.svg");
}
.popup_menu_box .popup_body .ico_menu_service {
  background-image: url("../images/ico_menu_service.svg");
}
.popup_menu_box .popup_body .ico_menu_logout {
  background-image: url("../images/ico_menu_logout.svg");
}
.popup_menu_box .popup_body .ico_menu_login {
  background-image: url("../images/ico_menu_login.svg");
}
.popup_menu_box .popup_body .ico_login_people {
  background-image: url("../images/ico_login_people.svg");
}
.popup_menu_box .popup_body .ico_login_finger {
  background-image: url("../images/ico_login_finger.svg");
}
.popup_menu_box .popup_body .ico_login_google {
  background-image: url("../images/ico_login_google.svg");
}
.popup_menu_box .popup_body .ico_login_facebook {
  background-image: url("../images/ico_login_facebook.svg");
}
.popup_menu_box .popup_body .ico_login_mail {
  background-image: url("../images/ico_login_mail.svg");
}
.popup_menu_box .popup_body .active {
  color: #444444;
}
.popup_menu_box .popup_body .active .ico_menu_personal {
  background-image: url("../images/ico_menu_personal_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_key {
  background-image: url("../images/ico_menu_key_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_third {
  background-image: url("../images/ico_menu_third_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_trans {
  background-image: url("../images/ico_menu_trans_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_extend {
  background-image: url("../images/ico_menu_extend_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_qa {
  background-image: url("../images/ico_menu_qa_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_service {
  background-image: url("../images/ico_menu_service_active.svg");
}
.popup_menu_box .popup_body .active .ico_menu_login_active {
  background-image: url("../images/ico_menu_login_active.svg");
}

.popup_menu_box.open {
  left: 0;
  opacity: 1;
}

.popup_btn_wrapper {
  width: 100dvw;
  height: 100dvh;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.popup_btn_wrapper:before {
  content: "";
  display: block;
  width: 100dvw;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.15s;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.popup_btn_wrapper .popup_header {
  width: 100%;
  padding: 1rem 1rem 0.75rem 1rem;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  background-color: #FAFAFA;
  align-self: stretch;
}
.popup_btn_wrapper .popup_header_title {
  width: 100%;
  padding: 1rem 1rem 0.75rem 1rem;
  background-color: #FAFAFA;
  align-self: stretch;
  position: relative;
}
@media screen and (max-width: 768px) {
  .popup_btn_wrapper .popup_header_title {
    padding-top: 0.875rem;
  }
}
.popup_btn_wrapper .popup_header_title .title {
  font-size: 1.5rem;
  line-height: 2.25rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .popup_btn_wrapper .popup_header_title .title {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.popup_btn_wrapper .popup_header_title .btn_popup_close {
  position: absolute;
  right: 1rem;
  top: 1rem;
}
.popup_btn_wrapper .popup_body {
  width: 100%;
  padding: 0 1.25rem 1.25rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .popup_btn_wrapper .popup_body {
    gap: 1rem;
    padding: 0 1.25rem 1rem 1.25rem;
  }
}
.popup_btn_wrapper .popup_footer {
  width: 100%;
  padding: 0 0 2.5rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .popup_btn_wrapper .popup_footer {
    padding: 0 1rem 1.75rem 1rem;
    gap: 1rem;
  }
}
@media screen and (max-width: 520px) {
  .popup_btn_wrapper .popup_footer .btn {
    width: calc(50% - 0.5rem);
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }
}

.popup_btn_box {
  width: 30rem;
  background-color: #FAFAFA;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  border-radius: 0.75rem;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}
@media screen and (max-width: 520px) {
  .popup_btn_box {
    width: calc(100% - 2.5rem);
  }
}

.popup_rev_box {
  width: 60rem;
  max-width: 80rem;
  max-height: 45rem;
}

.popup_qrcode_box {
  width: 30rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 520px) {
  .popup_qrcode_box {
    width: calc(100% - 2.5rem);
  }
}
.popup_qrcode_box .popup_body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .popup_qrcode_box .popup_body {
    gap: 1rem;
  }
}
.popup_qrcode_box .popup_body p {
  font-size: 1.25rem;
  line-height: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .popup_qrcode_box .popup_body p {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.popup_qrcode_box .popup_body img {
  width: 12.5rem;
  height: 12.5rem;
}

.popup_rev_box {
  width: 80rem;
}
@media screen and (max-width: 1320px) {
  .popup_rev_box {
    width: calc(100% - 2.5rem);
  }
}
.popup_rev_box .popup_body ::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}
.popup_rev_box .popup_body ::-webkit-scrollbar-button {
  background: transparent;
  border-radius: 0.25rem;
}
.popup_rev_box .popup_body ::-webkit-scrollbar-track-piece {
  background: transparent;
}
.popup_rev_box .popup_body ::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #888888;
}
.popup_rev_box .popup_body ::-webkit-scrollbar-track {
  box-shadow: transparent;
}
.popup_rev_box .popup_body .img_box {
  text-align: center;
  max-height: 34.25rem;
  overflow-y: auto;
}
.popup_rev_box .popup_body .img_box img {
  max-width: 41.75rem;
}
@media screen and (max-width: 668px) {
  .popup_rev_box .popup_body .img_box img {
    width: 100%;
    max-width: unset;
  }
}

.popup_forms_box {
  width: 35rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .popup_forms_box {
    width: calc(100% - 2.5rem);
  }
}
.popup_forms_box .popup_body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .popup_forms_box .popup_body {
    gap: 1rem;
  }
}
.popup_forms_box .popup_body p {
  font-size: 1.25rem;
  line-height: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .popup_forms_box .popup_body p {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.popup_forms_box .popup_body img {
  width: 12.5rem;
  height: 12.5rem;
}
.popup_forms_box .popup_body ul {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.popup_forms_box .popup_body ul li {
  text-align: left;
  position: relative;
  padding-left: 1rem;
}
.popup_forms_box .popup_body ul li:after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #444444;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

a,
button {
  cursor: pointer;
}

a {
  text-decoration: none;
}

button {
  border: 0;
  padding: 0;
  background: none;
}

.btn {
  display: inline-block;
  padding: 0.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
}
.btn.size_check {
  padding: 0.75rem 1.75rem;
}
@media screen and (max-width: 768px) {
  .btn.m_size_m {
    padding: 0.5em 0.75em;
  }
  .btn.m_size_ms {
    padding: 0.375em 0.75em;
  }
}

.btn_normal {
  color: #FFFFFF;
  border-radius: 0.5rem;
  background: linear-gradient(to right, #92aee4 0%, #5071b2 50%, #5071b2 100%);
  background-size: 200% auto;
  background-position: left center;
}

.btn_danger {
  color: #FFFFFF;
  background: linear-gradient(to right, #FF8686 0%, #F73E3E 50%, #F73E3E 100%);
  background-size: 200% auto;
  background-position: left center;
}

.btn_light {
  background: #FFFFFF;
  color: #444444;
}

.btn_table_setting {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #5071B2;
  background-color: #EDF0F7;
  border-radius: 0.5rem;
}

.btn_inner {
  display: inline-block;
  color: #13419A;
  background-color: #D4E3FF;
  border-radius: 0.5rem;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .btn_inner {
    width: 100%;
  }
}

.btn_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .btn_box {
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
  }
  .btn_box a {
    flex: 0 1 calc(50% - 0.5rem);
  }
  .btn_box .m-full {
    flex: 0 0 100%;
  }
  .btn_box .m-first {
    order: -1;
  }
}

.btn_popup_close {
  display: inline-block;
  width: 2.25rem;
  height: 2.25rem;
  background-image: url("../images/btn_close_menu.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .btn_popup_close {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.radioBtn_box {
  display: flex;
  align-items: stretch;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .radioBtn_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
}

.radioBtn {
  flex: 1 1 25%;
}
.radioBtn label {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
  font-size: 1.25em;
  line-height: 1.4em;
  color: #5071B2;
  padding: 10px;
  border-radius: 8px;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
.radioBtn label:hover {
  color: #13419A;
}
@media screen and (max-width: 768px) {
  .radioBtn label {
    font-size: 0.875em;
  }
}
.radioBtn input[type=radio]:checked + label {
  color: #13419A;
  background-color: #D6E3FF;
}
.radioBtn .inner_icon {
  display: inline-block;
  width: 1.75rem;
  height: auto;
}

.btn_eye {
  display: inline-block;
  cursor: pointer;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../images/ico_eye_open.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.btn_eye.off {
  background-image: url("../images/ico_eye_close.svg");
}

.btn_pagi {
  width: 2rem;
  height: 2rem;
  background-color: #FFFFFF;
  border-radius: 0.25rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Roboto";
  color: #5071B2;
}
@media screen and (max-width: 374.99px) {
  .btn_pagi {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.btn_pagi.active {
  color: #FFFFFF;
  background-color: #5071B2;
}

.btn_pagi_head {
  background-image: url("../images/btn_pagi_first.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.btn_pagi_head:disabled {
  background-image: url("../images/btn_pagi_first_none.svg");
}

.btn_pagi_prev {
  background-image: url("../images/btn_pagi_one.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.btn_pagi_prev:disabled {
  background-image: url("../images/btn_pagi_one_none.svg");
}

.btn_pagi_next {
  background-image: url("../images/btn_pagi_one.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.btn_pagi_end {
  background-image: url("../images/btn_pagi_first.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.btn_pagi:disabled {
  background-color: transparent;
  box-shadow: none;
}

input {
  width: 100%;
  height: 2.5rem;
  border: 1px solid #5071B2;
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  padding: 0 0.5rem;
  font-size: 1.125em;
  line-height: 1.75rem;
  color: #444444;
}
@media screen and (max-width: 768px) {
  input {
    font-size: 1em;
    line-height: 1.5em;
  }
}
input::placeholder {
  color: rgba(68, 68, 68, 0.5);
}
input:focus-visible {
  outline: #004BA1;
}

select {
  width: 100%;
  height: 2.5rem;
  border: 1px solid #5071B2;
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("../images/ico_select.svg");
  background-size: 1.25rem 1.25rem;
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #444444;
  padding-left: 0.5rem;
  padding-right: 2.5rem;
}
select select::-ms-expand {
  display: none;
}
select:focus-visible {
  outline: none;
}

input[type=radio] {
  width: 0;
  height: 0;
  font-size: 0;
  position: absolute;
}
input[type=radio] + label {
  cursor: pointer;
}
input[type=radio] + label .icon {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.25rem;
  border-radius: 50%;
  border: 1px solid #5071B2;
  background-color: #FFFFFF;
  position: relative;
  top: 3px;
}
input[type=radio] + label .icon::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: linear-gradient(to right, #92aee4 0%, #5071b2 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

input[type=radio]:checked + label .icon:after {
  opacity: 1;
}

input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 50%;
}
input[type=checkbox] + label {
  cursor: pointer;
}
input[type=checkbox] + label .icon {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.25rem;
  border-radius: 0.25rem;
  border: 1px solid #5071B2;
  background-color: #FFFFFF;
  top: 3px;
}
@media screen and (max-width: 768px) {
  input[type=checkbox] + label .icon {
    width: 1rem;
    height: 1rem;
  }
}
input[type=checkbox] + label .icon::before, input[type=checkbox] + label .icon::after {
  content: "";
  position: absolute;
  bottom: 25%;
  display: block;
  box-sizing: border-box;
  border-radius: 2px;
  background-color: #5071B2;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
input[type=checkbox] + label .icon::before {
  right: 58%;
  width: 0.4rem;
  height: 0.125rem;
  transform-origin: right bottom;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  input[type=checkbox] + label .icon::before {
    right: 50%;
  }
}
input[type=checkbox] + label .icon::after {
  left: 42%;
  width: 0.7rem;
  height: 0.125rem;
  transform-origin: left bottom;
  transform: rotate(-45deg);
}
input[type=checkbox]:checked + label .icon::before, input[type=checkbox]:checked + label .icon::after {
  opacity: 1;
}

.wrapper_index {
  width: 100%;
  background-image: url("../images/bg_index.jpg");
  background-position: 100% 0;
  background-size: 100%;
  background-repeat: no-repeat;
}

.container {
  overflow: hidden;
  color: #444444;
  min-height: calc(100dvh - 11rem);
}
@media screen and (max-width: 768px) {
  .container {
    min-height: calc(100dvh - 15.875rem);
  }
}

.section_jumbotron {
  padding-top: 2.25rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 1.75rem;
}
@media screen and (max-width: 1024px) {
  .section_jumbotron {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .section_jumbotron {
    padding-top: 2.5rem;
  }
}
.section_jumbotron .info_box {
  padding-top: 2.25rem;
  width: calc(100% - 33.25rem);
  max-width: 50%;
  height: 28rem;
}
@media screen and (max-width: 1024px) {
  .section_jumbotron .info_box {
    width: 100%;
    max-width: unset;
    height: auto;
    padding-top: 0;
  }
}
.section_jumbotron .info_box h2 {
  display: inline-block;
  font-size: 2rem;
  line-height: 4rem;
  color: #FFFFFF;
  background: linear-gradient(to right, #5071b2 0%, #13419A 100%);
  padding: 0 2.5rem;
  border-radius: 1.25rem 1.25rem 0 1.25rem;
  margin-bottom: 1rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .section_jumbotron .info_box h2 {
    font-size: 1.5rem;
    line-height: 3.5rem;
    padding: 0 1.25rem;
    border-radius: 1rem 1rem 0 1rem;
    margin-bottom: 1.25rem;
  }
}
.section_jumbotron .info_box p {
  font-size: 1.5rem;
  line-height: 3rem;
  color: #444444;
}
@media screen and (max-width: 768px) {
  .section_jumbotron .info_box p {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media screen and (min-width: 768.01px) and (max-width: 1200px) {
  .section_jumbotron .info_box .br_other {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .section_jumbotron .info_box .br_other {
    display: inline;
  }
}
.section_jumbotron .img_box {
  flex: 0 0 auto;
  width: 33.25rem;
  height: 28rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .section_jumbotron .img_box {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .section_jumbotron .img_box {
    height: 17.5rem;
  }
}
.section_jumbotron .img_box img {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .section_jumbotron .img_box img {
    height: 100%;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

.section_login {
  padding-bottom: 5rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-radius: 0.75rem;
  background-color: #FFFFFF;
}
.section_login h2 {
  font-size: 1.5rem;
  line-height: 2.25rem;
  text-align: center;
  color: #444444;
  margin-bottom: 1.25rem;
}
.section_login .link_box {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem 0;
}
.section_login .link_box a {
  width: 10.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .section_login .link_box a {
    width: 50%;
    max-width: 10.25rem;
  }
}
.section_login .link_box a img {
  width: 3.5rem;
  height: auto;
  margin-bottom: 0.25rem;
}
.section_login .link_box a div {
  font-size: 1rem;
  line-height: 1.5;
  color: #5071B2;
}

.section_join {
  position: relative;
  z-index: 2;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .section_join {
    padding-bottom: 3.75rem;
  }
}
.section_join .frame_l {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.25rem;
}
@media screen and (max-width: 768px) {
  .section_join .frame_l {
    flex-direction: column-reverse;
    gap: 1.25rem;
  }
}
.section_join .frame_l .img_box {
  height: 19.125rem;
  width: 50%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .section_join .frame_l .img_box {
    width: 100%;
    height: auto;
  }
}
.section_join .frame_l .img_box img {
  height: 100%;
  width: auto;
  display: block;
  margin-left: auto;
}
@media screen and (max-width: 908px) {
  .section_join .frame_l .img_box img {
    width: 100%;
    max-width: 27rem;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .section_join .frame_l .img_box img {
    position: static;
    top: auto;
    left: auto;
    transform: none;
  }
}
.section_join .frame_l .info_box {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .section_join .frame_l .info_box {
    width: 100%;
    text-align: center;
  }
}
.section_join .frame_l h2 {
  font-size: 2rem;
  line-height: 3rem;
  color: #5071B2;
  margin-bottom: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .section_join .frame_l h2 {
    font-size: 1.5rem;
    line-height: 2.25rem;
    margin-bottom: 0.75rem;
  }
}
.section_join .frame_l p {
  font-size: 1.25rem;
  line-height: 2rem;
  color: #444444;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .section_join .frame_l p {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }
}
.section_join .frame_l a {
  width: 7rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  line-height: 2rem;
  color: #FFFFFF;
  background-color: #5071B2;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .section_join .frame_l a {
    width: 6rem;
    height: 2.5rem;
    font-size: 1rem;
    line-height: 1.5;
    margin-left: auto;
    margin-right: auto;
  }
}

.section_quest {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background-image: url("../images/bg_quest.jpg");
  background-position: 0 0;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1920.01px) {
  .section_quest {
    background-size: cover;
    background-position: center;
  }
}
@media screen and (max-width: 768px) {
  .section_quest {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-position-x: -2.75rem;
    background-position-y: -1.5rem;
  }
}
.section_quest .h2_decorate {
  margin-bottom: 5.75rem;
}
@media screen and (margin-bottom: 768px) {
  .section_quest .h2_decorate {
    margin-bottom: 6.25rem;
  }
}
.section_quest .h2_decorate h2 {
  font-size: 2rem;
  color: #FFFFFF;
  position: relative;
  left: calc(50% + 3.25rem);
  z-index: 2;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 768px) {
  .section_quest .h2_decorate h2 {
    font-size: 1.75rem;
    left: 0;
  }
}
.section_quest .h2_decorate h2:before {
  content: "QUESTION";
  display: inline-block;
  font-size: 3.75rem;
  font-family: "Rubik";
  font-weight: 700;
  line-height: 1;
  color: #FFFFFF;
  opacity: 0.2;
  position: absolute;
  left: -12rem;
  bottom: -4rem;
  z-index: 1;
  letter-spacing: 3px;
}
@media screen and (max-width: 768px) {
  .section_quest .h2_decorate h2:before {
    font-size: 3.5rem;
    right: auto;
    left: 0;
  }
}
.section_quest .h2_decorate h2:after {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #5071B2;
  border-radius: 50%;
  position: absolute;
  left: -1.25rem;
  bottom: -1.75rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .section_quest .h2_decorate h2:after {
    width: 2rem;
    height: 2rem;
    left: 6.25rem;
    bottom: -1.25rem;
  }
}
.section_quest .d_flex_j_center_a_center {
  width: 100%;
  gap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .section_quest .d_flex_j_center_a_center {
    flex-wrap: wrap;
    gap: 1.25rem;
  }
}
.section_quest a {
  width: 15rem;
  height: 3.25rem;
  font-size: 1.25rem;
  background-color: rgba(255, 255, 255, 0.25);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  border-radius: 0.5rem;
  transition: all 0.15s;
}
@media screen and (max-width: 768px) {
  .section_quest a {
    width: calc(50% - 0.625rem);
    height: 3rem;
    font-size: 1rem;
  }
}
.section_quest a:hover {
  background-color: rgba(255, 255, 255, 0.8);
  color: #5071B2;
}

.list-centerBox {
  display: flex;
  justify-content: center;
  text-align: left;
}

.section_pt {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  .section_pt {
    padding-top: 1.25rem;
  }
}

.section_pt_l {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  .section_pt_l {
    padding-top: 2.5rem;
  }
}

/*------------------------------------*\
    內頁選單
\*------------------------------------*/
.section_nav {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .section_nav {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
  }
}
.section_nav .link_box {
  margin-left: auto;
  margin-right: auto;
  max-width: 66.75rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: linear-gradient(to right, #92aee4 0%, #5071b2 100%);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0;
}
@media screen and (max-width: 768px) {
  .section_nav .link_box {
    padding: 0;
    background: transparent;
    flex-direction: column;
    gap: 0.5rem;
    box-shadow: none;
  }
}
.section_nav .link_box a {
  width: 20%;
  min-width: 12.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  line-height: 2rem;
  color: #D4E3FF;
}
@media screen and (min-width: 768.01px) {
  .section_nav .link_box a {
    transition: color 0.2s ease-in-out;
  }
  .section_nav .link_box a:hover, .section_nav .link_box a:focus {
    color: #ffe4ac;
  }
  .section_nav .link_box a:hover .ico_nav_personal, .section_nav .link_box a:focus .ico_nav_personal {
    background-image: url("../images/ico_nav_personal_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav_key, .section_nav .link_box a:focus .ico_nav_key {
    background-image: url("../images/ico_nav_key_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav_third, .section_nav .link_box a:focus .ico_nav_third {
    background-image: url("../images/ico_nav_third_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav_trans, .section_nav .link_box a:focus .ico_nav_trans {
    background-image: url("../images/ico_nav_trans_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav_extend, .section_nav .link_box a:focus .ico_nav_extend {
    background-image: url("../images/ico_nav_extend_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav_qa, .section_nav .link_box a:focus .ico_nav_qa {
    background-image: url("../images/ico_nav_qa_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav_service, .section_nav .link_box a:focus .ico_nav_service {
    background-image: url("../images/ico_nav_service_active.svg");
  }
  .section_nav .link_box a:hover .ico_nav, .section_nav .link_box a:focus .ico_nav {
    transition: background-image 0.2s ease-in-out;
  }
}
@media screen and (max-width: 768px) {
  .section_nav .link_box a {
    width: 100%;
    min-width: unset;
    flex-direction: row;
    font-size: 1.125rem;
    line-height: 1.75rem;
    background-color: #FFFFFF;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    border-radius: 0.5rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    gap: 0.5rem;
    color: #5071B2;
  }
}
@media screen and (max-width: 768px) {
  .section_nav .link_box a div:last-of-type {
    width: 10.125rem;
  }
}
.section_nav .link_box .ico_nav {
  width: 3.5rem;
  height: 3.5rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .ico_nav {
    width: 2rem;
    height: 2rem;
  }
}
.section_nav .link_box .ico_nav + div {
  white-space: nowrap;
}
.section_nav .link_box .ico_nav_personal {
  background-image: url("../images/ico_nav_personal.svg");
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .ico_nav_personal {
    background-image: url("../images/ico_menu_personal.svg");
  }
}
.section_nav .link_box .ico_nav_key {
  background-image: url("../images/ico_nav_key.svg");
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .ico_nav_key {
    background-image: url("../images/ico_menu_key.svg");
  }
}
.section_nav .link_box .ico_nav_third {
  background-image: url("../images/ico_nav_third.svg");
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .ico_nav_third {
    background-image: url("../images/ico_menu_third.svg");
  }
}
.section_nav .link_box .ico_nav_trans {
  background-image: url("../images/ico_nav_trans.svg");
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .ico_nav_trans {
    background-image: url("../images/ico_menu_trans.svg");
  }
}
.section_nav .link_box .ico_nav_extend {
  background-image: url("../images/ico_nav_extend.svg");
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .ico_nav_extend {
    background-image: url("../images/ico_menu_extend.svg");
  }
}
.section_nav .link_box .active {
  color: #FFE4AC;
}
@media screen and (max-width: 768px) {
  .section_nav .link_box .active {
    background: linear-gradient(to right, #92aee4 0%, #5071b2 100%);
  }
}
.section_nav .link_box .active .ico_nav_personal {
  background-image: url("../images/ico_nav_personal_active.svg");
}
.section_nav .link_box .active .ico_nav_key {
  background-image: url("../images/ico_nav_key_active.svg");
}
.section_nav .link_box .active .ico_nav_third {
  background-image: url("../images/ico_nav_third_active.svg");
}
.section_nav .link_box .active .ico_nav_trans {
  background-image: url("../images/ico_nav_trans_active.svg");
}
.section_nav .link_box .active .ico_nav_extend {
  background-image: url("../images/ico_nav_extend_active.svg");
}
.section_nav .link_box .active .ico_nav_qa {
  background-image: url("../images/ico_nav_qa_active.svg");
}
.section_nav .link_box .active .ico_nav_service {
  background-image: url("../images/ico_nav_service_active.svg");
}

/*------------------------------------*\
    表格
\*------------------------------------*/
.section_table {
  width: 100%;
}
.section_table .btn_add_box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .section_table .btn_add_box {
    justify-content: center;
  }
}
.section_table .table_box {
  width: 100%;
  margin-bottom: 1.25rem;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .section_table .table_box {
    background: none;
    box-shadow: none;
    overflow: unset;
  }
}
.section_table .table_box table {
  width: 100%;
  text-align: left;
}
.section_table .table_box thead {
  background: linear-gradient(to right, #5071B2 0%, #13419A 100%);
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .section_table .table_box thead {
    display: none;
  }
}
.section_table .table_box thead th {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}
.section_table .table_box thead th:first-of-type {
  padding-left: 2.5rem;
}
.section_table .table_box thead th:last-of-type {
  padding-right: 3.125rem;
  text-align: right;
}
.section_table .table_box tbody tr {
  position: relative;
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr {
    display: block;
    margin-bottom: 1.25rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    overflow: hidden;
  }
}
.section_table .table_box tbody tr:after {
  content: "";
  display: inline-block;
  width: calc(100% - 2.5rem);
  height: 1px;
  background-color: #CCCCCC;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr:after {
    width: 6rem;
    height: 100%;
    background: linear-gradient(to right, #5071B2 0%, #13419A 100%);
    left: 0;
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr:last-of-type {
    margin: 0;
  }
}
.section_table .table_box tbody tr:last-of-type:after {
  display: none;
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr:last-of-type:after {
    display: inline-block;
  }
}
.section_table .table_box tbody tr td {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr td {
    display: block;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    position: relative;
    background-color: #FFFFFF;
  }
}
.section_table .table_box tbody tr td:before {
  display: none;
  content: attr(data-title);
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr td:before {
    display: inline-block;
    width: 6rem;
    position: relative;
    z-index: 1;
    color: #FFFFFF;
  }
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr td:after {
    content: "";
    display: inline-block;
    width: calc(100% - 1.5rem);
    height: 1px;
    background-color: #CCCCCC;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
  }
}
.section_table .table_box tbody tr td:first-of-type {
  padding-left: 2.5rem;
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr td:first-of-type {
    padding-left: 0.75rem;
  }
}
.section_table .table_box tbody tr td:last-of-type {
  padding-right: 2.5rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr td:last-of-type {
    padding-right: 0;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .section_table .table_box tbody tr td:last-of-type:after {
    display: none;
  }
}
.section_table .pagination_box .d_flex_j_center_a_center {
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .section_table .pagination_box .d_flex_j_center_a_center {
    gap: 0.3125rem;
  }
}

.formbox {
  width: 100%;
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .formbox {
    padding: 0.75rem;
    gap: 0.5rem;
    border-radius: 0.5rem;
  }
}
.formbox .box_full {
  width: 100%;
}
.formbox .box_full_txt {
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.75rem;
}
@media screen and (max-width: 768px) {
  .formbox .box_full_txt {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.formbox_m {
  width: 100%;
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .formbox_m {
    padding: 0.75rem;
    gap: 0.25rem;
  }
}
.formbox_m .box_full {
  width: 100%;
}

.formbox_item {
  width: calc(50% - 0.625rem);
  font-size: 1.125rem;
  line-height: 1.75rem;
  display: flex;
  justify-content: flex-start;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .formbox_item {
    width: 100%;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.formbox_attr {
  display: block;
  width: 6.75rem;
  font-weight: 500;
  flex: 0 0 auto;
  padding: 6px 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .formbox_attr {
    padding: 4px 0;
  }
}
.formbox_attr.width-m {
  width: 7.25rem;
}
.formbox_attr.width-l {
  width: 10em;
}
.formbox_attr .must {
  color: #A61414;
}

.formbox_inner {
  flex: 1 1 auto;
  word-break: break-all;
}
.formbox_inner input {
  flex: 1 1 auto;
}
.formbox_inner.type-valu {
  padding: 6px 0;
}
@media screen and (max-width: 768px) {
  .formbox_inner.type-valu {
    padding: 4px 0;
  }
}
.formbox_inner.type-inputBtn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.formbox_inner.type-inputBtn .btn {
  flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .formbox_inner.type-inputBtn {
    flex-direction: column;
  }
  .formbox_inner.type-inputBtn .btn {
    width: 100%;
  }
}
.formbox_inner.type-inputBtn .input_view {
  flex: 0 1 auto;
  min-width: 1px;
  width: fit-content;
}
.formbox_inner.type-btnIn {
  position: relative;
}
.formbox_inner.type-btnIn .btn_icon {
  position: absolute;
  right: 0.5rem;
  top: calc(50% - 0.75rem);
}
.formbox_inner.type-inputView {
  position: relative;
  min-width: 1em;
  width: min-content;
}
.formbox_inner.type-inputView .input_view {
  position: absolute;
  left: 0;
  width: 100%;
}
.formbox_inner .label_detail {
  font-size: 1rem;
  line-height: 1.5rem;
  padding-left: 1.5rem;
}

@media screen and (max-width: 768px) {
  .formbox_item-input {
    display: block;
  }
  .formbox_item-input .formbox_attr {
    width: 100%;
    padding: 0;
    margin-bottom: 4px;
  }
}

@media screen and (max-width: 768px) {
  .formbox_item_full_mo {
    flex-direction: column;
    gap: 0.25rem;
  }
}
@media screen and (max-width: 768px) {
  .formbox_item_full_mo .formbox_attr,
  .formbox_item_full_mo .formbox_inner {
    padding: 0;
  }
}

.formbox_inner_notice {
  padding-top: 4px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .formbox_inner_notice {
    padding-top: 2px;
  }
}

.formbox_otp {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .formbox_otp {
    gap: 0.75rem;
  }
}
.formbox_otp .input_otp {
  width: 3.75rem;
  height: 5rem;
  border: 1px solid #5071B2;
  text-align: center;
  font-family: "Roboto";
  font-size: 2.5rem;
  line-height: 1.2;
  color: #5071B2;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .formbox_otp .input_otp {
    width: 2.5rem;
    height: 3.75rem;
    font-size: 1.5rem;
  }
}
.formbox_otp .input_otp::-webkit-outer-spin-button,
.formbox_otp .input_otp::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin: 0;
}

.txt_box {
  font-size: 1.125rem;
  line-height: 1.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .txt_box {
    font-size: 0.75rem;
    line-height: 1.125rem;
    text-align: left;
  }
}

.txt_flex_box {
  text-align: left;
  display: inline-block;
}
.txt_flex_box p {
  max-width: 65rem;
}
.txt_flex_box .p_l {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.txt_bg_box {
  width: 100%;
  background-color: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .txt_bg_box {
    border-radius: 0.5rem;
    padding: 0.75rem;
  }
}
.txt_bg_box p {
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #444444;
}
@media screen and (max-width: 768px) {
  .txt_bg_box p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.txt_bg_box .p_main_sub {
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #13419A;
}
@media screen and (max-width: 768px) {
  .txt_bg_box .btn_box {
    flex-direction: column;
  }
}
.txt_bg_box .txt_link {
  color: #5071B2;
  text-decoration: underline;
}

.iframe_box {
  width: 100%;
  background-color: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .iframe_box {
    border-radius: 0.5rem;
    padding: 0.75rem;
  }
}

/*------------------------------------*\
  step
\*------------------------------------*/
.stepbox {
  margin-bottom: 2.5rem;
}
.stepbox_inner {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 20px 40px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .stepbox_inner {
    flex-direction: column;
  }
}
.stepbox_item {
  position: relative;
  flex: 1 1 25%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 200px;
}
@media screen and (max-width: 768px) {
  .stepbox_item {
    max-width: 100%;
    flex-direction: row;
  }
}
.stepbox_item::before, .stepbox_item::after {
  content: "";
  display: block;
  width: 100%;
  height: 8px;
  position: absolute;
  top: calc(50% - 4px);
  right: 50%;
}
@media screen and (max-width: 768px) {
  .stepbox_item::before, .stepbox_item::after {
    width: 4px;
    height: 100%;
    right: auto;
    left: 30px;
    top: auto;
    bottom: 50%;
  }
}
.stepbox_item::before {
  background-color: rgba(68, 68, 68, 0.1);
}
.stepbox_item::after {
  background-color: #92AEE4;
  opacity: 0;
}
.stepbox_item-1::before, .stepbox_item-1::after {
  content: none;
}
.stepbox_item-1 .stepbox_text::before {
  content: "1";
}
.stepbox_item-2 .stepbox_text::before {
  content: "2";
}
.stepbox_item-3 .stepbox_text::before {
  content: "3";
}
.stepbox_item-4 .stepbox_text::before {
  content: "4";
}
.stepbox_item-1 .stepbox_text::before, .stepbox_item-2 .stepbox_text::before, .stepbox_item-3 .stepbox_text::before, .stepbox_item-4 .stepbox_text::before {
  display: block;
  position: absolute;
  right: -24px;
  bottom: -22px;
  width: 70px;
  text-align: center;
  font-size: 7.5rem;
  font-weight: 700;
  color: #ccc;
  opacity: 0.4;
}
@media screen and (max-width: 768px) {
  .stepbox_item-1 .stepbox_text::before, .stepbox_item-2 .stepbox_text::before, .stepbox_item-3 .stepbox_text::before, .stepbox_item-4 .stepbox_text::before {
    right: -16px;
    bottom: -15px;
    font-size: 5rem;
    width: 48px;
  }
}
.stepbox_text {
  flex: 1 1 auto;
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 24px 20px;
  border-radius: 12px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .stepbox_text {
    display: flex;
    align-items: center;
    padding: 12px;
  }
}
.stepbox .ico {
  position: relative;
  z-index: 2;
  width: 56px;
  height: 56px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .stepbox .ico {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    margin: 0 8px 0 0;
  }
}
.stepbox .text {
  position: relative;
  z-index: 2;
  font-size: 1.25em;
  line-height: 1.6em;
  font-weight: 500;
  color: #5071B2;
}
@media screen and (max-width: 768px) {
  .stepbox .text {
    font-size: 1.125em;
  }
}
.stepbox .done::after {
  opacity: 1;
}
.stepbox .done .stepbox_text {
  background: linear-gradient(to right, #92aee4 0%, #5071b2 100%);
}
.stepbox .done .stepbox_text::before {
  color: #fff;
}
.stepbox .done .text {
  color: #FFE4AC;
}

.stepbox .ico-reg {
  background-image: url(../images/ico_step_reg.svg);
  background-size: 100% 100%;
}

.stepbox .done .ico-reg {
  background-image: url(../images/ico_step_reg_on.svg);
  background-size: 100% 100%;
}

.stepbox .ico-mail {
  background-image: url(../images/ico_step_mail.svg);
  background-size: 100% 100%;
}

.stepbox .done .ico-mail {
  background-image: url(../images/ico_step_mail_on.svg);
  background-size: 100% 100%;
}

.stepbox .ico-link {
  background-image: url(../images/ico_step_link.svg);
  background-size: 100% 100%;
}

.stepbox .done .ico-link {
  background-image: url(../images/ico_step_link_on.svg);
  background-size: 100% 100%;
}

.stepbox .ico-done {
  background-image: url(../images/ico_step_done.svg);
  background-size: 100% 100%;
}

.stepbox .done .ico-done {
  background-image: url(../images/ico_step_done_on.svg);
  background-size: 100% 100%;
}

/*------------------------------------*\
    信件格式
\*------------------------------------*/
.section_mail {
  padding-top: 2.5rem;
  padding-bottom: 5rem;
  background-color: #F0F9FF;
}
@media screen and (max-width: 768px) {
  .section_mail {
    padding-bottom: 2.5rem;
  }
}
.section_mail .mail_h2_decorate {
  text-align: center;
  margin-bottom: 2.5rem;
}
.section_mail .mail_h2_decorate h2 {
  display: inline-block;
  font-size: 2rem;
  line-height: 1;
  color: #444444;
  position: relative;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 768px) {
  .section_mail .mail_h2_decorate h2 {
    font-size: 1.75rem;
  }
}
.section_mail .mail_h2_decorate h2:after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: #5071b2;
  opacity: 0.5;
  position: absolute;
  bottom: -1rem;
  right: -1rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .section_mail .mail_h2_decorate h2:after {
    width: 1.75rem;
    height: 1.75rem;
    bottom: -0.875rem;
    right: -0.875rem;
  }
}
.section_mail .mail_h3 {
  font-size: 1.25rem;
  line-height: 2rem;
  color: #444444;
  font-weight: 400;
  text-align: center;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .section_mail .mail_h3 {
    margin-bottom: 0.25rem;
  }
}
.section_mail .frame_l {
  width: 81.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1300px) {
  .section_mail .frame_l {
    width: 100%;
  }
}
.section_mail .txt_box {
  margin-bottom: 1.25rem;
  width: 100%;
  text-align: left;
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .section_mail .txt_box {
    padding: 0.75rem;
    gap: 0.5rem;
    border-radius: 0.5rem;
  }
}
.section_mail .formbox_item {
  width: calc(50% - 0.625rem);
  font-size: 1.125rem;
  line-height: 1.75rem;
  display: flex;
  justify-content: flex-start;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .section_mail .formbox_item {
    width: 100%;
    font-size: 1rem;
    line-height: 1.5;
  }
}
.section_mail .formbox_attr {
  display: block;
  width: 6.75rem;
  font-weight: 500;
  flex: 0 0 auto;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .section_mail .formbox_attr {
    width: 4.5rem;
  }
}
.section_mail .formbox_inner {
  flex: 1 1 auto;
  word-break: break-all;
  padding: 0;
}
.section_mail .formbox_inner br {
  display: none;
}
@media screen and (max-width: 768px) {
  .section_mail .formbox_inner br {
    display: inline;
  }
}
.section_mail p {
  font-size: 1.25rem;
  line-height: 2rem;
  color: #5071B2;
  font-weight: 700;
  margin-bottom: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .section_mail p {
    font-size: 1.125rem;
    line-height: 1.75rem;
    margin-bottom: 1.25rem;
  }
}
.section_mail p br {
  display: none;
}
@media screen and (max-width: 768px) {
  .section_mail p br {
    display: inline;
  }
}
.section_mail .btn_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .section_mail .btn_box {
    gap: 1rem;
  }
}
.section_mail .btn_box a {
  text-align: center;
  display: inline-block;
  padding: 0.75rem 1.75rem;
  color: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .section_mail .btn_box a {
    width: calc(100% - 0.5rem);
  }
}
.section_mail .btn_box .btn_normal {
  background: linear-gradient(to right, #92aee4 0%, #5071b2 50%, #5071b2 100%);
}
.section_mail .btn_box .btn_danger {
  background: linear-gradient(to right, #FF8686 0%, #F73E3E 50%, #F73E3E 100%);
}

.agreement_box {
  text-align: center;
  line-height: 1.5;
}

.recaptcha_box {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.recaptcha_box img {
  max-width: 24rem;
  width: 100%;
}/*# sourceMappingURL=style.css.map */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}