body{
  font-size: 1.5vw;
}
.pc{
  display: none;
}
.tab{
  display: block;
}
.mobi{
  display: none;
}
.pc.tab{
  display: block;
}
.tab.mobi{
  display: block;
}
/*---------------------
top
----------------------*/
.top{
  padding: 0 0 7vw;
}
.top-txt{
  font-size: 2.5vw;
}
.top-main-txt{
  font-size: 4vw;
  margin-top: 7vw;
}
.top-main-txt .line{
  font-size: 6vw;
}
.top-main-txt .big{
  font-size: 6vw;
}
.top-main-txt .small{
  font-size: 3.5vw;
}
.top-sub-txt{
  font-size:2vw;
  margin-top: 3vw;
}
/*---------------------
banner
----------------------*/
.banner{
  padding: 5vw 1rem;
  box-sizing: border-box;
}

.banner .orange{
  font-size: 3vw;
}
.banner p{
  font-size: 2.5vw;
}
.banner-in::before{
  width: 25vw;
  right: 0;
  bottom: -5vw;
}
.banner a{
  font-size: 2.5vw;
  width: 40%;
  background-size: 100% 100%;
  line-height: 2.2;
}
/*---------------------
変わり続ける時代。
----------------------*/
.sec-woory-first{
  padding: 65px 1rem;
  box-sizing: border-box;
}
.sec-woory-first h2{
  font-size: 3vw;
}
.sec-woory-first h2 .green{
  font-size: 4.5vw;
}
.sec-woory-first img{
  width: 100%;
}
.sec-woory-first::before{
  width: 10vw;
  bottom: -8vw;
}
.sec-worry-second{
  padding: 10vw 0 7vw;
}
.sec-worry-second p{
  font-size: 3vw;
}
.sec-worry-second .lead{
  font-size: 3vw;
  margin-bottom: 3vw;
}
.sec-worry-second .lead .orange{
  font-size: 3.5vw;
}
.sec-worry-second .highlight{
  font-size: 3.5vw;
}
.sec-worry-second .highlight.big{
  font-size: 5vw;
  margin-bottom: 5vw;
}
/*---------------------
ライフプラン相談会
----------------------*/
.green-box{
  margin: 5vw auto;
  width: calc(100% - 2rem);
}
.green-box h2{
  font-size: 4vw;
}
.green-box h2 .big{
  font-size: 5vw;
}
.green-box h2 img{
  width: 5vw;
}
.green-box .orange{
  font-size: 4vw;
}
.green-box p{
  font-size:3vw;
}
/*---------------------
強み
----------------------*/
.sec-advantage{
  padding: 50px 2.5%;
  box-sizing: border-box;
}
.sec-advantage h2{
  font-size: 5vw;
}
.sec-advantage > p{
  font-size: 3.5vw;
}
.sec-advantage-list{
  box-sizing: border-box;
}
.sec-advantage-list li img{
  width: 35%;
}
.sec-advantage-list-txt{
  padding: 3vw 2vw 3vw 8vw;
}
.sec-advantage-list-txt p{
  font-size: 3vw;
}
.sec-advantage .highlight{
  font-size: 3.7vw;
}
.sec-advantage > p .orange{
  font-size: 4.5vw;
}
/*---------------------
ライフプランシミュレーション
----------------------*/
.sec-simulation{
  padding: 80px 1rem 50px;
}
.sec-simulation h2{
  font-size: 5vw;
}
.sec-simulation .note{
  font-size: 3vw;
  padding: 1rem 1rem 1rem 20vw;
}
.sec-simulation .note img{
  width: 20vw;
  left: -12px;
}
.sec-simulation dd img{
  width: 100%
}
.sec-simulation-txt p{
  font-size: 3.5vw;
}
.sec-simulation-txt p .big{
  font-size: 4vw;
}
/*---------------------
安心に変える
----------------------*/
.sec-change{
  padding: 80px 1rem;
}
.sec-change h2{
  font-size: 3.5vw;
}
.sec-change h2 .big{
  font-size: 4.5vw;
}
.sec-change-note{
  font-size: 3vw;
  padding: 15px 0 0;
}
.sec-change-note .orange{
  font-size: 3.6vw;
}
.sec-change-baloons{
  flex-wrap: wrap;
  justify-content: center;
}
.sec-change-baloon-con{
  font-size: 4vw;
  background-size: cover;
}
.sec-change-baloon-con:first-of-type,
.sec-change-baloon-con:last-of-type{ 
  width: 80%;
  aspect-ratio: 594/222;
  background: url(../images-sp/baloon1.png) no-repeat;
  padding-left: 9vw;
  margin-top: 10px;
}
.sec-change-baloon-con:nth-of-type(2){
  width: 80%;
  aspect-ratio: 594/222;
  background: url(../images-sp/balloon2.png) no-repeat;
  padding-right: 9vw;
  margin-top: 10px;
}
.sec-change-baloon-con p{
  margin-top: 3vw;
}
.sec-change-box{
  padding: 30px 1rem;
}
.sec-change-box .highlight-orange{
  font-size: 3vw;
}
.sec-change-box .highlight-orange .big{
  font-size: 5vw;
}
.sec-change-box .highlight-orange:last-of-type{
  font-size: 4vw;
}
.sec-change-con{
  padding: 0;
}
.sec-change-con .box{
  margin: 0 1rem;
  width: calc(100% - 2rem);
  padding: 1rem;
}
.sec-change-con .box p span{
  font-size: 4vw;
}
.sec-change-con .box p{
  font-size: 3vw;
}
.sec-change-con .box p .big{
  font-size: 4vw;
}
.sec-change-circle li span{
  font-size: 3vw;
}
/*---------------------
無料で学べる相談会
----------------------*/

