@charset "UTF-8";

#container {
  padding-top:150px;

}

@media print, screen and (min-width: 641px) {
  .nav_wrap {
    top: 1045px;
  }

}
/*==================================================================

  メインビジュアル

==================================================================*/
.top_mainvisual{
  display:block;
  position:relative;
  height: 1000px;
  background: url("../images/mv_bg_pt.jpg") top center repeat;
}
.top_mainvisual .mainvisual_wrap {
  background: url("../images/mainvisual_img.png") top center no-repeat;
  background-size:cover;
}
.mainvisual_wrap{
  height: 1000px;
}
.top_mainvisual .inner{
  height: inherit;
  max-width: 1200px;
  width: 90%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

/* キャッチフレーズ */
.mainvisual_catch{
  position:absolute;
  top: 22.4%;
  width: 58%;
}

.mv_catch_list {
  display: flex;
  gap: 0 8px;
  position: absolute;
  bottom: 43px;
  right: 0;
}
@media screen and (max-width: 1840px) {
  .mainvisual_catch {
    left: 8%;
  }
}
/*==================================================================

  .top_worried

==================================================================*/
.top_worried {
  text-align: center;
  background: url("../images/wor_bg_pt_blue.jpg") top center repeat;
  position: relative;
  overflow: hidden;
}
.top_worried_tit_wrapper {
  position: relative;
  background: #fff;
}
.top_worried_tit_wrapper::before{
  position: absolute;
  bottom: -71%;
  left: 0;
  background: url("../images/wor_cloud.png") bottom center no-repeat;
  width: 100%;
  height:71%;
  content: "";
  background-size: 100%
}
.top_worried .tit01_en::before {
  position: absolute;
  top: -140px;
  left: 0;
  background: url("../images/wrr_bg01_left.png") top left no-repeat;
  width: 24%;
  max-width:358px;
  height: 790px;
  content: "";
  background-size: 100%;
}
.top_worried .tit01_en::after {
  position: absolute;
  top: -140px;
  right: 0;
  background: url("../images/wrr_bg01_right.png") top right no-repeat;
  width: 24%;
  max-width:338px;
  height: 889px;
  content: "";
  background-size: 100%;
}
.top_worried_tit {
  margin-top: -14px;
  padding-left: 3%;

  position: relative;
  z-index: 3;
  padding-bottom: 20px;
}

.top_worried_tit img.item02 {
  position: relative;
  top: 56px;
  left: -50px;
}
.top_worried .tit01_en {
  display: block;
  text-align: center;
  padding-top:178px;
  position: relative;
  background: #fff;
}

.top_worried .tit01_en span {
  position: relative;
}
.top_worried .tit01_en span::before {
  position: absolute;
  top: -102px;
  left: 8px;
  background: url("../images/wor_ill01.png") bottom center no-repeat;
  width: 30%;
  max-width: 89px;
  height: 120px;
  background-size: 100%;
  content: "";
}
.top_worried .tit01_en span::after {
  position: absolute;
  top: -102px;
  right: 8px;
  background: url("../images/wor_ill02.png") bottom center no-repeat;
  width: 30%;
  max-width: 76px;
  height: 111px;
  background-size: 100%;
  content: "";
  z-index: 1;
}


.top_worried_list01_wrapper {
  position: relative;
  
  background-size: 100%;
  padding-bottom: 80px;
  z-index: 2;
}
.top_worried_list01_wrapper_kazari {
  /*position: absolute;
  bottom: -77%;*/
  left: 0;
  background: url("../images/wor_cloud02.png") center no-repeat;
  width: 100%;
  height: 100%;
  content: "";
  background-size: 100%;
  z-index: -1;
}

.top_worried_list01 {
  display: flex;
  justify-content: center;
  gap: 0 1.3%;
  flex-wrap: wrap;
  max-width: 1200px;
  width: 90%;
  margin: 15% auto 0;
  position: relative;
  z-index: 1;
}

.top_worried_list01_wrapper::before {
  position: absolute;
  bottom: 80px;
  left: 5%;
  background: url("../images/wor_kikyu01.png") top center no-repeat;
  width: 25%;
  max-width: 263px;
  height: 321px;
  content: ""; 
  background-size: 100%;
}
.top_worried_list01_wrapper::after {
  position: absolute;
  bottom: 10px;
  right: 7%;
  background: url("../images/wor_kikyu02.png") top center no-repeat;
  width: 19%;
  max-width: 243px;
  height: 552px;
  content: ""; 
  background-size: 100%;
}

.top_worried_item01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24%;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  background: url("../images/wor_list01_item01.png") center center no-repeat;
  height:348px;
  padding-top: 72px;
  margin-bottom: 48px;

}
.top_worried_item01 span {
  display: flex;
  justify-content:center;
  align-items: center;
  height: 90px;
}
.top_worried_item01:nth-child(2) {
  background-image: url("../images/wor_list01_item02.png");
}
.top_worried_item01:nth-child(3) {
  background-image: url("../images/wor_list01_item03.png");
}
.top_worried_item01:nth-child(4) {
  background-image: url("../images/wor_list01_item04.png");
}
.top_worried_item01:nth-child(5) {
  background-image: url("../images/wor_list01_item05.png");
}
.top_worried_item01:nth-child(6) {
  background-image: url("../images/wor_list01_item06.png");
}
.top_worried_item01:nth-child(7) {
  background-image: url("../images/wor_list01_item07.png");
}

.top_worried_list02_wrapper {
  position: relative;
  z-index: 2;
  
  background-size: 100%;
  padding-bottom: 18.7%;
}
.top_worried_list02_wrapper::before {
  position: absolute;
  background: url("../images/wor_sec02_bg.png") bottom center no-repeat;
  width: 100%;
  height: 100%;
  bottom: 8%;
  left: 0;
  background-size: 100%;
  content: "";
  z-index: -1;
}
.top_worried_list02_wrapper::after {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom:5%;
  background: url("../images/wor_arrow.png") bottom center no-repeat;
  width: 14%;
  max-width: 101px;
  height: 221px;
  content: "";
  background-size: 100%;
  z-index: 1;
}


