@charset "utf-8";
/* ======================================
	kv
====================================== */
.kv{

}
.kv .header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: end;
  align-items: flex-end;
  margin-bottom: 50px;
}
.kv .header__logo{
  width: 100%;
  max-width: 130px;
  margin-right: 15px;
}
.kv .header__txt {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
@media screen and (min-width: 600px){
  .kv .header__logo{
    max-width: 204px;
  }
  .kv .header__txt{
    font-size: 1.4rem;
  }
}

.kv .container{
  max-width: 1200px;
  width: 92%;
  margin: 15px auto;
}
@media screen and (min-width: 600px){
  .kv .container{
    margin: 24px auto;
  }
}
@media screen and (min-width: 1024px){
  .kv .wrapper {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}
.kv .left{
  margin: 0 0 20px;
}
.kv .right {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}

.kv .main{
  max-width: 628px;
  width: 100%;
  margin: 0 auto;
}
.kv .heading{
  text-align: center;
}
.kv .heading__inner{
  position: relative;
  display: inline-block;
}
.kv .icon {
  position: absolute;
  top: -35px;
  left: -80px;
  width: 75px;
  height: 75px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  background-color: #fff100;
  padding: 15px 10px 0;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1;
}
.kv .icon span {
  font-size: 2rem;
}
.kv .subTtl{
  text-align: center;
  color: #000;
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 10px;
}
.kv .ttl{
  text-align: center;
  color: #007fc3;
  font-weight: bold;
  font-size: 3.5rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 12px;
  margin-bottom: 12px;
  line-height: 1.1;
}
.kv .cont__copy{
  text-align: center;
  color: #142f71;
  font-weight: bold;
  font-size: 1.6rem;
}
.kv .cont__logo{
  width: 230px;
  margin: 0 auto;
}
.kv .cont__txt{
  text-align: center;
  color: #595757;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1;
}
.kv .cont__list{
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  max-width: 628px;
  width: 100%;
  margin: 15px auto 10px;
}
.kv .cont__item{
  width: 32%;
  max-width: 192px;
  background: #f2f2f2;
  border-radius: 6px;
  padding: 10px 10px 8px;
}
.kv .cont__item__img{
  margin: 0 auto 10px;
  max-width: 80px;
  width: 50%;
}
.kv .cont__item__txt{
  text-align: center;
  color: #007fc3;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.529;
}
.kv .cont__note{
  font-weight: 500;
  font-size: 1rem;
}

@media screen and (min-width: 600px){
  .kv .left{
    margin: 0 0 40px;
  }
  .kv .icon{
    top: -60px;
    left: -135px;
    width: 109px;
    height: 109px;
    font-size: 2.2rem;
    padding: 25px 10px 0;
  }
  .kv .icon span{
    font-size: 2.8rem;
  }
  .kv .subTtl{
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .kv .ttl{
    font-size: 4.2rem;
    padding-bottom: 25px;
    margin-bottom: 20px;
  }
  .kv .ttl .sp{
    display: none;
  }
  .kv .cont__copy{
    font-size: 2.2rem;
  }
  .kv .cont__logo{
    width: 297px;
  }
  .kv .cont__txt{
    font-size: 1.5rem;
  }
  .kv .cont__list{
    margin: 25px auto;
  }
  .kv .cont__item{
    padding: 28px 10px 22px;
    border-radius: 10px;
  }
  .kv .cont__item__img{
    margin: 0 auto 25px;
  }
  .kv .cont__item__txt{
    font-size: 1.5rem;
  }
  .kv .cont__item__txt .sp{
    display: none;
  }
}
@media screen and (min-width: 1024px){
  .kv .left{
    width: 60%;
    max-width: 720px;
    margin: 0 20px 0 0;
  }
  .kv .right {
    margin: 0;
  }
  .kv .main{
    max-width: 100%;
    margin: 0;
  }
  .kv .ttl{
    font-size: 4vw;
  }
  .kv .cont__list{
    margin: 25px auto 55px;
  }
  .kv .cont__item__txt{
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 1280px){
  .kv .subTtl{
    font-size: 2.2rem;
  }
  .kv .subTtl .is-sp{
    display: none;
  }
  .kv .ttl{
    font-size: 6.2rem;
    padding-bottom: 35px;
    margin-bottom: 30px;
  }
}

/* form */
.kv .formbox{
  border: 1px solid #ccc;
  border-radius: 4px;
}
.kv .formTtl{
  text-align: center;
  color: #007fc3;
  font-weight: bold;
  font-size: 1.6rem;
  background: #c5dff3;
  padding: 12px;
}
.kv .formbox form{
  width: 100% !important;
  position: relative;
}
.kv .formbox .step{
  max-width: 346px;
  width: 86%;
  margin: 10px auto 0;
}
.kv .formbox .step img{
  display: none;
}
.kv .formbox.s1 .step img:nth-child(1){display: block;}
.kv .formbox.s2 .step img:nth-child(2){display: block;}

.kv .mktoForm .hideError .mktoError {
  display: none!important;
}
.kv .mktoForm input[type=text],
.kv .mktoForm input[type=url],
.kv .mktoForm input[type=email],
.kv .mktoForm input[type=tel],
.kv .mktoForm input[type=number],
.kv .mktoForm input[type=date],
.kv .mktoForm textarea.mktoField,
.kv .mktoForm select.mktoField {
  width: 100% !important;
  padding: 7px 10px !important;
  border: 1px solid #bbdcf5;
  border-radius: 4px;
  background-color: #fff0f0;
  margin-top: 5px !important;
}
.kv .mktoForm .mktoFormCol{
  margin-bottom: 0 !important;
}
.kv .mktoForm .mktoFormRow{
  margin-bottom: 5px;
}

/* ラベル label */
.kv .mktoForm .mktoLabel{
  font-size: 1.3rem;
  padding-top: 15px !important;
  font-weight: 400 !important;
}
.kv .mktoForm .mktoRequiredField label.mktoLabel{
  width: auto !important;
}
.kv .mktoForm #LblLastName{
  width: 100% !important;
}
.kv .mktoForm #Lblpca_surname_kana{
  width: 100% !important;
}

/* 必須 */
.kv .mktoForm .mktoAsterix{
  color: #f42859 !important;
  border: 1px solid #f42859;
  border-radius: 2px;
  font-size: 10px;
  padding: 2px 2px 0 !important;
  line-height: 1;
  margin-left: 4px;
}
.kv .mktoForm #LblFirstName .mktoAsterix{
  display: none !important;
}
.kv .mktoForm #LblLastName .mktoAsterix{
  position: absolute;
  left: 26px;
}
.kv .mktoForm #Lblpca_surname_kana .mktoAsterix{
  position: absolute;
  left: 102px;
}
.kv .mktoForm #Lblpca_firstname_kana .mktoAsterix{
  display: none !important;
}
.kv .mktoForm .mktoOffset{
  display: none;
}

