:root {
  --cl_blue: #005789;
  --cl_white: #fff;
  --cl_yellow: #fff841;
  --cl_gray: #2b2926;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

summary {
  list-style: none !important;
}

summary::-webkit-details-marker {
  display: none !important;
}

.header {
  background-color: #fff;
  border-bottom: 2px solid var(--cl_blue);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99999;
}

.header_inner {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 98%;
}

.header_sp_button {
  display: none;
}

.header_logo {
  max-width: 359px;
  width: 26.936%;
}

.header_nav_wrap {
  max-width: 853px;
  width: 70%;
}

.header_nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header_nav_link {
  color: var(--cl_blue);
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4em;
  text-align: center;
  text-decoration: none;
}

.link_hover {
  opacity: 1;
  transition: .2s;
}

.link_hover:hover {
  opacity: .6;
}

.header_nav_link.link_icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header_nav_link.link_icon span {
  padding: 0 0 4px 8px;
  width: 15px;
}

.header_nav_link.link_btn {
  background-color: var(--cl_yellow);
  border-radius: 10px;
  padding: 14px 18px;
}

.main {
  padding: 74px 0 0;
  margin: 0 auto;
  width: 100%;
}

.mv {
  position: relative;
}

.mv_inner {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 2%;
  right: 0;
  bottom: 0;
  left: 2%;
  max-width: 1186px;
  margin: auto;
  width: 98%;
}

.mv_bg {
  max-height: 817.59px;

  & img {
    max-height: inherit;
  }
}

.mv_item {
  margin: 3% 0 0;
  width: 44%;
}

.mv_item_text_sp {
  display: none;
}

.mv_img {
  position: relative;
  width: 100%;
}

.mv_buttons {
  display: flex;
  gap: 4%;
  position: absolute;
  left: 4%;
  bottom: 4%;
  width: 65%;

  & > a {
    display: block;
  }
}

.mv_button {
  position: relative;

  &::before {
    background-color: rgb(255 255 255 / 1);
    border-radius: 6px;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: .7px;
    margin: auto;
    height: 96%;
    width: 98.3%;
  }

  & picture {
    display: block;
    position: relative;
  }
}

.mv_decoration {
  width: 52%;
}

.container {
  margin: 0 auto;
  max-width: 1000px;
  width: 90%;
  /* width: 73.52941176470588%; */
}

.introduce {
  padding: 74px 0 16.9%;
  margin: -74px 0 0;
  /* padding: 0 0 230px; */
  position: relative;
}

.introduce::after {
  background-image: url("../img/introduce_bg.png");
  background-size: 100%;
  background-position: center;
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 16.911765vw;
}

.introduce_inner {
  background-color: #f3f3f3;
}

.introduce_contents {
  display: flex;
  justify-content: space-between;
  padding: 0 0 8%;
}

.introduce_title {
  color: var(--cl_blue);
  font-size: 32px;
  font-weight: 500;
  line-height: 2em;
  padding: 2% 0 0;
  writing-mode: vertical-rl;
  width: 12%;

  & span {
    background-color: var(--cl_yellow);
    padding: .4% 1%;
    letter-spacing: 4px;
  }
}

.introduce_items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 84%;

  & > div:first-of-type,
  & > div:nth-of-type(2) {
    border-bottom: 1px solid #c1c6c2;
    margin: 0 0 3%;
    padding: 0 0 3%;
  }
}

.introduce_item {
  width: 48%;
}

.introduce_item_head {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 4% auto;
  width: 98%;
}

.introduce_item_head_icon {
  width: 14%;
}

.introduce_item_head_texts {
  width: 80%;
}

.introduce_item_head_title {
  color: var(--cl_blue);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4em;
  margin: 0 0 2%;
}

.introduce_item_head_text {
  color: var(--cl_gray);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4em;
}

.introduce_item_text {
  color: #001820;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0 0 0 auto;
}

.introduce_item_btn {
  display: block;
  margin: 5% auto 0;
  opacity: 1;
  position: relative;
  text-decoration: none;
  width: 60%;

  &::before {
    background-color: rgb(255 255 255 / 1);
    border-radius: 10px;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 100%;
    width: 100%;
  }

  & span {
    background-color: var(--cl_yellow);
    box-shadow: 2px 2px 10px rgb(0 0 0 / .4);
    border-radius: 10px;
    color: var(--cl_gray);
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4em;
    padding: 14px 18px;
    position: relative;
    transition: .2s;
    text-align: center;
  }
}

