body{
  font-size: 6vw;
}
.pc{
  display: none;
}
.tab{
  display: none;
}
.mobi{
  display: block;
}
.pc.tab{
  display: none;
}
/*---------------------
top
----------------------*/
.top{
  background: url(../images-sp/top-kv.png) no-repeat;
  background-size: cover;
  padding-bottom: 30px;
}
.top-txt{
  font-size: 4vw;
}
.top-main-txt{
  font-size: 6vw;
  margin-top: 7vw;
}
.top-main-txt .small{
  font-size: 6vw;
}
.top-main-txt .big{
  font-size: 8vw;
}
.top-main-txt .line{
  font-size: 10vw;
}
.top-sub-txt{
  font-size: 4.5vw;
  margin-top: 7vw;
}
/*---------------------
変わり続ける時代
----------------------*/
.sec-woory-first h2{
  font-size: 5vw;
}
.sec-woory-first h2 .green{
  font-size: 6vw;
  background: url(../images-sp/sec2-line.png) no-repeat;
  background-size: 100%;
  background-position: bottom;
}
.sec-woory-first{
  padding: 50px 2.5% 50px;
  background: url(../images-sp/sec-worry-bg1.png) no-repeat;
  background-size: 100%;
  background-position: top center;
}
.sec-woory-first::before{
  width: 15%;
  bottom: 0px;
}
.sec-woory-first img{
  width: 100%;
}
.sec-worry-second{
  background: url(../images-sp/sec-worry-bg2.png) no-repeat;
  background-size: 100%;
  background-position: bottom center;
  padding: 20px 2.5%;
}
.sec-worry-second p{
  margin: auto;
}
.sec-worry-second .lead{
  font-size: 5vw;
  margin-bottom: 3vw;
}
.sec-worry-second .lead .orange{
  font-size: 7vw;
}
.sec-worry-second .highlight{
  font-size: 4.5vw;
}
.sec-worry-second .highlight.big{
  font-size: 6vw;
  margin-bottom: 20px;
}
.sec-worry-second .line{
  font-size: 5vw;
  background: none;
  position: relative;
  z-index: 99;
}
.sec-worry-second .line::before{
  content: "";
  background: url(../images-sp/yellow-line.png);
  width: 100%;
  height: auto;
  aspect-ratio: 335/13;
  position: absolute;
  left: 0;
  top: 5vw;
  z-index: -1;
  display: block;
}
.sec-worry-second .line::after{
  content: "";
  background: url(../images-sp/yellow-line.png);
  width: 100%;
  height: auto;
  aspect-ratio: 335/13;
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
}
/*---------------------
banner
----------------------*/
.banner{
  padding: 30px 2.5%;
  background: url(../images-sp/banner-bg.png) no-repeat;
  background-size: cover;
}
.banner-in::before{
  width: 40%;
  right: -2vw;
  bottom: -30px;
}
.banner .orange{
  font-size: 7vw;
  padding: 0 15px 0 30px;
  margin-bottom: 10px;
}
.banner .orange::before,
.banner .orange::after{
  width: 20px;
  bottom: 5px;
}

