body{
  font-family: 'Noto Sans JP', sans-serif;
  color: #393e4c;
  font-weight: 400;
  font-size: 62.5%;
  line-height: 1.5;
  letter-spacing: 0.075em;
}
a{
  text-decoration: none;
  transition: 0.3s;
  cursor: pointer;
}
a:hover{
  opacity: 0.8;
}
img{
  max-width: 100%;
  height: auto;
}

/* -------------------------------- */

/* ADD KUMA */
div,article,section,header,footer,figure { margin: 0; padding: 0; }
ul, ol { margin-top: 0; }
p { margin-top: 0; line-height: 1.9em; }

table { border-collapse: collapse; border-spacing: 0; }

#main_area {
  font-size: 17px;
}

/* -------------------------------- */

/* ヘッダー */
header .nav_wrap{
  width: 95%;
  max-width: 1720px;
  margin: 0 auto;
}
nav .nav_01{
  display: flex;
  justify-content: flex-end;
  margin: 20px 0;
}
nav .nav_01 li{
  font-size: 1.4em;
  padding-right: 20px;
}
nav .nav_01 li:last-child{
  padding-right: 0;
}
.icon::before{
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: sub;
  margin-right: 5px;
}
nav .nav_01 li .icon_01::before{
  background-image: url(./img/common/icon_01.png);
  width: 20px;
  height: 20px;
}
nav .nav_01 li .icon_02::before{
  background-image: url(./img/common/icon_02.png);
  width: 20px;
  height: 20px;
}
nav .nav_01 li .icon_03::before{
  background-image: url(./img/common/icon_03.png);
  width: 20px;
  height: 20px;
}
.nav_02{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}
.nav_02 ul{
  display: flex;
  align-items: center;
}
.nav_02 ul li{
  font-size: 1.6em;
  padding-right: 30px;
}
.nav_02 ul li:last-child{
  padding-right: 0;
}
.icon_04::before{
  background-image: url(./img/common/icon_04.png);
  width: 20px;
  height: 20px;
}
.icon_05::before{
  background-image: url(./img/common/icon_05.png);
  width: 20px;
  height: 20px;
}
.login,.regist{
  text-align: center;
}
.login a{
  color: #ff6021;
  border: 2px solid #ff6021;
  border-radius: 50vw;
  display: block;
  padding: 10px 30px;
  background: #fff;
}
.regist a{
  color: #fff;
  border-radius: 50vw;
  display: block;
  padding: 10px 30px;
  border: 2px solid transparent;
  background: linear-gradient(90deg,#ff6021,#ff9b14);
}

/* スマホメニュー */
.nav_sp{
  display: none;
}
.nav_menu{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0;
}
.nav_menu h1{
  width: 83px;
}
.nav_menu div{
  display: flex;
}
.nav_menu div a{
  margin-right: 5px;
}
.nav_menu div i{
  display: block;
  position: relative;
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.nav_menu div i:last-child{
  margin-right: 0;
}
.login_btn{
  background-image: url(./img/common/login_btn.png);
}
.regist_btn{
  background-image: url(./img/common/regist_btn.png);
}
.hb_btn{
  background-image: url(./img/common/nav_open.png);
  transition: 0.5s;
  z-index: 10;
}
.hb_btn.active{
  background-image: url(./img/common/nav_close.png);
}
.drawer_nav{
  position: fixed;
  top: 0;
  left: 0;
  color: #fff;
  background: #393e4c;
  width: 100%;
  height: 100%;
  visibility: hidden;
  overflow-y: auto;
  pointer-events: auto;
  opacity: 0;
  transition: opacity .3s ease, visibility .3s ease;
  z-index : 2;
}
.drawer_nav_inner{
  width: 90%;
  margin: 10px auto;
}
.drawer_nav_inner h1{
  margin: 20px 0 40px 0;
}
.drawer_nav_inner h1 img{
  width: 83px;
  line-height: 40px;
}
.drawer_nav_menu{
  display: flex;
  justify-content: space-between;
}
.drawer_nav_menu ul{
  width: calc(50% - 3%);
}
.drawer_nav_menu ul li{
  border-bottom: 1px solid #fff;
}
.drawer_nav_menu ul li a{
  font-size: 1.4em;
}
.drawer_nav_menu ul li:not(:nth-child(1)) a{
  width: 100%;
  height: 70px;
  display: flex;
  align-items: center;
}
.drawer_nav_menu .login a,
.drawer_nav_menu .regist a{
  width: 70%;
  margin: 0 auto 30px;
}
.drawer_nav.active {
  opacity: 1;
  visibility: visible;
}
html.active body{
  touch-action: none;
  overflow-y: hidden;
}
@media (max-width: 1050px) {
  .nav_02 ul li{
    font-size: 1.4em;
    padding-right: 1rem;
  }
}
@media (max-width: 900px) {
  article{
    margin-top: 60px;
  }
  header{
    top: 0;
    left: 0;
    position: fixed;
    z-index: 10;
    width: 100%;
    background: #fff;
  }
  .nav_pc{
    display: none;
  }
  .nav_sp{
    display: block;
  }
}
@media (max-width: 900px) {
}
@media (max-width: 767px) {
  header{
    /* filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.6)); */
    box-shadow: 0 3px 3px rgba(0,0,0,0.1);
  }
}
@media (max-width: 580px) {
  .drawer_nav_menu .login a,.drawer_nav_menu .regist a{
    width: 100%;
    padding: 10px 0;
  }
}


.CL { clear: both; }
.CF:after { clear: both; display: block; content: ""; }

/* ///// CONTENT AREA /////////////////////////////// */

/* -- PC -- */
@media screen and (min-width: 768px) {

.BrSmp,.SmpBr,.PcNone { display: none; }

/* パンくずリスト
--------------------------- */
#breadcrumbs_area {
  margin: 0px auto 20px;
  width: 95%;
  background-color: #F9F9F9;
  border-radius: 15px;
}
#breadcrumbs {
  margin: 0px auto;
  padding: 10px;
  max-width: 1200px;
  font-size: 11px;
  text-align: right;
}

.ContentBody {
  margin: 0px auto;
  width: 1200px;
}

/* FREE AREA
--------------------------- */
section.ContentArea {
  clear: both;
  padding: 70px 0;
  width: 100%;
  overflow: hidden;
}
section.ContentArea .ContentBody {
  min-height: 50px;
}

/* TWO COLUMN
--------------------------- */
.MainArea {
  float: left;
  padding-bottom: 50px;
  padding: 30px 10px 100px;
  width: 830px;
  min-height: 400px;
}

/* ONE COLUMN
--------------------------- */
#main_area.ContentBody {
  margin: 0px auto;
  padding: 30px 10px 100px;
  width: 1200px;
  min-height: 400px;
}