.top_worried_list02_tit {
  position: relative;
  font-size: 45px;
  letter-spacing: 0.1em;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  z-index: 1;
  padding-top: 107px;
  line-height: 1.4
}
.top_worried_list02_tit::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../images/wor_sec02_tit.png") center no-repeat;
  width: 100%;
  max-width: 651px;
  height:376px;
  background-size: 100%;
  content: "";
  z-index: -1;
}
.top_worried_list02_tit span {
  font-size: 50px;
  color: #e94d4d;
}

.top_worried_list02 {
  display: flex;
  width: 92%;
  justify-content: center;
  gap: 0 2.4%;
  margin: 8.3% auto 0;
  z-index: 1;
}

.top_worried_item02 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  width: 18%;
  height: 298px;
  position: relative;
  padding-top: 1.3%;
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke; 
}
.top_worried_item02::before {
  position: absolute;
  top: -10%;
  left: -5%;
  background: url("../images/wor_list02_item01.png") center no-repeat;
  width: 110%;
  height: 120%;
  content: "";
  z-index: -1;
}
.top_worried_item02:nth-child(2) {
  margin-top: 5%;
}
.top_worried_item02:nth-child(2)::before {
  background-image: url("../images/wor_list02_item02.png");
  top: -17%;
}
.top_worried_item02:nth-child(3)::before {
  background-image: url("../images/wor_list02_item03.png");
}
.top_worried_item02:nth-child(4) {
   margin-top: 5%;
}
.top_worried_item02:nth-child(4)::before {
  background-image: url("../images/wor_list02_item04.png");
  top: -5%;
  left: -8%;
 width: 126%;
}

.top_worried_item02:nth-child(5)::before {
  background-image: url("../images/wor_list02_item05.png");
}

.top_worried_sec03 {
  background: url("../images/wor_sec03_bg.jpg") top center repeat;
  padding-top: 490px;
  /*margin-top: -490px;*/
  margin-top: -290px;
  position: relative;
  z-index: 1;
  padding-bottom: 27px;
}
.top_worried_sec03::before {
  position: absolute;
  top: 16%;
  left: 15%;
  width: 90%;
  max-width: 1070px;
  height: 100%;
  max-height: 1070px;
  background: #fff;
  content: "";
  border-radius: 100%;
  z-index: -1;
  
}
.top_worried_sec03_inner {
  position: relative;
  z-index: 1;
  
}
.top_worried_sec03_inner::before {
  position: absolute;
  top: -26%;
  left: 0;
  background: url("../images/wor_img_l_kazari.png") top left no-repeat;
  width: 35%;
  max-width: 485px;
  height: 465px;
  content: "";
  z-index: 2;
  background-size: 100%;
}

.top_worried_sec03_text {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2.5;
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  width: 90%;
  max-width: 777px;
  margin: auto;
  text-align: left;
  -webkit-text-stroke: 4px #fff;
  paint-order: stroke; 
  position: relative;
  /*left: -6.4%;*/
  padding-top: 3.7%;
  z-index: 1;
  padding-bottom: 3.6%;
}
.top_worried_sec03_img01 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40%;
  text-align: left;
}
.top_worried_sec03_img02 {
  position: absolute;
  right: 0;
  top: 50px;
  width: 67%;
  max-width: 1003px;
  text-align: right;
}
.top_worried_sec03_btn {
  text-align: center;
  margin-top: 9%;
}


@media screen and (max-width: 1760px) {
  .top_worried_item02 {
    font-size: 28px;
  }
  .top_worried_item02::before {
    width: 110% !important;
    background-size: 100%;
  }
  .top_worried_item02:nth-child(4)::before  {
    left: 0;
    width: 120% !important;
    
  }
}

@media screen and (max-width: 1600px) {
  .top_worried_tit_wrapper::before {
    bottom: -56%;
  }
}

@media screen and (max-width: 1440px) {
  .top_worried_item02 {
    font-size: 26px;
  }
}


/*==================================================================

  .top_orth

==================================================================*/
.top_orth {
  text-align: center;
  background: url("../images/orth_bg.jpg") top center repeat ;
  padding-top: 183px;
  position: relative;
  padding-bottom: 225px;
}
.top_orth::before {
  position: absolute;
  left: 0;
  top: 0;
  background: url("../images/orth_tree_left.png") top left no-repeat;
  width: 36%;
  max-width: 397px;
  height: 425px;
  content: "";
  background-size: 100%;
}
.top_orth:after {
  position: absolute;
  right: 0;
  top: 0;
  background: url("../images/orth_tree_right.png") top left no-repeat;
  width: 36%;
  max-width: 439px;
  height: 588px;
  content: "";
  background-size: 100%;
}
.top_orth_tit {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 1200px;
  margin: -35px auto 0;
}
.top_orth_tit::before  {
  position: absolute;
  bottom: -175px;
  right:0;
  background: url("../images/bear.png") center center no-repeat;
  width: 30%;
  max-width: 192px;
  height: 225px;
  content: "";
 background-size: 100%;
}
  
