@charset 'UTF-8';
/*--------------------------------------------------
共通
--------------------------------------------------*/
/*flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
{-webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  -ms-transform: translate(0%,-50%);
  -o-transform: translate(0%,-50%);
  transform: translate(0%,-50%);}
*/
body{
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 1px;
  color: #040348;
}
.position_r{
	position: relative;
}
.common_section{
  padding: 100px 0;
  margin: 0;
  position: relative;
}

/*タイトル=======================*/
.sub_title_mini{ font-size: 30px; }
.sub_title{
  font-size: 65px;
  font-weight: 700;
  line-height: 70px;
  color: #13138E;
  text-align: center;
  margin: 0 0 80px;
  text-shadow: 3px 3px 0 #C4F7DC;
}
/*ボタン=======================*/
.common_btn{
  display: block;
  position: relative;
  text-align: center;
  text-decoration: none;
  color: #040348;
  background-color: #F7E85E;
  border: 2px solid #040348;
  border-radius: 50px;
  box-shadow: 3px 3px 0 #040348;
  font-size: 25px;
  font-weight: 600;
  width: 100%;
  max-width: 470px;
  margin: 0 auto;
  padding: 20px 50px;
  transition: 0.3s;
}
.common_btn:visited{ color: #040348; }
.common_btn:hover{
  color: #040348;
  box-shadow: 0px 0px 0 #040348;
  background-color: #fff389;
}
.btn_angle{
  width: 25px;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
  transition: 0.3s;
}
.common_btn:hover .btn_angle{ right: 15px; }

.btn_pop_in_blue{ background-color: #44EAE5; }
.btn_pop_in_blue:hover{ background-color: #a0fffc; }

.btn_purple{ background-color: #C4B4EF; }
.btn_purple:hover{ background-color: #e6dcff; }

.btn_pink{ background-color: #f2b1e9; }
.btn_pink:hover{ background-color: #ffd5f9; }

/*LINE*/
.line_btn{
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #1DCD00;
  border: 3px solid #040348;
  border-radius: 20px;
  box-shadow: 3px 3px 0 #040348;
  width: 100%;
  max-width: 400px;
  font-size: 28px;
  font-weight: 700;
  padding: 20px;
  margin: 0 auto;
  transition: 0.3s;
}
.line_icon{
  width: 40px;
  margin-right: 25px;
}
.line_btn:hover{
  color: #fff;
  box-shadow: 0px 0px 0 #040348;
  background-color: #6ddf5a;
}


/*背景=======================*/
.bg_memphis_pattern{ position: relative; }
.bg_memphis_pattern:before{
  content: '';
  background-image: url(images/bg_memphis.svg);
  background-repeat: repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-size: 1920px;
  opacity: 0.2;
  z-index: -2;
}
.bg_yellow{ background-color: #F7E85E; }

/*メンフィス=======================*/
.memphis{
  position: absolute;
  pointer-events: none;
}

/*その他=======================*/
.sp_nobr:before{
  content: "\A" ;
  white-space: pre ;
}
.ofi{
  height: 100%;
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover';
}
.nobr{ white-space: nowrap; }

@media only screen and (max-width: 600px) {
  /*flex{
  flex-direction: column;}*/
  /*タイトル=======================*/
  .sub_title_mini{ font-size: 25px; }
  .sub_title{
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 50px;
  }
  /*ボタン=======================*/
  .common_btn{
    font-size: 16px;
    padding: 20px 30px 20px 10px;
    max-width: 320px;
  }
  .btn_angle{
    width: 20px;
    right: 15px;
  }
  .common_btn:hover .btn_angle{ right: 10px; }
  .line_btn{
    font-size: 20px;
    line-height: 15px;
    max-width: 300px;
  }
  .line_icon{
    width: 30px;
    margin-right: 15px;
    vertical-align: text-bottom;
  }
  /*背景=======================*/
  .bg_memphis_pattern:before{ background-size: 900px;}

  /*その他=======================*/
  .sp_br:before{
    content: "\A" ;
    white-space: pre ;
  }
  .sp_nobr:before{
    content: "" ;
  }
  .order{
    order: 1;
  }
}

/*--------------------------------------------------
ヘッダー
--------------------------------------------------*/

/*--------------------------------------------------
トップページ
--------------------------------------------------*/
/*メインビジュアル=======================*/
.main_visual{
  width: 100%;
  position: relative;
  margin: 0;
}

/*小千谷とつながる=======================*/
.tsunagaru_frame{
  border: 5px solid #13138E;
  border-radius: 50px;
  position: relative;
  width: 100%;
  padding: 0 40px 40px;
}
.about_title{
  font-size: 35px;
  font-weight: 600;
  line-height: 55px;
  text-align: center;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  -o-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
}
.tsunagaru_white_obi{
  background-color: #fff;
  padding: 10px;
}
.tsunagaru_title{
  font-size: 45px;
  font-weight: 600;
  text-align: center;
  margin: 80px auto 0;
}
.font_line_color{ color: #1DCD00; }
.tt_marker{
  background: linear-gradient(transparent 45%, #fffb78 0%);
  -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.read_text{
  text-align: center;
  font-size: 25px;
  font-weight: 600;
  line-height: 50px;
  margin: 30px auto 40px;
  position: relative;
  z-index: 1;
}
.point_title{
  width: 100%;
  max-width: 250px;
  margin: 70px auto 0;
  -webkit-transform: translate(0%,20%);
  -moz-transform: translate(0%,20%);
  -o-transform: translate(0%,20%);
  transform: translate(0%,20%);
}
.point_box{
  border: 4px solid #B0E8F4;
  border-radius: 20px;
  background-color: #fff;
  padding: 30px 20px;
  margin: 0 auto;
  width: 100%;
  max-width: 300px;
  height: 100%;
  text-align: center;
}
.point_box p{
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  margin-top: 20px;
}
.point_icon{
  text-align: center;
  max-height: 150px;
  height: 15vw;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.point_icon img{
  max-width: 130px;
  width: 13vw;
  max-height: 150px;
  height: 15vw;
}
/*メンフィス*/
.tunagaru_memphis_top{
  width: 22vw;
  max-width: 200px;
  top: -60px;
  left: -100px;
}
.tunagaru_memphis_bottom{
  width: 80vw;
  max-width: 400px;
  bottom: -70px;
  right: -150px;
}

@media only screen and (max-width: 1200px) {
  .tunagaru_memphis_top{ left: -50px; }
  .tunagaru_memphis_bottom{ right: -50px; }
}

@media only screen and (max-width: 600px) {
  .tsunagaru_frame{
    border-width: 4px;
    padding: 0 15px 0px;
    border-radius: 30px;
  }
  .about_title{
    font-size: 5vw;
    line-height: 7.5vw;
  }

  .tsunagaru_title{
    margin: 80px auto 30px;
    font-size: 30px;
  }
  .tsunagaru_white_obi{ padding: 2px 10px; }
  .read_text{
    margin-top: 0;
    font-size: 20px;
    line-height: 40px;
  }
  .point_title{
    max-width: 200px;
    width: 40vw;
    margin-top: 40px;
  }
  .point_box{
    max-width: 260px;
    padding: 20px 1vw;
    border-width: 3px;
    border-radius: 15px;
  }
  .point_box p{
    /*font-size: 18px;*/
    font-size: 3vw;
    line-height: 4.4vw;
    margin-top: 10px;
  }
  .point_icon{ height: 17vw; }
  .point_icon img{
    width: 17vw;
    height: 17vw;
  }
  .tunagaru_memphis_top{ top: -95px; }
  .tunagaru_memphis_bottom{ width: 57vw; }
}

@media only screen and (max-width: 500px) {
  .tsunagaru_title{
      -webkit-transform: translate(0%,-25%);
      -moz-transform: translate(0%,-25%);
      -o-transform: translate(0%,-25%);
      transform: translate(0%,-25%);
    }
  .read_text{
    font-size: 18px;
    line-height: 35px;
  }
}

/*対象者=======================*/
.target_bg{
  position: relative;
  padding: 120px 0 200px;
  margin: 0 auto -100px;
}
.target_bg:before{
  content: '';
  background-color: #B0E8F4;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  clip-path:polygon(0 0, 100% 6%, 100% 90%, 0 100%);
}
.title_under_text{
  font-size: 25px;
  font-weight: 600;
  text-align: center;
  margin: 0 auto 50px;
}
.target_tut{
  margin-bottom: 100px;
}
.tut_atte{ font-size: 18px; }
.target_box{
  background-color: #fff;
  border: 4px solid #79F2B8;
  border-radius: 20px;
  padding: 30px 20px 30px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 35px;
  height: 100%;
  position: relative;
}
.target_text_atte{ font-size: 12px; }
.target_alphabet{
  border: 3px solid #040348;
  border-radius: 10px;
  text-align: center;
  font-size: 48px;
  font-weight: 700;
  line-height: 65px;
  width: 75px;
  height: 75px;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
}
.target_a_red{ background-color: #ED1B70; }
.target_a_green{ background-color: #31D3C3; }
.target_a_yellow{ background-color: #FCC927; }

/*おぢやつつみとは アコーディオン*/
.con_yellow_frame{
  border: 4px solid #FCC927;
  border-radius: 20px;
  background-color: #FFFCE9;
  padding: 20px;
  position: relative;
  margin-top: 40px;
}
#tutumi_aco_btn{
  font-size: 40px;
  color: #13138E;
  text-align: center;
  margin: 0;
  position: relative;
  cursor: pointer;
}
.tutumi_aco_content{
  padding: 30px 0;
}
.tutumi_aco_content .common_btn{ margin-top: 50px; }
.tutumi_taeget_title{
  font-size: 20px;
  margin: 30px 0 20px; 
}
.t_aco_angle{
  background-color: #13138E;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  padding: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
  transition: 0.3s;
}
.t_aco_angle img{
  width: 25px;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

#tutumi_aco_btn.active .t_aco_angle{
  -webkit-transform: translate(0%,-50%) rotate(90deg);
  -moz-transform: translate(0%,-50%) rotate(90deg);
  transform: translate(0%,-50%) rotate(90deg);
}
/*メンフィス*/
.memphis_target_1{
  width: 60vw;
  max-width: 360px;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-transform: translate(-45%,-50%);
  -moz-transform: translate(-45%,-50%);
  transform: translate(-45%,-50%);
}
.memphis_target_2{
  width: 45vw;
  max-width: 300px;
  top: 50px;
  right: 0;
  z-index: -1;
  -webkit-transform: translate(65%,0);
  -moz-transform: translate(65%,0);
  transform: translate(65%,0);
}

.memphis_aco{
  right: 0px;
  bottom: 0px;
  width: 55vw;
  max-width: 380px;
  -webkit-transform: translate(28%,63%);
  -moz-transform: translate(28%,63%);
  transform: translate(28%,63%);
}
@media only screen and (max-width: 1200px) {
  .memphis_target_2{
    -webkit-transform: translate(30%,0);
    -moz-transform: translate(30%,0);
    transform: translate(30%,0);
  }
}

@media only screen and (max-width: 600px) {
  .target_bg{ padding: 120px 0 150px; }
  .memphis_target_1{
    -webkit-transform: translate(-20%,-100%);
  -moz-transform: translate(-20%,-100%);
  transform: translate(-20%,-100%);
  }
  .memphis_target_2{ display: none;}
  .title_under_text{ font-size: 18px; }
  .target_tut{ margin-bottom: 60px; }
  .tut_atte{ font-size: 14px; }

  .target_box{
    padding: 10px 20px 25px;
    max-width: 400px;
    margin: 0 auto 20px;
    font-size: 18px;
    height: auto;
  }
  .target_alphabet{
    right: auto;
    left: 10px;
    width: 55px;
    height: 55px;
    font-size: 32px;
    line-height: 45px;
    -webkit-transform: translate(0%,-60%);
    -moz-transform: translate(0%,-60%);
    transform: translate(0%,-60%);
  }
  /*おぢやつつみとは アコーディオン*/
  .con_yellow_frame{
    margin-top: 20px;
    padding: 25px 20px;
  }
  #tutumi_aco_btn{
    font-size: 27px;
    text-align: left;
  }
  .t_aco_angle{
    width: 35px;
    height: 35px;
    right: 0;
  }
  .t_aco_angle img{ width: 20px; }
  .tutumi_aco_content{ padding: 20px 0; }
  .tutumi_aco_content .common_btn{ margin-top: 30px; }
}
@media only screen and (max-width: 400px) {
  #tutumi_aco_btn{ font-size: 6vw; }
  .t_aco_angle{
    width: 30px;
    height: 30px;
  }
  .t_aco_angle img{ width: 15px; }
}

/*コンテンツ=======================*/
.target_bg + .bg_memphis_pattern{ padding-top: 140px; }
.content_frame{
  border-radius: 50px;
  border: 5px solid #000;
  margin-top: 100px;
  position: relative;
}
.con_pink_frame{
  border-color: #F9C5D9;
  background-color: #FFEEF5;
}
.con_yellow_frame_nopadding{
  border-color: #FCC927;
  background-color: #FFFCE9;
}
.con_purple_frame{
  border-color: #C4B4EF;
  background-color: #F2EEFF;
}
.con_l_blue_frame{
  border-color: #44EAE5;
  background-color: #DEFFFD;
}
.con_frame_padding{
  padding: 40px 20px;
  margin-top: 0;
}
.content_frame_tag{
  font-size: 23px;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
  letter-spacing: 3px;
}
.content_frame_tag span{
  padding: 5px 15px;
  border: 3px solid #040348;
  border-radius: 50px;
}
.cftag_green span{ background-color: #C4F7DC; }
.cftag_pink span{ background-color: #F9C5D9; }
.cftag_yellow span{ background-color: #fff597; }

.content_title{
  text-align: center;
  font-size: 50px;
  font-weight: 700;
  color: #13138E;
  margin: 0 0 40px;
}
.img_border_cover{
  border-radius: 15px;
  border: 2px solid #13138E;
  overflow: hidden;
}
.img_border_cover img{ width: 100%; }
.image_caption{
  font-size: 25px;
  font-weight: 600;
  text-align: center;
}

/*受け取った人の声*/
.voice_area_pink{
  padding: 40px 20px;
  border-radius: 40px;
  background-color: #F9C5D9;
  border: 5px solid #F9C5D9;
}
.voice_area_title{
  font-size: 30px;
  margin: 0 0 -10px -10px;
  position: relative;
  z-index: 1;
}
.voice_a_title_img{
  margin-right: 20px;
  width: 100%;
  max-width: 250px;
  vertical-align: middle;
}
.con_present_voice{
  margin-bottom: 30px;
  border: 3px solid #040348;
  position: relative;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px 15px;
  display: -webkit-box;
  display: flex;
  align-items: flex-start;
}
.con_p_voice_icon_area{
  border: 2px solid #040348;
  max-width: 140px;
  width: 50vw;
  max-height: 140px;
  height: 50vw;
  border-radius: 100%;
  overflow: hidden;
}
.con_p_voice_textarea{
  width: 100%;
  margin: 0;
  padding-left: 15px;
}
.voice_title{
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
/*ふるさと納税*/
.hurusato_area_yellow{
  padding: 40px 20px;
  border-radius: 40px;
  background-color: #FCC927;
  border: 5px solid #FCC927;
}
.furusato_box{
  border-radius: 15px;
  border: 3px solid #040348;
  background-color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 23px;
  font-weight: 600;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}


/*メンフィス・イラスト*/
.content_title_memphis_1{
  width: 25vw;
  max-width: 200px;
  top: 0;
  left: -10px;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
  z-index: -1;
}
.content_title_memphis_2{
  width: 25vw;
  max-width: 200px;
  bottom: -10px;
  right: -10px;
  -webkit-transform: translate(0%,50%);
  -moz-transform: translate(0%,50%);
  transform: translate(0%,50%);
  z-index: -1;
}
.content_present_illust{
  width: 23vw;
  max-width: 170px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-20%,-30%);
  -moz-transform: translate(-20%,-30%);
  transform: translate(-20%,-30%);
}
.memphis_con_voice1{
  width: 40vw;
  max-width: 150px;
  bottom: -10px;
  right: 2px;
}
.memphis_con_voice2{
  width: 40vw;
  max-width: 180px;
  bottom: -20px;
  right: -10px;
}
.memphis_furusato{
  width: 30vw;
    max-width: 260px;
    min-width: 150px;
  top: 0px;
  right: -30px;
}
.memphis_shienkin{
  width: 30vw;
  max-width: 200px;
  min-width: 130px;
  right: -60px;
  bottom: -30px;
}
.memphis_popin{
  width: 50vw;
  max-width: 320px;
  min-width: 230px;
  bottom: -30px;
  left: -50px;
}

@media only screen and (max-width: 1000px) {
  .content_present_illust{
    -webkit-transform: translate(0%,-70%);
    -moz-transform: translate(0%,-70%);
    transform: translate(0%,-70%);
  }
  .memphis_shienkin{
    right: -20px;
    bottom: -40px;
  }
}
@media only screen and (max-width: 800px) {
  .memphis_con_voice1{ bottom: -30px; }
  .furusato_box{
    font-size: 3.2vw;
    padding: 20px 1vw;
    height: 30vw;
    max-height: 150px;
  }
  .furusato_box p{ line-height: 4.7vw; }
}
@media only screen and (max-width: 600px) {
  .target_bg + .bg_memphis_pattern{
    padding-top: 60px;
  }
  .content_frame{
    border-radius: 40px;
    border-width: 4px;
    margin-top: 70px;
  }
  .con_frame_padding{ padding: 40px 10px; }
  .content_frame_tag{ font-size: 20px; }
  .content_frame_tag span{ padding: 3px 10px; }
  .content_title{
    font-size: 30px;
    margin-bottom: 20px;
  }
  .image_caption{
    font-size: 16px;
  }
  /*受け取った人の声*/
  .voice_area_pink{
    padding: 0 10px 50px;
    border-radius: 30px;
  }
  .con_present_voice:last-child{ margin-top: 100px; }
  .voice_area_title {
    margin: 0 0 10px -10px;
    font-size: 4.6vw;
  }
  .voice_a_title_img{
    max-width: 150px;
    width: 33vw;
    margin-right: 10px;
  }
  .con_present_voice{
    flex-direction: column;
    padding-top: 80px;
    margin: 80px auto 0px;
    padding-bottom: 30px;
  }
  .con_p_voice_textarea{ padding-left: 0;}
  .con_p_voice_text{
    font-size: 15px;
    line-height: 26px;
  }
  .con_p_voice_icon_area{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transform: translate(0%,-50%);
    -moz-transform: translate(0%,-50%);
    transform: translate(0%,-50%);
  }
  .con_p_voice_name{ font-size: 14px; }
  .memphis_con_voice1{ bottom: -20px; }
  /*ふるさと納税*/
  .hurusato_area_yellow{
    padding: 0 10px 10px;
    border-radius: 30px;
  }
}
@media only screen and (max-width: 400px) {
  .content_title{ font-size: 25px; }
}



/*ご登録の流れ=======================*/
.flow_section{
  background-color: #F9C5D9;
  padding: 60px 20px 80px;
  width: 90%;
  max-width: 1800px;
  margin: 0 auto;
  -webkit-border-radius: 50px 50px 0px 0px / 50px 50px 0px 0px;
  -moz-border-radius: 50px 50px 0px 0px / 50px 50px 0px 0px;
  border-radius: 50px 50px 0px 0px / 50px 50px 0px 0px;
}
.flow_frame{
  background-color: #fff;
  padding: 30px 30px 60px;
  border: 5px solid #13138E;
  border-radius: 40px;
  position: relative;
  z-index: 1;
}
.flow_logo{
  width: 70vw;
  min-width: 260px;
  max-width: 390px;
  margin: 0 auto 20px;
  display: block;
}
/*.flow_flex{
  display: flex;
  margin-bottom: 50px;
}*/
.flow_col_textarea{
  width: 100%;
  /*padding-right: 20px;*/
}
/*.flow_col_imgarea{
  width: 40vw;
  max-width: 260px;
}*/

.flow_content{
  border-bottom: 2px solid #040348;
  padding: 0 0 20px;
  position: relative;
  margin-bottom: 30px;
}
.flow_content:before{
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: inline-block;
  border-top: 15px solid #040348;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  width: 30px;
  -webkit-transform: translate(0%,100%);
  -moz-transform: translate(0%,100%);
  transform: translate(0%,100%);
}
.flow_content:last-child:before{ content: none; }
.flow_titlearea{
  display: flex;
  align-items: flex-start;
}
.flow_num{
  font-size: 27px;
  font-weight: 600;
  text-align: center;
  width: 50px;
  min-width: 50px;
  height: 50%;
  border: 2px solid #040348;
  border-radius: 100%;
}
.flow_n_pink{ background-color: #F2B1E9; }
.flow_n_yellow{ background-color: #F7E85E; }
.flow_n_l_blue{ background-color: #B0E8F4; }
.flow_n_green{ background-color: #C4F7DC; }
.flow_num p{ line-height: 45px; }
.flow_text{
  width: 100%;
  margin-left: 10px;
  font-size: 25px;
  font-weight: 600;
  line-height: 30px;
}
.flow_img_cover{
  display: block;
  width: 100%;
  max-width: 600px;
  margin: 20px auto 0;
  border: 3px solid #B0E8F4;
  border-radius: 10px;
  overflow: hidden;
}
.flow_person_img{
  display: block;
  margin: 20px auto;
  width: 40vw;
  max-width: 260px;
  min-width: 150px;
}
/*メンフィス*/
.memphis_flow1{
  width: 40vw;
  max-width: 240px;
  top: -95px;
  left: -120px;
}
.memphis_flow2{
  width: 50vw;
  max-width: 300px;
  min-width: 200px;
  right: 0;
  bottom: -20px;
  -webkit-transform: translate(50%,40%);
  -moz-transform: translate(50%,40%);
  transform: translate(50%,40%);
}


@media only screen and (max-width: 900px) {
  .flow_flex{
    flex-direction: column;
    margin-bottom: 20px;
  }
  .flow_col_textarea{ padding-right: 0; }
  .flow_col_imgarea{ margin: 0px auto; }
}
@media only screen and (max-width: 600px) {
  .flow_section{ width: calc(100% - 20px); }
  .flow_section{ padding: 70px 10px 100px; }
  .flow_frame{
    padding: 30px 20px 60px;
    border-width: 4px;
    border-radius: 30px;
  }

  .flow_content{ align-items: baseline; }
  .flow_num{
    width: 40px;
    min-width: 40px;
    height: 40px;
    font-size: 20px;
  }
  .flow_num p{ line-height: 35px; }
  .flow_text{ font-size: 18px; }

  .memphis_flow1{
    top: -130px;
    left: auto;
    right: 40px;
  }
  .memphis_flow2{
    right: 15px;
    bottom: -40px;
  }
}

/*利用者の声=======================*/
.voice_illust{
  width: 16vw;
  max-width: 170px;
  min-width: 100px;
  position: absolute;
  right: 130px;
  top: -50px;
  z-index: -1;
}
.memphis_voice{
  width: 30vw;
  min-width: 180px;
  max-width: 270px;
  top: -70px;
  left: -100px;
  z-index: -1;
}
.user_voice_area{
  border: 5px solid #F2B1E9;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px 15px;
  box-shadow: 10px 10px 0 #C4F7DC;
  width: 100%;
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
}
.uv_user_icon{
  border: 2px solid #040348;
  max-width: 140px;
  width: 50vw;
  max-height: 140px;
  height: 50vw;
  border-radius: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 1000px) {
  .voice_illust {
    width: 22vw;
    right: 10px;
    top: -85px;
  }
  .memphis_voice{
    left: -50px;
    top: -100px;
  }
}

@media only screen and (max-width: 600px) {
  .user_voice_area{
    flex-direction: column;
    font-weight: 4px;
        box-shadow: 7px 7px 0 #C4F7DC;
  }
  .uv_user_icon{ margin: 0 auto 10px; }
}

/*LINE=======================*/
.line_section{
  padding: 50px 0;
  position: relative;
}
.memphis_line_left{
  width: 30vw;
  min-width: 180px;
  max-width: 340px;
  top: 0;
  right: 74vw;
}
.memphis_line_right{
  width: 30vw;
  min-width: 180px;
  max-width: 400px;
  bottom: -30px;
  left: 65vw;
}
@media only screen and (max-width: 800px) {
  .memphis_line_left{ top: -50px;}
  .memphis_line_right{ bottom: -50px; }
}
@media only screen and (max-width: 600px) {
  .memphis_line_left{
    right: auto;
    left: -60px;
  }
  .memphis_line_right{
    left: auto;
    right: -60px;
  }  
}


/*よくある質問=======================*/
.faq_illust{
  width: 20vw;
  max-width: 100px;
  position: absolute;
  top: -30px;
  left: 5px;
  -webkit-transform: rotate(-20deg);
  -moz-transform: rotate(-20deg);
  transform: rotate(-20deg);
}
.question{
  position: relative;
  padding: 10px 50px 10px 70px;
  border-radius: 30px;
  background-color: #13138E;
  border: 3px solid #13138E;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}
.question:before{
  content: 'Q';
  text-align: center;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  position: absolute;
  top: 7px;
  left: 20px;
  width: 30px;
}
.question:after{
  content: '+';
  font-size: 30px;
  font-weight: 600;
  color: #fff;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
}
.question:hover{
  background-color: #3e3ef9;
}
.question.active:after{
  content: '-';
}
.answer{
  position: relative;
  padding: 10px 10px 10px 70px;
  border: 3px solid #13138E;
  border-radius: 15px;
  background-color: #fff;
}
.answer:before{
  content: 'A';
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  position: absolute;
  top: 7px;
  left: 20px;
  width: 30px;
}
.faq_area{ margin-bottom: 30px; }

@media only screen and (max-width: 600px) {
  .faq_illust{
    -webkit-transform: translate(0%,-100%) rotate(-20deg);
    -moz-transform: translate(0%,-100%) rotate(-20deg);
    transform: translate(0%,-100%) rotate(-20deg);
    top: 0;
  }
  .question{
    font-size: 16px;
    padding-left: 50px;
  }
  .question:before{
    left: 10px;
    top: 4px;
  }
  .answer{ padding-left: 50px; }
  .answer:before{ left: 10px; }
}
/*--------------------------------------------------
フッター
--------------------------------------------------*/
.footer_contact_frame{
  background-color: #fff;
  border: 5px solid #F2B1E9;
  border-radius: 30px;
  box-shadow: 10px 10px 0 #B0E8F4;
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
  padding: 50px 20px;
  text-align: center;
  position: relative;
}
.f_contact_title{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
}
.f_contact_title span{
  background-color: #fff;
  padding: 0 10px;
}
.f_contact_text{
  margin: 20px auto 0px;
}
.footer_mail{
  display: block;
  text-decoration: none;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  margin: 30px auto;
  transition: 0.3s;
  color: #040348;
}
.footer_mail:hover{ color: #6d6de5; }
.tel_icon{
  width: 30px;
  margin-right: 10px;
  vertical-align: middle;
}
.footer_bnr_area{ margin-top: 100px; }
.footer_bnr{
  display: block;
  border: 2px solid #040348;
  max-width: 300px;
  margin: 0 auto;
  transition: 0.3s;
}
.footer_bnr:hover{
  opacity: 0.5;
}
@media only screen and (max-width: 600px) {
  .footer_bnr_area{ margin-top: 80px; }
  .footer_contact_frame{ padding: 50px 15px 30px; }
  .f_contact_title{ font-size: 35px; }
  .f_contact_text{ margin: 10px auto 30px; }
  .footer_mail{ font-size: 18px; }
  .tel_icon{ width: 25px; }
  .footer_contact_frame .common_btn{
    font-size: 23px;
    padding: 15px 10px;
  }
}

/*--------------------------------------------------
luminous
--------------------------------------------------*/
.luminous{ width: 100%; }
.lum-lightbox{ z-index: 99; }
.lum-gallery-button {
  display: none !important;
}