@charset "UTF-8";
:root {
  --color-right-blue: #558db4;
}
img {
  display: block;
  width: 100%;
  height: auto;
}
body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro",
    "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic,
    "Yu Gothic Medium", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: 500;
  color: #000;
  overflow: hidden;
}
/*=========================
▼▼pcsp共通▼▼
===========================*/
#back-top {
  display: none;
  width: 60px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 99;
  transition-duration: .3s;
}
#back-top:hover {
  bottom: 36px;
}
#back-top img {
  display: block;
  width: 100%;
  height: auto;
}
/*=========================
▲▲pcsp共通▲▲
===========================*/
/*=========================
▼▼共通▼▼
===========================*/
.page_wrapper {
  position: relative;
}
.decoration_box {
  width: 100%;
  height: calc(100vh - 70px);
  background-image: url(../images/bg_pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: fixed;
  top: 70px;
  left: 0;
  z-index: 1;
}
.contents_wrapper {
  padding-top: 70px;
  position: relative;
  z-index: 1;
}
img {
  width: 100%;
  height: auto;
}
a:hover,
button:hover {
  opacity: 1 !important;
  transition: 0.3s;
}

/*=========================
▲▲共通▲▲
===========================*/
/*=========================
▼▼左カラム▼▼
===========================*/
.inner_logo {
  width: calc(45% - 253px);
  max-width: 404px;
  height: calc(100% - 70px);
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  position: fixed;
  top: 70px;
  right: calc(52% + 253px);
}
.inner_logo .logo {
  width: 94%;
  max-width: 41vh;
}
.logo_main {
  /* margin-bottom: min(calc(25vw*.076), 25px); */
}

/*=========================
▲▲左カラム▲▲
===========================*/
/*=========================
▼▼右カラム▼▼
===========================*/
.inner_nav {
  width: calc(50% - 253px);
  max-width: 455px;
  height: 100%;
  padding: calc(70px + var(--size-225)) var(--size-50) var(--size-80) 0;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: calc(50% + 262px);
  overflow-x: auto;
  overflow-y: scroll;
  scroll-behavior: auto;
  scrollbar-width: none;
}
.inner_nav::-webkit-scrollbar {
  display: none;
}
.right_nav {
  width: 93%;
  max-width: 398px;
  margin-inline: 12% auto;
  padding: var(--size-20) 3% var(--size-10);
  border: 2px solid #fff;
  background-color: #ffffffb3;
  border-radius: 10px;
  position: relative;
}
.title_navi {
  position: absolute;
  width: min(calc(350vw * .076), 400px);
  height: auto;
  top: -17%;
  left: 50%;
  transform: translateX(-50%);


  .title_navi {
    margin-bottom: var(--size-13);
  }
  ;
}
.list_nav {
  width: 100%;
  margin: 0 auto;
}
.nav_title {
  margin: 0 auto;
  position: relative;
  cursor: pointer;
}
.nav_title a {
  padding: var(--size-17) var(--size-32) var(--size-17) var(--size-65);
  position: relative;
  z-index: 1;
  transition-duration: .3s;
  background: url(../images/pagelink_number_01.png) no-repeat left center/18%;
}
.nav_title:nth-of-type(2) a {
  background-image: url(../images/pagelink_number_02.png);
}
.nav_title:nth-of-type(3) a {
  background-image: url(../images/pagelink_number_03.png);
}
.nav_title:nth-of-type(4) a {
  background-image: url(../images/pagelink_number_04.png);
}
.nav_title:nth-of-type(5) a {
  background-image: url(../images/pagelink_number_05.png);
}
.nav_title:nth-of-type(6) a {
  background-image: url(../images/pagelink_number_06.png);
}
.nav_title:nth-of-type(7) a {
  background-image: url(../images/pagelink_number_07.png);
}
.nav_title a.display, .nav_title a:hover {
  opacity: .6 !important;
}
.sp_nav_text a.display {
  opacity: .6 !important;
}
.nav_title:not(:last-of-type) a::before {
  content: "";
  display: block;
  width: 106%;
  height: 4px;
  background-image: linear-gradient(#ffffff);
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: center;
  position: absolute;
  left: -3%;
  bottom: 0;
}
.nav_title a::after {
  content: "";
  display: block;
  width: 20px;
  height: 15px;
  background-image: url(../images/pc_nav_arrow_down_red.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 5%;
  transition: .2s;
}
.nav_title a:hover::after {
  top: 54%;
}
.nav_title:nth-child(even) a::after {
  background-image: url(../images/pc_nav_arrow_down_blue.png);
}
/*=========================
▲▲右カラム▲▲
===========================*/
/* header */
header {
  width: 100%;
  height: 70px;
  background-color: rgb(255, 255, 255);
  padding: 23px 30px;
  position: fixed;
  top: 0px;
  z-index: 999;
}
header .header_inner .logo {
  width: 183px;
}
/* header */
/*=========================
▼▼contents▼▼
===========================*/
.inner_main {
  max-width: 500px;
  margin: 0 auto;
  background: #35c9f5;
  position: relative;
  z-index: 1;
}
/*=========================
▼ conts_app ▼
===========================*/
.conts_app {
  background-color: #fff;
  padding: 55px 0 60px;
  position: relative;
  z-index: 5;


  .auto {
    width: 90%;
    margin: 0 auto;
  }

  a {
    transition: .2s;
  }

  a:hover {
    opacity: .6 !important;
  }

  .other_title {
    margin-bottom: 17px;
  }

  .footer_banner {
    margin-bottom: 85px;
  }

  .app_img {
    display: block;
    margin: 0 auto 17px;
  }
  .review {
    display: flex;
    width: 90%;
    margin: 0 auto 17px;
    justify-content: center;
    align-items: center;
  }
  .review .logo {
    width: 30%;
    margin-right: 5%;
  }
  .review .review_text {
    display: block;
    width: 65%;
  }
  .app_logo .logo_wrap {
    display: flex;
    width: 90%;
    margin: 0 auto 10px;
  }
  .app_logo .logo_wrap .app_store {
    width: 44%;
    margin-right: 2%;
  }
  .app_logo .logo_wrap .google_play {
    width: 54%;
  }
  .app_logo ul {
    max-width: 470px;
    margin: 0 auto;
  }
  .app_logo ul li {
    font-size: 13px;
    font-feature-settings: "palt" 1;
    line-height: 1.6;
    font-weight: 400;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 8px;
  }
  .app_logo ul li:last-of-type {
    margin-bottom: 0;
  }

}
/*=========================
▲ conts_app ▲
===========================*/

/*=========================
▲▲contents▲▲
===========================*/
@media screen and (max-width: 1150px) {
  .inner_logo, .inner_nav {
    display: none !important;
  }
  .inner_nav {
    width: 26%;
    left: 797px;
  }
}
@media screen and (max-width: 1362px) {
  .nav_title {
    /* height: min(calc(63vw* .066), 5vh); */
  }
}
@media screen and (min-width: 1151px) {
  #sp_navi_wrapper {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .nav-icon-wrap {
    top: 16px;
    right: 12px;
  }
}