/* ///// SIDE_AREA ////////////////////////////// */
.SideArea {
  float: right;
  padding-top: 50px;
  padding-bottom: 50px;
  width: 250px;
}

/* サイドメニュ
--------------------------- */
dl.SideMenu {
  display: block;
  border-radius: 10px;
  margin: 0 0 20px;
  padding: 0 0 20px;
  width: 100%;
  background-color: #F9F7F5;
}
dl.SideMenu dt {
  display: block;
  margin: 0px;
  padding: 16px 5px;
  width: auto;
  border-radius: 10px 10px 0 0;
  background-color: #3b2f6b;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
}
dl.SideMenu dd {
  margin: 0;
  padding: 0;
}
dl.SideMenu dd.SList {
  display: block;
  border-bottom: 1px gray dotted ;
}
dl.SideMenu a {
  display: block;
  padding: 10px 10px 10px 30px;
  width: auto;
  color: #444;
}

a#sm_current,
dd.SmCurrent a { font-weight: bold; }
}

/* ///// CONTENT ////////////////////////////// */

/* -- SMP -- */
@media screen and (max-width: 767px) {

.BrPc,.PcBr,.SmpNone { display: none; }

/* MAIN_IMAGE
--------------------------- */
#main_image_area { width: 100%; }
#main_image { width: 100%; }
#main_image img { width: 100%; vertical-align: bottom; }

#main_image_area_bg { display: none; }

/* パンくずリスト
--------------------------- */
#breadcrumbs {
  clear: both;
  box-sizing: border-box;
  padding: 10px 10px 20px;
  width: 100%;
  font-size: 13px;
}

