@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@@400;700&display=swap');
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	background: #fff;
	color:#000;
}
.inner {
  width: 100%;
  max-width: 1140px;
  padding: 0 1rem;
  margin: auto;
}
.btn {
  border-radius: 0;
}
.btn:hover {
  opacity: 0.8;
}
p {
  font-size: 0.8rem;
}
@media screen and (min-width: 768px) {
  p {
    font-size: 1rem;
  }
}
img {
  max-width: 100%;
}
.bg_blue {
  background: #3fa9f5;
  color: #fff!important;
}
.bg_gradi {
  background-image: -webkit-linear-gradient(90deg #d5f5ff, #ffccf0);
  background-image: linear-gradient(90deg, #d5f5ff, #ffccf0);
}
.serif {
  font-family: 'Noto Serif JP',"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

}

#site_header {
  width: 100%;
  height: 55px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  #site_header {
    height: auto;
  }
  #site_header > .inner {
    height: 90px;
  }
}
#site_header .navbar-toggler {
  border: 0;
  background: #3fa9f5;
}
#site_header .navbar-toggler:focus {
  outline: 0;
}
#site_header .sitelogo {
  width: 180px;
}
@media screen and (min-width: 576px) {
  #site_header .sitelogo {
    width: 200px;
  }
}
#site_header p {
  color: #3fa9f5;
  display: none;
}
@media screen and (min-width: 375px) {
  #site_header p {
    font-size: 0.7rem;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #site_header p {
    font-size: 1rem;
  }
}
@media screen and (min-width: 992px) {
  #site_header p {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 768px) {
  #site_header .navbar {
    height: 40px;
  }
}
#site_header .navbar-nav li {
  padding: 0;
}
#site_header .navbar-nav a {
  color: #4d4d4d;
  white-space: nowrap;
}
#site_header .navbar-nav a:hover {
  color: #4d4d4d;
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  #site_header .navbar-nav a {
    font-size: 0.7rem;
  }
}
@media screen and (min-width: 992px) {
  #site_header .navbar-nav a {
    font-size: 1rem;
  }
}
#site_header .navbar-nav .btn {
  width: 120px;
}
main {
  margin-top: 55px;
}
@media screen and (min-width: 768px) {
  main {
    margin-top: calc( 90px + 40px );
  }
}

section {
  padding: 50px 0;
}
@media screen and (min-width: 768px) {
  section {
    padding: 70px 0;
  }
}

#kv {
  background: url(img/kv.png) center/cover no-repeat;
}
#kv .image {
  position: relative;
  z-index: 1;
}
#kv .image img {
  width: 100%;
  max-width: 300px;
}
@media screen and (min-width: 768px) {
  #kv .image img {
    width: 250px;
    max-width: inherit;
  }
}
@media screen and (min-width: 992px) {
  #kv .image img {
    width: 380px;
  }
}
@media screen and (min-width: 768px) {
  #kv .bg_blue {
    position: absolute;
    bottom: 0;
    left:0;
    z-index: 0;
  }
}
@media screen and (max-width: 767px) {
  #kv .bg_blue .inner {
    max-width: 390px;
  }
}
@media screen and (min-width: 768px) {
  #kv .bg_blue .inner {
    padding-left: calc(250px + 3rem);
  }
}
@media screen and (min-width: 992px) {
  #kv .bg_blue .inner {
    padding-left: calc(380px + 6rem);
  }
}

section.signup .title {
  width: 75%;
}
@media screen and (min-width: 768px) {
  section.signup .title {
    width: 400px;
  }
}
section.signup .btn {
  border-radius: 2rem;
}

#point {
  background: #f8f6f3;
}
#point .title {
  color: #3fa9f5;
  font-size: 2rem;
}
@media screen and (min-width: 576px) {
  #point .title {
    font-size: 2.85rem;
  }
}
@media screen and (min-width: 768px) {
  #point .title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 992px) {
  #point .title {
    font-size: 2.85rem;
  }
}
@media screen and (max-width: 767px) {
  #point .points {
    max-width: 320px;
    margin: 0 auto;
  }
}
@media all and (-ms-high-contrast: none) {
  #point .points {
    align-items: flex-start;
  }
}
#point .point_border {
  flex-shrink: 0;
}
#point .card {
  background: transparent;
  border-top: 0;
  border-bottom: 0;
  border-left: 1px solid #231815;
  border-right: 1px solid #231815;
  border-radius: 0;
  position: relative;
}
#point .card::before,
#point .card::after {
  content: '';
  width: 4px;
  height: 4%;
  background: #f8f6f3;
  display: block;
  position: absolute;
  top: 44%;
  left: -2px;
}
#point .card::after {
  left: inherit;
  top: 10%;
  right: -2px;
}
#point .card-title {
  font-size: 150%;
}
#point .card-title .number {
  font-size: 270%;
}
@media screen and (min-width: 768px) {
  #point .card-title {
    font-size: 120%;
  }
}
@media screen and (min-width: 992px) {
  #point .card-title {
    font-size: 150%;
  }
}
#point .card-body {
  background: #fff;
}
#point .card-body .card-title {
  color: #3fa9f5;
}
#point .card-body img {
  width: 25%;
  flex-shrink: 0;
}
#point .card-body p {
  width: 100%;
}

