/* ===================================================================

setting

=================================================================== */
@import url("//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;600&family=Noto+Sans:wght@300;600&display=swap");
@import url("//fonts.googleapis.com/css2?family=Akshar:wght@400;600&family=Noto+Sans+JP&display=swap");
.only_pc {
  display: inherit; }
  @media screen and (max-width: 768px) {
    .only_pc {
      display: none; } }

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

html {
  font-size: 62.5%;
  scroll-behavior: smooth; }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: 'Noto Sans', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  text-align: center;
  color: #666666;
  background-color: #ffffff;
  line-height: 1.2; }

* {
  box-sizing: border-box; }

input,
button,
select,
textarea {
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

.videoclip {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .videoclip iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

a {
  color: #1A1D6A;
  text-decoration: none; }
  a:active, a:hover {
    outline: 0; }

a,
a img {
  transition: all linear 0.25s; }

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

figure {
  margin: 0; }

@-webkit-viewport {
  width: device-width; }
@-moz-viewport {
  width: device-width; }
@-ms-viewport {
  width: device-width; }
@-o-viewport {
  width: device-width; }
@viewport {
  width: device-width; }
#loader-bg {
  background: #000000;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 11; }
  #loader-bg .loader-bg-inner {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 11; }

.loader,
.loader:before,
.loader:after {
  background: #6FBA2C;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em; }

.loader {
  color: #6FBA2C;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: ''; }

.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.loader:after {
  left: 1.5em; }

@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em; }
  40% {
    box-shadow: 0 -2em;
    height: 5em; } }
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em; }
  40% {
    box-shadow: 0 -2em;
    height: 5em; } }
body {
  overflow-y: scroll;
  font-size: 16px;
  font-size: 1.6rem;
  color: #666666;
  position: relative;
  counter-reset: number 0; }
  body.no-scroll {
    overflow: hidden; }

.inner {
  max-width: 1080px;
  width: calc(990 / 1080 * 100%);
  margin: auto;
  position: relative; }

.mv {
  display: block;
  background: url("../images/mv_bg.jpg") no-repeat bottom center #ddf1fc;
  background-size: cover;
  position: relative;
  overflow: hidden; }
  .mv h1, .mv p, .mv div {
    position: absolute; }
  .mv .mv_inner {
    max-width: 1080px;
    width: 100%;
    margin: auto;
    position: relative; }
    .mv .mv_inner:before {
      content: "";
      display: block;
      padding-top: calc(905 / 1080 * 100%); }
    @media screen and (max-width: 1080px) {
      .mv .mv_inner {
        overflow: hidden; } }
    @media screen and (max-width: 480px) {
      .mv .mv_inner:before {
        padding-top: calc(905 / 750 * 100%); } }
  .mv .mv_catch01 {
    max-width: 584.5px;
    width: calc(584.5 / 1080 * 100%);
    top: 11%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 1; }
    @media screen and (max-width: 480px) {
      .mv .mv_catch01 {
        width: calc(301 / 375 * 100%);
        top: 15%; } }
  .mv .mv_catch02 {
    max-width: 403.5px;
    width: calc(403.5 / 1080 * 100%);
    top: 43.5%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 1; }
    @media screen and (max-width: 480px) {
      .mv .mv_catch02 {
        width: calc(212.5 / 375 * 100%);
        top: 48%; } }
  .mv .mv_house01 {
    max-width: 305px;
    width: calc(305 / 1080 * 100%);
    bottom: 0;
    left: -4%;
    z-index: 1; }
    @media screen and (max-width: 480px) {
      .mv .mv_house01 {
        width: calc(160 / 375 * 100%);
        left: -19%; } }
  .mv .mv_house02 {
    max-width: 305px;
    width: calc(305 / 1080 * 100%);
    bottom: 0;
    right: -4%;
    z-index: 1; }
    @media screen and (max-width: 480px) {
      .mv .mv_house02 {
        width: calc(160 / 375 * 100%);
        right: -19%; } }
  .mv .mv_mamorukun {
    max-width: 321px;
    width: calc(321 / 1080 * 100%);
    bottom: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 2; }
    @media screen and (max-width: 480px) {
      .mv .mv_mamorukun {
        width: calc(160 / 375 * 100%); } }

.point {
  background: #149243;
  display: flex;
  justify-content: center;
  padding: 16px;
  font-weight: 400;
  font-size: 28px;
  font-size: 2.8rem; }
  .point li {
    min-width: 320px;
    background: #f3e727;
    padding: .3em .9em;
    color: #149243;
    margin: 0 16px; }
  @media screen and (max-width: 768px) {
    .point {
      padding: 8px;
      font-size: 20px;
      font-size: 2rem; }
      .point li {
        margin: 0 8px;
        min-width: auto;
        width: 50%; } }
  @media screen and (max-width: 480px) {
    .point {
      font-size: 14px;
      font-size: 1.4rem; } }

.mv_mamorukun_emblem {
  width: 160px;
  margin: 0 auto 48px; }
  @media screen and (max-width: 480px) {
    .mv_mamorukun_emblem {
      width: calc(160px * .8);
      margin-bottom: 24px; } }

.hexagon {
  width: 240px;
  height: 140px;
  background: #ffffff;
  position: relative; }
  .hexagon .hexagon_chara {
    width: 144px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1; }
  @media screen and (max-width: 768px) {
    .hexagon {
      width: calc(240px * .8);
      height: calc(140px * .8); }
      .hexagon .hexagon_chara {
        width: calc(144px * .8); } }

