@charset "utf-8";

/*
----------------------*/
/*
----------------------------------------*/
/*--------------------------------------------------------------------------
□TOPページ home
---------------------------------------------------------------------------*/
/*h_mainVisual
--------------------------------------*/
.h_mainVisual {
  background: #3075BF;
  background: linear-gradient(90deg, rgba(48, 117, 191, 1) 0%, rgba(72, 152, 215, 1) 50%, rgba(96, 185, 238, 1) 100%);
  width: 100%;
  height: 610px;
  padding: 6rem 0 6rem;
}
.h_mv_inr1080 {
  width: 1080px;
  margin: 0 auto;
}
.h_mainVisual h2 {
  background-color: #1A477F;
  color: #FFF;
  font-size: 6.2rem;
  font-family: "Yusei Magic", sans-serif;
  line-height: 1;
  padding: 1.4rem 3.6rem 1.8rem;
  text-align: center;
}
.h_mv_boxWrap {
  align-items: flex-end;
}
.h_mv_box {
  width: 500px;
}
.h_mv_boxImg {
  width: 580px;
}
.h_mv_box_catch {
  margin-top: 1rem;
}
.h_mv_box_catch span {
  background-color: #FFF;
  color: #1A477F;
  display: inline-block;
  font-size: 3.2rem;
  font-family: "Yusei Magic", sans-serif;
  padding: 0 1rem;
}
.h_mv_price {
  color: #FFF;
  font-family: "Yusei Magic", sans-serif;
  align-items: flex-end;
  margin-top: 2rem;
}
.h_mv_price_ttl {
  font-size: 2.4rem;
}
.h_mv_price_fee {
  background-color: var(--main-color);;
  font-size: 7.4rem;
  line-height: 6.2rem;
  margin-left: 1.2rem;
  padding: 1.2rem 1.2rem .4rem;
}
.h_mv_price_fee span {
  font-size: 3.6rem;
}
/*Main
---------------------------------------------------------------------------*/
/*h_intro
--------------------------------------*/
.h_intro .inrWrap980 {
  padding: 0 2rem;
  margin-top: 6rem;
}
.h_intro_txt{
  text-align: center;
}
.h_intro_voice {
  background-color: #CAE2FF;
  border-radius: 2rem;
  padding: 4rem 2rem 6rem;
  margin: 5rem auto 0;
  width: 720px;
}
.h_intro_vo_ttl {
  text-align: center;
}
.h_intro_vo_ttl h3 {
  font-size: 2.8rem;
  font-weight: 500;
}
.h_intro_vo_ttl p {
  font-size: 1.4rem;
}
.h_intro_vo_box{
  margin-top: 5rem;
}
.h_intro_vo_balloon {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 0 22px;
  margin-top: 2rem;
}
.h_intro_vo_balloon img {
  max-width: 70px;
  height: 100%;
  border-radius: 50%;
}
.h_intro_vo_balloon p {
  position: relative;
  max-width: 514px;
  margin: 3px 0 0;
  padding: .6em 0.8em;
  border-radius: 5px;
  background-color: #ffffff;
  color: #333333;
}
.h_intro_vo_balloon:nth-of-type(odd) p:before {
  position: absolute;
  left: -10px;
  width: 15px;
  height: 20px;
  background-color: #ffffff;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  content: '';
}
.h_intro_vo_balloon:nth-of-type(even) p::before {
  position: absolute;
  right: -10px;
  width: 15px;
  height: 20px;
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: '';
}
.h_intro_content{
  margin-top: 6rem;
}
.h_intro_content p{
  margin-top: 2rem;
}
.h_intro_floatArea{
  overflow: hidden;
}
.h_intro_float_space{
  float: right;
}
.intro_img1{
  float: right;
  clear: both;
  margin-left: 1rem;
}
/*h_feature
--------------------------------------*/
.h_feat_box{
  box-shadow: rgba(0, 0, 0, 0.2) 0 20px 30px;
  border-radius: .8rem;
  width: 300px;
  padding: 3rem 2rem 4rem;
  margin-top: 6rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .h_feat_box:not(:nth-of-type(1)) {
    margin-left: 4rem;
  }
}
.h_feat_box h4{
  font-size: 2rem;
  font-weight: 700;
  margin: 1rem 0;
}
.h_feat_box p{
  text-align: left;
}
.h_feat_txt_block{
  padding-top: 4rem;
}
.h_feat_txt_block p{
  margin-top: 1.4rem;
}
/*h_template
--------------------------------------*/
.h_template .inrWrap980{
  padding: 0 5rem;
}
.h_tmp_box{
  margin-top: 6rem;
  text-align: center;
}
.h_tmp_box img{
  box-shadow: rgba(0, 0, 0, 0.2) 0 20px 30px;
}
.h_tmp_box h5{
  font-size: 2rem;
  font-weight: 500;
  margin-top: 3rem;
}
.h_tmp_note{
  margin-top: 6rem;
}