/* CONTENT BODY
--------------------------- */
.ContentBody {
  width: 100%;
}
.ContentBody:after {
  clear: both;
  display: block;
  content: "";
}

/* MAIN_AREA
--------------------------- */
#main_area {
  margin: 0 auto;
  width: 100%;
  height: auto;
  max-width: 480px;
  min-height: 200px;
}
/* two column */
.MainArea {
  box-sizing: border-box;
  padding: 30px 10px 10px;
}
/* one column */
#main_area.ContentBody {
  box-sizing: border-box;
  padding: 30px 10px 50px;
}
/* wide one column */
section.ContentArea {
  box-sizing: border-box;
  padding: 30px 0 10px;
  width: 100%;
  overflow: hidden;
}
.ContentArea .ContentBody {
  box-sizing: border-box;
  padding: 10px;
}

/* SIDE_AREA
--------------------------- */
#side_area {
  margin: 0 auto;
  width: 100%;
  height: auto;
  max-width: 480px;
}
.SideArea {
  box-sizing: border-box;
  padding: 10px;
}

dl.SideMenu {
  display: block;
  margin: 0 0 20px;
  padding: 0px;
  width: 100%;
  border-radius: 10px;
  background-color: #F9F7F5;
}
dl.SideMenu dt {
  display: block;
  border-radius: 10px 10px 0 0;
  margin: 0px;
  padding: 13px 5px;
  width: auto;
  background-color: #3b2f6b;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
}
dl.SideMenu dd {
  margin: 0px;
  padding: 0px;
}
dl.SideMenu dd.SList {
  display: block;
  border-bottom: 1px #ccc dotted ;
}
dl.SideMenu a {
  display: block;
  padding: 10px 10px 10px 30px;
  width: auto;
  color: #444;
}

a#sm_current,
dd.SmCurrent a { font-weight: bold; }
}

/* フッター */
footer{
  width: 95%;
  max-width: 1840px;
  margin: 0 auto;
  background: #393e4c;
  border-radius: 0 0 60px 60px;
  padding: 70px 0 20px 0;
}
footer .footer_cv{
  width: 95%;
  max-width: 1200px;
  margin: 0px auto 100px;
}
footer .footer_logo_sp{
  display: none;
}

/* 登録ボタンエリア */
.card_wrap{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.card_conversion p{
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: 2.4em;
  height: 75px;
}
.card_two .card_inner{
  width: calc(100%/2 - 2%);
}
@media (max-width: 768px){
  .card_wrap .card_conversion{
    width: 100%;
    margin-bottom: 40px;
  }
  .card_conversion p{
    margin-bottom: 20px;
    height: auto;
  }
  .card_wrap .card_conversion:last-child{
    margin-bottom: 0;
  }
}
@media (max-width: 580px){
  .card_wrap .card_conversion{
    margin-bottom: 30px;
  }
  .card_conversion p{
    font-size: 1.5em;
    margin-bottom: 10px;
    height: auto;
  }
}

/* ナビゲーション */
footer .footer_nav{
  width: 95%;
  max-width: 1200px;
  margin: 0px auto 50px;
}
footer .footer_nav_menu{
  display: flex;
}
footer .footer_nav_menu .footer_nav_menu_inner{
  margin-right: 70px;
}
footer .footer_nav_menu .footer_nav_menu_inner:last-child{
  margin-right: 0;
}
footer .footer_nav_menu .footer_nav_menu_inner li{
  margin-bottom: 10px;
}
footer .footer_nav_menu a{
  display: block;
  color: #fff;
  font-size: 1.6em;
}
footer .copyright{
  display: block;
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 1.4em;
  color: #afb0b4;
}
@media (max-width: 900px){
  footer .footer_cv{
    margin: 0px auto 70px;
  }
  footer .footer_logo_sp{
    display: block;
    margin: 0 auto 50px;
  }
  footer .footer_nav{
    display: none;
  }
  footer .copyright{
    text-align: center;
  }
}
@media (max-width: 768px){
  footer .footer_cv{
    width: 90%;
  }
}
@media (max-width: 580px){
  footer{
    border-radius: 0px 0px 30px 30px;
    padding: 30px 0 10px 0;
  }
  footer .footer_logo_sp{
    width: 83px;
  }
  footer .footer_cv{
    margin: 0 auto 50px;
  }
}

