body{
  line-height: 1.5;
  font-size: 27px;
  font-family: 'Noto Sans JP', sans-serif;
}
.wrapper{
  width: 100%;
  max-width: 1600px;
  margin: auto;
}
.pc{
  display: block;
}
.tab{
  display: none;
}
.mobi{
  display: none;
}
.pc.tab{
  display: block;
}
.orange{
  color: #e87800;
}
.green{
  color: #02b16c;
}
.yellow{
  color: #ffee52;
}
.emphasis{
  background-image: radial-gradient(circle at center, #e87800 15%, transparent 15%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em .7em;
  padding-top: .3em;
}
.highlight{
  background-image: linear-gradient(90deg, rgba(139, 231, 59, 1), rgba(2, 177, 108, 1) 70%);
  color: #fff;
  margin: auto;
  width:max-content;
  font-weight: bold;
  padding: 0 10px;
}
.highlight-orange{
  background-image: linear-gradient(150deg, rgba(251, 220, 84, 1), rgba(255, 176, 92, 1));
  color: #fff;
  margin: auto;
  width:max-content;
  font-weight: bold;
  padding: 0 10px;
}
/*---------------------
top
----------------------*/
.top{
  background: url(../images/kv-bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 0 0 195px;
}
.top-txt{
  font-size: 26px;
  text-align: center;
  background: #02b16c;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
}
.top-main-txt{
  font-size: 68px;
  text-align: center;
  font-weight: bold;
  margin-top: 190px;
}
.top-main-txt .big{
  font-size: 74px;
  font-weight: 900;
}
.top-main-txt .small{
  font-size: 57px;
}
.top-main-txt .line{
  position: relative;
  display: inline-block;
  z-index: 0;
  background: url(../images/top-line.png) no-repeat;
  background-position: bottom;
}

.top-sub-txt{
  margin-top: 100px;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
}
/*---------------------
banner
----------------------*/
.banner{
  background: url(../images/banner-bg.png) no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 50px 0;
  width: 100%;
  /*max-width: 1600px;*/
  margin: auto;
}
.banner-in{
  background: #fff;
  border-radius: 20px;
  max-width: 1100px;
  padding: 20px;
  margin: auto;
  position: relative;
}
.banner-in::before{
  content: "";
  background: url(../images/banner-img.png) no-repeat;
  background-size: cover;
  width: 452px;
  height: auto;
  aspect-ratio: 452/304;
  position: absolute;
  bottom: -50px;
  right: -150px;
  z-index: 99;
}
.banner .orange{
  font-size: 34px;
  position: relative;
  width: max-content;
  margin: 0 auto 20px;
  padding: 0 30px;
}
.banner .orange::before{
  content: "";
  background: url(../images/left-line.png);
  width: 26px;
  height: auto;
  aspect-ratio: 26/29;
  position: absolute;
  bottom: 5px;
  left: 0;
}
.banner .orange::after{
  content: "";
  background: url(../images/right-line.png);
  width: 26px;
  height: auto;
  aspect-ratio: 26/29;
  position: absolute;
  bottom: 5px;
  right: 0;
}
.banner p{
  text-align: center;
  font-size: 27px;
  font-weight: bold;
}
.banner a{
  font-size: 32px;
  width: 440px;
  aspect-ratio: 440/69;
  background: url(../images/btn.png) no-repeat;
  background-size: cover;
  display: block;
  font-weight: bold;
  position: relative;
  padding-left: 100px;
  color: #fff;
  line-height: 69px;
  margin: 20px auto 0;
}
.banner a::before{
  content: "";
  position: absolute;
  background: url(../images/mail-icon.png) no-repeat;
  background-size: cover;
  aspect-ratio: 27/19;
  width: 27px;
  height: auto;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
}
/*---------------------
変わり続ける時代。
----------------------*/
.sec-woory-first{
  background: url(../images/worry-bg1.png) no-repeat;
  background-size: 100%;
  background-position: top center;
  padding: 65px 0 0;
  position: relative;
}
.sec-woory-first::before{
  content: "";
  position: absolute;
  background: url(../images/green-arrow.png) no-repeat;
  background-size: cover;
  width: 137px;
  height: auto;
  aspect-ratio: 137/71;
  bottom: -90px;
  left: 50%;
  transform: translateX(-50%);
}
.sec-woory-first h2{
  font-weight: bold;
  font-size: 30px;
  text-align: center;
}
.sec-woory-first h2 .green{
  font-size: 41px;
  background: url(../images/sec2-line.png) no-repeat;
  background-position: bottom;

}
.sec-woory-first img{
  width: auto;
  margin: 40px auto 0;
  display: block;
}
.sec-worry-second{
  background: url(../images/worry-bg2.png) no-repeat;
  background-position: top center;
  padding: 100px 0 70px;
}
.sec-worry-second p{
  font-size: 30px;
  margin: auto;
  width:max-content;
  font-weight: bold;
}
.sec-worry-second .lead{
  margin-bottom: 40px;
}
.sec-worry-second .lead .orange{
  font-size: 42px;
  font-weight: 900;
}
.sec-worry-second .highlight{
  font-size: 38px;
  padding: 0 10px;
  margin-bottom: 10px;
  text-align: center;
}
.sec-worry-second .highlight.big{
  font-size: 56px;
  margin-bottom: 60px;
}
.sec-worry-second .line{
  background: url(../images/yellow-line.png) no-repeat;
  background-position: bottom;
  padding-bottom: 5px;
}
/*---------------------
変わり続ける時代。
----------------------*/
.green-box{
  width: 100%;
  max-width: 1200px;
  border: 3px solid #02b16c;
  background: #fefcf3;
  margin: 100px auto;
}
.green-box h2{
  font-size: 40px;
  color: #fff;
  background: #02b16c;
  text-align: center;
  position: relative;
}
.green-box h2 .big{
  font-size: 53px;
}
.green-box p{
  text-align: center;
  font-size: 33px;
  font-weight: bold;
  margin: 40px 0;
}
.green-box .small{
  font-size: 27px;
}
.green-box .line{
  background: linear-gradient(transparent 80%, #edce44 80%);
}
.green-box .orange{
  font-size: 42px;
}
.green-box > img{
  display: block;
  margin: 0 auto 20px;
}
.green-box h2 .balloon{
  background: url(../images/green-box-balloon.png) no-repeat;
  background-size: cover;
  width: 185px;
  aspect-ratio: 184/145;
  position: absolute;
  color: #000;
  text-align: center;
  padding: 30px 15px 0;
  font-size: 35px;
  left: 10%;
  top: -50px;
}

/*---------------------
税理士事務所ならではの強み
----------------------*/
.sec-advantage{
  background: url(../images/advantage-bg.png);
  padding: 95px 0 100px;
}
.sec-advantage h2{
  font-size: 60px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.sec-advantage > p{
  text-align: center;
  font-size: 27px;
}
.sec-advantage-list span{
  color: #e87800;
}
.sec-advantage-list {
  width: 100%;
  margin: 60px auto 70px;
  max-width: 1110px;
}
.sec-advantage-list li{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  font-size: 30px;
  background: #fff;
  margin-bottom: 30px;
  box-shadow: -4px 0 5px rgb(0 0 0 /.2);
  position: relative;
}
.sec-advantage-list li:last-of-type{
  margin-bottom: 0;
}
.sec-advantage-list li > span{
  position: absolute;
  color: #02b16c;
  font-size: 60px;
  font-family: "oswald","Arial Narrow",Impact, Haettenschweiler, sans-serif;
  font-weight: bold;
  top: -40px;
  left: 0;
}
.sec-advantage-list-txt{
  padding: 40px 20px 40px 50px;
  width: 100%;
}
.sec-advantage-list-txt p{
  border-bottom:  2px solid #e3e3e3;
  margin-bottom: 10px;
  padding-bottom: 5px;
}
.sec-advantage > p{
  font-size: 33px;
  font-weight: bold;
}
.sec-advantage > p .line{
  background: linear-gradient(transparent 80%, #edce44 80%);
}
.sec-advantage > p .orange{
  font-size: 42px;
}
.sec-advantage .highlight{
  font-size: 40px;
  margin: 20px auto 0;
}

/*---------------------
ライフプランシミュレーション
----------------------*/
.sec-simulation {
  background: url(../images/simulation-bg.png) no-repeat;
  background-size: cover;
  padding: 100px 0 80px;
}
.sec-simulation h2{
  font-size: 53px;
  text-align: center;
  margin-bottom: 70px;
}
.sec-simulation .note{
  position: relative;
  background: #fff;
  border: 2px solid #02b16c;
  max-width: 1044px;
  margin: 0 auto 50px;
  font-size: 27px;
  padding: 60px 50px 60px 150px;
  font-weight: bold;
}
.sec-simulation .note p:first-of-type{
  margin-bottom: 30px;
}
.sec-simulation .note img{
  position: absolute;
  left: -50px;
  bottom: 0;
}
.sec-simulation dl{
  width: 100%;
  max-width: 1200px;
  margin: auto;
  box-shadow: 3px 3px 5px rgb(0 0 0 /.2);
  margin-bottom: 40px;
}
.sec-simulation dt{
  color: #fff;
  background: #056f45;
  text-align: center;
  font-size: 27px;
  font-weight: bold;
  padding: 10px;
}
.sec-simulation dd{
  background: #fff;
  padding: 40px;
}
.sec-simulation dd p{
  text-align: center;
  margin-bottom: 10px;
  font-weight: bold;
}
.sec-simulation dd img{
  margin: auto;
  display: block;
}
.sec-simulation .line{
  background: linear-gradient(transparent 85%, #edce44 85%);
}
.sec-simulation-txt{
  max-width: 1160px;
  width: 100%;
  background: url(../images/simulation-txt-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 70px 30px 55px;
  text-align: center;
  margin: 150px auto 0;
  position: relative;
}
.sec-simulation-txt::before{
  content: "";
  background: url(../images/green-arrow.png) no-repeat;
  background-size: cover;
  width: 137px;
  aspect-ratio: 137/71;
  position: absolute;
  left: 50%;
  top: -95px;
  transform: translateX(-50%);
}
.sec-simulation-txt p{
  font-size: 33px;
  font-weight: bold;
}
.sec-simulation-txt p:last-of-type{
  margin-bottom: 45px;
}
.sec-simulation-txt p .big{
  font-size: 40px;
}
.sec-simulation-txt a{
  font-size: 27px;
  padding-left: 30px;
  position: relative;
  font-weight: bold;
}
.sec-simulation-txt a span{
  border-bottom: 2px solid #535353;
}
.sec-simulation-txt a::before{
  content: "";
  border-style: solid;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 22px solid #edce44;
  border-right: 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
/*---------------------
将来の見えない不安を見える安心に変える
----------------------*/
.sec-change{
  background: url(../images/sec-change-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 100px 0;
  width: 100%;
}
.sec-change h2{
  text-align: center;
  font-size: 40px;
  margin-bottom: 60px;
}
.sec-change h2 p:first-of-type{
  font-size: 33px;
}
.sec-change h2 .big{
  font-size: 53px;
}
.sec-change-boxes{
  /*background: url(../images/sec-change-bg.png) no-repeat;
  background-size: 100% 100%;
  padding: 100px 0;
  width: 100%;
  max-width: 1600px;*/
}
.sec-change-box{
  max-width: 1300px;
  width: 100%;
  margin: auto;
  background: #fff;
  padding: 40px 30px 60px;
  margin-bottom: 40px;
}
.sec-change-box:last-of-type{
  margin-bottom: 0;
}
.sec-change-note{
  font-size: 33px;
  text-align: center;
  background: url(../images/change-note-bg.png) no-repeat;
  background-position: center;
  background-size: cover;
  max-width: 1200px;
  width: 100%;
  height:auto;
  aspect-ratio: 1200/246;
  margin: auto;
  text-shadow: -3px 0 3px rgb(0 0 0 /.8);
  color: #fff;
  font-weight: bold;
  padding: 30px 0 0;
}
.sec-change-note .orange{
  font-size: 40px;
}
.sec-change-point{
  background: #fff5c7;
  border: 3px solid #edce44;
  max-width: 974px;
  margin: 50px auto 0;
  position: relative;
  font-size: 25px;
  padding: 40px 0 35px;
  text-align: center;
  font-weight: bold;
}
.sec-change-point::before{
  content: "";
  position: absolute;
  background: url(../images/icon-light.png) no-repeat;
  background-size: cover;
  width: 89px;
  height: auto;
  aspect-ratio: 89/95;
  left: 5%;
  top: -60px;
}
.sec-change-box > p{
  text-align: center;
  font-size: 27px;
  font-weight: bold;
}
.sec-change-baloons{
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.sec-change-baloon-con{
  font-size: 25px;
  display: flex;
  justify-content: center;
  font-weight: bold;
  text-align: center;
  position: relative;
  margin-top: 50px;
}
.sec-change-baloon-con p{
  margin-top: 40px;
}
.sec-change-baloon-con:first-of-type{
  background: url(../images/balloon1.png) no-repeat;
  background-size: cover;
  width: 377px;
  height: auto;
  aspect-ratio: 377/314;
}
.sec-change-baloon-con:nth-of-type(2){
  margin-top: 0;
  background: url(../images/balloon2.png) no-repeat;
  background-size: cover;
  width: 377px;
  height: auto;
  aspect-ratio: 377/320;
}
.sec-change-baloon-con:last-of-type{
  background: url(../images/balloon3.png) no-repeat;
  background-size: cover;
  width: 377px;
  height: auto;
  aspect-ratio: 377/315;
}
.sec-change-box-img{
  position: relative;
  margin-bottom: 30px;
}
.sec-change-box-img img{
  margin: auto;
  display: block;
}
.sec-change-box-img img:last-of-type{
  margin-top: 30px;
}
.sec-change-box .highlight-orange{
  font-size: 38px;
}
.sec-change-box .highlight-orange .big{
  font-size: 65px;
}
.sec-change-box .highlight-orange:last-of-type{
  font-size: 56px;
  margin-top: 10px;
}
.sec-change-con{
  padding: 100px 0;
}
.sec-change-con .box{
  background: #e6f5ef;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 60px 0;
}
.sec-change-con .box p{
  font-size: 30px;
  text-align: center;
  font-weight: bold;
}
.sec-change-con .box p span{
  font-size: 35px;
}
.sec-change-con .box p .big{
  font-size: 40px;
}
.sec-change-circle{
  display: flex;
  justify-content: center;
  column-gap: 20px;
  margin: 40px 0;
}
.sec-change-circle li{
  background: #fff;
  border-radius: 50%;
  width: 259px;
  aspect-ratio: 1/1;
}
.sec-change-circle li img{
  display: block;
  margin: 25px auto 15px;
}
.sec-change-circle li span{
  width: 100%;
  display: block;
  font-size: 27px;
  text-align: center;
  font-weight: bold;
}
.sec-change-txt{
  text-align: center;
  font-size: 33px;
  font-weight: bold;
  margin: 60px 0 0;
}
.sec-change-txt p{
  margin-bottom: 10px;
}
.sec-change-txt .bg-orange{
  background: #ffc88e;
  padding: 0 20px;
  display: inline-block;
  margin: 0 10px;
}
.sec-change-txt .bg-green{
  background: #d5e3de;
  padding: 0 20px;
  display: inline-block;
  margin: 0 10px;
}
.sec-change-txt .big{
  font-size: 45px;
}
.sec-change-txt .line{
  background: url(../images/sec-change-line.png) no-repeat;
  background-position: bottom;
  padding-bottom: 5px;
}
/*---------------------
72の法則
----------------------*/
.sec-rule{
  background: url(../images/sec-rule-bg.png) no-repeat;
  background-size: cover;
  padding: 200px 0 100px;
  position: relative;
}
.sec-rule h2{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 70px;
  font-size: 53px;
  text-align: center;
}
.sec-rule h2 .balloon{
  background: #2cab79;
  color: #fff;
  width: 390px;
  border-radius: 5px;
  padding: 5px;
  box-sizing: border-box;
  position: relative;
  font-size: 33px;
}
.sec-rule h2 .big{
  font-size: 90px;
}
.sec-rule h2 .balloon::before{
  content: "";
  border-style: solid;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 16px solid #2cab79;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -16px;
}
.sec-rule-con{
  background: #fff;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 90px 0 75px;
}
.sec-rule-con .line{
  background: url(../images/sec-rule-line.png) no-repeat;
  background-position: center bottom;
  background-size: 100%;
  width: max-content;
  margin: auto;
  font-size: 27px;
  font-weight: bold;
  padding-bottom: 10px;
}
.sec-rule-about{
  background: url(../images/sec-rule-about.png) no-repeat;
  background-position: center bottom;
  width: 808px;
  margin: 60px auto 0;
  text-align: center;
  aspect-ratio: 808/170;
  font-weight: bold;
  padding-bottom: 45px;
}
.sec-rule-about p{
  font-size: 30px;
}
.sec-rule-about p:first-of-type{
  font-size: 25px;
  margin-bottom: 10px;
}
.sec-rule-about .small{
  font-size: 25px;
}
.sec-rule-about .big{
  font-size: 40px;
}
.sec-rule-formula{
  max-width: 977px;
  width: 100%;
  margin: auto;
  font-size: 33px;
  position: relative;
  margin-top: 70px;
}
.sec-rule-formula::before{
  content: "";
  background: url(../images/sec-rule-img1.png) no-repeat;
  background-size: cover;
  width: 143px;
  height: auto;
  aspect-ratio: 143/175;
  position: absolute;
  left: 0;
  top: -100px;
}
.sec-rule-formula::after{
  content: "";
  background: url(../images/sec-rule-img2.png) no-repeat;
  background-size: cover;
  aspect-ratio: 115/85;
  width: 115px;
  height: auto;
  position: absolute;
  right: 20px;
  top: -20px;
}
.sec-rule-formula > p{
  font-size: 27px;
  text-align: center;
  font-weight: bold;
}
.sec-rule-formula-in{
  background: #ffe989;
  padding: 50px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec-rule-formula-in p{
  font-weight: bold;
  font-size: 40px;
  display: flex;
  align-items: center;
}
.sec-rule-formula-in .box{
  border: 3px solid #a8a8a8;
  box-sizing: border-box;
  margin: 0 15px;
  background: #fff;
  padding: 0 20px;
  font-size: 33px;
  height: 67px;
  display: flex;
  align-items: center;
}
.sec-rule-formula-in .small{
  font-size: 25px;
}
.sec-rule-formula-in .box.orange{
  font-size: 50px;
}
.sec-rule-ex{
  font-size: 27px;
  text-align: center;
  font-weight: bold;
  margin-top: 50px;
}
.sec-rule-ex-con{
  background: #f5f6f5;
  max-width: 977px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  padding: 55px;
}
.sec-rule-ex-con dl{
  width: 400px;
  border: 1px solid #058b56;
  font-size: 25px;
}
.sec-rule-ex-con dt{
  color: #fff;
  background: #058b56;
}
.sec-rule-ex-con dt span{
  font-size: 40px;
}
.sec-rule-ex-con dd{
  background: #fff;
  padding: 40px 0;
  text-align: center;
}
.sec-rule-ex-con dd span{
  font-size: 35px;
}
/*---------------------
長期資産形成の基本から、
----------------------*/
.point{
  background: url(../images/point-bg.jpg) no-repeat;
  background-size: cover;
  padding: 100px 0;
}
.point-frame{
  background: url(../images/point-frame.png) no-repeat;
  background-size: cover;
  max-width: 1180px;
  width: 100%;
  margin: 0 auto 50px;
  height: auto;
  aspect-ratio: 1180/476;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 57px;
}
.point-frame-img{
  width: 220px;
  height: 330px;
  background: #afafaf;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
.point-frame-img img{
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.point-frame-txt{
  font-size: 27px;
  font-weight: bold;
}
.point-frame-txt .big{
  font-size: 53px;
  margin-bottom: 20px;
}
.point-frame-txt .orange{
  font-size: 35px;
}
.point-txt p:first-of-type{
  position: relative;
  width: max-content;
  margin: auto;
  padding: 0 50px;
  font-size: 27px;
  font-weight: bold;
}
.point-txt p:first-of-type::before{
  content: "";
  background: url(../images/left-line.png) no-repeat;
  background-size: cover;
  width: 26px;
  height: auto;
  aspect-ratio: 26/29;
  position: absolute;
  bottom: 5px;
  left: 0;
}
.point-txt p:first-of-type::after{
  content: "";
  background: url(../images/right-line.png) no-repeat;
  background-size: cover;
  width: 26px;
  height: auto;
  aspect-ratio: 26/29;
  position: absolute;
  bottom: 5px;
  right: 0;
}
.point-txt .highlight{
  font-size: 38px;
  margin: 20px auto 0;
}
.point-txt .highlight .yellow{
  font-size: 45px;
}
/*---------------------
シミュレーション内容の具体例
----------------------*/
.sec-ex{
  padding: 100px 0 190px;
}
.sec-ex-con{
  background: #f1faf0;
  max-width: 1280px;
  width: 100%;
  margin: auto;
  padding: 65px 0 200px;
  position: relative;
}
.sec-ex-con h2{
  text-align: center;
  font-size: 27px;
  margin-bottom: 50px;
}
.sec-ex-con h2 span{
  color: #019058;
  font-size: 55px;
}
.sec-ex-con dl{
  box-shadow: 3px 3px 5px rgb(0 0 0 /.2);
  border: 1px solid #02b16c;
  width: 100%;
  max-width: 1010px;
  margin: 0 auto 30px;
  font-weight: bold;
}
.sec-ex-con dt{
  color: #fff;
  background: #066c44;
  padding: 10px 50px;
  font-size: 33px;
}
.sec-ex-con dd{
  background: #fff;
  padding: 30px 40px;
  font-size: 25px;
}
.sec-ex-con dl img{
  margin: 30px auto 0;
}
.sec-ex-txt{
  background: url(../images/sec-ex-txt-bg.png) no-repeat;
  aspect-ratio: 1178/248;
  width: 1178px;
  padding: 70px 50px;
  font-size: 30px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom:-80px;
  font-weight: bold;
}
.sec-ex-txt .orange{
  font-size: 35px;
}
/*---------------------
メリット
----------------------*/
.sec-merit{
  background: #fffcee;
  padding: 100px 0;
}
.sec-merit h2{
  font-size: 53px;
  color: #019058;
  text-align: center;
  margin-bottom: 70px;
}
.sec-merit ul{
  display: flex;
  justify-content: center;
  column-gap: 20px;
}
.sec-merit li{
  text-align: center;
  background: #fff;
  border: 3px solid #02b16c;
  border-radius: 10px;
  width: 430px;
  height: 380px;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  position: relative;
  row-gap: 30px;
  font-weight: bold;
  font-size: 25px;

}
.sec-merit li::before{
  content: "";
  position: absolute;
  width: 80px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../images/merit-check.png) no-repeat;
  background-size: cover;
  left: 50%;
  transform: translateX(-50%);
  top: -40px;
}
.sec-merit-img{
  margin: 0 auto;
}
/*---------------------
ご相談から解決までのステップ
----------------------*/
.sec-step{
  background: url(../images/step-bg.png) no-repeat;
  background-size: 100%;
  padding: 90px 0;
}
.sec-step h2{
  font-size: 53px;
  text-align: center;
}
.sec-step h2 span{
  font-size: 60px;
}
.sec-step ul{
  width: 100%;
  max-width: 1200px;
  margin: 80px auto 0;
}
.sec-step li{
  background: #dcf2e1;
  box-shadow: 0 2px 15px rgb(0 0 0 /.1);
  margin-bottom: 65px;
  position: relative;
  padding: 15px 10px 15px 180px;
  font-weight: bold;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.sec-step li::after{
  content: "";
  position: absolute;
  background: url(../images/step-triangle.png) no-repeat;
  background-size: cover;
  width: 39px;
  aspect-ratio: 39/30;
  left: 50%;
  transform: translateX(-50%);
  bottom: -50px;
}
.sec-step li:last-of-type::after{
  content: none;
}
.sec-step li > span{
  font-size: 33px;
}
.sec-step-img {
  width: 15%;
}
.sec-step-img img{
  vertical-align: middle;
}
.sec-step li p{
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 110px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
  background: #02b16c;
  color: #fff;
  font-size: 20px;
  border-radius: 50%;
}
.sec-step li p span{
  font-size: 40px;
  width: 100%;
  text-align: center;
  line-height: 1;
}
.sec-step > p{
  font-size: 27px;
  text-align: center;
  font-weight: bold;
}
/*---------------------
お客様の声
----------------------*/
.sec-voice{
  background: url(../images/voice-bg.png) no-repeat;
  background-size: cover;
  padding: 90px 0 100px;
}
.sec-voice h2{
  text-align: center;
  font-size: 53px;
  margin-bottom: 50px;
}
.sec-voice ul{
  max-width: 1200px;
  margin: auto;
}
.sec-voice li{
  background: #fff;
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 50px 30px 0 60px;
}
.sec-voice li:last-of-type{
  margin-bottom: 0;
}
.sec-voice li > p{
  width: 70%;
  font-size: 33px;
  font-weight: bold;
}
.sec-voice li span{
  display: block;
  text-align: right;
  margin: 30px 0;
  font-size: 25px;
}
.sec-voice li img{
  flex-shrink: 0;
}
/*---------------------
ライフプラン相談　実施中
----------------------*/
.sec-contact{
  background: url(../images/contact-bg.png) no-repeat;
  background-size: cover;
  padding: 120px 0 100px;
}
.sec-contact h2{
  font-size: 50px;
  position: relative;
  width: 1120px;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
}
.sec-contact h2 span{
  font-size: 40px;
  position: absolute;
  background: url(../images/contact-balloon.png);
  width: 142px;
  height: auto;
  aspect-ratio: 142/112;
  color: #000;
  padding: 15px 0 0;
  left: 90px;
  top: -60px;
}
.sec-contact p{
  font-size: 27px;
  text-align: center;
  font-weight: bold;
}

.sec-contact-txt{
  margin: 50px auto 70px;
}
.sec-contact-txt p{
  background: url(../images/contact-line.png) no-repeat;
  background-position: bottom;
  width: max-content;
  text-align: center;
  font-size: 27px;
  font-weight: bold;
  padding-bottom: 10px;
  margin: auto;
}

.sec-contact-mail{
  font-weight: bold;
}
.sec-contact-mail p{
  font-size: 27px;
  text-align: center;
  position: relative;
  width: max-content;
  margin: 0 auto 10px;
  padding: 0 40px;
}
.sec-contact-mail p::before{
  content: "";
  background: url(../images/left-line.png);
  width: 26px;
  aspect-ratio: 26/29;
  position: absolute;
  left: 0;
  bottom: 5px;
}
.sec-contact-mail p::after{
  content: "";
  background: url(../images/right-line.png);
  width: 26px;
  aspect-ratio: 26/29;
  position: absolute;
  bottom: 5px;
  right: 0;
}
.sec-contact-mail p .orange{
  font-size: 33px;
}
.sec-contact-mail a{
  text-align: center;
  width: 440px;
  height: 70px;
  line-height: 70px;
  color: #fff;
  font-weight: bold;
  font-size: 32px;
  border-radius: 50px;
  background: url(../images/btn.png) no-repeat;
  aspect-ratio: 440/72;
  display: block;
  margin: auto;
}
.sec-contact-tel{
  text-align: center;
  margin-top: 60px;
}
.sec-contact-tel > p:first-of-type{
  font-size: 25px;
}
.sec-contact-tel p.green{
  font-size: 50px;
  font-weight: bold;
  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 > p:last-of-type{
  font-size: 23px;
}
.sec-contact-tel > p:last-of-type span{
  border: 1px solid #000;
  margin-right: 10px;
  padding: 0 5px;
}
footer{
  font-size: 12px;
  text-align: center;
  padding: 10px;
}