.hexagon:before, .hexagon:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #ffffff;
  z-index: 0; }
.hexagon:before {
  transform: rotate(60deg); }
.hexagon:after {
  transform: rotate(-60deg); }

.whats_content .hexagon .hexagon_chara {
  width: 120px; }
  @media screen and (max-width: 768px) {
    .whats_content .hexagon .hexagon_chara {
      width: calc(120px * .8); } }

.faq_hoshou .hexagon img, .faq_shindan .hexagon img, .faq_hoshuu .hexagon img, .faq_other .hexagon img {
  display: block;
  margin: auto; }

.faq_hoshou .hexagon {
  background: #f5f3f6; }
  .faq_hoshou .hexagon .hexagon_chara img {
    width: 72px; }
  .faq_hoshou .hexagon:before, .faq_hoshou .hexagon:after {
    background: #f5f3f6; }

.faq_shindan .hexagon {
  background: #f2f8fc; }
  .faq_shindan .hexagon .hexagon_chara img {
    width: 86px; }
  .faq_shindan .hexagon:before, .faq_shindan .hexagon:after {
    background: #f2f8fc; }

.faq_hoshuu .hexagon {
  background: #f3f3f7; }
  .faq_hoshuu .hexagon .hexagon_chara img {
    width: 60px; }
  .faq_hoshuu .hexagon:before, .faq_hoshuu .hexagon:after {
    background: #f3f3f7; }

.faq_other .hexagon {
  background: #f8fbf4; }
  .faq_other .hexagon .hexagon_chara img {
    width: 73px; }
  .faq_other .hexagon:before, .faq_other .hexagon:after {
    background: #f8fbf4; }

.faq_other:last-of-type .hexagon .hexagon_chara img {
  width: 86px; }

.kome {
  text-indent: -1em;
  margin-left: 1em; }
  .kome:before {
    content: "\203B"; }

article #mamorukun p, article #mamorukun dl, article #mamorukun li, article #whats_hoshou p, article #whats_hoshou dl, article #whats_hoshou li, article #merit p, article #merit dl, article #merit li, article #faq p, article #faq dl, article #faq li, article #reason p, article #reason dl, article #reason li, article #flow p, article #flow dl, article #flow li {
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word; }

#mamorukun, #whats {
  padding: 160px 0; }
  @media screen and (max-width: 768px) {
    #mamorukun, #whats {
      padding: 96px 0 48px; } }
  #mamorukun p, #whats p {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.8; }
    #mamorukun p.annotation, #whats p.annotation {
      font-size: 14px;
      font-size: 1.4rem;
      display: block;
      margin-top: .5em; }
  #mamorukun .whats_title, #whats .whats_title {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 600;
    margin-bottom: .8em; }
  #mamorukun .whats_content, #whats .whats_content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    #mamorukun .whats_content .whats_text, #whats .whats_content .whats_text {
      width: calc(100% - 240px);
      padding-left: 48px; }
    @media screen and (max-width: 768px) {
      #mamorukun .whats_content, #whats .whats_content {
        flex-direction: column; }
        #mamorukun .whats_content .whats_text, #whats .whats_content .whats_text {
          width: 100%;
          padding-left: 0; }
        #mamorukun .whats_content .whats_title, #whats .whats_content .whats_title {
          font-size: 24px;
          font-size: 2.4rem;
          text-align: center;
          margin-top: 96px; }
        #mamorukun .whats_content p, #whats .whats_content p {
          font-size: 16px;
          font-size: 1.6rem; }
          #mamorukun .whats_content p.annotation, #whats .whats_content p.annotation {
            font-size: 12px;
            font-size: 1.2rem; } }

#mamorukun {
  background: #6FBA2C;
  color: #ffffff; }

#whats {
  background: #f2f2f2; }

#whats_hoshou .service_wrap {
  padding: 160px 1em 128px;
  margin-bottom: 160px;
  border: #6FBA2C 4px solid;
  border-radius: 8px;
  background: url("../images/service_wall.jpg") repeat center center;
  background-size: auto;
  position: relative;
  font-size: 24px;
  font-size: 2.4rem; }
  @media screen and (max-width: 768px) {
    #whats_hoshou .service_wrap {
      padding-top: 128px;
      padding-bottom: 96px;
      margin-bottom: 128px; } }
  @media screen and (max-width: 480px) {
    #whats_hoshou .service_wrap {
      padding-top: 96px;
      padding-bottom: 48px; } }
  @media screen and (max-width: 768px) {
    #whats_hoshou .service_wrap {
      font-size: 20px;
      font-size: 2rem; } }
  @media screen and (max-width: 480px) {
    #whats_hoshou .service_wrap {
      font-size: 16px;
      font-size: 1.6rem; } }
#whats_hoshou .service_title span {
  display: table;
  background: #D53113;
  color: #ffffff;
  font-size: 40px;
  font-size: 4rem;
  padding: .2em 1.2em;
  margin: 0 auto .4em;
  font-weight: 600; }
  @media screen and (max-width: 768px) {
    #whats_hoshou .service_title span {
      font-size: 32px;
      font-size: 3.2rem; } }
  @media screen and (max-width: 480px) {
    #whats_hoshou .service_title span {
      font-size: 24px;
      font-size: 2.4rem; } }
#whats_hoshou .service_nav, #whats_hoshou .service_emblem {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1; }
#whats_hoshou .service_emblem {
  width: 256px;
  height: auto;
  top: -128px; }
  @media screen and (max-width: 768px) {
    #whats_hoshou .service_emblem {
      width: 192px;
      top: -96px; } }
  @media screen and (max-width: 480px) {
    #whats_hoshou .service_emblem {
      width: 128px;
      top: -64px; } }
