/* ==================================================
  base
================================================== */

body {
  overflow-x: clip !important;
}
.rpb_page {
  line-height: 1.375;
}
.rpb_page img {
  height: auto;
}
.rpb_page .c-button-link-with-arrow {
  padding-left: 0;
  border: none;
}
.rpb_page .hLine > span::before,
.rpb_page .hLine > span::after {
  opacity: 1;
}





/* ==================================================
  color
================================================== */

:root {
  --electric-blue: #024ad8;
  --electric-blue-10: #e5edfb;
  --power-storm: #568393;
  --orange-bloom: #ff5050;
  --standard-gray: #e6e6e6;
  --light-gray: #f2f2f2;
  --gold: #c8932b;
}

.fc_blue { color: var(--electric-blue) !important; }
.fc_power_storm { color: var(--power-storm) !important; }
.fc_orange { color: var(--orange-bloom) !important; }
.fc_gold { color: var(--gold) !important; }

.bg_standard_gray { background: var(--standard-gray) !important; }
.bg_light_gray { background: var(--light-gray) !important; }





/* ==================================================
  rpb_container
================================================== */

.rpb_container {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}

@media (min-width: 768px) {
  .rpb_container {
    padding-right: 30px;
    padding-left: 30px;
  }
}





/* ==================================================
  section
================================================== */

.rpb_main section {
  padding-top: 40px;
  padding-bottom: 40px;
}
.rpb_main section p + p {
  margin-top: 1em;
}

@media (min-width: 768px) {
  .rpb_main section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}





/* ==================================================
  title
================================================== */

.title {
  margin-bottom: 20px;
  color: var(--electric-blue);
}

/* subtitle */
.subtitle {
  color: var(--electric-blue);
}
.subtitle:has(> .num) {
  display: flex;
  gap: 8px;
}
.subtitle .num {
  flex-shrink: 0;
  letter-spacing: normal;
}





/* ==================================================
  button
================================================== */

.rpb_page .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .76em 1em;
  border-radius: 8px;
}



/* ----------------------------------------
  color
---------------------------------------- */

/* critical */
.rpb_page .button.critical {
	background: var(--electric-blue);
}
.rpb_page .button.critical:hover {
	background: #103fb2;
}



/* ----------------------------------------
  large
---------------------------------------- */

.rpb_page .button.large {
  font-size: 18px;
}

@media (min-width: 1024px) {
  .rpb_page .button.large {
    font-size: 20px;
  }
}



/* ----------------------------------------
  line
---------------------------------------- */

.rpb_page .button.line {
  color: inherit;
  background: #fff;
  border: none;
  outline-width: 1px;
  outline-style: solid;
  outline-offset: -1px;
}

/* large */
.rpb_page .button.line.large {
  outline-width: 2px;
  outline-offset: -2px;
}

/* critical */
.rpb_page .button.line.critical {
  outline-color: var(--electric-blue);
}
.rpb_page .button.line.critical span {
  color: var(--electric-blue);
}
.rpb_page .button.line.critical:hover {
  background: var(--electric-blue);
}
.rpb_page .button.line.critical:hover span {
  color: #fff;
}





/* ==================================================
  text_link
================================================== */

.text_link:link,
.text_link:visited {
  color: inherit;
  text-decoration: underline;
}
.text_link:hover {
  background: rgb(0 0 0 / .1);
}





/* ==================================================
  local_navi
================================================== */

.local_navi {
  width: 100vw;
  background: #fff;
}
.local_navi_menu_level1 > li a {
  display: flex;
  transition: .2s;
}
.local_navi_menu_level1 a:link,
.local_navi_menu_level1 a:visited,
.local_navi_menu_level1 a:hover {
  color: #000;
  text-decoration: none;
}
.local_navi_menu_level1 > li a:has(> .num) {
  gap: 8px;
}
.local_navi_menu_level1 > li a .num {
  flex-shrink: 0;
}

@media (max-width: 1023px) {
  .local_navi_trigger {
    display: flex;
    align-items: center;
    cursor: pointer;
    width: 100%;
    height: 60px;
    padding: 0 20px;
    background: var(--electric-blue);
  }
  .local_navi_trigger::before,
  .local_navi_trigger::after {
    content: none !important;
  }
  .local_navi_trigger span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 16px;
  }
  .local_navi_trigger span::after {
    content: "";
    flex-shrink: 0;
    width: 12px;
    height: 6px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6"><path d="m455.465 769.707-1.847-.974 3.478-5.054-3.475-4.989 1.841-.983 4.156 5.966z" transform="rotate(90 611.663 158.045)"></path></svg>');
    filter: invert(1);
  }
  .local_navi_trigger.local_navi_open span::after {
    transform: rotate(180deg);
  }
  .local_navi_menu_level1 > li {
    background: none;
    border-color: var(--light-gray) !important;
  }
  .local_navi_menu_level1 > li a {
    padding: 15px 20px;
  }
  .local_navi_menu_level1 > li.current a {
    color: var(--electric-blue);
    background: var(--light-gray);
  }
}

@media (min-width: 1024px) {
  .local_navi_menu {
    max-width: 1220px;
    margin: 0 auto;
  }
  .local_navi_menu_level1 {
    display: flex;
    justify-content: center;
    gap: 5px;
  }
  .local_navi_menu_level1 > li {
    flex: 1;
  }
  .local_navi_menu_level1 > li a {
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 60px;
    padding: 8px 20px;
    background: var(--light-gray);
  }
  .local_navi_menu_level1 > li a:hover,
  .local_navi_menu_level1 > li.current a {
    color: #fff;
    background: var(--electric-blue);
  }
}