.top_orth .tit01_en {
  color: #fff;
  z-index: 2;
  display: block;
}
.top_orth_list_wrapper {
  width: 92%;
  max-width: 1760px;
  margin: 7.3% auto;
  background: #fff;
  position: relative;
  z-index: 2;
  padding-bottom: 104px;
}
.top_orth_list_wrapper::before {
  position: absolute;
  top: -58px;
  left: 0;
  background: url("../images/orth_bg_top.png") bottom left repeat-x;
  width: 100%;
  height: 59px;
  content: "";
}
.top_orth_list_wrapper::after {
  position: absolute;
  bottom: -58px;
  left: 0;
  background: url("../images/orth_bg_top.png") bottom left repeat-x;
  width: 100%;
  height: 59px;
  content: "";
  transform: scale(1, -1)
}
.top_orth_list {
  display: flex;
  /*justify-content: space-between;*/
  justify-content: center;
  gap: 1%;
  flex-wrap: wrap;
  width: 96%;
  max-width: 1200px;
  margin: auto;
  padding-top: 6.5%;
  position: relative;
}
.top_orth_list::before {
  position: absolute;
  top: -120px;
  left: 0;
  background: url("../images/rabbits.png") bottom center no-repeat;
  width: 30%;
  max-width: 230px;
  height: 132px;
  content: "";
  background-size: 100%;
}
.top_orth_item {
  width: 32.5%;
  background: url("../images/orth_item_bg01.jpg") center repeat;
  height: 828px;
  margin-bottom:70px;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.top_orth_item:nth-child(2) {
  background-image: url("../images/orth_item_bg02.jpg");
}
.top_orth_item:nth-child(3) {
  background-image: url("../images/orth_item_bg03.jpg");
}
.top_orth_item:nth-child(4) {
  background-image: url("../images/orth_item_bg04.jpg");
}
.top_orth_item:nth-child(5) {
  background-image: url("../images/orth_item_bg05.jpg");
}
.top_orth_item:nth-child(6) {
  background-image: url("../images/orth_item_bg06.jpg");
}

.top_orth_item_tit {
  font-size: 26px;
  letter-spacing: 0.1em;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  background: #fff;
  position: relative;
  z-index: 1;
}
.top_orth_item_tit::before {
  position: absolute;
  left: -5%;
  bottom: -95px;
  background: url("../images/orth_item_baloon.png") bottom center no-repeat;
  background-size: 100%;
  width: 110%;
  height: 240px;
  content: "";
  z-index: -1;
  
}
.top_orth_item_tit span {
  font-size: 34px;
  color: #7d8ec9;
}
.top_orth_item:nth-child(2) .top_orth_item_tit span  {
  color: #61bcd6;
}
.top_orth_item:nth-child(3) .top_orth_item_tit span  {
  color: #78c165;
}
.top_orth_item:nth-child(4) .top_orth_item_tit span  {
  color: #e1b930;
}
.top_orth_item:nth-child(5) .top_orth_item_tit span  {
  color: #f39447;
}
.top_orth_item:nth-child(6) .top_orth_item_tit span  {
  color: #fa7d7d;
}

.top_orth_img {
  background: #fff;
  padding-bottom: 20px;
  position: relative;
  z-index: 2;
}
.top_orth_item_text {
  padding-top: 103px;
  width:77%;
  margin: auto;
  line-height: 2.125;
  letter-spacing: 0.1em;
  text-align: left;
}
.top_orth_list_kazari {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 300px;
  z-index: 1;
}
.top_orth_list_kazari::before {
  position: absolute;
  bottom: -60px;
  left: -2%;
  width: 45%;
  background: url("../images/house_left.png") bottom left no-repeat;
  max-width: 472px;
  height: 233px;
  content: "";
  background-size: 100%;
}
.top_orth_list_kazari::after {
  position: absolute;
  bottom: -60px;
  right: -2%;
  width: 48%;
  background: url("../images/house_right.png") bottom right no-repeat;
  max-width:5472px;
  height: 233px;
  content: "";
  background-size: 100%;
}



/*==================================================================

  .top_app

==================================================================*/
.top_app {
  text-align: center;
  background: url("../images/app_bg_pt.jpg") top left repeat;
  position: relative;
  z-index: 2;
  padding-top:  8%;
}
.top_app::before {
  position: absolute;
  top: -94px;
  left: 0;
  width: 100%;
  height:95px;
  background: url("../images/app_bg_top.png") top left repeat-x;
  content: "";
}
.top_app_tit {
  margin-top: -20px;
  z-index: 1;
}

.top_app_list {
  width: 90%;
  max-width: 1500px;
  margin: auto;
  padding-top: 6.4%;
  position: relative;
  z-index: 2;
}

.top_app_item {
  position: relative;  
  margin-bottom: 38px;
  background: #eaf4f7;
  border-radius: 30px;
  padding: 6.3% 10% 7% 0%;
  overflow: hidden;
}
.top_app_item_img {
  position: absolute;
  left: 0;
  top: -13%;
  width: 47%;
}
.top_app_item_tit {
  font-size: 32px;
  letter-spacing: 0.1em;
}

.top_app_item_tit_line {
  display: inline-block;
  background: #fff;
  line-height: 1;
  border-radius: 16px;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: 3.1% 3% 3.5% 3.6%;
  margin-bottom: 15px;
  white-space: nowrap;
  z-index: 1;
  position: relative;
}
.top_app_item_tit_line i {
  color: #fff;
  position: relative;
  font-style: normal;
}
.top_app_item_tit_line i::before {
  position: absolute;
  left: -30%;
  top: -16px;
  background: url("../images/app_tit_blue.png") center no-repeat;
  width: 160%;
  height: 63px;
  content: "";
  z-index: -1;
}

.top_app_item_tit_line.school{
	line-height: 2;
}

.top_app_item_tit_line.school span{
	color: #d25c64;
}

.top_app_item_detail {
  position: relative;
  z-index: 1;
  width: 70%;
  margin-left:auto;
  text-align: right;
}
.top_app_item_text {
  width: 63.5%;
  margin-left: auto;
  font-size: 17px;
  line-height: 2.64;
  letter-spacing: 0.1em;
  margin-top: 2.8%;
  text-align: left;
}

/*.top_app_item:nth-child(2) {
background: #e0ecdd; 
}*/
.top_app_item:nth-child(2) .top_app_item_img {
  top: -8%;
}
/*.top_app_item:nth-child(2) .top_app_item_tit_line i::before {
  background-image: url("../images/app_tit_green.png");
}*/

.top_app_item:nth-child(2) {
  background: #fdecde; 
}
.top_app_item:nth-child(2) .top_app_item_tit_line i::before {
  background-image: url("../images/app_tit_orange.png");
}

.top_app_item:nth-child(3) {
  background: #ffe8e8; 
}
.top_app_item:nth-child(3) .top_app_item_tit_line i::before {
  background-image: url("../images/app_tit_pink.png");
}
.top_app_item:nth-child(3) .top_app_item_img {
  top: -7%;
}


.top_app_item:nth-child(3) .top_app_item_detail/*,.top_app_item:nth-child(4) .top_app_item_detail*/ {
  text-align: left;
}
.top_app_item_tit.item_line02 {
  position: relative;
  left: 33.2%;
}


.top_app_cv {
  padding-top:12.5%;
  position: relative;
  z-index: 1;

}
.top_price_card_list::before {
  position: absolute;
  top: -19%;
  left: 0;
  background: url("../images/app_yellow_bg_top.png") center no-repeat;
  width: 100%;
  height: 995px;
  content: "";
  background-size: 100%;
  z-index: -1;
}
.top_app_cv::before {
  position: absolute;
  top: -456px;
  left: 0;
  background: url("../images/app_yellow_bg_top.png") top center no-repeat;
  background-size: 100%;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}
.top_app_cv::after {
  position: absolute;
  top: 200px;
  left: 0;
  background: url("../images/app_yellow_bg_rep.jpg") top 100px center repeat-y;
  background-size: 100%;
  width: 100%;
  height: calc(100% - 200px);
  content: "";
  z-index: -1;
}
.top_app_cv_tit {
  position: relative;
  z-index: 2;
}
.top_app_cv_tit01 {
  display: inline-block;
  padding-bottom: 40px;
  text-align: center;
  pointer-events: stroke;

}
.top_app_cv_text {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 3.33;
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  padding: 4.6% 0 0;
  position: relative;
  z-index: 2;
}
.top_app_cv_img01 {
  position: relative;
  margin-top: -26px;
  z-index:2;
}
.top_app_cv_end {
  position: relative;
  z-index: 1;
  padding-bottom: 300px;
}
.top_app_cv_end::before {
  position: absolute;
  left: 0;
  top: -370px;
  background: url("../images/app_pink_bg_top.png") top center no-repeat;
  width: 100%;
  height: 773px;
  background-size: 100%;
  content: "";
  z-index: -1;
}
.top_app_cv_end::after {
  position: absolute;
  left: 0;
  top: 150px;
  background: url("../images/app_pink_bg_rep.jpg") top center repeat-y;
  width: 100%;
  height: calc(100% - 150px);
  background-size: 100%;
  content: "";
  z-index: -1;
}
.top_app_cv_end_text {
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 34px;
  line-height: 1.76;
  background: #fff;
  width: 90%;
  max-width: 1084px;
  padding: 2.5% 2.8% 2.5% 4.4%;
  margin: auto;
  border-radius: 30px;
  position: relative;
  z-index: 2;
}
.top_app_cv_end_text::before {
  position: absolute;
  top: -36px;
  left: 1.3%;
  background: url("../images/app_ill01.png") center no-repeat;
  width: 20%;
  max-width: 85px;
  height: 125px;
  content: "";
  background-size: 100%;
}
.top_app_cv_end_text::after {
  position: absolute;
  bottom: -79px;
  right: 4.6%;
  background: url("../images/app_ill02.png") center no-repeat;
  width: 20%;
  max-width: 106px;
  height: 136px;
  content: "";
  background-size: 100%;
}
.top_app_cv_btn {
  padding-top: 120px;
  position: relative;
  z-index: 2;
}
.top_app_cv_btn::before {
  position: absolute;
  left: 0;
  right: 0;
  top: 5.6%;
  margin: auto;
  background: url("../images/app_arrow.png") center no-repeat;
  width: 8%;
  max-width: 45px;
  height: 76px;
  content: "";
  background-size: 100%;
  
}
.top_app_cv_bg01 {
  position: absolute;
  top: 230px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: url("../images/app_bg_center.png") top center no-repeat;
  background-size: 100%;
  content: "";
}

.top_app_cv_bg02::before {
  position: absolute;
  top: -1880px;
  top: -206%;
  left: 0;
  background: url("../images/app_sec_kazari_left.png") top left no-repeat;
  width: 38%;
  max-width: 483px;
  height: 1942px;
  content: "";
  background-size: 100%;
}

.top_app_cv_bg02::after {
  position: absolute;
  top: -1640px;
  top: -179%;
  right: 0;
  background: url("../images/app_sec_kazari_right.png") top right no-repeat;
  width: 40%;
  max-width: 514px;
  height: 1948px;
  content: "";
  background-size: 100%;
}
.top_app_cv_bg03 {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 50%;
  width: 100%;
  z-index: 0;
  content: "";
}
.top_app_cv_bg03::before {
  position: absolute;
  bottom: -100px;
  left: 0;
  background: url("../images/app_cv_img01.png") bottom left no-repeat;
  width: 38%;
  max-width: 711px;
  height: 856px;
  content: "";
  background-size: 100%;
}
.top_app_cv_bg03::after {
  position: absolute;
  bottom: -100px;
  right: 0;
  background: url("../images/app_cv_img02.png") bottom right no-repeat;
  width: 38%;
  max-width: 710px;
  height: 856px;
  content: "";
  background-size: 100%;
}

.bold-underline {
  font-weight: bold;       /* 太字 */
  text-decoration: underline; /* 下線 */
}

@media screen and (max-width:1600px) {  
  .top_app_item {
  padding-right: 6%;
  }
  .top_app_item_img {
    width: 44%;
  }
  .top_app_item_tit {
    font-size: 28px;
  }
  .top_app_item_tit_line i::before{
    width: 130%;
    left: -15%;
    background-size: 87%;
  }
  .top_app_item_text {
    width: 70%;  
  }
  .top_app_item_tit.item_line02 {
  left:   27%;
  }
}

/*==================================================================

  .top_featur

==================================================================*/
.top_feature {
  text-align: center;
  position: relative;
  z-index: 2;
  background: url("../images/feature_bg_rep.jpg") top center repeat;
  padding-top: 11%;
  padding-bottom: 18%;
}
.top_feature::before {
  position: absolute;
  top: -96px;;
  left: 0;
  background: url("../images/feature_bg_top.png") top center repeat-x;
  width: 100%;
  height: 929px;
  content: "";
  z-index: -1;
}
.top_feature_tit {
  margin-top: -34px;
  position: relative;
  z-index: 1;
}
.top_feature_list {
  margin-top: 5%;
}
.top_feature_item {
  margin-bottom: 55px;
  position: relative;
  z-index: 1;
}
.top_feature_item_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1520px;
  margin: auto;
  padding-right: 8.1%;
}
.top_feature_img {
  width: 54.2%;
}
.top_feature_detail {
  width: 44.4%;
  text-align: left;
  padding-bottom: 4%
}
.top_feature_item:nth-child(5) .top_feature_detail {
  padding-bottom: 0;
} 
.top_feature_detail_tit {
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 2.18;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 8%;
}
.top_feature_detail_text {
  letter-spacing: 0.1em;
  font-size: 16px;
  line-height: 2.125;
}