#whats_hoshou .service_nav {
  bottom: -80px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 768px) {
    #whats_hoshou .service_nav {
      bottom: -60px; } }
  @media screen and (max-width: 480px) {
    #whats_hoshou .service_nav {
      bottom: -40px; } }
  #whats_hoshou .service_nav a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    white-space: nowrap;
    color: #ffffff;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1; }
    #whats_hoshou .service_nav a:after {
      display: block;
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      content: "\f078";
      font-size: 20px;
      font-size: 2rem;
      text-align: center;
      position: absolute;
      bottom: 20%;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1; }
    @media screen and (max-width: 768px) {
      #whats_hoshou .service_nav a {
        width: 120px;
        height: 120px;
        font-size: 28px;
        font-size: 2.8rem; }
        #whats_hoshou .service_nav a:after {
          font-size: 16px;
          font-size: 1.6rem; } }
    @media screen and (max-width: 480px) {
      #whats_hoshou .service_nav a {
        width: 80px;
        height: 80px;
        font-size: 24px;
        font-size: 2.4rem; }
        #whats_hoshou .service_nav a:after {
          font-size: 12px;
          font-size: 1.2rem;
          bottom: 16%; } }
@keyframes move-y {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(6px); } }
    #whats_hoshou .service_nav a:hover:after {
      animation: move-y infinite .6s ease-in-out; }
  #whats_hoshou .service_nav li {
    padding: 0 16px; }
    @media screen and (max-width: 768px) {
      #whats_hoshou .service_nav li {
        padding: 0 8px; } }
    @media screen and (max-width: 480px) {
      #whats_hoshou .service_nav li {
        padding: 0 4px; } }
    #whats_hoshou .service_nav li:first-of-type a {
      background: #0075C2; }
    #whats_hoshou .service_nav li:nth-of-type(2) a {
      background: #1A1D6A; }
    #whats_hoshou .service_nav li:nth-of-type(3) a {
      background: #3F0D46; }
#whats_hoshou .service_contents .inner {
  max-width: 800px; }
#whats_hoshou .service_contents .service_contents_emblem {
  width: 160px;
  margin: auto; }
#whats_hoshou .service_shindan, #whats_hoshou .service_hoshuu, #whats_hoshou .service_hoshou {
  padding: 80px 0;
  color: #ffffff; }
  #whats_hoshou .service_shindan .service_detail_title, #whats_hoshou .service_hoshuu .service_detail_title, #whats_hoshou .service_hoshou .service_detail_title {
    font-family: 'Akshar', sans-serif;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 1em;
    margin-bottom: 2em;
    font-size: 20px;
    font-size: 2rem;
    text-align: center; }
    #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp {
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-size: 40px;
      font-size: 4rem;
      font-weight: 600; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:after {
        content: "";
        display: block;
        width: 40px;
        height: 1px;
        background: #ffffff; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:before {
        margin-right: .5em; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:after {
        margin-left: .5em; }
    #whats_hoshou .service_shindan .service_detail_title .service_detail_title_en, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_en, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_en {
      letter-spacing: .1em; }
  #whats_hoshou .service_shindan .service_detail_text, #whats_hoshou .service_hoshuu .service_detail_text, #whats_hoshou .service_hoshou .service_detail_text {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5; }
  #whats_hoshou .service_shindan .service_detail_text, #whats_hoshou .service_shindan .service_detail_list_wrap, #whats_hoshou .service_hoshuu .service_detail_text, #whats_hoshou .service_hoshuu .service_detail_list_wrap, #whats_hoshou .service_hoshou .service_detail_text, #whats_hoshou .service_hoshou .service_detail_list_wrap {
    margin-bottom: 4em; }
    @media screen and (max-width: 768px) {
      #whats_hoshou .service_shindan .service_detail_text, #whats_hoshou .service_shindan .service_detail_list_wrap, #whats_hoshou .service_hoshuu .service_detail_text, #whats_hoshou .service_hoshuu .service_detail_list_wrap, #whats_hoshou .service_hoshou .service_detail_text, #whats_hoshou .service_hoshou .service_detail_list_wrap {
        margin-bottom: 2em; } }
  #whats_hoshou .service_shindan .service_detail_answer, #whats_hoshou .service_hoshuu .service_detail_answer, #whats_hoshou .service_hoshou .service_detail_answer {
    background: #ffffff;
    border-radius: 8px;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 600;
    padding: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center; }
    #whats_hoshou .service_shindan .service_detail_answer .service_detail_mamorukun, #whats_hoshou .service_hoshuu .service_detail_answer .service_detail_mamorukun, #whats_hoshou .service_hoshou .service_detail_answer .service_detail_mamorukun {
      width: 88px; }
    #whats_hoshou .service_shindan .service_detail_answer p, #whats_hoshou .service_hoshuu .service_detail_answer p, #whats_hoshou .service_hoshou .service_detail_answer p {
      padding-left: 1em; }
  @media screen and (max-width: 768px) {
    #whats_hoshou .service_shindan, #whats_hoshou .service_hoshuu, #whats_hoshou .service_hoshou {
      padding: 60px 0; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp {
        font-size: 32px;
        font-size: 3.2rem; }
        #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:after {
          width: 32px; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_en, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_en, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_en {
        font-size: 16px;
        font-size: 1.6rem; }
      #whats_hoshou .service_shindan .service_detail_text, #whats_hoshou .service_hoshuu .service_detail_text, #whats_hoshou .service_hoshou .service_detail_text {
        font-size: 18px;
        font-size: 1.8rem; }
      #whats_hoshou .service_shindan .service_detail_answer, #whats_hoshou .service_hoshuu .service_detail_answer, #whats_hoshou .service_hoshou .service_detail_answer {
        font-size: 18px;
        font-size: 1.8rem; }
        #whats_hoshou .service_shindan .service_detail_answer .service_detail_mamorukun, #whats_hoshou .service_hoshuu .service_detail_answer .service_detail_mamorukun, #whats_hoshou .service_hoshou .service_detail_answer .service_detail_mamorukun {
          width: 72px; } }
  @media screen and (max-width: 480px) {
    #whats_hoshou .service_shindan, #whats_hoshou .service_hoshuu, #whats_hoshou .service_hoshou {
      padding: 40px 0; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp {
        font-size: 24px;
        font-size: 2.4rem; }
        #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_shindan .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_jp:after, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:before, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_jp:after {
          width: 24px; }
      #whats_hoshou .service_shindan .service_detail_title .service_detail_title_en, #whats_hoshou .service_hoshuu .service_detail_title .service_detail_title_en, #whats_hoshou .service_hoshou .service_detail_title .service_detail_title_en {
        font-size: 12px;
        font-size: 1.2rem; }
      #whats_hoshou .service_shindan .service_detail_text, #whats_hoshou .service_hoshuu .service_detail_text, #whats_hoshou .service_hoshou .service_detail_text {
        font-size: 16px;
        font-size: 1.6rem; }
      #whats_hoshou .service_shindan .service_detail_answer, #whats_hoshou .service_hoshuu .service_detail_answer, #whats_hoshou .service_hoshou .service_detail_answer {
        font-size: 16px;
        font-size: 1.6rem; }
        #whats_hoshou .service_shindan .service_detail_answer .service_detail_mamorukun, #whats_hoshou .service_hoshuu .service_detail_answer .service_detail_mamorukun, #whats_hoshou .service_hoshou .service_detail_answer .service_detail_mamorukun {
          width: 64px; } }