.banner p{
  font-size: 5vw;
}
.banner a{
  width: 75%;
  line-height: 1.8;
  font-size: 5vw;
  padding-left: 15vw;
  background-size: 100%;
}
.banner a::before{
  width: 5vw;
  left: 8vw;
}
/*---------------------
ライフプラン相談会
----------------------*/
.green-box{
  width: calc(100% - 5%);
  margin: 30px auto;
}
.green-box h2{
  font-size: 6vw;
  padding: 5px;
}
.green-box h2 .big{
  font-size: 7vw;
}
.green-box h2 img{
  width: 10vw;
}
.green-box p{
  font-size: 4.5vw;
  margin: 10px 0;
}
.green-box .orange{
  font-size: 4.5vw;
}
.green-box > img{
  width: 50%;
  margin: 20px auto 10px;
}
.green-box h2 .balloon{
  display: none;
}
.green-box .small{
  font-size: 4vw;
}
/*---------------------
強み
----------------------*/
.sec-advantage{
  padding: 40px 2.5%;
}
.sec-advantage h2{
  font-size: 7vw;
  margin-bottom: 10px;
}
.sec-advantage > p{
  font-size: 5vw;
}
.sec-advantage-list{
  margin: 60px auto 50px;
}
.sec-advantage-list li{
  flex-wrap: wrap;
  margin-bottom: 50px;
  font-size: 5vw;
}
.sec-advantage-list li > span{
  font-size: 11vw;
}
.sec-advantage-list-txt{
  padding: 50px 10px 10px;
}
.sec-advantage-list-txt p{
  font-size: 5vw;
}
.sec-advantage-list li img{
  width: 100%;
}
.sec-advantage > p .orange{
  font-size:6vw;
}
.sec-advantage .highlight{
  font-size: 6vw;
  text-align: center;
  margin: 30px auto 10px;
}
.sec-advantage .highlight:last-of-type{
  margin: 0 auto;
}
/*---------------------
ライフプランシミュレーション
----------------------*/
.sec-simulation{
  padding: 30px 2.5%;
  background: url(../images-sp/simulation-bg.png) no-repeat;
  background-size: 100% 100%;
}
.sec-simulation h2{
  font-size: 7vw;
  margin-bottom: 30px;
}
.sec-simulation .note{
  font-size: 4vw;
  padding: 30px 2.5% 40px 23vw;
  margin: 0 auto 30px;
}
.sec-simulation .note img{
  width: 23vw;
  left: 0;
}
.sec-simulation dt{
  font-size: 4.5vw;
}
.sec-simulation dd{
  padding: 20px 2.5%;
}
.sec-simulation dd img{
  width: 100%;
}
.sec-simulation-border{
  border: 1px solid #000;
  padding: 10px;
}
.sec-simulation-txt{
  margin-top: 15vw;
  background: url(../images-sp/simulation-txt-bg.png) no-repeat;
  background-size: 100%;
  padding: 6vw 4vw;
}
.sec-simulation-txt::before{
  width: 15vw;
  top: -10vw;
}
.sec-simulation-txt p{
  font-size: 4.5vw;
}
.sec-simulation-txt p .big{
  font-size: 5.5vw;
}
.sec-simulation-txt p:last-of-type{
  margin-bottom: 0;
}
.sec-simulation-txt a{
  font-size: 4vw;
  padding-left: 6vw;
}
.sec-simulation-txt a::before{
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #edce44;
}
/*---------------------
見える安心に変える
----------------------*/
.sec-change{
  padding: 40px 0;
}
.sec-change-boxes{
  padding: 30px 2.5%;
}
.sec-change-box{
  padding: 30px 2.5%;
}
.sec-change h2{
  font-size: 5.5vw;
  margin-bottom: 30px;
}
.sec-change h2 p:first-of-type{
  font-size: 5.5vw;
}
.sec-change h2 .big{
  font-size: 8vw;
}
.sec-change-note{
  background: url(../images-sp/change-note-bg.png) no-repeat;
  background-size: cover;
  font-size: 4.5vw;
  padding: 15px 2.5%;
  aspect-ratio: 660/291;
}
.sec-change-note .orange{
  font-size: 5.5vw;
}
.sec-change-point{
  font-size: 4vw;
  padding: 20px 2.5%;
  margin: 20px auto 0;
}
.sec-change-point::before{
  width: 15vw;
  left: 0;
  top: -11vw;
}
.sec-change-box > p{
  font-size: 6vw;
}
.sec-change-box:last-of-type{
  margin-bottom: 0;
}
.sec-change-baloons{
  flex-wrap: wrap;
  align-content: space-between;
  margin: 30px auto;
}
.sec-change-baloon-con:first-of-type,
.sec-change-baloon-con:last-of-type{
  margin-top: 20px;
}
.sec-change-baloon-con:first-of-type,
.sec-change-baloon-con:last-of-type{
  background: url(../images-sp/baloon1.png) no-repeat;
  background-size: cover;
  width: 100%;
  aspect-ratio: 594/222;
  font-size: 5vw;
  padding: 4vw 0 10px 10vw;
}
.sec-change-baloon-con:nth-of-type(2){
  background: url(../images-sp/balloon2.png) no-repeat;
  background-size: cover;
  width: 100%;
  aspect-ratio: 594/222;
  font-size: 5vw;
  margin-top: 20px;
  padding: 4vw 10vw 10px 0;
}
.sec-change-baloon-con p{
  margin-top: 0;
}
.sec-change-box-img img{
  width: 80%;
}
.sec-change-box-img img:last-of-type{
  width: 20%;
}
.sec-change-box .highlight-orange{
  font-size: 5vw;
  margin: 2vw auto;
}
.sec-change-box .highlight-orange .big{
  font-size: 8vw;
}
.sec-change-box .highlight-orange:last-of-type,
.sec-change-box .highlight-orange:nth-of-type(3){
  font-size: 7vw;
}
.sec-change-box .highlight-orange:nth-of-type(3){
  margin-top: 5vw;
}
.sec-change-con{
  padding: 30px 2.5%;
}
.sec-change-con .box{
  padding: 20px 2.5%;
  width: 100%;
  margin: 0;
}
.sec-change-con .box p{
  font-size: 4.5vw;
}
.sec-change-con .box p span{
  font-size: 5vw;
}
.sec-change-circle{
  flex-wrap: wrap;
  row-gap: 20px;
  margin: 20px 0;
}
.sec-change-circle li span{
  font-size: 6vw;
}
.sec-change-con .box p .big{
  font-size: 6vw;
}
.sec-change-txt{
  font-size: 5vw;
  margin-top: 30px;
}
.sec-change-txt .big{
  font-size: 7vw;
}
.sec-change-txt .line{
  margin: 0 auto;
}
.sec-change-txt .line{
  background: url(../images-sp/sec-change-line1.png) no-repeat;
  background-position: bottom center;
  background-size: 100%;
  width: max-content;
  margin-top: 5vw;
}
.sec-change-txt .line:last-of-type{
  background: url(../images-sp/sec-change-line2.png) no-repeat;
  background-position: bottom center;
  background-size: 100%;
  width: max-content;
  margin-top: 0;
}
/*---------------------
72の法則
----------------------*/
.sec-rule{
  padding: 130px 2.5% 40px;
}
.sec-rule h2{
  font-size: 7vw;
  top: 15vw;
}
.sec-rule h2 .big{
  font-size: 16vw;
}
.sec-rule h2 .balloon{
  font-size: 4vw;
  width: auto;
  padding: 5px 20px;
}
.sec-rule-con{
  padding: 60px 2.5% 30px;
}
.sec-rule-con .line{
  font-size: 4.5vw;
  background: url(../images-sp/rule-line1.png) no-repeat;
  background-position: center bottom;
}
.sec-rule-con .line:last-of-type{
  background: url(../images-sp/rule-line2.png) no-repeat;
  background-position: center bottom;
}
.sec-rule-about{
  background: url(../images-sp/sec-rule-about.png) no-repeat;
  background-size: cover;
  aspect-ratio: 655/305;
  width: 100%;
  margin: 10vw auto;
  padding: 5vw 0 0;
}
.sec-rule-about .small{
  font-size: 4vw;
}
.sec-rule-about p{
  font-size: 4.5vw;
}
.sec-rule-about p:first-of-type{
  font-size: 4vw;
  margin-bottom: 2vw;
}
.sec-rule-about .big{
  font-size: 5.5vw;
}
.sec-rule-formula{
  margin-top: 5vw;
}
.sec-rule-formula > p{
  font-size: 4.5vw;
  margin-bottom: 10px;
}
.sec-rule-formula::before{
  width: 15vw;
  left: 0;
  top: -7vw;
}
.sec-rule-formula::after{
  width: 12vw;
  right: 0;
  top: 2vw;
}
.sec-rule-formula-in{
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10vw 0;
}
.sec-rule-formula-in > p{
  font-size: 5.5vw;
}
.sec-rule-formula-in > p:last-of-type{
  margin-left: auto;
  margin-top: 2vw;
}
.sec-rule-formula-in .box{
  font-size: 6vw;
  margin: 0 2vw;
  padding: 0 3vw;
  height: 13vw;
}
.sec-rule-formula-in .box.orange{
  font-size: 7vw;
}
.sec-rule-ex{
  font-size: 5vw;
  margin-top: 30px;
}
.sec-rule-ex > p{
  margin-bottom: 10px;
}
.sec-rule-ex-con{
  padding: 30px 2.5%;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 5vw;
}
.sec-rule-ex-con dl{
  font-size: 5vw;
  width: 80%;
}
.sec-rule-ex-con dt span{
  font-size: 8vw;
}
.sec-rule-ex-con dd{
  padding: 5vw 0;
}
.sec-rule-ex-con dd span{
  font-size: 8vw;
}
/*---------------------
ポイント
----------------------*/
.point{
  padding: 30px 2.5%;
  background: url(../images-sp/point-bg.png) no-repeat;
  background-size: 100%;
  background-position: bottom;
}
.point-frame{
  background: url(../images-sp/point-frame.png) no-repeat;
  background-size: 100%;
  aspect-ratio: 660/749;
  width: 100%;
  flex-wrap: wrap;
  padding: 30px 2.5% 40px;
  align-items: flex-start;
}
.point-frame-txt{
  font-size: 4vw;
}
.point-frame-txt .big{
  font-size: 7vw;
  margin-bottom: 2vw;
  line-height: 1.2;
}
.point-frame-txt .orange{
  font-size: 5.2vw;
}
.point-frame-img{
  width: 35%;
  height: auto;
  aspect-ratio: 1/1;
}
.point-txt p:first-of-type{
  font-size: 5vw;
  padding: 0 7vw;
}
.point-txt p:first-of-type::before,
.point-txt p:first-of-type::after{
  width: 4vw;
}
.point-txt .highlight{
  font-size: 6vw;
  margin: 10px auto 0;
}
.point-txt .highlight .yellow{
  font-size: 7vw;
}
/*---------------------
シミュレーション内容の具体例
----------------------*/
.sec-ex{
  padding: 0 0 30vw;
}
.sec-ex-con h2 span{
  font-size: 6vw;
}
.sec-ex-con h2{
  font-size: 4.5vw;
  margin-bottom: 5vw;
}
.sec-ex-con{
  padding: 30px 2.5% 200px;
}
.sec-ex-con dl img{
  width: 100%;
  margin: 20px auto 0;
}
.sec-ex-con dt{
  font-size: 5vw;
  padding: 10px 20px;
}
.sec-ex-con dd{
  padding: 20px 2.5%;
  font-size: 4vw;
}
.sec-ex-txt{
  width: 100%;
  font-size: 5vw;
  background: url(../images-sp/simulation-txt-bg.png) no-repeat;
  background-size: 100%;
  padding: 10vw 2.5%;
  aspect-ratio: 690/440;
  text-align: center;
}
.sec-ex-txt p:last-of-type{
  margin-top: 4.5vw;
}
.sec-ex-txt .orange{
  font-size: 6vw;
}
/*---------------------
メリット
----------------------*/
.sec-merit{
  padding: 30px 2.5%;
}
.sec-merit h2 {
  font-size: 7vw;
  margin-bottom: 12vw;
}
.sec-merit ul{
  flex-wrap: wrap;
  row-gap: 10vw;
  column-gap: unset;
}
.sec-merit li{
  width: 80%;
  height: auto;
  aspect-ratio: 1/.9;
  row-gap: 0;
  padding: 0 2.5%;
  font-size: 5vw;
  row-gap: 5vw;
  padding: 7vw 0 0;
}
.sec-merit li::before{
  width: 15vw;
  top: -8vw;
}
.sec-merit li img{
  width: 60%;
}
/*---------------------
ステップ
----------------------*/
.sec-step{
  background: url(../images-sp/step-bg.png) no-repeat;
  background-size: 100%;
  padding: 30px 0;
}
.sec-step h2{
  font-size: 6vw;
}
.sec-step h2 span{
  font-size: 8vw;
}
.sec-step ul{
  margin: 30px auto;
}
.sec-step li{
  width: 90%;
  margin: 0 auto 10vw;
  position: relative;
  padding: 20px 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.sec-step li::after{
  width: 6vw;
  bottom: -7vw;
}
.sec-step li p{
  width: 20vw;
  font-size: 3vw;
  left: 0;
  top: -5vw;
  transform: translateY(0);
}
.sec-step li p span{
  font-size: 7vw;
}
.sec-step li > span{
  font-size: 4.5vw;
  margin: 5vw auto 0;
  display: block;
  width: 100%;
  text-align: center;
}
.sec-step-img{
  width: 10vw;
}
.sec-step-img img{
  width: 100%;
}
.sec-step > p{
  font-size: 5vw;
}
/*---------------------
お客様の声
----------------------*/
.sec-voice{
  background: url(../images-sp/voice-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 40px 2.5%;
}
.sec-voice h2{
  font-size: 7vw;
  margin-bottom: 8vw;
}
.sec-voice li{
  padding: 20px 2.5% 0;
  margin-bottom: 5vw;
}
.sec-voice li img{
  width: 25vw;
}
.sec-voice li > p{
  font-size: 4.5vw;
}
.sec-voice li span{
  font-size: 4vw;
  text-align: left;
}
/*---------------------
ライフプラン相談　実施中
----------------------*/
.sec-contact{
  padding: 15vw 2.5%;
  background: url(../images-sp/cta-bg.png) no-repeat;
  background-size: cover;
}
.sec-contact h2{
  font-size: 7vw;
  width: 100%;
  padding: 5px 2vw;
}
.sec-contact h2 span{
  font-size: 5vw;
  background: url(../images-sp/contact-balloon.png) no-repeat;
  background-size: cover;
  aspect-ratio: 111/87;
  width: 18vw;
  padding: 2vw 0 0;
  left: 2vw;
  top: -13vw;
}
.sec-contact p{
  font-size: 4.5vw;
}
.sec-contact-txt{
  margin: 5vw auto 7vw;
}
.sec-contact-txt p{
  margin: auto;
  width: max-content;
  padding-bottom: 0;
}
.sec-contact-txt p:first-of-type{
  background: url(../images-sp/contact-line1.png) no-repeat;
  background-position: bottom;
  background-size: 100%;
}
.sec-contact-txt p:last-of-type{
  background: url(../images-sp/contact-line2.png) no-repeat;
  background-position: bottom;
  background-size: 100%;
}
.sec-contact-mail p{
  padding: 0 25px;
}
.sec-contact-mail p .orange{
  font-size: 6vw;
}
.sec-contact-mail a{
  width: 80%;
  font-size: 6vw;
  height: auto;
  aspect-ratio: 440/69;
  line-height: 10vw;
  background-size: 100% 100%;
}
.sec-contact-mail p::after,
.sec-contact-mail p::before{
  width: 5vw;
}
/*.sec-contact-tel p.green{
  padding-left: 60px;
  width: max-content;
  margin: auto;
  position: relative;
}
.sec-contact-tel p.green::before{
  content: "";
  background: url(../images/contact-tel.png) no-repeat;
  background-size: cover;
  position: absolute;
  display: block;
  width: 40px;
  height: auto;
  aspect-ratio: 1/1;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}*/
.sec-contact-tel > a{
  font-size: 10vw;
  padding-left: 8vw;
  font-weight: bold;
  position: relative;
  width: max-content;
  margin: auto;
}
.sec-contact-tel > a::before{
  width: 7vw;
  content: "";
  background: url(../images/contact-tel.png) no-repeat;
  background-size: cover;
  position: absolute;
  display: block;
  height: auto;
  aspect-ratio: 1/1;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.sec-contact-tel{
  margin-top: 20px;
}
.sec-contact-tel > p:first-of-type{
  font-size: 4.5vw;
}
.sec-contact-tel > p:last-of-type{
  font-size: 4vw;
}
/*---------------
固定footer
------------------*/
footer{
  margin-bottom: 20vw;
}
.fixed-foot{
  position: fixed;
  width: 100%;
  bottom: 0;
  background: #fff;
	z-index:999;
}
.fixed-foot ul{
  display: flex;
  justify-content: space-between;
  padding: 2.5vw;
}
.fixed-foot li{
  width: 48.75%;
  border-radius: 8px;
  font-weight: bold;
	display: flex;
  justify-content: center;
  align-items: center;
}
.fixed-foot a{
	width:100%;
	height:100%;
	position:relative;
	padding-left:8vw;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
}

.fixed-foot li span{
  display: block;
  border-radius: 5px;
}
.fixed-foot .tel{
  background: #02b16c;
  color: #fff;
}

.fixed-foot .tel a::before{
	content:"";
	background:url(../../images/icon-tel.png) no-repeat;
	position:absolute;
	left:3vw;
	top:50%;
	transform:translateY(-50%);
	width:18px;
	height:18px;
}
.fixed-foot .tel .first{
  font-size: 3vw;
  color: #faee99;
	font-family: 'Noto Serif JP', serif;
}
.fixed-foot .mail{
  background: #e87800;
  color: #fff;
}

.fixed-foot .mail a::before{
	content:"";
	background:url(../../images/icon-mail-3.png) no-repeat;
	position:absolute;
	left:3vw;
	top:50%;
	transform:translateY(-50%);
	width:16px;
	height:16px;
}
.fixed-foot span{
  font-size: 3vw;
}
.fixed-foot .main{
  font-family: 'Noto Serif JP', serif;
  font-size: 3.5vw;
}