.top_feature_item:nth-child(even) .top_feature_item_inner {
  flex-direction: row-reverse;
  padding-right: 0;
  padding-left: 8.1%;
  
}

.top_feature_item:nth-child(1)::before {
  position: absolute;
  top: -400px;
  right: 0;
  background: url("../images/feature_item_kazari01.png") center right no-repeat;
  width: 37%;
  max-width: 512px;
  height: 845px;
  content: "";
  z-index: -1;
  background-size: 100%;
}
.top_feature_item:nth-child(1)::after {
  position: absolute;
  top: -60px;
  left: 0;
  background: url("../images/feature_item_img_kazari01.png") center left no-repeat;
  width: 30%;
  max-width: 452px;
  height: 527px;
  content: "";
  z-index: -1;
  background-size: 100%;
}
.top_feature_item:nth-child(2)::after {
  position: absolute;
  top: -140px;
  left: 0;
  background: url("../images/feature_item_kazari02.png") center left no-repeat;
  width: 30%;
  max-width: 429px;
  height: 411px;
  content: "";
  z-index: -1;
  background-size: 100%;
}
.top_feature_item:nth-child(2) {
  z-index: 2;
}
.top_feature_item:nth-child(3) {
  z-index: 1;
}
.top_feature_item:nth-child(3)::before {
  position: absolute;
  top: -198px;
  right: 0;
  background: url("../images/feature_item_kazari03.png") center right no-repeat;
  width: 35%;
  max-width: 557px;
  height: 801px;
  content: "";
  z-index: -1;
  background-size: 100%;
}
.top_feature_item:nth-child(4)::after {
  position: absolute;
  top: 110px;
  left: 0;
  background: url("../images/feature_item_kazari04.png") center left no-repeat;
  width: 30%;
  max-width: 555px;
  height: 824px;
  content: "";
  z-index: -1;
  background-size: 100%;
}
.top_feature_item:nth-child(5)::before {
  position: absolute;
  top: 118px;
  right: 0;
  background: url("../images/feature_item_kazari05.png") center right no-repeat;
  width: 27%;
  max-width: 359px;
  height: 849px;
  content: "";
  z-index: -1;
  background-size: 100%;
}
.top_feature_item:nth-child(6)::after {
  position: absolute;
  bottom:-370px;
  left: 0;
  background: url("../images/feature_item_kazari06.png") center left no-repeat;
  width: 30%;
  max-width: 486px;
  height: 519px;
  content: "";
  z-index: -1;
  background-size: 100%;
}