#whats_hoshou .service_shindan {
  background: #0075C2; }
  #whats_hoshou .service_shindan .service_detail_answer {
    color: #0075C2; }
#whats_hoshou .service_hoshuu {
  background: #1A1D6A; }
  #whats_hoshou .service_hoshuu .service_detail_answer {
    color: #1A1D6A; }
#whats_hoshou .service_hoshou {
  background: #3F0D46; }
  #whats_hoshou .service_hoshou .service_detail_answer {
    color: #3F0D46; }
#whats_hoshou .service_detail_title_sub {
  font-weight: 600;
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: .2em; }
#whats_hoshou .service_detail_list_wrap {
  line-height: 2; }
#whats_hoshou .service_detail_list {
  border-bottom: rgba(255, 255, 255, 0.5) 1px solid;
  padding-bottom: 2em;
  margin-bottom: 2em; }
#whats_hoshou .service_detail_list_dl {
  border: rgba(255, 255, 255, 0.5) 1px solid;
  padding: 1.2em;
  margin-bottom: 20px; }
  #whats_hoshou .service_detail_list_dl .kome {
    font-size: 14px;
    font-size: 1.4rem;
    display: block; }
  #whats_hoshou .service_detail_list_dl .service_detail_wrap_title {
    font-weight: 600; }
  #whats_hoshou .service_detail_list_dl dt span {
    font-weight: 600; }
  #whats_hoshou .service_detail_list_dl dd:not(:last-of-type) {
    margin-bottom: 1em; }
#whats_hoshou .service_detail_wrap .service_detail_wrap_title {
  font-weight: 600; }
#whats_hoshou .service_detail_circle_list {
  margin-top: 1em; }
  #whats_hoshou .service_detail_circle_list li {
    text-indent: -1em;
    margin-left: 1em; }
    #whats_hoshou .service_detail_circle_list li:before {
      content: "\3007"; }