.green-box h2 .balloon{
  width: 20vw;
  font-size: 3.5vw;
  padding: 4vw 0;
  left: 1.5vw;
}
/*---------------------
法則
----------------------*/
.sec-rule{
  padding: 120px 1rem 80px;
}
.sec-rule h2{
  font-size: 5vw;
}
.sec-rule h2 .big{
  font-size: 8vw;
}
.sec-rule h2 .balloon{
  font-size: 4vw;
}
.sec-rule-about{
  background-size: 100% 100%;
}
.sec-rule-about{
  width: 100%;
}
.sec-rule-con{
  padding: 80px 1rem;
}
.sec-rule-formula-in .box.orange{
  font-size: 4vw;
}
.sec-rule-formula-in .box{
  font-size: 3vw;
}
.sec-rule-ex-con{
  padding: 30px 1rem;
}
.sec-rule-ex-con dl{
  font-size: 3vw;
}
/*---------------------
ポイント
----------------------*/
.point{
  padding: 80px 1rem;
  background-size: 100%;
  background-position: bottom;
}
.point-frame{
  flex-wrap: wrap;
  text-align: center;
  background: url(../images-sp/point-frame.png) no-repeat;
  background-size: 100% 100%;
  padding: 50px 1rem;
}
.point-frame-img{
  width: 20%;
  height: auto;
  aspect-ratio: 1/1;
}
.point-frame-txt{
  font-size: 3vw;
}
.point-frame-txt .big{
  font-size: 4vw;
}
.point-frame-txt .orange{
  font-size: 4vw;
}
.point-txt .highlight{
  font-size: 4vw;
}
.point-txt .highlight .yellow{
  font-size: 5vw;
}
/*---------------------

----------------------*/
.sec-ex-con{
  padding: 65px 1rem 150px;
}
.sec-ex-con h2{
  font-size: 3vw;
}
.sec-ex-con h2 span{
  font-size: 5vw;
}
.sec-ex-con dl img{
  width: 100%;
}
.sec-ex-txt{
  width: calc(100% - 2rem);
  font-size: 2.5vw;
  background-size: 100% 100%;
}
.sec-ex-txt .orange{
  font-size: 3vw;
}
/*---------------------
メリット
----------------------*/
.sec-merit{
  padding: 60px 1rem;
}
.sec-merit ul{
  flex-wrap: wrap;
  row-gap: 20px;
}
.sec-merit li{
  font-size: 3vw;
  width: 70%;
  height: 340px;
  row-gap: 10px;
  padding: 50px 0 0;
}
.sec-merit-img{
  width: 100%;
}
/*---------------------
ステップ
----------------------*/
.sec-step{
  padding: 90px 1rem 30px;
}
.sec-step h2{
  font-size: 5vw;
}
.sec-step h2 span{
  font-size: 6vw;
}
.sec-step li > span{
  font-size: 3vw;
}
/*---------------------
お客様の声
----------------------*/
.sec-voice{
  padding: 60px 1rem 50px;
}
.sec-voice li > p{
  font-size: 3vw;
}
/*---------------------
問い合わせ
----------------------*/
.sec-contact{
  padding: 90px 1rem 50px;
}
.sec-contact h2{
  width: auto;
  font-size: 5vw;
}
.sec-contact h2 span{
  left: 3vw;
  font-size: 4vw;
  width: 14vw;
  background-size: 100% 100%;
}
.sec-contact-txt p{
  font-size: 2.5vw;
}