/*==================================================================

  .top_flow

==================================================================*/
.top_flow {
  position: relative;
  background: url("../images/flow_bg_rep.jpg") top center repeat-y;
  background-size: 100%;
  text-align: center;
  z-index: 2;
  padding-bottom: 10%;
}
.top_flow::before {
  position: absolute;
  top: -185px;
  left: 0;
  background: url("../images/flow_bg_top.png") top center no-repeat;
  width: 100%;
  height: 530px;
  content: "";
  background-size: 100%;
  z-index: -1;
}
.top_flow::after {
  position: absolute;
  bottom: -160px;
  left: 0;
  background: url("../images/flow_cloud.png") center no-repeat;
  width: 100%;
  height: 545px;
  content: "";
  background-size: 100%;
  z-index: -1;
}
.top_flow .tit01_en {
  display: block;
  color: #fff;
  padding-top: 7%;
  position: relative;
  z-index: 2;
}
.top_flow .tit01_en::before {
  position: absolute;
  top: -115px;
  left: 0;
  background: url("../images/flow_flag.png") top center no-repeat;
  width: 37%;
  max-width: 505px;
  height: 380px;
  content: "";
  background-size: 100%;
}
.top_flow .tit01_en::after {
  position: absolute;
  top: -118px;
  right: 0;
  background: url("../images/flow_flag.png") top center no-repeat;
  width: 37%;
  max-width: 505px;
  height: 380px;
  content: "";
  background-size: 100%;
  transform: scale(-1,1)
}
.top_flow_tit {
  margin-top: -33px;
  position: relative;
  z-index: 1;
}
.top_flow_catch {
  font-size: 34px;
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.6;
  -webkit-text-stroke: 7px #fff;
  paint-order: stroke;
  margin-top: 6.6%;
  margin-bottom: 5.5%;
  position: relative;
  z-index: 4;
}