#merit {
  background: rgba(234, 85, 4, 0.05); }
  #merit .merit_title {
    display: table;
    margin: 0 auto 48px;
    border-top: #EA5504 1px solid;
    border-bottom: #EA5504 1px solid;
    color: #EA5504;
    font-weight: 600;
    font-size: 32px;
    font-size: 3.2rem; }
    @media screen and (max-width: 768px) {
      #merit .merit_title {
        font-size: 24px;
        font-size: 2.4rem; } }
    #merit .merit_title span {
      padding: .8em 0;
      display: block;
      position: relative; }
      #merit .merit_title span:before, #merit .merit_title span:after {
        content: "";
        display: block;
        width: 200px;
        height: 4px;
        background: #EA5504;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto; }
        @media screen and (max-width: 768px) {
          #merit .merit_title span:before, #merit .merit_title span:after {
            width: 160px; } }
      #merit .merit_title span:before {
        top: -4px; }
      #merit .merit_title span:after {
        bottom: -4px; }
  #merit .merit_chara {
    margin: auto;
    background: #ffffff;
    width: 200px;
    height: 100px;
    border-radius: 100px 100px 0 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    padding-top: 16px;
    position: relative; }
    @media screen and (max-width: 768px) {
      #merit .merit_chara {
        width: 160px;
        height: 80px; } }
    #merit .merit_chara img {
      display: block;
      width: 98px;
      height: 124px; }
      @media screen and (max-width: 768px) {
        #merit .merit_chara img {
          width: calc(98px * .8);
          height: calc(124px * .8); } }
  #merit .merit_list {
    display: flex;
    flex-wrap: wrap; }
    #merit .merit_list .brackets:before, #merit .merit_list .brackets:after, #merit .merit_list .merit_list_detail:before, #merit .merit_list .merit_list_detail:after {
      content: "";
      display: block;
      background: #ffffff;
      position: absolute;
      z-index: 1; }
    #merit .merit_list .brackets:before, #merit .merit_list .merit_list_detail:before {
      width: 60px;
      height: 4px; }
    #merit .merit_list .brackets:after, #merit .merit_list .merit_list_detail:after {
      width: 4px;
      height: 60px; }
    #merit .merit_list .brackets:before, #merit .merit_list .brackets:after {
      bottom: 10px;
      right: 10px; }
    #merit .merit_list li {
      flex-basis: calc(50% - 16px);
      margin-right: 32px;
      margin-bottom: 32px;
      padding: 32px; }
      #merit .merit_list li:nth-of-type(2n) {
        margin-right: 0; }
      @media screen and (max-width: 768px) {
        #merit .merit_list li {
          flex-basis: 100%;
          margin-bottom: 24px;
          margin-right: 0; }
          #merit .merit_list li:last-of-type {
            margin-bottom: 0; } }
    #merit .merit_list .merit_list_detail {
      background: #EA5504;
      color: #ffffff;
      position: relative; }
      #merit .merit_list .merit_list_detail:before, #merit .merit_list .merit_list_detail:after {
        top: 10px;
        left: 10px; }
      #merit .merit_list .merit_list_detail .merit_num_wrap {
        display: table;
        margin: auto; }
      #merit .merit_list .merit_list_detail .merit_num {
        padding: .5em;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: column;
        background: #ffffff;
        color: #EA5504;
        aspect-ratio: 1 / 1;
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 600;
        line-height: 1;
        text-align: center; }
        #merit .merit_list .merit_list_detail .merit_num span {
          display: block;
          font-size: 24px;
          font-size: 2.4rem;
          width: 100%; }
      #merit .merit_list .merit_list_detail .merit_detail {
        margin-top: 1em;
        text-align: center; }
        #merit .merit_list .merit_list_detail .merit_detail span {
          display: block;
          font-size: 20px;
          font-size: 2rem;
          font-weight: 600; }
        #merit .merit_list .merit_list_detail .merit_detail .merit_small {
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: normal; }
    #merit .merit_list .merit_list_detail_last {
      padding: 0 24px;
      display: flex;
      align-items: center;
      justify-content: center; }
      #merit .merit_list .merit_list_detail_last figure {
        width: 100px; }
      #merit .merit_list .merit_list_detail_last p {
        font-weight: bold;
        text-align: center;
        border: #666666 1px solid;
        border-radius: 12px;
        padding: 2em;
        background: #ffffff;
        margin-left: 48px;
        position: relative; }
        @media screen and (max-width: 480px) {
          #merit .merit_list .merit_list_detail_last p {
            padding: 1em .5em; } }
        #merit .merit_list .merit_list_detail_last p:before, #merit .merit_list .merit_list_detail_last p:after {
          content: "";
          display: block;
          width: 0;
          height: 0;
          border-style: solid;
          position: absolute;
          top: 40%;
          z-index: 1;
          transform: rotate(275deg); }
        #merit .merit_list .merit_list_detail_last p:before {
          border-right: 6px solid transparent;
          border-left: 6px solid transparent;
          border-bottom: 32px solid #666666;
          border-top: 0;
          left: -23px; }
        #merit .merit_list .merit_list_detail_last p:after {
          border-right: 6px solid transparent;
          border-left: 6px solid transparent;
          border-bottom: 32px solid #fff;
          border-top: 0;
          left: -20px; }

#whats_hoshou {
  padding: 200px 0 0; }
  @media screen and (max-width: 768px) {
    #whats_hoshou {
      padding: 128px 0 0; } }

#merit {
  padding: 80px 0; }
  @media screen and (max-width: 768px) {
    #merit {
      padding: 60px 0; } }

#flow, #faq {
  padding: 96px 0; }
  @media screen and (max-width: 768px) {
    #flow, #faq {
      padding: 64px 0; } }
  @media screen and (max-width: 480px) {
    #flow, #faq {
      padding: 48px 0; } }

#faq .faq_title {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold;
  margin-bottom: 64px; }
#faq .faq_list_wrap {
  display: flex; }
  #faq .faq_list_wrap:last-of-type {
    margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    #faq .faq_list_wrap {
      margin-bottom: 0; } }
#faq .faq_left {
  padding-top: 64px;
  margin-bottom: 128px; }
#faq .faq_list_title {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold; }
  #faq .faq_list_title img {
    margin-bottom: .4em; }
#faq dl {
  padding-left: 40px;
  margin-bottom: 64px; }
  @media screen and (max-width: 768px) {
    #faq dl {
      margin-bottom: 0; } }
  #faq dl dt, #faq dl dd {
    position: relative;
    padding-left: 40px; }
    #faq dl dt:before, #faq dl dd:before {
      font-weight: 600;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #ffffff;
      width: 32px;
      height: 32px;
      border-radius: 100%;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 0;
      z-index: 1; }
  #faq dl dt {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1em; }
    #faq dl dt:before {
      content: "Q"; }
  #faq dl dd {
    line-height: 1.5;
    margin-bottom: 2.5em; }
    #faq dl dd:before {
      content: "A";
      background: #EA5504; }