.point {
  margin: -8% auto 0;
}

/* .point_wrapper {
  margin: -10% auto 0;
} */

.point_title {
  color: var(--cl_blue);
  font-size: 32px;
  font-weight: 500;
  line-height: 2em;
  padding: 2% 0 0;
  margin: 0 0 2%;
  text-align: center;
  width: 100%;

  & span {
    background-color: var(--cl_yellow);
    padding: .4% 1%;
    letter-spacing: 4px;
  }
}

.point_head {
  color: var(--cl_gray);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4em;
  margin: 0 0 6%;
  text-align: center;
}

.point .container {
  padding: 0 0 10%;
}

.point_inner > div:not(:last-of-type) {
  margin: 0 0 8%;
}

#point_get,
#point_use {
  padding: 74px 0 0;
  margin: -74px 0 8%;
}

.point_contents_head {
  color: var(--cl_blue);
  display: flex;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 2em;
  margin: 0 0 2%;
  width: 100%;

  & .dot {
    color: var(--cl_yellow);
    display: inline-block;
    font-size: 1.8em;
    padding: 0 1% 0 0;
  }
}

.point_contents_text {
  color: var(--cl_blue);
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 2em;
  margin: -1% 0 0;
  padding: 0 0 3% 4%;

  & span {
    font-size: 1.857142857em;
  }
}

.point_items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.point_item {
  background-color: #f3f3f3;
  border: 2px solid #c1c6c2;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 2.4% 3.8% 1.2%;
  width: 48%;
}

.point_item.w100 {
  padding: 2.4% 6.8% 5.2%;
  margin: 0 0 4%;
  width: 100%;
}

.point_item_title {
  border-bottom: 2px solid rgb(193 198 194 / .4);
  color: var(--cl_blue);
  display: flex;
  align-items: center;
  font-size: 26px;
  font-weight: 500;
  line-height: 2em;
  padding: 0 2%;
  margin: 0 0 3.2%;
  width: 100%;
}

.point_item_img {
  margin: 0 auto;
  width: 92%;
}

.point_item_img02 {
  margin: 0 auto 4%;
  width: 100%;
}

.point_item_img03 {
  margin: 6% auto 4%;
  width: 64%;
}

.point_accordion {
  display: none;
}

.point_item_text {
  color: var(--cl_gray);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8em;
  margin: 0 0 4%;
  padding: 4% 0 0;
}

.point_item_caption {
  color: var(--cl_gray);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8em;
  text-align: justify;
  margin: 0 0 4%;
}

.point_contents_inner {
  margin: 0 auto;
  width: 92%;
}

.point_texts {
  margin: 0 0 10%;
  width: 82%;
}

.point_texts_text {
  color: var(--cl_gray);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8em;
  margin: 0 0 4%;
}

.point_texts_lists {
  background-color: #f3f3f3;
  border: 2px solid #c1c6c2;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 3% 6.2%;
  margin: 0 0 4%;
  width: 100%;
}

.point_texts_list {
  color: var(--cl_gray);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8em;

  & span {
    color: var(--cl_blue);
  }
}

.point_item_img04 {
  margin: 0 auto 8%;
  position: relative;
  width: 88%;
}

.point_item_btn02 {
  display: block;
  position: absolute;
  right: 0;
  bottom: 16%;
  left: 0;
  margin: auto;
  text-decoration: none;
  width: 42%;

  &::before {
    background-color: rgb(255 255 255 / 1);
    border-radius: 12px;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 100%;
    width: 100%;
  }

  & span {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 2px 2px 10px rgb(0 0 0 / .4);
    color: var(--cl_gray);
    display: block;
    font-size: 20px;
    font-weight: 700;
    padding: 5% 0;
    position: relative;
    text-align: center;
  }
}

.app_bg {
  position: relative;
  width: 100%;
}

.app_buttons {
  display: flex;
  gap: 8%;
  position: absolute;
  right: 24%;
  bottom: 21%;
  margin: auto;
  width: 30%;
}

.app_button {
  position: relative;

  &::before {
    background-color: rgb(255 255 255 / 1);
    border-radius: 6px;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: .7px;
    margin: auto;
    height: 96%;
    width: 98.3%;
  }

  & picture {
    display: block;
    position: relative;
  }
}

.howto {
  background-color: #f3f3f3;
}