.top_flow_catch span {
  display: block;
  color: #fff;
  -webkit-text-stroke: 7px #ff8746;
  paint-order: stroke;
  padding-top: 1%;
  background: url("../images/flow_catch_kazari.png") bottom center no-repeat;
  padding-bottom: 16px;
}
.top_flow_list {
  text-align: left;
  position: relative;
  z-index: 3;
}
.top_flow_list::before {
  position: absolute;
  left: 0;
  top: -366px;
  background: url("../images/flow_kazari_left.png") center left no-repeat;
  width: 20%;
  max-width: 289px;
  height: 533px;
  content: "";
  background-size: 100%;
}
.top_flow_list::after {
  position: absolute;
  right: 0;
  top: -496px;
  background: url("../images/flow_kazari_right.png") center left no-repeat;
  width: 30%;
  max-width: 476px;
  height: 988px;
  content: "";
  background-size: 100%;
}
.top_flow_item {
  width: 90%;
  max-width: 1080px;
  background: #fff;
  border-radius: 30px;
  margin: 0 auto 52px;
  position: relative;
  left: 3%;
  padding: 2.1% 5.3% 3.2%;
  z-index: 1;
}
.top_flow_item:not(:last-child)::before {
  position: absolute;
  left: -3.8%;
  top: 0;
  background: #3aabcc;
  width: 4px;
  height: 100%;
  content: "";
  z-index: -1;
}
.top_flow_item_num {
  display: flex;
  justify-content:center;
  align-items: center;
  position: absolute;
  left: -11%;
  top: -65px;
  width: 158px;
  height: 158px;
  background: url("../images/flow_num_bg.png") center no-repeat;
  background-size: 100%;
  color: #fff;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 50px;
  padding-left: 1.7%;
  padding-top: 1%;
}
.top_flow_item_num span {
  position: absolute;
  top: 21px;
  left: 0px;
  font-size: 22px;
  transform: rotate(-30deg);
  letter-spacing: 0.1em;
}
.top_flow_item_tit {
  font-size: 22px;
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 14px;
}
.top_flow_item_tit::before {
  position: absolute;
  bottom: 0;
  left: -10px;
  background: url("../images/flow_item_tit_kazari.png") bottom left no-repeat;
  width: 100%;
  height: 11px;
  content: "";
  
}
.top_flow_item_text  {
  letter-spacing: 0.1em;
}

/*==================================================================

  .top_price

==================================================================*/

 .top_price {
   position: relative;
   background: url("../images/price_bg_rep.png") top center repeat;
   z-index: 2;
   margin-top: 10.1%;
   text-align: center;
   padding-bottom: 9.4%;
 }
.top_price::before {
  position: absolute;
  top: -220px;
  left: 0;
  background: url("../images/price_bg_top.png") top center repeat-x;
  width: 100%;
  height: 389px;
  content: "";
  
}
.top_price_tit {
  position: relative;
  z-index: 3;
  font-size: 45px;
  letter-spacing: 0.1em;
  line-height: 1;
  font-family: "vdl-megamaru", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-text-stroke: 10px #fff;
  paint-order: stroke;
  top: -15px;
  margin-bottom: 3.7%;
}

.top_price_list {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 26px;
}
.top_price_list > dt {
  width: 50%;
  height: 102px;
  line-height: 102px;
  border-bottom-left-radius: 20px;
  border-top-left-radius: 20px;
  border-top-right-radius:51px;
  border-bottom-right-radius: 51px;
  margin-bottom: 5px;
  background: #d25c64;
  color: #fff;
  position: relative;
}
.top_price_list > dt::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: #fff;
  content: "";
  z-index: -1;
  
}

.top_price_list > dd {
  width: 50%;
  height: 102px;
  line-height: 102px;
  background: #fff;
  border-bottom-right-radius: 20px;
  border-top-right-radius: 20px;
  margin-bottom: 5px;
}

.top_price_item_num {
  color: #d25c64;
  font-size: 40px;
  letter-spacing: .1em;
}

.top_price_item_num span {
  color: #333;
  font-size: 26px;
  padding-left: 4px;
}
.top_price_item_num span i {
  font-size: 18px;
  font-style: normal;
}

.top_price_card_list {
  position: relative;
}
.top_price_card_list::before {
  position: absolute;
  top: 8px;
  left: 15%;
  background: url("../images/tree_left.png") center no-repeat;
  width: 15%;
  max-width: 146px;
  height: 213px;
  background-size: 100%;
  content: "";
  z-index: -1;
}
.top_price_card_list::after{
  position: absolute;
  top: -80px;
  right: 11.7%;
  background: url("../images/tree_right.png") center no-repeat;
  width: 15%;
  max-width: 187px;
  height: 213px;
  background-size: 100%;
  content: "";
  z-index: -1;
}
.top_price_card_tit {
 padding-top:59px;
  position: relative;
  font-size: 26px;
  letter-spacing: 0.1em;
  font-family: "m-plus-rounded-1c", sans-serif;
  font-weight: 500;
  font-style: normal;
  -webkit-text-stroke: 5px #fff;
  paint-order: stroke;
  padding-bottom:79px;
  z-index: 1;
  margin-bottom: 15px;
}

.top_price_card_tit::before {
  position: absolute;
  top:-17%;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../images/price_text_bg.png") center no-repeat;
  width: 100%;
  max-width: 620px;
  height: 261px;
  content: "";
  background-size: 100%;
  z-index: -1;
  
}
.top_price_card_item {
  background: #fff;
  border-radius: 30px;
  width: 92%;
  max-width: 1100px;
  margin: auto;
  padding: 3.6%;
  position: relative;
}
.top_price_card_item::before {
  position: absolute;
  bottom: -28px;
  left: -21px;
  background: url("../images/kitsune.png")  bottom left no-repeat;
  width: 15%;
  max-width: 91px;
  height: 93px;
  content: "";
  background-size: 100%;
}