#faq .faq_list_wrap:last-of-type .faq_left {
  margin-bottom: 80px; }
#faq .faq_list_wrap:last-of-type dl {
  margin-bottom: 0; }
@media screen and (max-width: 768px) {
  #faq .faq_list_title {
    font-size: 24px;
    font-size: 2.4rem; }
  #faq .faq_title {
    margin-bottom: 32px;
    font-size: 24px;
    font-size: 2.4rem; }
  #faq .faq_list_wrap {
    flex-direction: column; }
  #faq dl {
    padding-left: 0; }
    #faq dl dt {
      font-size: 18px;
      font-size: 1.8rem; }
  #faq .faq_left {
    margin-bottom: 80px; }
    #faq .faq_left .hexagon {
      margin: auto; } }
#faq .faq_hoshou .faq_list_title {
  color: #3F0D46; }
#faq .faq_hoshou dt {
  color: #3F0D46; }
  #faq .faq_hoshou dt:before {
    background: #3F0D46; }
#faq .faq_shindan .faq_list_title {
  color: #0075C2; }
#faq .faq_shindan dt {
  color: #0075C2; }
  #faq .faq_shindan dt:before {
    background: #0075C2; }
#faq .faq_hoshuu .faq_list_title {
  color: #1A1D6A; }
#faq .faq_hoshuu dt {
  color: #1A1D6A; }
  #faq .faq_hoshuu dt:before {
    background: #1A1D6A; }
#faq .faq_other .faq_list_title {
  color: #6FBA2C; }
#faq .faq_other dt {
  color: #6FBA2C; }
  #faq .faq_other dt:before {
    background: #6FBA2C; }

#reason {
  background: #f2f2f2;
  padding: 64px 0; }
  #reason .reason_wrap {
    background: #ffffff;
    padding: 64px; }
    #reason .reason_wrap p {
      line-height: 2;
      margin-bottom: 2em; }
      #reason .reason_wrap p:last-of-type {
        margin-bottom: 0; }
  #reason .reason_title {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: .8em; }
  #reason .reason_image {
    max-width: 560px;
    margin: 0 auto 2em; }
  @media screen and (max-width: 768px) {
    #reason {
      padding: 32px 0; }
      #reason .reason_wrap {
        padding: 32px; }
      #reason .reason_title {
        font-size: 24px;
        font-size: 2.4rem; }
      #reason p {
        font-size: 14px;
        font-size: 1.4rem; } }