@media screen and (min-width: 768px) {
  .h_tmp_boxWrap{
    justify-content: center;
  }
  .h_tmp_box:last-of-type{
    margin-left: 8rem;
  }
}
/*h_price
--------------------------------------*/
.h_pr_boxWrap{
  padding: 0 5rem;
}
.h_pr_box{
  border: 2px solid #000;
  padding: 3.4rem 3rem 4.2rem;
  width: 400px;
  margin-top: 8rem;
  text-align: center;
}
.h_pr_box h3{
  color: #1A477F;
  font-size: 3.2rem;
  font-weight: 500;
}
.h_pr_fee{
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-size: 4rem;
  font-weight: 500;
  margin-top: 2.2rem;
  padding: .5rem 0;
}
.h_pr_fee span{
  font-size: 2rem;
}
.h_pr_desc{
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .h_pr_box:nth-of-type(2){
    margin-left: 8rem;
  }
}
.h_pr_option{
  background-color: #F5F5F5;
  width: 100%;
  padding: 3rem 5rem;
  margin-top: 10rem;
  align-items: center;
}
.h_pr_option h4{
  border-right: 2px solid #000;
  font-size: 2rem;
  font-weight: 500;
  width: 128px;
}
.h_pr_opt_body{
  padding-left: 5rem;
  width: calc(100% - 128px);
}
.h_pr_opt_item{
  position: relative;
}
.h_pr_opt_item::before{
  content: "";
  border-bottom: 1px dashed #999;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 0;
}
.h_pr_opt_name{
  font-size: 1.8rem;
  background-color: #F5F5F5;
  position: relative;
  padding-right: 1rem;
}
.h_pr_opt_fee{
  font-size: 2rem;
  font-weight: 700;
  margin-left: auto;
  background-color: #F5F5F5;
  position: relative;
  padding-left: 1rem;
}
.h_pr_opt_fee span{
  font-size: 1.5rem;
}
.h_pr_standard{
  margin-top: 8rem;
  text-align: center;
}
.h_pr_ttl{
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
.h_pr_standard .imgWrap{
  margin-top: 6rem;
}
.h_pr_recommend{
  margin-top: 8rem;
  padding: 0 2rem;
}
.h_pr_rcmd_block{
  margin-top: 5rem;
}
.h_pr_rcmd_block h4 {
  background: rgb(0, 92, 170);
  background: url(../images/home/rcmd-icon-light.png) no-repeat 2rem 50% / 24px auto,
  linear-gradient(270deg, rgb(46, 132, 204) 0%, rgb(0, 92, 170) 100%);
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  padding: 0.8rem 2rem 0.8rem 5rem;
}
.h_pr_rcmd_inr{
  background-color: #F2F6FE;
  padding: 2.6rem 2rem 3rem;
}
.h_pr_rcmd_block p:not(:first-of-type) {
  margin-top: 1.4rem;
}
.h_pr_rcmd_note{
  text-indent: -1em;
  padding-left: 1em;
}
.h_pr_rcmd_note::before{
  content: "※";
}
.h_pr_etc{
  margin-top: 8rem;
  padding: 0 5rem;
}
.h_pr_etc .imgWrap{
  margin: 6rem 0;
}
.h_pr_etc p{
  margin-top: 1.4rem;
}
.h_pr_etc p span{
  font-weight: 700;
}
/*h_flow
--------------------------------------*/
.h_flow .inrWrap980{
  padding: 0 12rem;
}
.h_flow_block{
  padding: 3.4rem 0;
}
.h_flow_block:not(:first-of-type){
  border-top: .2rem solid var(--main-color);
}
.h_flow_stepNum{
  width: 84px;
  text-align: center;
}
.h_flow_content{
  width: calc(100% - 84px);
  padding-left: 3.2rem;
}
.h_flow_content h3{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.h_flow_note{
  font-size: 1.4rem;
}
/*h_faq
--------------------------------------*/
.h_faq_block{
  background-color: var(--bg-gray);
  margin-top: 3rem;
  padding: 3.2rem 4rem;
}
.h_faq_q_icon{
  background: var(--main-color);
  border-radius: 50%;
  padding: .7rem 1.3rem .9rem 1.3rem;
  width: 4rem;
  height: 4rem;
}
.h_faq_q_icon p{
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}
.h_faq_q_body{
  padding-left: 2rem;
  width: calc(100% - 4rem);
}
.h_faq_q_body h4{
  font-size: 2.2rem;
  font-weight: 700;
}
.h_faq_aLine{
  margin-top: 2rem;
}
.h_faq_a_icon{
  background-color: transparent;
  border: 1px solid  var(--main-color);
  border-radius: 50%;
  padding: .7rem 1.3rem .9rem 1.3rem;
  width: 4rem;
  height: 4rem;
}
.h_faq_a_icon p{
  color: var(--main-color);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}
.h_faq_a_body{
  padding-left: 2rem;
  padding-top: 0.8rem;
  width: calc(100% - 4rem);
}
.h_faq_a_body_note{
  font-size: 1.4rem;
}
/*--------------------------------------------------------------------------
□下層ページ
---------------------------------------------------------------------------*/

/*CONTACT
---------------------------------------------------------------------------*/
/*Main
---------------------------------------------------------------------------*/
.ctc_section .inrWrap980{
  padding: 0 1rem;
}
.ctc_note{
  text-align: right;
}
.ctc_formWrap{
  background-color: var(--bg-blue);
  padding: 8rem 14rem;
  margin-top: 0.8rem;
}
.ctc_intro_msg{
  margin-top: 6rem;
  text-align: center;
}
.ctc_note span{
  color: #FF0000;
}
/*進捗バー
----------------------------------------*/
.progressbar {
  position: relative;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 50rem;
  margin: 5rem auto;
}
.progressbar li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 33.333%;
  color: #999999;
  font-weight: 500;
}
.progressbar li:before {
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  margin: .7rem auto 2rem auto;
  content: '';
  text-align: center;
  border-radius: 50%;
  background-color: #F5F5F5;
}
.progressbar li:after {
  position: absolute;
  z-index: -1;
  top: 1.5rem;
  left: -50%;
  width: 100%;
  height: .2rem;
  content: '';
  background-color: #F5F5F5;
}
.progressbar li:first-child:after {
  content: none;
}
.progressbar li.active,
.progressbar li.complete {
  color: #0070BD;
}
.progressbar li.active:before,
.progressbar li.complete:before {
  background-color: #0070BD;
}
.progressbar li.active:after,
.progressbar li.complete:after {
  background-color: #0070BD;
}
/*フォーム設定
----------------------------------------*/
.form_item + .form_item {
  margin-top: 3rem;
}
.form_item_ttl {
  margin-bottom: 0.4rem;
}
.form_item_ttl span{
  color: #FF0000;
}
.form_item input:not([type="radio"],[type="checkbox"],[type="search"],[type="button"],[type="submit"],[type="file"]){
  border: 1px solid #AAAAAA;
  width: 100%;
  height: 5rem;
  padding: 0 1.6rem;
}
.ctc_select {
  border: 1px solid #AAAAAA;
  width: 32rem;
  height: 5rem;
  padding: 0 1.6rem;
  font-size: 1.6rem;
}
.form_item textarea {
  border: 1px solid #AAAAAA;
  width: 100%;
  padding: 1.6rem;
}
.form_item input[type="checkbox"] {
  width: 2.2rem;
  height: 2.2rem;
  vertical-align: middle;
}
.form_item_note1 a {
  text-decoration: underline;
  user-select: none;
}
.form_label_privacy{
  cursor: pointer;
  user-select: none;
}
.ctc_conf_msg{
  text-align: center;
  margin-bottom: 2rem;
}
.contact-confirm .form_item{
  background-color: #FFF;
  padding: 2rem;
  border-radius: .8rem;
}
.form_item_conf_out{
  font-weight: 500;
}
.form_noteArea{
  margin-top: 4rem;
  padding: 2rem;
  background-color: #ffffee;
  border-radius: .8rem;
}
.form_note1 span{
  color: #e10000;
  font-weight: 500;
  padding: 0 0.4rem;
}
.form_note2{
  font-size: 1.4rem;
  margin-top: 1.4rem;
}
.btnWrap-submit input{
  margin: 0 1rem;
}
.comp_msgArea{
  text-align: center;
}
/*PRIVACY
---------------------------------------------------------------------------*/
/*Main
---------------------------------------------------------------------------*/
.pvcy_section .inrWrap980{
  padding: 0 1rem;
}
.pvcy_contents{
  background-color: var(--bg-blue);
  padding: 8rem 6rem;
  margin-top: 8rem;
}
.pvcy_item + .pvcy_item{
  margin-top: 3rem;
}
.pvcy_item_ttl{
  color: var(--main-color);
  font-size: 1.8rem;
  font-weight: 700;
}
.pvcy_item_body{
  margin-top: .4rem;
}
.pvcy_item_body p + ul{
  margin-top: 1.4rem;
}
.pvcy_item_body ul li{
  text-indent: -1.9em;
  padding-left: 1.9em;
}
/*特定商取引法に関する表示
---------------------------------------------------------------------------*/
/*Main
---------------------------------------------------------------------------*/
.com_section .inrWrap980{
  padding: 0 1rem;
}
.com_contents{
  background-color: var(--bg-blue);
  padding: 8rem 6rem;
  margin-top: 8rem;
}
.com_item + .com_item{
  margin-top: 3rem;
}
.com_item_ttl{
  color: var(--main-color);
  font-size: 1.8rem;
  font-weight: 700;
}
.com_item_body{
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: .4rem;
}
.com_item_body img{
  vertical-align: inherit;
}