.top_price_card_item::after {
  position: absolute;
  bottom: -28px;
  right:5px;
  background: url("../images/piyo.png")  bottom left no-repeat;
  width: 15%;
  max-width: 121px;
  height: 66px;
  content: "";
  background-size: 100%;
}




@media screen and (max-width:1760px) {
  .top_price_card_list::before {
    left: 4%;
  }
  .top_price_card_list::after {
    right: 4%;
  }
}

@media screen and (max-width:1400px) {
  .top_price_card_list::before {
    left: 2%;
  }
  .top_price_card_list::after {
    right: 2%;
  }
}

/*==================================================================================================================

  スマホ

==================================================================================================================*/
@media screen and (max-width:640px) {
  #wrapper, html, body{
    min-height:500px;
  }
  #container {
    padding-top: 0;
  }

  /*==================================================================

    メインビジュアル（スマホ）

  ==================================================================*/
  .top_mainvisual{
    height:650px;
  }

  .mainvisual_wrap{
    height: 650px;
  }

  .top_mainvisual .inner {
    width: auto;
  }

  .top_mainvisual .mainvisual_wrap {
    background-size: 100%
  }
  .mainvisual_catch {
    width: 84%;
    left: 0;
    right: 0;
    margin: auto;
    top: 21%;
    max-width: 315px;
  }
  .mv_catch_list {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 2%;
    width: 68%;
    margin: auto;
    left: 0;
    bottom: 20px;
    max-width: 255px;
  }
  .mv_catch_item {
    width: 47%;
  }

  /*==================================================================

    .top_worried（スマホ）

  ==================================================================*/
  .top_worried .tit01_en {
    padding-top: 100px;
  }
  .top_worried .tit01_en span::before {
    width: 16%;
    top: -112px;
    left: 10%;
  }
  .top_worried .tit01_en span::after {
    width: 14%;
    right: 14%;
  }
  .top_worried .tit01_en::before {
    top: 0;
    z-index: -1;
    width: 15%;
  }
  .top_worried .tit01_en::after {
    top: 0;
    z-index: -1;
    width: 15%;
  }
  .top_worried_tit {
    padding: 10px 5% 0;
  }
 .top_worried_tit_wrapper::before {
   height: 80px;
   bottom: -80px;
 }
 .top_worried_tit img.item02 {
   left: 0;
   top: 10px;
 }
 .top_worried_list01_wrapper {
   padding-bottom: 160px;
 }
 .top_worried_list01_wrapper::after {
   right: 3%;
 }
 .top_worried_list01 {
   gap: 0 3%;
 }
 
 .top_worried_item01 {
   width: 47%;
   height: auto;
   background-size: 100%;
 }
 .top_worried_item01 span {
   height: 60px;
 }
 .top_worried_item01 {
   font-size: 20px;
   padding-bottom: 50px;
   padding-top: 100px;
   max-width: 159px;
   margin-bottom: 0;
 }

 .top_worried_list02 {
  width: 100%;
  padding: 0 5%;
  position: relative;
  z-index: 1;
 }
 .top_worried_list02::before{
  position: absolute;
  top: -130px;
  left: 0;
  background: url("../images/gray_wave.png") top center no-repeat;
  width: 100%;
  height: 100%;
  background-size: 100%;
  content: "";
 }
 .top_worried_list02::after{ 
   position: absolute;
   bottom: -70px;
   background: url(../images/wor_sec02_bg.png) bottom center no-repeat;
   width: 100%;
   height: 100%;
   content: "";
   background-size: 100%;
 }
 .top_worried_list02_tit {
   font-size: 22px;
   height: 100px;
   top: -25vw;
   padding-top: 11vw;
   z-index: 2;
 }
 .top_worried_list02_tit span {
   font-size: 30px;
 }
 .top_worried_list02_tit::before {
   width: 80%;
   top: -15%;
   height: 200px;
   max-width: 300px;
 }
 .top_worried_list01_wrapper_kazari {
   bottom: 0;
   background-position: bottom center;
 }
 .top_worried_list02_wrapper {
  
 }
 .top_worried_list02_wrapper::before {
   top:0;;
   background: url("../images/gray_rep.jpg") top center repeat;
   height: calc(100% - 100px);
 }
 .top_worried_list02_wrapper::after {
   bottom: -5%;
   width: 10%;
 }
 .top_worried_list02 {
   flex-wrap: wrap;
   margin-top: 0;
   padding-bottom: 80px;
 }
 .top_worried_item02 {
   width: 47%;
   font-size: 19px;
   height: 45vw;
   z-index: 2;
 }
 .top_worried_sec03 {
  /*margin-top: -140px;
  padding-top: 240px;*/
  margin-top: 0px;
  padding-top: 200px;
 }
 .top_worried_sec03::before {
   left: -5%;
   width: 110%;
   border-radius: 40%;
 }
 .top_worried_sec03_text {
   left: 0;
   font-size: 14px;
   letter-spacing: 0.04em;
   padding-bottom: 130px;
 }
 .top_worried_sec03_img01 {
   width: 50%;
   bottom:-15vw;
 }
 .top_worried_sec03_btn {
   width: 86%;
   margin-top: 20px;
   margin: 10px auto 0;
 }
 
 
  /*==================================================================

    .top_orth（スマホ）

  ==================================================================*/
 .top_orth {
   padding-top: 80px;
   padding-bottom: 135px;
 }
 .top_orth_tit {
   width: 80%;
   margin-top: -20px;
   margin-bottom: 40px;
 }
 .top_orth_list{
   padding-top: 40px;
 }
 .top_orth_list_wrapper {
   margin-top: 70px;
   padding-bottom: 10px;
 }
 .top_orth_list_wrapper::before {
   background-size: 80%;
 }
 .top_orth_item {
   width: 100%;
   overflow: hidden;
   height: auto;
   margin-bottom: 50px;
 }
 
 .top_orth_img {
   width: 100%;
   padding: 0 10%;
 }
 .top_orth_item_tit {
   position: relative;
   padding-top: 10px;
   font-size: 23px;
 }
 .top_orth_item_tit span {
   font-size: 28px;
 }
 .top_orth_item_tit::before {
   width: 130%;
   left: -15%;
   bottom: -70px;
 }
 .top_orth_item_text {
   padding-top: 60px;
   width: 88%;
   padding-bottom: 30px;
 }
 
  /*==================================================================

    .top_app（スマホ）

  ==================================================================*/
 .top_app::before {
   background-position: bottom left;
   background-size: 200%;
 }
 .top_app_tit {
   width: 80%;
   margin: -10px auto 20px;
 }
 .top_app_item {
   padding: 0;
 }
 .top_app_item_img {
   width: 100%;
   position: relative;
  margin-top: -40px;
 }
 .top_app_item_detail {
   width: 100%;
   margin-top: -44px;
 }
 .top_app_item_tit {
   font-size: 23px;
   text-align: center;
   width: 92%;
   margin: auto;
 }
 .top_app_item_tit_line {
   white-space: normal;
   line-height: 1.8;
 }