#flow {
  background: rgba(111, 186, 44, 0.1); }
  #flow .flow_wrap > li {
    margin-bottom: 48px; }
    #flow .flow_wrap > li:last-of-type {
      margin-bottom: 0; }
  #flow .flow_title {
    color: #6FBA2C;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 600;
    margin-bottom: 1em; }
    @media screen and (max-width: 768px) {
      #flow .flow_title {
        font-size: 24px;
        font-size: 2.4rem; } }
  #flow .flow_title_each, #flow .flow_title_hoshou, #flow .flow_title_hoshuu, #flow .flow_title_shindan {
    writing-mode: vertical-rl;
    color: #ffffff;
    font-weight: 600;
    line-height: 1;
    padding: 2em 1em;
    font-size: 20px;
    font-size: 2rem;
    position: relative;
    width: 60px; }
    #flow .flow_title_each:after, #flow .flow_title_hoshou:after, #flow .flow_title_hoshuu:after, #flow .flow_title_shindan:after {
      position: absolute;
      bottom: -11px;
      left: 0;
      z-index: 1;
      content: "";
      content: '';
      display: block;
      clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
      width: 60px;
      height: 12px; }
    @media screen and (max-width: 768px) {
      #flow .flow_title_each, #flow .flow_title_hoshou, #flow .flow_title_hoshuu, #flow .flow_title_shindan {
        font-size: 16px;
        font-size: 1.6rem;
        width: 48px; }
        #flow .flow_title_each:after, #flow .flow_title_hoshou:after, #flow .flow_title_hoshuu:after, #flow .flow_title_shindan:after {
          width: 48px; } }
  #flow .flow_title_hoshou {
    background: #3F0D46; }
    #flow .flow_title_hoshou:after {
      background-color: #3F0D46; }
  #flow .flow_title_hoshuu {
    background: #1A1D6A; }
    #flow .flow_title_hoshuu:after {
      background-color: #1A1D6A; }
  #flow .flow_title_shindan {
    background: #0075C2; }
    #flow .flow_title_shindan:after {
      background-color: #0075C2; }
  #flow .flow_title_each {
    background: #666666; }
    #flow .flow_title_each:after {
      background-color: #666666; }
  #flow .flow_request, #flow .flow_after, #flow .flow_hoshou, #flow .flow_hoshuu, #flow .flow_shindan {
    display: flex;
    background: #ffffff; }
  #flow .flow_after .flow_content, #flow .flow_hoshou .flow_content, #flow .flow_hoshuu .flow_content, #flow .flow_shindan .flow_content {
    width: 100%;
    padding: 32px 32px 32px 0; }
    @media screen and (max-width: 768px) {
      #flow .flow_after .flow_content, #flow .flow_hoshou .flow_content, #flow .flow_hoshuu .flow_content, #flow .flow_shindan .flow_content {
        padding: 24px 24px 24px 0; } }
  #flow .flow_text, #flow .flow_title_sub {
    padding-left: 32px; }
    @media screen and (max-width: 768px) {
      #flow .flow_text, #flow .flow_title_sub {
        padding-left: 24px; } }
  #flow .flow_text {
    line-height: 1.5; }
    #flow .flow_text .kome {
      color: #999;
      font-size: 12px;
      font-size: 1.2rem;
      margin-top: 1em; }
  #flow .flow_title_sub {
    font-weight: 600;
    border-bottom: #ccc 1px solid;
    padding-bottom: .5em;
    margin-bottom: .8em; }
  #flow .flow_hoshou .flow_title_sub {
    color: #3F0D46;
    border-color: rgba(63, 13, 70, 0.2); }
  #flow .flow_hoshou h4 {
    font-weight: 600; }
  #flow .flow_hoshuu .flow_title_sub {
    color: #1A1D6A;
    border-color: rgba(26, 29, 106, 0.2); }
  #flow .flow_hoshuu h4 {
    font-weight: 600; }
  #flow .flow_shindan .flow_shindan_list {
    padding: 32px 32px 0 32px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #flow .flow_shindan .flow_shindan_list {
        padding: 24px 24px 0 24px; } }
    #flow .flow_shindan .flow_shindan_list li {
      flex-basis: 50%;
      border-right: rgba(0, 117, 194, 0.2) 1px solid;
      padding-right: 24px; }
      #flow .flow_shindan .flow_shindan_list li:nth-of-type(2n) {
        border: none;
        padding-right: 0;
        padding-left: 24px; }
    @media screen and (max-width: 768px) {
      #flow .flow_shindan .flow_shindan_list {
        flex-direction: column; }
        #flow .flow_shindan .flow_shindan_list li {
          flex-basis: 100%;
          padding: 0 !important;
          border-right: none;
          border-bottom: rgba(0, 117, 194, 0.2) 1px solid; }
          #flow .flow_shindan .flow_shindan_list li:nth-of-type(2) {
            margin-top: 24px; }
          #flow .flow_shindan .flow_shindan_list li:last-of-type {
            border-bottom: none; }
          #flow .flow_shindan .flow_shindan_list li:first-of-type .flow_shindan_list_detail:last-of-type {
            margin-bottom: 24px; } }
    #flow .flow_shindan .flow_shindan_list .flow_shindan_list_title {
      color: #59a5d7;
      font-weight: 600;
      margin-bottom: .8em; }
    #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail {
      padding: 1.2em;
      margin-bottom: 32px;
      position: relative;
      border: #59a5d7 1px solid; }
      #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail .kome {
        font-size: 12px;
        font-size: 1.2rem;
        margin-top: .5em; }
      #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail:after {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 12px solid rgba(89, 165, 215, 0);
        border-left: 12px solid rgba(89, 165, 215, 0);
        border-top: 12px solid #59a5d7;
        border-bottom: 0;
        position: absolute;
        bottom: -24px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 1; }
      #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail:last-of-type {
        margin-bottom: 0; }
        #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail:last-of-type:after {
          content: none; }
      #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail .flow_shindan_list_detail_title {
        color: #59a5d7;
        font-weight: 600;
        margin-bottom: .5em; }
      #flow .flow_shindan .flow_shindan_list .flow_shindan_list_detail p {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.5; }
  #flow .flow_shindan .flow_title_sub {
    border-color: rgba(0, 117, 194, 0.2); }
  #flow .flow_shindan h4 {
    font-weight: 600; }
  #flow .flow_request ol {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 32px; }
    #flow .flow_request ol li {
      display: flex;
      align-items: center;
      justify-content: center;
      aspect-ratio: 1 / 1;
      width: 23%;
      background: #f2f2f2;
      position: relative; }
      #flow .flow_request ol li span {
        white-space: nowrap;
        text-align: center;
        font-weight: 600;
        padding-left: 1em;
        padding-right: 1em; }
        #flow .flow_request ol li span:before {
          display: table;
          margin: 0 auto 1em;
          font-weight: normal;
          font-size: 12px;
          font-size: 1.2rem;
          counter-increment: number 1;
          content: "STEP" counter(number);
          background: #ffffff;
          border-radius: 200px;
          padding: .2em 1em;
          line-height: 1; }
      #flow .flow_request ol li:after {
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        content: "\f105";
        font-size: 20px;
        font-size: 2rem;
        color: #ccc;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: -20px;
        z-index: 1; }
        @media screen and (max-width: 1080px) {
          #flow .flow_request ol li:after {
            right: -16px; } }
        @media screen and (max-width: 768px) {
          #flow .flow_request ol li:after {
            right: -10px; } }
        @media screen and (max-width: 480px) {
          #flow .flow_request ol li:after {
            right: -6px; } }
      #flow .flow_request ol li:last-of-type span:after {
        content: none; }
    @media screen and (max-width: 768px) {
      #flow .flow_request ol {
        flex-direction: column;
        padding: 24px; }
        #flow .flow_request ol li {
          width: 100%;
          aspect-ratio: unset;
          padding: 1em;
          margin-bottom: 24px; }
          #flow .flow_request ol li:last-of-type {
            margin-bottom: 0; }
          #flow .flow_request ol li:after {
            text-align: center;
            content: "\f107";
            top: auto;
            -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
            transform: translateY(0);
            bottom: -24px;
            left: 0;
            right: 0;
            margin: auto; } }

