@charset "utf-8";

/*csslint
adjoining-classes      : false //adjoining classesの許可,
important              : false //inportantの許可,
outline-none           : false //outolineの許可,
unique-headings        : false //h1~6繰り返し使用許可,
box-sizing             : false //box-sizingの許可,
universal-selector     : false //アスタリスクの使用許可,
order-alphabetical     : false //outolineの許可,
overqualified-elements : false //li.activeなどの「li部分」許可,
ids                    : false //セレクタIDの使用の許可,
box-model              : flase //border,paddingの警告,
qualified-headings     : false //見出しの修飾許可,
fallback-colors: false //カラー正式指定の解除,
*/

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

/*--------------------------------------------------------------------------
□TOPページ home
---------------------------------------------------------------------------*/
/*homeMainVisual
--------------------------------------*/
.homeMainVisual{
  background: url(../images/home/mv-bg.jpg) no-repeat 50% 50% / cover;
  width: 100%;
  height: 718px;
  padding-top: 7.6rem;
}
.homeMainVisual .innerWrap{
  position: relative;
}
.hMvInr{
  width: 1200px;
  height: 568px;
  background-color: #FFF;
  position: relative;
  margin: auto;
}
.hMv_img{
  position: absolute;
  top: -36px;
  left: 0;
}
.hMv_txt{
  text-align: center;
  position: absolute;
  right: 105px;
  top: 80px;
  line-height: 1.5;
}
.hMv_txt p{
  color: #000;
  font-size: 2.9rem;
  font-weight: 700;
}
.hMv_txt h2{
  color: var(--main-color);
  font-size: 5.8rem;
  font-weight: 700;
  margin-top: 1.1rem;
}
.hMv_txt h2 span{
  font-size: 2.3rem;
  display: inline-block;
  text-align: right;
  line-height: 1.2;
  margin-right: 0.5rem;
}
.hMv_catch{
  position: absolute;
  right: 205px;
  bottom: 69px;
}
.hMv_catch img{
  width: 317px;
  height: auto;
}
/*Main
---------------------------------------------------------------------------*/
.secHomeType1{
  padding: 14.6rem 0 16.6rem;
}
.secHomeType2{
  background: url(../images/common/bg-tex-type1.png);
  padding: 10.7rem 0 12rem;
}
/*homeAbout
----------------------------------------*/
.hAbout_boxWrap{
  margin-top: 4rem;
}
.hAbout_boxImg{
  border: 4px solid var(--main-color);
  border-radius: 4px;
  box-shadow: -6px 7px 6px #00000066;
  width: 50rem;
}
.hAbout_box{
  width: 740px;
  padding-left: 2.5rem;
}
.hAbout_box h3{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.45;
}
.hAbout_box_txt{
  margin-top: 2rem;
  font-weight: 700;
}
.hAbout_box_catch{
  color: var(--main-color);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 5rem;
  padding-left: 3.8rem;
  position: relative;
}
.hAbout_box_catch:before{
  content: "";
  background-image: url(../images/common/icon/arrow-circle-type1-r.svg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 30px auto;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 3px;
}
/*homeFeat
----------------------------------------*/
.hFeat_intro{
  width: 800px;
  margin: 25px auto 0;
  font-weight: 700;
}
.hFeat_boxWrap{
  margin-top: 2.8rem;
}
.hFeat_box{
  background-color: #fff;
  box-shadow: 0px 3px 6px #0000004D;
  border: 5px solid #0763D5;
  text-align: center;
  width: 396px;
  height: 300px;
  padding: 2rem;
  margin-top: 2.6rem;
}
.hFeat_box:nth-of-type(2),
.hFeat_box:nth-of-type(3),
.hFeat_box:nth-of-type(5){
  margin-left: 2.6rem;
}
.hFeat_box_top{
  border-bottom: 1px solid var(--main-color);
  width: 100%;
  height: 134px;
}
.hFeat_box_top p{
  color: var(--main-color);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
}
.hFeat_box_top p span{
  font-size: 6.2rem;
}
.hFeat_box:nth-of-type(2) .hFeat_box_top p span{
  font-size: 8rem;
}
.hFeat_box_bottom{
  padding-top: 2rem;
}
.hFeat_box_bottom p{
  color: var(--main-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.55;
}
/*homeRec
----------------------------------------*/
.hRec_intro{
  text-align: center;
  font-weight: 700;
  margin-top: 2.4rem;
}
.hRec_boxWrap{
  margin-top: 3rem;
}
.hRec_box{
  background-color: #fff;
  border: 6px solid #0763D5;
  text-align: center;
  width: 396px;
  height: 300px;
  padding: 2rem 0 0;
  margin-top: 2.6rem;
}
.hRec_box:not(:first-of-type){
  margin-left: 2.6rem;
}
.hRec_box_top p{
  color: var(--main-color);
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.4;
}
.hRec_box_top p span{
  font-size: 3.2rem;
}
.hRec_box_bottom{
  margin-top: 3.6rem;
  height: 156px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*homeAnx
----------------------------------------*/
.homeAnx{
  padding-top: 14.6rem;
}
.hAnx_boxImg{
  text-align: center;
  margin-top: 5.5rem;
}
/*homeOpt
----------------------------------------*/
.homeOpt{
  padding-top: 14.6rem;
}
.hOpt_sample-link{
  padding-top: 1.8rem;
}
.hOpt_smp-link_box{
  width: 396px;
  margin-left: auto;
}
.hOpt_smp-link_desc{
  margin-top: 2.4rem;
}
.hOpt_smp-link_table {
  margin-top: 1.2rem;
}
.hOpt_smp-link_table th{
  padding-right: 0.5rem;
  text-align: left;
}
.hOpt_smp-link_table th,
.hOpt_smp-link_table td{
  font-size: 1.8rem;
}
.hOpt_link_btn{
  border-radius: 20px;
  background-color: var(--main-color);
  color: #FFF;
  display: block;
  width: 200px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  margin: auto;
}
/*homePlan
----------------------------------------*/
.hPlan_intro{
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-top: 2rem;
}
.hPlan_tableWrap1{
  background-color: #FFFFFF;
  border: 5px solid var(--main-color);
  box-shadow: 0px 3px 6px #0000004D;
  padding: 3.5rem 0;
  margin-top: 0.5rem;
}
.hPlan_tableType1{
  width: 100%;
  height: 150px;
}
.hPlan_tableType1 th,
.hPlan_tableType1 td{
  color: var(--main-color);
  font-size: 2rem;
  font-weight: 700;
  padding:0 26px;
}
.hPlan_tableType1 th{
  border-right: 1px solid var(--main-color);
  width: 320px;
}
.hPlan_tableType1 td{
  position: relative;
}
.hPlan_tableType1 td:nth-of-type(1){
  vertical-align: top;
  padding-right: 0;
  width: 56rem;
}
.hPlan_tableType1 td:nth-of-type(2){
  width: 35rem;
}
.hPlan_tbT1_item{
  display: flex;
  flex-wrap: wrap;
}
.hPlan_tbT1_item p{
  margin-bottom: 2.2rem;
}
.hPlan_tbT1_item p:nth-of-type(1){
  width: 10.5rem;
}
.hPlan_tbT1_item p:nth-of-type(2){
  width: 28rem;
}
.hPlan_tbT1_item p:nth-of-type(3){
  width: 9rem;
  font-size: 2.4rem;
}
.hPlan_tbT1_catchWrap{
  position: relative;
}
.hPlan_tbT1_catch{
  font-size: 2.2rem;
  line-height: 1.54;
  text-align: center;
  position: relative;
  z-index: 1;
}
.hPlan_tbT1_catchWrap span{
  display: inline-block;
  width: 20rem;
  height: 6rem;
  background-color: #FFEC58;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 0;
  transform: rotateZ(168deg);
}
.hPlan_tbT1_note{
  color: #2B2B2B;
  font-size: 1.2rem;
  font-weight: 700;
  position: absolute;
  right: 26px;
  bottom: -18px;
}
.hPlan_tbT1_note2{
  color: #2B2B2B;
  font-size: 1.2rem;
  font-weight: 700;
  margin-left: 1rem;
}
.hPlan_tableWrap2{
  background-color: #FFFFFF;
  border: 5px solid var(--sub-color);
  box-shadow: 0px 3px 6px #0000004D;
  padding: 2rem 0;
  margin-top: 2.6rem;
}
.hPlan_tableType2{
  width: 100%;
  height: 52px;
}
.hPlan_tableType2 th,
.hPlan_tableType2 td{
  color: var(--sub-color);
  font-size: 2rem;
  font-weight: 700;
  padding:0 26px;
}
.hPlan_tableType2 th{
  border-right: 1px solid var(--sub-color);
  width: 320px;
}
.hPlan_tableType2 td p{
  padding-left: 11rem;
}
/*homeFlow
----------------------------------------*/
.hFlow_intro{
  font-weight: 700;
  text-align: center;
  margin-top: 2.5rem;
}
.hFlow_box{
  border: 5px solid var(--main-color);
  box-shadow: 0px 3px 6px #0000004D;
  padding: 3rem 7.6rem 4.4rem;
  margin-top: 5.5rem;
}
.hFlow_box ul{
  margin: 4rem 0;
}
.hFlow_box ul li{
  color: var(--main-color);
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}
.hFlow_box ul li:not(:last-of-type){
  padding-right: 11.3rem;
}
.hFlow_box ul li:not(:last-of-type):after{
  content: "";
  background-image: url(../images/common/icon/arrow-type1-r.svg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 13px auto;
  width: 24px;
  height: 28px;
  position: absolute;
  right: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.hFlow_catchWrap{
  position: relative;
}
.hFlow_catch{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  position: relative;
  z-index: 1;
}
.hFlow_catchWrap span{
  display: inline-block;
  width: 20rem;
  height: 2.8rem;
  background-color: #FFEC58;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  transform: translate(-19.6rem,0.6rem) rotate(172deg);
}
/*homeFaq
----------------------------------------*/
.homeFaq{
  padding-top: 14.6rem;
  margin-top: -14.6rem;
}
.hFaq_tableWrap{
  box-shadow: 0px 3px 6px #0000004D;
  border: 5px solid var(--sub-color);
  padding: 3rem 3rem;
  margin-top: 1.2rem;
}
.hFaq_table{
  width: 100%;
}
.hFaq_table tr:not(:last-of-type){
  border-bottom: 50px solid transparent;
}
.hFaq_table th{
  border-right: 1px solid var(--sub-color);
  color: var(--sub-color);
  font-size: 2rem;
  text-align: left;
  width: 520px;
}
.hFaq_table td{
  font-weight: 700;
  padding-left: 2.6rem;
}
/*homeComp
----------------------------------------*/
.hComp_tableWrap{
  box-shadow: 0px 3px 6px #0000004D;
  border: 5px solid var(--sub-color);
  padding: 4.6rem 3rem;
}
.hComp_table{
  width: 100%;
}
.hComp_table tr:not(:last-of-type){
  border-bottom: 50px solid transparent;
}
.hComp_table th{
  border-right: 1px solid var(--sub-color);
  color: var(--sub-color);
  font-size: 2rem;
  text-align: center;
  width: 290px;
  padding-right: 6rem;
}
.hComp_table td{
  font-weight: 700;
  padding-left: 2.6rem;
}
.hComp_table_note1{
  margin-top: 1.2rem;
}
/*homeFactUser
--------------------------------------*/
.homeFactUser{
  padding: 0 0 16.6rem;
}
.hfuCardSlide {
  margin-top: 5rem;
  padding: 0 2rem;
}
.hfuCard {
  border-radius: 20px;
  background-color: #F8F8F8;
  padding: 2rem;
}
.hfuTable {
  width: 100%;
}
.hfuTable tr {
  border-bottom: 1px solid #e0e0e0;
}
.hfuTable th {
  width: 13rem;
  padding: 1rem 0;
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .hfuTable th {
    font-size: 1.5rem;
    width: 11rem;
  }
}
.hfuTable th span {
  background-color: var(--main-color);
  border-radius: 20px;
  color: #FFF;
  display: inline-block;
  width: 100%;
  padding: 0.3rem 0.5rem;
}
.hfuTable td {
  padding: 1rem 2rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
  .hfuTable td {
    font-size: 1.5rem;
  }
}
.swiper-button-next,
.swiper-button-prev {
  width: 5.4rem;
  height: 5.4rem;
  top: calc(50% - 1.35rem);
}
.swiper-button-next:after,
.swiper-button-prev:after {
  color: #FFF;
  z-index: 1;
  font-size: 2.2rem;
}
.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3);
}
/*homeAppForm
----------------------------------------*/
.hAppFormWrap{
  background-color: #FFFFFF;
  border: 5px solid #07ADD5;
  border-radius: 20px;
  width: 800px;
  margin: 3.2rem auto;
  padding: 2.8rem 2.8rem 5rem;
}
.hAppFormInr{
  width: 400px;
  margin: 0 auto;
}
.hAppForm_item{
  font-weight: 700;
  margin-bottom: 2.4rem;
}
.hAppForm_radioGroup label{
  margin-right: 2rem;
}
.hAppForm_radioGroup label span{
  margin-left: .4rem;
}
.hAppForm_privacy-check{
  font-weight: 700;
}
.hAppForm_privacy-check label{
  margin-right: 0.5rem;
}
.hAppForm_buttonWrap{
  text-align: center;
  margin-top: 3rem;
}
.hAppForm_btn-submit{
  background-color: #1BADD5;
  border-radius: 20px;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  width: 300px;
  height: 46px;
}
/*--------------------------------------------------------------------------
□下層ページ
---------------------------------------------------------------------------*/

/*プライバシーポリシー・利用規約
---------------------------------------------------------------------------*/
/*Main
---------------------------------------------------------------------------*/
.termsListWrap {
  margin: 5rem auto 0;
}
.termsListWrap h4 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
  font-weight: 700;
}
.termsListWrap p {
  margin-bottom: 2rem;
}
.termsListWrap ul {
  margin: 2rem 0 2rem 2.2rem;
}
.termsListWrap ul.termsList_decimal > li {
  list-style: outside decimal;
  margin: 1rem 0 0 0;
}
.termsListWrap ul.termsList_brackets {
  list-style: outside none;
  text-indent: -2.6em;
  padding-left: 0.8em;
}