.top_app_item_tit_line.school{
	line-height: 1.8;
}
 .top_app_item_text {
   width: 90%;
   margin: auto;
   font-size: 15px;
   padding-bottom: 30px;
   margin-top: 15px;
 }
 .top_app_item_tit.item_line02 {
   left: 0;
 }
 .top_app_item_tit_line {
   display: block;
   margin-bottom: 5px;
 }
 .top_app_cv::before {
  top:-93%;
  background-position: bottom center;
 }
 .top_app_cv::after {
   top: 60px;
 }
 .top_app_cv_tit img:first-child {
   width: 95%;
   margin: auto;
   padding-bottom: 20px;
 }
 .top_app_cv_tit img {
    width: 80%;
    margin: auto;
  }
  .top_app_cv_tit img:last-child {
    margin-top: 10px;
  }
  .top_app_cv_text {
    font-size: 15px;
    line-height: 1.8;
    text-align: left;
    width: 90%;
    margin: auto;
  }
  .top_app_cv_end::before {
    background-position: center;
  }
  .top_app_cv_end::after {
    top: 50px;
    height: calc(100% - 50px);
  }
  .top_app_cv_img01 {
    margin: 10px 0 30px;
  }
  .top_app_cv_end_text {
    font-size: 19px;
    padding: 35px 10px;
  }
  .top_app_cv_btn {
    padding-top: 93px;
  }
  .top_app_cv_btn {
    width: 80%;
    margin: auto;
  }
  .top_app_cv_end {
    padding-bottom:   160px;
  }
   
  /*==================================================================

    .top_feature（スマホ）

  ==================================================================*/  
  .top_feature {
    padding-top: 0px;
    background-size: 140%;
  }
  .top_feature::before {
    background-size: 140%;
  }
  .top_feature_tit {
    width: 74%;
    margin:  -30px auto 40px;
    position: relative;
    z-index: 4;
  }
  .top_feature_item_inner {
    display: block;
  }
  .top_feature_img {
    width: 100%;
    margin: auto;
  }
  .top_feature_item {
  margin-bottom: 40px;
  }
  .top_feature_detail {
    width:   100% !important;
  }
  .top_feature_item_inner {
    padding: 0 !important;
  }
  .top_feature_detail_tit {
    font-size: 24px;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 15px;
    line-height: 1.8;
  }
  
  /*==================================================================

    .top_flow（スマホ）

  ==================================================================*/  
  .top_flow::before {
    top: -85px;
  }
  .top_flow::after {
    bottom: -220px;
    background-size: 150%;
  }
  .top_flow .tit01_en::after{
    top:   -64px;
  }
  .top_flow .tit01_en::before{
    top:   -79px;
  }
  .top_flow_tit {
    width: 75%;
    margin: -25px auto 0;
  }
  .top_flow_catch {
    font-size: 19px;
    margin-bottom: 60px;
  }
  .top_flow_catch span {
    width: 90%;
    margin: auto;
  }
  .top_flow_list {
    width: 100%;
    padding: 0 5%;
    margin: auto;
  }
  .top_flow_item {
    padding: 30px 4% 30px 5%;
  }
  .top_flow_item_num {
    width: 80px;
    height: 80px;
  }
  .top_flow_item_num {
    font-size: 30px;
    top: -40px
  }
  .top_flow_item_num span {
    top: 1px;
    left: -5px;
    font-size: 15px;
  }
  .top_flow_item:not(:last-child)::before {
    height: 110%;
  }
  .top_flow_item_tit {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    padding: 5px 0 10px;
  }
  .top_flow_item_tit::before {
    left: 0;
    bottom: -9px;
  }

  
  /*==================================================================

    .top_flow（スマホ）

  ==================================================================*/ 
  .top_price {
    background-size: 140%;
  }
  .top_price::before {
    background-size: 140%;
    top: -70px;
  }
  .top_price_tit {
  font-size:  33px;
  top: -7px;
  margin-bottom: 24px;
  }
  .top_price_list {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .top_price_list > dd,.top_price_list > dt {
    height: 60px;
    line-height: 60px;
  }
  .top_price_item_num {
    font-size: 26px;
  }
  .top_price_item_num span {
    font-size: 15px;
  }
  .top_price_item_num span i {
    font-size: 11px;
  }
  .top_price_card_tit {
    font-size: 18px;
    padding-top: 45px;
    line-height: 1.7;
    margin-bottom: 5px;
  }
  .top_price_card_item {
    width: 78%;
  }

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}