#sec_mamorukun {
  padding: 128px 0; }
  #sec_mamorukun figure {
    width: 130px;
    margin: auto; }
  #sec_mamorukun p {
    font-size: 20px;
    font-size: 2rem;
    line-height: 2.4; }
    @media screen and (max-width: 768px) {
      #sec_mamorukun p {
        line-height: 2; } }
    #sec_mamorukun p span {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: 600; }
  @media screen and (max-width: 768px) {
    #sec_mamorukun {
      padding: 64px 0; }
      #sec_mamorukun figure {
        width: calc(130px * .8); }
      #sec_mamorukun p {
        font-size: 16px;
        font-size: 1.6rem; }
        #sec_mamorukun p span {
          font-size: 20px;
          font-size: 2rem; } }

#footer {
  padding-top: 100px;
  background: url("../images/footer_town.png") repeat-x top center;
  background-size: auto 100px; }
  @media screen and (max-width: 768px) {
    #footer {
      padding-top: 75px;
      background-size: auto 75px; } }
  @media screen and (max-width: 480px) {
    #footer {
      padding-top: 50px;
      background-size: auto 50px; } }
  #footer footer {
    background: url("../images/footer_wall.jpg") repeat #f2f2f2;
    padding: 64px 0;
    border-top: #6fba2c 8px solid;
    border-bottom: #ccc 8px solid; }
    @media screen and (max-width: 480px) {
      #footer footer {
        background-size: 8%; } }
  #footer .footer_logo {
    width: 194px;
    margin: 0 auto 48px; }
  #footer p {
    line-height: 2.4; }
    #footer p a {
      color: #666666;
      text-decoration: underline; }
      #footer p a:hover {
        text-decoration: none; }
  @media screen and (max-width: 768px) {
    #footer footer {
      padding: 32px 0 64px; }
    #footer .footer_logo {
      width: calc(194px * .8);
      margin-bottom: 32px; }
    #footer p {
      font-size: 14px;
      font-size: 1.4rem; } }

.contact_link {
  position: fixed;
  bottom: 20%;
  right: 0;
  z-index: 1; }
  .contact_link a {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    background: #EA5504;
    color: #ffffff;
    writing-mode: vertical-rl;
    padding: 2em 1em;
    border-radius: 8px 0 0 8px; }
    .contact_link a:after {
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      content: "\f35a";
      padding-top: 4px; }
  @media screen and (max-width: 768px) {
    .contact_link {
      top: auto;
      bottom: 20px;
      left: 0;
      right: 0;
      margin: auto; }
      .contact_link a {
        display: table;
        margin: auto;
        font-size: 14px;
        font-size: 1.4rem;
        writing-mode: horizontal-tb;
        padding: 1em 2em;
        border-radius: 8px 8px 8px 8px; }
        .contact_link a:after {
          padding-top: 0;
          padding-left: 4px; } }

.global_nav {
  background: #6FBA2C;
  padding-top: 64px; }
  @media screen and (max-width: 768px) {
    .global_nav {
      padding-top: 48px; } }
  @media screen and (max-width: 480px) {
    .global_nav {
      padding-top: 32px; } }
  .global_nav ul {
    width: calc(480 / 640 * 100%);
    margin: auto;
    text-align: left; }
    .global_nav ul li {
      font-size: 20px;
      font-size: 2rem;
      border-bottom: rgba(255, 255, 255, 0.2) 1px solid; }
      @media screen and (max-width: 768px) {
        .global_nav ul li {
          font-size: 18px;
          font-size: 1.8rem; } }
      @media screen and (max-width: 480px) {
        .global_nav ul li {
          font-size: 16px;
          font-size: 1.6rem; } }
      .global_nav ul li:first-of-type {
        border-top: rgba(255, 255, 255, 0.2) 1px solid; }
      .global_nav ul li a {
        color: #ffffff;
        padding: 1em 0 1em 2em;
        display: flex;
        align-items: center;
        justify-content: flex-start; }
        @media screen and (max-width: 480px) {
          .global_nav ul li a {
            padding-left: 0; } }
        .global_nav ul li a:before {
          font-family: "Font Awesome 6 Free";
          font-weight: 900;
          content: "\f107";
          margin-right: .8em; }

.drawer--right .drawer-hamburger {
  right: 1.5%; }

.drawer-hamburger {
  width: auto;
  top: 64px;
  padding: 0 !important; }
  @media screen and (max-width: 768px) {
    .drawer-hamburger {
      top: 48px; } }
  @media screen and (max-width: 480px) {
    .drawer-hamburger {
      top: 32px; } }

.drawer--right .drawer-nav {
  right: -640px;
  opacity: 0; }

.drawer--right.drawer-open .drawer-nav {
  width: 640px;
  opacity: 1; }

.drawer--right.drawer-open .drawer-hamburger {
  right: calc(640px + 1.5%); }

@media screen and (max-width: 768px) {
  .drawer--right .drawer-hamburger {
    right: 4%; }

  .drawer--right .drawer-nav {
    right: -80%; }

  .drawer--right.drawer-open .drawer-nav {
    width: 80%; }

  .drawer--right.drawer-open .drawer-hamburger {
    right: 84%; } }
.hamburger-icon {
  cursor: pointer;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #149243;
  color: #ffffff;
  border-radius: 50%;
  line-height: 1; }
  .hamburger-icon:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 40px;
    font-size: 4rem;
    content: "\f0c9"; }
  @media screen and (max-width: 768px) {
    .hamburger-icon {
      width: 60px;
      height: 60px; }
      .hamburger-icon:before {
        font-size: 30px;
        font-size: 3rem; } }
  @media screen and (max-width: 480px) {
    .hamburger-icon {
      width: 40px;
      height: 40px; }
      .hamburger-icon:before {
        font-size: 20px;
        font-size: 2rem; } }

.drawer-open .hamburger-icon:before {
  content: "\f00d"; }