.howto_title {
  color: var(--cl_blue);
  font-size: 32px;
  font-weight: 500;
  line-height: 2em;
  padding: 10% 0 0;
  margin: 0 0 2%;
  text-align: center;
  width: 100%;

  & span {
    background-color: var(--cl_yellow);
    padding: .4% 1%;
    letter-spacing: 4px;
  }
}

.howto_head {
  color: var(--cl_gray);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8em;
  margin: 0 auto 6%;
  text-align: left;
  width: 56%;
}

.app_inner {
  padding: 0 0 1.4%;
}

.app_inner > div:not(:last-of-type) {
  margin: 0 0 8%;
}

.app_contents_head {
  color: var(--cl_blue);
  display: flex;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 2em;
  margin: 0 0 2%;
  list-style-type: none;
  width: 100%;

  & .dot {
    color: var(--cl_yellow);
    display: inline-block;
    font-size: 1.8em;
    padding: 0 1% 0 0;
  }
}

.app_accordion_head {
  cursor: pointer;
  margin: 0 auto;
  position: relative;
  width: 84%;
}

.app_accordion_head::marker {
  content: "";
}

.app_accordion_head::-webkit-details-marker {
  display: none;
}

.app_items > details:first-of-type {
  border-top: 2px solid #c1c6c2;
}

.app_accordion {
  background-color: #fff;
  border-bottom: 2px solid #c1c6c2;
  padding: 5% 0;
}

.app_accordion[open] {
  padding: 5% 0 1.2%;
}

.app_accordion_title {
  color: var(--cl_blue);
  font-size: 30px;
  font-weight: 700;
  line-height: 1em;
}

.app_accordion.line .app_accordion_title {
  color: #06c755;
}

.app_accordion.red .app_accordion_title {
  color: #e60012;
}

.app_accordion_head_img {
  margin: 2% 0 0;
  width: 50%;
}

.app_accordion_head_img02 {
  margin: 2% 0 0;
  width: 60%;
}

.accordion_icon {
  background-color: var(--cl_blue);
  border-radius: 50px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: .2s;
  height: 60px;
  width: 60px;
}

.accordion_icon::before {
  border-top: 2px solid #fff;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 2px;
  width: 50%;
}

.accordion_icon::after {
  border-right: 2px solid #fff;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transition: .2s;
  height: 50%;
  width: 2px;
}

.app_accordion.line .accordion_icon {
  background-color: #06c755;
}

.app_accordion.red .accordion_icon {
  background-color: #e60012;
}

.app_accordion[open] .accordion_icon::after {
  top: -6%;
  transform: rotate(90deg);
}

.app_accordion_item {
  margin: 6% auto 0;
  width: 100%;
}

.app_accordion_item_img01 {
  margin: 0 auto 6%;
  width: 82%;
}

.app_accordion_item_img01_02 {
  position: relative;
  margin: 0 28% 6% 12%;
  width: 60%;
}

.app_accordion_item_img01_02 .app_buttons {
  gap: 4%;
  top: 50%;
  right: unset;
  bottom: unset;
  left: 0;
  width: 62%;
}

.app_accordion_buttons {
  display: flex;
  gap: 4%;
  position: absolute;
  right: 39%;
  bottom: 10%;
  margin: auto;
  width: 61%;
}

.app_accordion_item_box {
  background-color: #f3f3f3;
  box-sizing: border-box;
  padding: 4% 6%;
  margin: 0 auto;
  width: 98%;
}

.app_accordion_item_img02 {
  margin: 0 0 10%;
}

.faq {
  margin: 0 0 8%;
}

.faq_head {
  color: var(--cl_gray);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8em;
  margin: 0 auto 2%;
  text-align: center;
}

.faq_btn {
  background-color: #fff;
  box-shadow: 2px 2px 10px rgb(0 0 0 / .4);
  border: 2px solid var(--cl_blue);
  border-radius: 16px;
  color: var(--cl_blue);
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4em;
  padding: 2%;
  margin: 0 auto;
  opacity: 1;
  text-align: center;
  text-decoration: none;
  transition: .2s;
  width: 30%;
}

.app_bottom_text {
  color: var(--cl_gray);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.6em;
}

.footer {
  background-color: #26709B;
}

.fadeIn {
  transform: translateY(20px);
  opacity: 0;
  visibility: hidden;
  transition: .8s;
}