/*  */
.kv .mktoForm #LastNameField .mktoGutter.mktoHasWidth{
  display: none;
}
.kv .mktoForm #FirstNameField .mktoGutter.mktoHasWidth{
  display: none;
}
.kv .mktoForm #pca_surname_kanaField .mktoGutter.mktoHasWidth{
  display: none;
}
.kv .mktoForm #pca_firstname_kanaField .mktoGutter.mktoHasWidth{
  display: none;
}

/* 氏名 input */
.kv .mktoForm #LastName{
  width: 215px !important;
}
.kv .mktoForm #FirstName{
  width: 215px !important;
}
.kv .mktoForm #FirstNameField{
  float: right;
  margin-top: -37px;
}

/* 氏名（フリガナ） input */
.kv .mktoForm #pca_surname_kana{
  width: 215px !important;
}
.kv .mktoForm #pca_firstname_kana{
  width: 215px !important;
}
.kv .mktoForm #pca_firstname_kanaField{
  float: right;
  margin-top: -37px;
}

/* メールアドレス */
.kv .mktoForm #emailNoteField .mktoHtmlText.mktoHasWidth > div > span{
  color: #f42859 !important;
  font-size: 10px !important;
}

/* テキスト */
.kv .mktoForm .mktoHtmlText.mktoHasWidth{
  width: 100% !important;
  font-size: 11px;
  line-height: 1.18;
}
.kv .mktoForm .mktoHtmlText.mktoHasWidth br{
  display: none;
}
.kv .mktoForm .mktoHtmlText.mktoHasWidth a{
  color: #007fc3 !important;
  padding: 0;
}