#market {
  background: #fff4d7 url(img/market_bg.png) right bottom/60% no-repeat;
}
@media screen and (min-width: 768px) {
  #market {
    background: #fff4d7 url(img/market_bg.png) right bottom/50% no-repeat;
  }
}

#cases .title {
  max-width: 550px;
}
@media screen and (max-width: 767px) {
  #cases .card_wrap {
    max-width: 350px;
    margin: 0 auto;
  }
}
#cases .card {
  border: 0;
  position: relative;
  z-index: 0;
}
#cases .card .inner {
  height: 100%;
  background: #fff3f4;
  position: relative;
  z-index: 1;
}
#cases .card::before {
  content: '';
  width: 33%;
  height: 33%;
  background: url(img/cases_label.png) left top/contain no-repeat;
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 2;
}
#cases .card::after {
  content: '';
  width: 100%;
  height: 100%;
  background-image: -webkit-linear-gradient(-27.5deg, #ffccf0, #d5f5ff);
  background-image: linear-gradient(-27.5deg, #ffccf0, #d5f5ff);
  display: block;
  position: absolute;
  bottom: -10px;
  right: -10px;
  z-index: -1;
}
#cases .card-title {
  color: #3fa9f5;
  font-size: 1.5rem;
}
@media screen and (min-width: 992px) {
  #cases .card-title {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1200px) {
  #cases .card-title {
    font-size: 1.5rem;
  }
}
#cases .card dl {
  background: #fff;
  border-bottom: 1px solid #e7f2f8;
  color: #3fa9f5;
  font-weight: 700;
}
#cases .card p {
  width: 100%;
  font-size: 90%;
}
#cases .image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #cases .image {
    width: 75%;
  }
}

#flow {
  background: #e7f2f8;
}
#flow .title {
  font-size: 2rem;
}
@media screen and (min-width: 576px) {
  #flow .title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 992px) {
  #flow .title {
    font-size: 2.85rem;
  }
}
#flow .text {
  font-size: 1.1rem;
}
@media screen and (min-width: 576px) {
  #flow .text {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 992px) {
  #flow .text {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1200px) {
  #flow .text {
    font-size: 1.75rem;
  }
}
#flow .item {
  padding: 2rem 0;
  background: #fff;
  border-radius: 50%;
  color: #348cd4;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
#flow .item_title {
  font-size: 1.5rem;
  font-weight: 700;
}
#flow .item img {
  height: calc(60px + 2rem);
  padding: 0.5rem 0;
  flex-shrink: 0;
}
#flow .item p {
  width: 100%;
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  #flow .item {
    max-width: 400px;
  }
}
@media screen and (min-width: 375px) {
  #flow .item img {
    height: calc(100px + 2rem);
  }
}
@media screen and (min-width: 576px) {
  #flow .item p {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  #flow .item_title {
    font-size: 1rem;
  }
  #flow .item img {
    height: calc(60px + 1rem);
  }
  #flow .item p {
    font-size: 0.8rem;
  }
}
@media screen and (min-width: 992px) {
  #flow .item_title {
    font-size: 1.2rem;
  }
  #flow .item img {
    height: calc(80px + 2rem);
    padding: 1rem 0;
  }
  #flow .item p {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  #flow .item_title {
    font-size: 2rem;
  }
  #flow .item img {
    height: calc(100px + 2rem);
  }
}
#site_footer {
  background: #fff;
  color: #333;
  font-size: 1rem;
}
#site_footer #line {
  background: #06c755;
  color: #fff;
}
#site_footer #line:hover {
  text-decoration: none;
  opacity: 0.8;
}
#site_footer #line p {
  font-size: 1.5rem;
  line-height: 1.2;
}
#site_footer #line p small {
  font-size: 60%;
}
@media screen and (min-width: 576px) {
  #site_footer #line p {
    font-size: 2rem;
    line-height: 1.5;
  }
}
#site_footer nav li {
  list-style: none;
}
#site_footer nav li a {
  color: #333;
}
#site_footer nav li a:hover {
  color: #333;
  text-decoration: none;
  opacity: 0.8;
}
@media screen and (max-width: 374px) {
  #site_footer nav li a {
    font-size: 0.8rem;
  }
}

#terms{
	line-height:2em;
}

#terms h3{
	font-size:1.25rem;
	font-weight:bold;
}

#terms h4{
	font-size:1rem;
	font-weight:bold;
}