.fadeIn.active {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

@keyframes zoomInAnime {
  0% {
      transform: scale(.6);
      opacity: 0;
  }
  30% {
      transform: scale(.6);
      opacity: 0;
  }
  55% {
      transform: scale(1.1);
      opacity: 1;
  }
  73% {
      transform: scale(1);
  }
}

@keyframes UpAnime {
  from {
      opacity: 0;
      transform: translateY(130px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

@keyframes DownAnime {
  from {
      opacity: 1;
      transform: translateY(0);
  }
  to {
      opacity: 1;
      transform: translateY(130px);
  }
}

@keyframes floating-y {
  0% {
      transform: translateY(-4px);
  }
  100% {
      transform: translateY(4px);
  }
}

.is_pc {
  display: block;
}

.is_sp {
  display: none;
}

@media screen and (max-width: 1112px) {
  .header {
    border-bottom: .179856vw solid var(--cl_blue);
  }
  
  .header_nav_link {
    font-size: 1.258993vw;
  }
  
  .header_nav_link.link_icon span {
    padding: 0 0 .359712vw .719424vw;
    width: 1.348921vw;
  }
  
  .header_nav_link.link_btn {
    border-radius: .899281vw;
    padding: 1.258993vw 1.618705vw;
  }

  .main {
    padding: 6.654676vw 0 0;
  }
  
  .mv_button {
    &::before {
      border-radius: 1.438849vw;
    }
  }

  .introduce {
    padding: 6.654676vw 0 16.9%;
    margin: -6.654676vw 0 0;
  }
  
  .introduce::after {
    height: 16.911765vw;
  }
  
  .introduce_title {
    font-size: 2.877698vw;
  
    & span {
      letter-spacing: .359712vw;
    }
  }
  
  .introduce_items {
    & > div:first-of-type,
    & > div:nth-of-type(2) {
      border-bottom: .089928vw solid #c1c6c2;
    }
  }
  
  .introduce_item_head_title {
    font-size: 1.798561vw;
  }
  
  .introduce_item_head_text {
    font-size: 1.258993vw;
  }
  
  .introduce_item_text {
    font-size: 1.618705vw;
  }

  .introduce_item_btn {
    &::before {
      border-radius: 0.899281vw;
    }

    & span {
      box-shadow: 0.179856vw 0.179856vw 0.899281vw rgb(0 0 0 / .4);
      border-radius: 0.899281vw;
      font-size: 1.438849vw;
      padding: 1.258993vw 1.618705vw;
    }
  }
  
  .point_title {
    font-size: 2.877698vw;
  
    & span {
      letter-spacing: .359712vw;
    }
  }
  
  .point_head {
    font-size: 1.618705vw;
  }

  #point_get,
  #point_use {
    padding: 6.654676vw 0 0;
    margin: -6.654676vw 0 8%;
  }
  
  .point_contents_head {
    font-size: 2.877698vw;
  }
  
  .point_contents_text {
    font-size: 1.258993vw;
  }
  
  .point_item {
    border: .179856vw solid #c1c6c2;
    border-radius: 2.697842vw;
  }
  
  .point_item_title {
    border-bottom: .179856vw solid rgb(193 198 194 / .4);
    font-size: 2.338129vw;
  }
  
  .point_item_text {
    font-size: 1.618705vw;
  }
  
  .point_item_caption {
    font-size: 1.079137vw;
  }
  
  .point_texts_text {
    font-size: 1.618705vw;
  }
  
  .point_texts_lists {
    border: .179856vw solid #c1c6c2;
    border-radius: 2.697842vw;
  }
  
  .point_texts_list {
    font-size: 1.348921vw;
  }

  .point_item_btn02 {
    &::before {
      border-radius: 1.079137vw;
    }
  
    & span {
      border-radius: 1.079137vw;
      box-shadow: 0.179856vw 0.179856vw 0.899281vw rgb(0 0 0 / .4);
      font-size: 1.798561vw;
    }
  }

  .app_button {
    &::before {
      border-radius: 0.539568vw;
      left: 0.06295vw;
    }
  }
  
  .howto_title {
    font-size: 2.877698vw;
  
    & span {
      letter-spacing: .359712vw;
    }
  }
  
  .howto_head {
    font-size: 1.618705vw;
  }
  
  .app_contents_head {
    font-size: 2.877698vw;
  }
  
  .app_items > details:first-of-type {
    border-top: .179856vw solid #c1c6c2;
  }
  
  .app_accordion {
    border-bottom: .179856vw solid #c1c6c2;
  }
  
  .app_accordion_title {
    font-size: 2.697842vw;
  }
  
  .accordion_icon {
    border-radius: 4.496403vw;
    height: 5.395683vw;
    width: 5.395683vw;
  }
  
  .accordion_icon::before {
    border-top: .179856vw solid #fff;
    height: .179856vw;
  }
  
  .accordion_icon::after {
    border-right: .179856vw solid #fff;
    width: .179856vw;
  }
  
  .faq_head {
    font-size: 1.618705vw;
  }
  
  .faq_btn {
    box-shadow: .179856vw .179856vw .899281vw rgb(0 0 0 / .4);
    border: .179856vw solid var(--cl_blue);
    border-radius: 1.438849vw;
    font-size: 1.798561vw;
  }
  
  .app_bottom_text {
    font-size: .899281vw;
  }
}

@media screen and (max-width: 768px) {
  .is_pc {
    display: none;
  }
  
  .is_sp {
    display: block;
  }
  
  html {
    overflow-x: hidden;
  }

  html.no_scroll {
    overflow: hidden;
  }

  body {
    overflow-x: hidden;
    position: relative;
  }

  body::after {
    background-color: rgb(0 0 0 / .4);
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 10;
  }

  body.is_active {
    overflow: hidden;
  }

  body.is_active::after {
    opacity: 1;
    visibility: visible;
  }

  .header {
    background-color: transparent;
    border-bottom: none;
    position: fixed;
  }

  .header_logo {
    display: none;
  }

  .header_nav_wrap {
    display: flex;
    justify-content: flex-end;
    position: fixed;
    top: 0;
    right: -100vw;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: .2s;
    margin: auto;
    width: 100%;
  }

  .header_nav_wrap.is_active {
    right: 0;
    opacity: 1;
    visibility: visible;
    z-index: 10;
  }


  .header_inner {
    justify-content: flex-end;
    width: 100%;
  }

  .header_sp_button {
    display: block;
    width: 20%;
  }

  .header_nav {
    background-color: #fff;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    width: 84%;
  }

  .header_nav li:nth-of-type(6),
  .header_nav li:nth-of-type(7) {
    border-top: 0.266667vw solid #c1c6c2;
    border-bottom: 0.266667vw solid #c1c6c2;
    box-shadow: 0 2.4vw 0 rgb(193 198 194 / 40%);
    margin: -1px 0 2.6%;
  }

  .header_nav li:last-of-type {
    border-top: 0.266667vw solid #c1c6c2;
  }

  .header_nav_item {
    border-top: 0.133333vw solid #c1c6c2;
    border-bottom: 0.133333vw solid #c1c6c2;
    margin: -1px 0 0;
    width: 100%;
  }

  .header_nav_link {
    box-sizing: border-box;
    color: var(--cl_gray);
    cursor: pointer;
    display: block;
    font-size: 3.733333vw;
    padding: 4% 10%;
    text-align: left;
    width: 100%;
  }

  .header_nav_link.link_icon {
    justify-content: flex-start;
    padding: 4% 10%;
  }

  .header_nav_link.link_btn {
    background-color: #fff;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4% 10%;
  }
  
  .header_nav_link.link_icon span {
    padding: 0 0 2.8% 3%;
    width: 4%;
  }

  .header_nav_link.link_btn span {
    padding: 0 0 2.8% 3%;
    width: 4%;
  }

  .header_nav_item_sp {
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
    padding: 4%;
    width: 100%;
  }

  .header_nav_link.close_icon {
    cursor: pointer;
    box-sizing: border-box;
    display: block;
    padding: 4%;
    position: relative;
    width: 9.333333vw;
    height: 9.333333vw;
  }

  .header_nav_link.close_icon::before {
    border-top: 0.266667vw solid var(--cl_blue);
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: rotate(45deg);
    height: 0.266667vw;
    width: 100%;
  }

  .header_nav_link.close_icon::after {
    border-top: 0.266667vw solid var(--cl_blue);
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: rotate(-45deg);
    height: 0.266667vw;
    width: 100%;
  }
  
  .main {
    padding: 0;
  }

  .mv {
    padding: 4% 0 0;
  }

  .mv_bg {
    display: none;
  }

  .mv_inner {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    position: unset;
    max-width: 100%;
    margin: auto;
    width: 100%;
  }

  .mv_decoration {
    width: 100%;
  }

  .mv_img > picture {
    display: none;
  }

  .mv_item {
    background-image: url("../img/mv_item_bg_sp.jpg");
    background-size: 100%;
    background-position: center top;
    padding: 2% 0 34%;
    height: 100%;
    width: 100%;
  }

  .mv_item_text_sp {
    color: var(--cl_gray);
    display: block;
    font-size: 3.2vw;
    line-height: 1.4em;
  }

  .mv_img {
    box-sizing: border-box;
    margin: 0 auto;
    width: 86%;
  }

  .mv_buttons {
    display: flex;
    justify-content: space-between;
    position: unset;
    margin: 0 0 3%;
    width: 88%;

    & > a {
      width: 53%;
    }

    & > a:first-of-type {
      margin: 0;
      width: 43%;
    }
  }

  .mv_button {
    &::before {
      border-radius: 2.133333vw;
    }
  }

  .introduce {
    padding: 0 0 30%;
  }

  .introduce::after {
    background-image: url("../img/introduce_bg_sp.png");
    height: 31vw;
  }

  .introduce_contents {
    flex-direction: column;
    padding: 0 0 8%;
  }

  .introduce_title {
    font-size: 5.333333vw;
    padding: 0;
    margin: 0 auto 8%;
    writing-mode: unset;
    width: 74%;
  }

  .introduce_items {
    flex-direction: column;
    width: 100%;

    & > div {
      border-bottom: 0.133333vw solid #c1c6c2;
      margin: 0 0 6% !important;
      padding: 0 0 6% !important;
    }
  }

  .introduce_item {
    background-color: #f3f3f3;
    width: 100%;
  }

  .introduce_item_head {
    margin: 0 auto 0 2%;
    position: relative;
    width: 84%;
  }

  .introduce_item_head_icon {
    display: block;
    width: 18%;
  }

  .introduce_item_head_texts {
    width: 75%;
  }

  .introduce_item_head_title {
    font-size: 4.8vw;
    margin: 0 0 4%;
  }

  .introduce_item_head_text {
    line-height: 1.8em;
    font-size: 3.733333vw;
    text-align: justify;
  }

  .introduce_item_head_toggle {
    background-color: var(--cl_blue);
    border-radius: 4.496403vw;
    position: absolute;
    top: 0;
    right: -15%;
    bottom: 0;
    margin: auto;
    transition: .2s;
    height: 8vw;
    width: 8vw;
  }

  .introduce_item_head_toggle::before {
    border-top: 0.266667vw solid #fff;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 0.266667vw;
    width: 50%;
  }
  
  .introduce_item_head_toggle::after {
    border-right: 0.266667vw solid #fff;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: .2s;
    height: 50%;
    width: 0.266667vw;
  }

  .introduce_item_head.is_active .introduce_item_head_toggle::after {
    top: -8%;
    transform: rotate(90deg);
  }

  .introduce_item_texts_sp {
    display: block;
    height: 0;
    visibility: hidden;
    margin: 0;
    /* transition: .2s; */

    & .introduce_item_text,
    & .introduce_item_btn {
      opacity: 0;
      visibility: hidden;
    }
  }

  .introduce_item_texts_sp.is_active {
    margin: 6% 0 0;
    visibility: visible;

    & .introduce_item_text,
    & .introduce_item_btn {
      opacity: 1;
      visibility: visible;
    }
  }

  .introduce_item_text {
    font-size: 4.266667vw;
    font-weight: 500;
    margin: 0 auto 0 4%;
    line-height: 1.6em;
    text-align: justify;
    width: 82%;
  }

  .introduce_item_btn {
    margin: 5% auto;
    width: 92%;

    &::before {
      border-radius: 1.6vw;
    }

    & span {
      box-shadow: 0.266667vw 0.266667vw 1.333333vw rgb(0 0 0 / .4);
      border-radius: 1.866667vw;
      font-size: 4.533333vw;
      line-height: 1.4em;
      padding: 4.266667vw 0;
    }
  }

  .point {
    margin: -12% auto 0;
  }

  .point .container {
    padding: 0;
    width: 100%;
  }

  .point_wrapper {
    margin: 0 auto;
    width: 90%;
  }

  .point_title {
    font-size: 5.333333vw;
    text-align: left;
    margin: 0 0 6% 8%;
  }

  .point_head {
    font-size: 4.266667vw;
    text-align: justify;
    line-height: 1.8em;
    margin: 0 0 10% 8%;
    width: 78%;
  }
  
  .point_inner > div:not(:last-of-type) {
    margin: 0 0 20%;
  }

  .point_contents_head {
    font-size: 5.333333vw;
    margin: 0 0 6%;
  }

  .point_contents_text {
    font-size: 4.266667vw;
  }

  .point_items {
    flex-direction: column;
  }

  .point_item {
    border: none;
    border-left: 0.266667vw solid #c1c6c2;
    border-right: 0.266667vw solid #c1c6c2;
    border-radius: 0;
    padding: 4% 6% 0;
    width: 100%;
  }

  .point_items > div:first-of-type {
    border-top: 0.266667vw solid #c1c6c2;
    border-radius: 2.666667vw 2.666667vw 0 0;
    padding: 10% 4%;
    margin: 0;
  }

  .point_items > div:last-of-type {
    border-bottom: 0.266667vw solid #c1c6c2;
    border-radius: 0 0 2.666667vw 2.666667vw;
    padding: 4% 6% 10%;
  }

  .point_item_title {
    box-sizing: border-box;
    border-bottom: 0.266667vw solid rgb(193 198 194);
    font-size: 5.066667vw;
    margin: 0 0 6%;
    padding: 0 4%;
  }

  .point_item_img {
    margin: 0 auto 8%;
    width: 92%;
  }

  .point_item_img02 {
    width: 92%;
  }

  .point_accordion {
    display: block;
  }

  .point_accordion {
    margin: 0 auto;
    width: 92%;
  }

  .point_accordion_head {
    background-color: #06c755;
    cursor: pointer;
    padding: 6% 0;
    position: relative;
  }

  .point_accordion_head::marker {
    content: "";
  }

  .point_accordion_icon {
    position: absolute;
    top: 0;
    right: 2%;
    bottom: 0;
    margin: auto;
    transition: .2s;
    height: 9.333333vw;
    width: 9.333333vw;
  }

  .point_accordion_icon::before {
    border-top: 0.266667vw solid #fff;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 0.266667vw;
    width: 50%;
  }

  .point_accordion_icon::after {
    border-right: 0.266667vw solid #fff;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: .2s;
    height: 50%;
    width: 0.266667vw;
  }

  .point_accordion[open] .point_accordion_icon::after {
    top: -6%;
    transform: rotate(90deg);
  }

  .point_accordion_title {
    color: #fff;
    font-size: 5.066667vw;
    text-align: center;
    width: 100%;
  }

  .point_item_text {
    font-size: 4.266667vw;
    padding: 0;
    margin: 0 auto 4%;
    text-align: justify;
    width: 92%;
  }

  .point_item_caption {
    font-size: 3.466667vw;
    margin: 0 auto 4%;
    text-align: justify;
    width: 92%;
  }

  .point_item_img02 + .point_item_caption {
    width: 100%;
  }

  .point_contents_text.box_text {
    background-color: #fff;
    font-size: 3.733333vw;
    text-align: center;
    padding: 4%;
    margin: 0 auto 8%;
    width: 82%;
  }

  .point_item_img03 {
    margin: 6% auto 4%;
    width: 90%;
  }

  .point_texts {
    margin: 0 0 14%;
    width: 100%;
  }

  .point_texts_text {
    font-size: 3.733333vw;
    margin: 0 0 4%;
    width: 100%;
  }

  .point_item_img04 {
    margin: 0 auto 14%;
    width: 100%;
  }

  .point_item_btn02 {
    bottom: 13%;
    width: 90%;

    &::before {
      border-radius: 2.933333vw;
    }

    & span {
      border-radius: 2.666667vw;
      box-shadow: 0.266667vw 0.266667vw 1.333333vw rgb(0 0 0 / .4);
      font-size: 3.733333vw;
      padding: 6% 0;
    }
  }

  .point_texts_lists {
    border: 0.266667vw solid #c1c6c2;
    border-radius: 2.666667vw;
    padding: 8% 12%;
  }

  .point_texts_list {
    font-size: 3.733333vw;
    text-align: justify;
    padding: 0 0 0 -1em;
    text-indent: -1em;
  }

  .app_buttons {
    gap: 4%;
    right: 0;
    bottom: 12%;
    left: 0;
    width: 76%;
  }

  .app_button {
    &::before {
      border-radius: 1.6vw;
      height: 96%;
      width: 99%;
    }
  }

  .howto .container {
    width: 100%;
  }

  .howto_title {
    font-size: 5.333333vw;
    margin: 0 0 6%;
    padding: 24% 0 0;
  }

  .howto_head {
    font-size: 4.266667vw;
    text-align: justify;
    margin: 0 auto 10%;
    width: 74%;
  }

  .howto .app_contents_head {
    font-size: 5.333333vw;
    margin: 0 auto 4%;
    line-height: 1.6em;
    width: 88%;
  }

  .app_inner {
    padding: 0 0 4%;
  }

  .app_inner > div:not(:last-of-type) {
    margin: 0 0 12%;
  }

  .accordion_icon {
    border-radius: 6.666667vw;
    height: 8vw;
    width: 8vw;
  }

  .accordion_icon::before {
    border-top: 0.266667vw solid #fff;
    height: 0.266667vw;
  }

  .accordion_icon::after {
    border-right: 0.266667vw solid #fff;
    width: 0.266667vw;
  }

  .app_accordion[open] {
    padding: 5% 0 0;
  }

  .app_accordion_title {
    font-size: 5.066667vw;
    line-height: 1.6em;
    width: 82%;
  }

  .app_accordion_head_img,
  .app_accordion_head_img02 {
    margin: 4% 0 0;
    width: 76%;
  }

  .app_accordion_item {
    margin: 14% auto 0;
  }

  .app_accordion_item_img01 {
    margin: 0 auto 14%;
    width: 90%;
  }

  .app_accordion_item_img02 {
    position: relative;
  }

  .app_accordion_item_line {
    display: block;
    margin: 0 auto 8%;
    width: 90%;
  }

  .app_accordion_item_box {
    padding: 14% 6%;
    width: 100%;
  }

  .app_accordion_item_box_title01 {
    margin: 0 0 8%;
    width: 44%;
  }

  .app_accordion_item_box_title02 {
    margin: 0 0 8%;
    width: 70%;
  }

  .sp_app_buttons {
    position: absolute;
    top: 13%;
    right: 0;
    left: 0;
    margin: auto;
    width: 90%;
  }

  .sp_app_buttons .app_buttons {
    position: unset;
    width: 100%;
  }

  .app_accordion_sliders {
    padding: 0 0 20%;
  }

  .app_accordion_sliders_inner {
    padding: 0 0 20%;
    position: relative;
  }

  .app_accordion_slider {
    position: unset;
  }

  .app_accordion_sliders .swiper-pagination {
    display: flex;
    justify-content: space-between;
    bottom: 4%;
    margin: 0 auto;
    left: 0;
    right: 0;
    width: 20%;
  }

  .app_accordion_sliders .swiper-pagination-bullet {
    width: 2.4vw;
    height: 2.4vw;
    background: #c1c6c2;
    opacity: 1;
    margin: 0 1% !important;
  }

  .app_accordion_sliders .swiper-pagination-bullet-active {
    background: #005789;
  }

  .app_accordion_sliders .swiper-button-prev {
    right: auto;
    left: 22%;
    top: unset;
    bottom: 1.5%;
    height: 9.866667vw;
    width: 9.866667vw;
  }

  .app_accordion_sliders .swiper-button-next {
    right: 22%;
    left: auto;
    top: unset;
    bottom: 1.5%;
    height: 9.866667vw;
    width: 9.866667vw;
  }

  .app_accordion_sliders .swiper-button-prev:after {
    background-image: url("../img/accordion_slider_prev.png");
    background-size: 100%;
    content: '';
    height: inherit;
    width: inherit;
  }

  .app_accordion_sliders .swiper-button-next:after {
    background-image: url("../img/accordion_slider_next.png");
    background-size: 100%;
    content: '';
    height: inherit;
    width: inherit;
  }

  .sp_app_buttons_title {
    color: var(--cl_blue);
    font-size: 5.333333vw;
    font-weight: 500;
    text-align: center;
    margin: 0 0 6%;
  }

  .sp_app_buttons02 {
    position: unset;
    margin: 0 auto 14%;
    width: 76%;
  }

  .sp_app_buttons02 .app_buttons {
    position: unset;
    width: 100%;
  }

  .app_contents.sp_adjust_mb {
    margin: 0 0 4% !important;
  }

  .app_bottom_text {
    font-size: 2.666667vw;
    margin: 0 auto;
    width: 86%;
  }

  .faq {
    margin: 0 0 12%;
  }

  .faq_head {
    font-size: 4.8vw;
    margin: 0 0 8%;
  }

  .faq_btn {
    box-sizing: border-box;
    box-shadow: 0.533333vw 0.533333vw 2.133333vw rgb(0 0 0 / .4);
    border: 0.266667vw solid var(--cl_blue);
    border-radius: 2.666667vw;
    font-size: 4.533333vw;
    padding: 4.2%;
    width: 76%;
  }

  .footer .container {
    width: 100%;
  }
}