/* ボタン */
.kv .mktoForm .mktoButtonRow{
  margin: 10px 0 0 !important;
  text-align: center !important;
}
.kv .mktoForm .mktoButtonWrap.mktoNative{
  margin: 0 !important;
}
.kv .mktoForm .mktoButtonWrap.mktoNative .mktoButton{
  font-weight: bold;
  font-size: 16px;
  color: #fff;
  background: linear-gradient(to right, #7cb742 0%, #63a925 100%);
  border: none;
  border-radius: 4px;
  padding: 9px 102px;
  position: relative;
}
.kv .mktoForm .mktoButtonWrap.mktoNative .mktoButton::after{
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  left: 12px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

/* 次へボタン */
.kv .formbox.s1 .mktoForm .mktoButtonWrap.mktoNative .mktoButton{
  max-width: 180px;
  font-size: 20px;
  padding: 10px;
	text-align: center;
}
/* 戻るボタン */
.kv .formBtnBack{
  display: none;
}
.kv .formbox.s2 .formBtnBack{
  display: block;
}
.kv .formbox.s2 .formBtnBack{
  text-align: center;
	margin-top: 10px;
}
.kv .formbox.s2 .formBtnBack button{
  border: none;
  font-weight: bold;
  color: #fff;
  background: #848688;
  border-radius: 4px;
  width: 100%;
  max-width: 100px;
  font-size: 16px;
  padding: 8px;
  cursor: pointer;
}

/* エラー */
.kv .formbox .mktoForm .mktoFormRow .mktoFieldDescriptor .mktoFieldWrap .mktoError .mktoErrorMsg {
  max-width: 100% !important;
  background-color: #fff !important;
  color: #ff0000 !important;
  border: 2px solid #ff0000 !important;
  background-image: none !important;
  border-radius: 0 !important;
  font-size: 12.5px !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  margin-top: 6px !important;
}
.kv .formbox .mktoForm .mktoFormRow .mktoFieldDescriptor .mktoFieldWrap .mktoError .mktoErrorArrowWrap .mktoErrorArrow {
  background-color: #fff !important;
  border: 2px solid #ff0000 !important;
}
.kv .mktoForm .mktoError{
  right: auto !important;
  left: 0;
  bottom: -30px !important;
}

@media screen and (max-width: 599px){
  .kv .mktoForm{
    padding: 0 !important;
  }
  .kv .mktoForm .mktoFormCol{
    width: 100% !important;
  }
  .kv .mktoForm .mktoFieldWrap{
    width: 100% !important;
  }
  .kv .mktoForm #LastName,
  .kv .mktoForm #pca_surname_kana{
    width: 49% !important;
  }
  .kv .mktoForm #FirstName,
  .kv .mktoForm #pca_firstname_kana{
    float: right;
    width: 100% !important;
  }
  .kv .mktoForm #FirstNameField,
  .kv .mktoForm #pca_firstname_kanaField{
    width: 49% !important;
  }
  .kv .mktoForm input[type=url],
  .kv .mktoForm input[type=text],
  .kv .mktoForm input[type=date],
  .kv .mktoForm input[type=tel],
  .kv .mktoForm input[type=email],
  .kv .mktoForm input[type=number],
  .kv .mktoForm textarea.mktoField,
  .kv .mktoForm select.mktoField{
    font-size: 14px !important;
    height: auto !important;
    line-height: 1.2 !important;
  }
  .kv .mktoForm .mktoFormRow .mktoRequiredField .mktoAsterix{
    float: right !important;
  }
  .kv .mktoForm .mktoHtmlText.mktoHasWidth > div{
    display: inline;
  }
  .kv .mktoForm .mktoButtonRow{
    display: block !important;
  }
  .kv .mktoForm .mktoButtonWrap.mktoNative .mktoButton{
    padding: 9px 35px;
    width: 100%;
  }
  /* 次へボタン */
  .kv .formbox.s1 .mktoForm .mktoButtonWrap.mktoNative .mktoButton{
    max-width: 150px;
    font-size: 18px;
  }
  /* 戻るボタン */
  .kv .formbox.s2 .formBtnBack button{
    font-size: 14px;
  }
}
@media screen and (max-width: 480px){
  .kv .mktoForm #FirstNameField{
    margin-top: -48px;
  }
  .kv .mktoForm #pca_firstname_kanaField{
    margin-top: -48px;
  }
}
@media screen and (min-width: 600px){
  .kv .mktoForm input[type=text],
  .kv .mktoForm input[type=url],
  .kv .mktoForm input[type=email],
  .kv .mktoForm input[type=tel],
  .kv .mktoForm input[type=number],
  .kv .mktoForm input[type=date],
  .kv .mktoForm textarea.mktoField,
  .kv .mktoForm select.mktoField{
    width: 440px !important;
  }
  .kv .mktoForm .mktoButtonRow{
    width: 100%;
  }
  .kv .mktoForm .mktoButtonWrap.mktoNative .mktoButton{
    width: 100%;
  }
  
  /* メールアドレス */
  .kv .mktoForm #emailNoteField{
    position: relative;
    z-index: 2;
  }
  .kv .mktoForm #emailNoteField .mktoFormCol{
    position: absolute;
    top: -60px;
    left: 130px;
  }
}
/*----------------------------------------
  type-b
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.kv{
  position: relative;
}
.kv::before{
  position: absolute;
  content: '';
  width: 100%;
  height: 530px;
  left: 0;
  top: -20px;
  background: url(../img/bg_pc.png) no-repeat center bottom / cover;
  z-index: 0;
}
.kv .left{
  position: relative;
  z-index: 1;
}
.kv .header{
  margin-bottom: 30px;
}
.kv .header__logo{
  max-width: 230px;
}
.kv .header__txt{
  color: #fff;
  font-size: 12px;
  font-weight: 400;
}
.kv .container{
  margin: 20px auto 30px;
  max-width: 1280px;
}
.kv .copy{
  margin: 0 auto;
  max-width: 793px;
}
.kv .copy__head{
  text-align: center;
}
.kv .copy__head__txt{
  position: relative;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: .05em;
  padding: 20px 35px;
  margin-right: 30px;
}
.kv .copy__head__txt::before,
.kv .copy__head__txt::after{
  position: absolute;
  content: '';
  width: 53px;
  height: 53px;
}
.kv .copy__head__txt::before{
  left: 0;
  top: 0;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
}
.kv .copy__head__txt::after{
  right: 0;
  bottom: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.kv .yellow{
  color: #FFF104;
}
.kv .--l{
  font-size: 1.8em;
}
.kv .note{
  position: relative;
}
.kv .note::before{
  position: absolute;
  content: '*2';
  top: -13px;
  right: -1px;
  font-size: 11px;
  color: #fff;
}
.kv .copy__ttl{
  max-width: 726px;
  width: 100%;
  margin: 0 0 -20px auto;
}
.kv .copy__info{
  display: flex;
  align-items: center;
  justify-content: center;
}
.kv .copy__info__icn{
  max-width: 220px;
  width: 100%;
  margin: 0 20px 0 0;
}
.kv .copy__info__txt{
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: .025em;
  line-height: 1.789;
}
.kv .copy__note{
  font-size: 11px;
  line-height: 1.63;
  padding-right: 20px;
	margin-top: 140px;
}
.kv .right{
  max-width: 480px;
  position: relative;
  z-index: 1;
}
.kv .formbox form{
  padding: 0 20px !important;
}
.kv .formTtl{
  background: #f2f2f2;
  color: #142F71;
  font-weight: bold;
  font-size: 20px;
  padding: 10px;
  border-radius: 20px 20px 0 0;
	line-height: 1em;
}
.kv .formbox{
  background: #fff;
  border: none;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(0,0,0,.3);
  padding-bottom: 20px;
}
.kv .mktoForm .mktoLabel{
  padding-top: 4px !important;
	padding-left: 0;
}
.kv .mktoForm input[type=text],
.kv .mktoForm input[type=url],
.kv .mktoForm input[type=email],
.kv .mktoForm input[type=tel],
.kv .mktoForm input[type=number],
.kv .mktoForm input[type=date],
.kv .mktoForm textarea.mktoField,
.kv .mktoForm select.mktoField{
  border: 1px solid #d2d2d2;
  background-color: #fff;
  margin-top: 3px !important;
}
.kv .mktoForm input[type=text]#FirstName,
.kv .mktoForm input[type=text]#pca_firstname_kana{
  margin-top: 6px !important;
}
.kv .mktoForm  input[aria-required=true]{
  background-color: #FEF4F7;
}
.kv .mktoForm .mktoButtonWrap.mktoNative .mktoButton{
  background: #5FA621 !important;
}
@media screen and (max-width: 599px){
  .kv::before{
    height: 430px;
    background: url(../img/bg_sp.png) no-repeat center bottom / cover;
  }
  .kv .container{
    margin: 12px auto 24px;
  }
  .kv .header{
    display: block;
    margin-bottom: 20px;
  }
  .kv .header__logo{
    margin: 0 auto;
    max-width: 150px;
  }
  .kv .header__txt{
    text-align: center;
    font-size: 10px;
    margin-top: 10px;
  }
  .kv .copy__head__txt{
    font-size: 12px;
    padding: 12px 20px;
    margin-right: 0;
  }
  .kv .copy__head__txt::before,
  .kv .copy__head__txt::after{
    width: 33px;
    height: 33px;
  }
  .kv .note::before{
    font-size: 10px;
  }
  .kv .copy__ttl{
    max-width: 329px;
    margin: 12px auto 15px;
  }
  .kv .copy__info__icn{
    max-width: 140px;
    margin: 0 12px 0 0;
  }
  .kv .copy__info__txt{
    font-size: 12px;
  }
  .kv .copy__note{
    font-size: 10px;
    line-height: 1.4;
    margin-top: 60px;
    padding: 0;
  }
  .kv .formTtl{
    font-size: 18px;
    padding: 15px;
  }
}
@media screen and (min-width: 1024px){
  .kv::before{
  }
  .kv .left{
  }
  .kv .right{
    margin-top: 5px;
  }
  .kv .copy__ttl{
    margin: 0 0 0 auto;
  }
  .kv .copy__note{
  }
}
@media screen and (min-width: 1280px){
	.kv::before{
		height: 600px;
	}
  .kv .left{
    max-width: 800px;
    width: 62%;
    margin: 0;
  }
  .kv .copy{
    margin: 0 0 0 auto;
  }
  .kv .copy__head__txt{
    font-size: 19px;
    padding: 20px 40px;
  }
  .kv .copy__info{
    margin: -30px 30px 0 0;
  }
  .kv .copy__info__icn{
    max-width: 230px;
  }
  .kv .copy__info__txt{
    font-size: 19px;
  }
}

/* ======================================
	reason
====================================== */
.reason{
	padding-top: 0;
}
.reason-item{
	background: #142F71 url(../img/reason_bg.png) no-repeat center center / cover;
	color: #fff;
	text-align: center;
	padding: 27px 16px 16px;
	max-width: 500px;
	margin: 0 auto 15px;
}
.reason-item-ttl{
	font-weight: bold;
	font-size: 2.4rem;
	position: relative;
}
.reason-item-ttl::after{
	position: absolute;
	content: '';
	width: 48px;
	height: 4px;
	background: #fff;
	bottom: -12px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.reason-item-desc{
	padding: 30px 0 27px;
	color: #e2dc42;
	font-weight: bold;
	font-size: 4.2rem;
	line-height: 1;
}
.reason-item-desc.line-height{
	line-height: 1.4;
}
.reason-item-desc .num{
	font-size: 12rem;
}
.reason-item-desc .txt-s{
	font-size: 3.8rem;
}	
.reason-item-desc .txt-dots{
	background-image: radial-gradient(circle at center, #e2dc42 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
	line-height: 1;
	padding-top: 0.3em;
	display: inline-block;
}
.white-accent{
	position: relative;
	display: inline-block;
}
.white-accent::after{
	position: absolute;
	content: '';
	top: 122%;
	left: 50%;
	transform: translateX(-50%);
	height: 2px;
	width: 100%;
	background: #fff;
	max-width: 296px;
}
.reason-item-txt{
	font-weight: bold;
	font-size: 1.6rem;
}
.reason-item-link{
	color: #333;
	background: #fff url(../img/icn_btn_blue.png) no-repeat center right 8px / 16px;
	font-weight: bold;
	font-size: 1.6rem;
	display: block;
	max-width: 296px;
	width: 100%;
	border-radius: 7px;
	margin: 28px auto 0;
	padding: 13px 0;
}
.reason-note{
	font-size: 1.1rem;
	font-weight: 500;
	margin: 15px auto 0;
}
@media screen and (min-width: 600px) {
	.reason-note{
    font-size: 1.3rem;
	}
}
@media screen and (min-width: 1024px) {
	.reason-list{
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
		margin-top: 60px;
	}
	.reason-item{
		max-width: 456px;
		width: 32%;
		margin: 0;
	}
	.reason-item-desc{
		height: 200px;
	}
}
@media screen and (min-width: 1280px) {
	.reason-item-desc{
		font-size: 4.5rem;
	}
	.reason-item-desc .num{
		font-size: 14.4rem;
	}
}
/* ======================================
	plan
====================================== */
.plan{
	background: url(../img/plan_bg_sp.png) no-repeat center bottom / cover;
	position: relative;
	z-index: 2;
	padding: 1em 0 40px;
}
.plan::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 1490px;
	left: 0;
	top: -1px;
	z-index: -1;
	background: url(../img/plan_bg_white_sp.png) no-repeat center bottom / cover;
}
.plan .secTxt{
	margin-bottom: 0;
}
.plan-list{
	max-width: 1000px;
	margin: 40px auto 0;
}
.plan-item{
	background: #F0F9FF;
	border-radius: 8px;
	max-width: 488px;
	width: 100%;
	margin: 0 auto 45px;
	padding: 32px 24px 24px;
	position: relative;
}
.plan-item-subTtl{
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
	color: #fff;
	background: #142F71;
	text-align: center;
	border-radius: 8px;
	max-width: 280px;
	width: 100%;
	font-weight: bold;
	font-size: 1.6rem;
	padding: 3px 6px 5px;
}
.plan-item-subTtl::after{
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #142F71 transparent transparent transparent;
	border-width: 13px 10.5px 0px 10.5px;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
}
.plan-item2 .plan-item-subTtl::after{
	border-color: #007FC3 transparent transparent transparent;
}
.plan-item2 .plan-item-subTtl{
	background: #007FC3;
}
.plan-item-ttl{
	text-align: center;
	color: #142F71;
	font-size: 1.8rem;
	line-height: 1.4;
	padding: 8px 0;
	position: relative;
	max-width: 350px;
  margin: 0 auto;
}
.plan-item2 .plan-item-ttl{
	color: #007FC3;
}
.plan-item-ttl::before,
.plan-item-ttl::after{
	position: absolute;
	content: '';
	height: 100%;
	width: 12px;
	top: 0;
	border-top: 3px solid #142F71;
	border-bottom: 3px solid #142F71;
}
.plan-item-ttl::before{
	left: 0;
	border-left: 4px solid #142F71;
}
.plan-item-ttl::after{
	right: 0;
	border-right: 4px solid #142F71;
}
.plan-item2 .plan-item-ttl::before,
.plan-item2 .plan-item-ttl::after{
	border-top: 3px solid #007FC3;
	border-bottom: 3px solid #007FC3;
}
.plan-item2 .plan-item-ttl::before{
	border-left: 4px solid #007FC3;
}
.plan-item2 .plan-item-ttl::after{
	border-right: 4px solid #007FC3;
}
.plan-item-img{
	max-width: 312px;
	margin: 15px auto 0;
	width: 86%;
}
.plan-item-dl{
	margin-top: 10px;
}
.plan-item-dt{
	font-size: 2rem;
	border-bottom: 4px solid #595757;
	position: relative;
	margin-bottom: 4px;
	padding-bottom: 2px;
}
.plan-item-dt::after{
	position: absolute;
	content: '';
	width: 80px;
	height: 4px;
	left: 0;
	bottom: -4px;
	z-index: 2;
	background: #142F71;
}
.plan-item2 .plan-item-dt::after{
	background: #007FC3;
}
.plan-item-dd{
	font-size: 1.6rem;
	line-height: 1.8;
}
.plan-item-dd span{
	color: #F44360;
}
.plan-item-point{
	background: #fff;
	font-weight: bold;
	border-radius: 8px;
	padding: 16px;
	margin-top: 10px;
}
.plan-item-point-ttl{
	text-align: center;
	color: #142F71;
	font-size: 1.8rem;
	margin-bottom: 15px;
}
.plan-item-point-ttl span{
	position: relative;
	padding: 0 20px;
}
.plan-item-point-ttl span::before,
.plan-item-point-ttl span::after{
	position: absolute;
	content: '';
	bottom: 0;
	width: 20px;
  height: 24px;
}
.plan-item-point-ttl span::before{
	left: 0;
	background: url(../img/icn_point_left.svg) no-repeat center center / 100%;
}
.plan-item-point-ttl span::after{
	right: 0;
	background: url(../img/icn_point_right.svg) no-repeat center center / 100%;
}
.plan-catch{
	text-align: center;
	color: #FFF100;
	font-size: 2.2rem;
	line-height: 1.4;
	margin-top: 75px;
}
.plan-cv{
	margin: 30px auto 0;
	max-width: 1000px;
}
.plan-cv-item{
	background: #fff;
	border-radius: 8px;
	max-width: 488px;
	width: 100%;
	padding: 32px 16px;
	margin: 0 auto 20px;
}
.plan-cv-item:last-child{
	margin-bottom: 0;
}
.plan-cv-item-img{
	max-width: 274px;
	width: 80%;
	margin: 0 auto 16px;
}
.plan-cv-item-txt{
	text-align: center;
	font-size: 1.4rem;
	margin-bottom: 20px;
}
.plan-cv-item-btn{
	display: block;
	text-align: center;
	color: #fff;
	background: #007FC3;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .08em;
	padding: 9px 0 11px;
	border-radius: 3px;
}
.plan-cv-item-btn.--dl{
	background: #FF8200;
}
.plan-cv-item-btn .--s{
	font-size: 1.5rem;
	display: inline-block;
	position: relative;
	padding-right: 10px;
}
.plan-cv-item-btn .--s::after{
	position: absolute;
	content: '';
	right: -20px;
  top: 0;
	background: url(../img/icn_btn.png) no-repeat center center / 100%;
	width: 20px;
	height: 20px;
}
@media screen and (max-width: 599px) {
	.plan-cv-item-btn span{
		padding-right: 16px;
	}
}
@media screen and (min-width: 400px) {
	.plan::before{
		height: 1500px;
	}
}
@media screen and (min-width: 500px) {
	.plan::before{
		height: 1480px;
	}
}
@media screen and (min-width: 600px) {
	.plan::before{
		height: 64%;
	}
	.plan-list{
		margin: 60px auto 0;
	}
	.plan-item{
		padding: 45px 50px 40px;
	}
	.plan-item-subTtl{
		font-size: 1.8rem;
		max-width: 357px;
		padding: 5px 6px 8px;
	}
	.plan-item-ttl{
		font-size: 2.4rem;
		padding: 14px 0;
	}
	.plan-item-ttl::before,
	.plan-item-ttl::after{
		width: 17px;
		border-top: 4px solid #142F71;
		border-bottom: 4px solid #142F71;
	}
	.plan-item-ttl::before{
		border-left: 6px solid #142F71;
	}
	.plan-item-ttl::after{
		border-right: 6px solid #142F71;
	}
	.plan-item2 .plan-item-ttl::before,
	.plan-item2 .plan-item-ttl::after{
		border-top: 4px solid #007FC3;
		border-bottom: 4px solid #007FC3;
	}
	.plan-item2 .plan-item-ttl::before{
		border-left: 6px solid #007FC3;
	}
	.plan-item2 .plan-item-ttl::after{
		border-right: 6px solid #007FC3;
	}
	.plan-item-dt{
		margin-bottom: 8px;
		padding-bottom: 0;
	}
	.plan-item-point-ttl{
		font-size: 2rem;
	}
	.plan-item-point-ttl span{
		padding: 0 27px;
	}
	.plan-item-point-ttl span::before,
	.plan-item-point-ttl span::after{
		width: 24px;
		height: 27px;
	}
	.plan-catch{
		font-size: 3.2rem;
	}
}
@media screen and (min-width: 1024px) {
	.plan{
		background-image: url(../img/plan_bg.png);
	}
	.plan::before{
		height: 840px;
		background-image: url(../img/plan_bg_white.png);
	}
	.plan-list{
		display: flex;
		justify-content: space-between;
	}
	.plan-item{
		width: 49%;
		margin: 0;
	}
	.plan-cv-item-img{
		margin: 0 auto 24px;
	}
	.plan-cv{
		display: flex;
		justify-content: space-between;
	}
	.plan-cv-item{
		width: 49%;
		margin: 0;
		padding: 32px 28px 37px;
	}
	.plan-cv-item-txt{
		font-size: 1.6rem;
		margin-bottom: 24px;
	}
	.plan-cv-item-btn{
		font-size: 2.8rem;
	}
	.plan-cv-item-btn .--s{
		font-size: 2rem;
	}
	.plan-cv-item-btn .--s::after{
		top: 2px;
	}
}
/* ======================================
	database
====================================== */
.database-lead{
	text-align: center;
	color: #333333;
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 5px;
}
.database-nav{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	border-bottom: 6px solid #142F71;
	padding-bottom: 8px;
}
.database-nav-item{
	max-width: 716px;
	width: 100%;
}
.database-nav-item:nth-child(2){
	margin-left: 10px;
}
.database-nav-item-link{
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	display: block;
	height: 55px;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	background: transparent;
	color: #142F71;
	border: 1px solid #142F71;
	line-height: 1.3;
	cursor: pointer;
}
.database-nav-item-link.is-active{
	color: #fff;
	background: #142F71;
	cursor: initial;
	position: relative;
}
.database-nav-item-link.is-active::after{
	position: absolute;
	content: '';
	width: calc(100% + 2px);
	height: 10px;
	background: #142F71;
	top: 100%;
	left: -1px;
}
.database-content{
	display: none;
}
.database-content.is-show{
	display: block;
}

.database-list{
	margin: 40px auto 15px;
	max-width: 1176px;
}
.database-item{
	margin: 0 auto 60px;
	max-width: 480px;
	width: 100%;
}
.database-item-txt{
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-top: 20px;
}
.database-item-txt .--l{
	font-size: 3rem;
}
.database-item-txt .--blue{
	color: #142F71;
}

.database-note{
	text-align: right;
	font-size: 1rem;
	margin-top: 30px;
}
@media screen and (min-width: 600px) {
	.database{
		padding: 3em 0 3em;
	}
	.database-lead{
		font-size: 2.4rem;
	}
	.database-nav-item-link{
		font-size: 2.4rem;
		height: 96px;
	}
	.database-note{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1024px) {
	.database-list{
		display: -webkit-box;
		display: flex;
		justify-content: space-between;
	}
	.database-item{
		margin: 0;
		width: 47%;
	}
	.database-nav-item-link{
		font-size: 2.8rem;
	}
	.database-item-txt{
		font-size: 2.4rem;
		margin-top: 35px;
	}
	.database-item-txt .--l{
		font-size: 3.6rem;
	}
}
/* ======================================
	point
====================================== */
.point-item{
	background: #DCECF5;
	padding: 60px 20px 20px;
	position: relative;
	max-width: 500px;
	margin: 70px auto 0;
}
.point-item-num{
	color: #fff;
	text-align: center;
	line-height: 1.2;
	position: absolute;
	top: -25px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 70px;
	height: 70px;
	z-index: 2;
}
.point-item-num::after{
	position: absolute;
	content: '';
	width: 70px;
	height: 70px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background: #142F71;
	top: -10px;
	left: 0;
	z-index: -1;
}
.point-item-num .en{
	display: block;
	font-size: 1.4rem;
}
.point-item-num .num{
	display: block;
	font-size: 3.2rem;
}
.point-item-ttl{
	text-align: center;
	font-size: 2rem;
}
.point-item-ttl sup{
	font-size: 1.2rem;
	top: 0;
  vertical-align: super;
}
.point-item-ttl .--sky{
	color: #007FC3;
	font-weight: bold;
}
.point-item-img{
	max-width: 294px;
	width: 100%;
	margin: 14px auto 0;
}
.point-item-txt{
	font-size: 1.5rem;
	margin: 16px auto 0;
	text-align: center;
	line-height: 2;
}
.point-item-txt .--line{
	background: #FFF100;
	font-weight: 700;
}
.point-note{
	text-align: right;
	font-size: 1rem;
	font-weight: 500;
	margin-top: 10px;
}
@media screen and (min-width: 600px) {
	.point{
		padding-bottom: 72px;
	}
	.point-list{
		margin-top: 90px;
	}
	.point-item{
		padding: 70px 15px 32px;
	}
	.point-item-num,
	.point-item-num::after{
		width: 80px;
		height: 80px;
	}
	.point-item-num::after{
		top: -14px;
	}
	.point-item-num .en{
		font-size: 2rem;
	}
	.point-item-img{
		width: 74.8%;
		max-width: 100%;
	}
	.point-item-txt{
		margin: 22px auto 0;
	}
	.point-note{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1024px) {
	.point-list{
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
	}
	.point-item{
		width: 32.5%;
		max-width: 448px;
		margin: 0;
	}
}
@media screen and (min-width: 1280px){
	.point-item-ttl{
		font-size: 2.4rem;
	}
	.point-item-txt{
		font-size: 1.6rem;
	}
}
/* ======================================
	voice
====================================== */
.voice{
	background: #F3F3F3;
}
.voice .inner{
	max-width: 1350px;
}
.voice-item{
	margin-top: 20px;
	padding-top: 30px;
	position: relative;
}
.voice-item:nth-child(2){
	padding-top: 56px;
}
.voice-item-left{
	max-width: 360px;
	width: 100%;
	margin: 20px auto 0;
}
.voice-item-cap{
	font-size: 1.2rem;
	line-height: 1.42;
	margin-top: 10px;
}
.voice-item-cap span{
	font-weight: bold;
}
.voice-item-right{
	max-width: 360px;
	width: 100%;
	margin: 0 auto;
}
.voice-item-txt{
	color: #007FC3;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.846;
	background: url(../img/voice_talk_sp.png) no-repeat center center / 100%;
	padding: 40px 20px 25px 20px;
}
.voice-item-catch{
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	position: absolute;
	top: 10px;
	left: 0;
	width: 100%;
}
@media screen and (min-width: 375px){
	.voice-item-txt{
		font-size: 1.5rem;
	}
}
@media screen and (min-width: 600px){
	.voice-item{
		margin-top: 50px;
		padding-top: 45px;
	}
	.voice-item:nth-child(2){
		padding-top: 68px;
	}
	.voice-item-catch{
		margin-top: 10px;
	}
}
@media screen and (min-width: 1024px){
	.voice{
		padding-bottom: 0;
	}
	.voice-item{
		display: flex;
		justify-content: center;
		margin-top: 32px;
		padding-top: 0;
	}
	.voice-item-left{
		margin: 0 27px 0 0;
		width: 35%;
	}
	.voice-item-cap{
		font-size: 1.4rem;
	}
	.voice-item-right{
		margin: 0;
		max-width: 684px;
		width: 63%;
	}
	.voice-item-txt{
		background-image: url(../img/voice_talk.png);
		font-size: 1.8rem;
		padding: 38px 20px 38px 80px;
	}
	.voice-item-catch{
		margin-top: 15px;
		position: initial;
	}
}
@media screen and (min-width: 1280px){
	.voice-item{
		
	}
	.voice-item-txt{
		padding: 38px 20px 38px 100px;
		font-size: 2rem;
	}
}
@media screen and (min-width: 1440px){
	.voice-item-left{
		max-width: 461px;
	}
	.voice-item-right{
		max-width: 844px;
	}
	.voice-item-txt{
		font-size: 2.6rem;
	}
	.voice-item-catch{
		font-size: 2.2rem;
		margin-top: 25px;
	}
}

/* ======================================
	qa
====================================== */
.qa{
	background: #F3F3F3;
}
.qa-item{
	background: #fff;
	margin-bottom: 14px;
}
.qa-item-q{
	background: #142F71;
	padding: 15px 40px 15px 15px;
	cursor: pointer;
	position: relative;
}
.qa-item-q::after{
	position: absolute;
	content: '';
	top: 50%;
	right: 20px;
	width: 10px;
	height: 10px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.qa-item-q.is-active::after{
	-webkit-transform: translateY(-50%) rotate(225deg);
	transform: translateY(-50%) rotate(225deg);
}
.qa-item-q-txt{
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	display: -webkit-box;
	display: flex;
}
.qa-item-q-txt img,
.qa-item-a-txt1 img{
	width: 25px;
	height: 25px;
	margin-right: 5px;
}
.qa-item-a{
	background: #fff;
	padding: 14px;
	display: none;
}
.qa-item-a-txt1{
	color: #FF8200;
	font-weight: bold;
	font-size: 1.6rem;
	display: -webkit-box;
	display: flex;
}
.qa-item-a-txt2{
	font-weight: 500;
	font-size: 1.6rem;
	margin-top: 16px;
	padding: 0 10px 0 29px;
}
@media screen and (min-width: 600px) {
	.qa-item-q-txt,
	.qa-item-a-txt1{
		font-size: 1.8rem;
	}
}
@media screen and (min-width: 1024px) {
	.qa{
		padding-bottom: 24px;
	}
	.qa-list{
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.qa-item{
		width: 48.5%;
		margin-bottom: 40px;
	}
	.qa-item-q{
		min-height: 88px;
		padding: 10px 24px;
		cursor: initial;
		pointer-events: none;
	}
	.qa-item-q::after{
		display: none;
	}
	.qa-item-q-txt img,
	.qa-item-a-txt1 img{
		width: 32px;
		height: 32px;
		margin-right: 12px;
	}
	.qa-item-a{
		padding: 24px;
	}
	.qa-item-a-txt2{
		padding: 0 10px 0 44px;
	}
}
@media screen and (min-width: 1281px){
	.qa-item-q-txt,
	.qa-item-a-txt1{
		font-size: 2rem;
	}
}
