/* 共通 */
html{
  scroll-behavior: smooth;
}
main > section{
  position: relative;
  padding-bottom: 0;
}
.wrapper{
  max-width: 968px;
  width: 88%;
  margin: 0 auto;
}
.fix-btn{
  position: fixed;
  top: 14%;
  right: 0;
  font-size: 22.4px;
  color: #fff;
  padding: 0.9em 0.7em;
  letter-spacing: 3px;
  background-color: #345aa5;
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 999;
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.5);
}
.fix-btn:hover{
  background-color: #345aa5;
  color: #fff;
  cursor: pointer;
}
.fix-btn:active{
  background-color: #345aa5;
  color: #fff;
  cursor: pointer;
}
.fix-btn span{
  display: inline-block;
  font-size: 85.7%;
  color: #345aa5;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0.2em;
  border-radius: 0.2em;
  font-weight: bold;
  margin-top: 0.6em;
}
h3{
  font-size: 44px;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  color: #345aa5;
  border-left: none;
  margin-bottom: 1.5em;
  padding: 0;
}
h3 span{
  font-size: 123%;
}
.header-ecs{
  margin-top: 73px;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  h3{
    font-size: 4vw;
  }
}
@media screen and (max-width: 768px) {
  h3{
    font-size: 5.5vw;
    word-break: keep-all;
  }
}

/* メインビジュアル */
.slide {
  position: relative;
  width: 100%;
  height: 880px;
  overflow: hidden;
}
.slide-image {
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.slide-image:nth-child(1) {
  background-image: url(../img/main-01.jpg);
  animation: woman 13s linear infinite;
}
.slide-image:nth-child(2) {
  background-image: url(../img/main-02.jpg);
  animation: man 13s linear infinite;
}
@keyframes woman {
  0% {
    opacity: 1;
  }
  /* 女性表示 */
  18.75% {
    opacity: 1;
  }
  /* クロスフェード */
  50% {
    opacity: 0;
  }
  /* 女性隠す */
  68.75% {
    opacity: 0;
  }
  /* クロスフェード */
  100% {
    opacity: 1;
  }
}
@keyframes man {
  0% {
    opacity: 0;
  }
  /* 男性隠す */
  18.75% {
    opacity: 0;
  }
  /* クロスフェード */
  50% {
    opacity: 1;
  }
  /* 男性表示 */
  68.75% {
    opacity: 1;
  }
  /* クロスフェード */
  100% {
    opacity: 0;
  }
}

.main_inner{
  position: absolute;
  width: 720px;
  top: 145px;
  left: 15.7%;
}
.main_txtbox{
  width: 100%;
  color: #fff;
  font-weight: 500;
}
.main_sub{
  font-size: 33px;
  border-bottom: 1px solid #fff;  
}
.main_title{
  font-size: 50px;
  line-height: 1.2;
  margin: 0.3em 0 0.5em;
}
.main_title span{
  font-size: 140%;
  font-weight: bold;
}
.main_txt{
  font-size: 26px;
  line-height: 1.5;
}
.main_list{
  width: 85%;
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.main_list li{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  width: 134px;
  height: 134px;
  text-align: center;
  box-shadow: 0 0 20px #333;
}
.main_list_txt{
  font-size: 19px;
  font-weight: 500;
  line-height: 1.5;
}
.main_list_years{
  font-size: 44px;
  color: #345aa5;
  line-height: 1;
  font-weight: bold;
  word-break: keep-all;
  font-feature-settings: "palt";
}
.main_list_years.font1000{
  font-size:40px;
}
.main_list_years span{
  font-size: 43%;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {

  .slide {
    height: 77.27vw;
  }
  .main_inner{
    width: 66vw;
    top: 13.18vw;
  }
  .main_sub{
    font-size: 3vw;
  }
  .main_title{
    font-size: 4.55vw;
  }
  .main_txt{
    font-size: 2.36vw
  }
  .main_list{
    margin-top: 3.64vw;
  }
  .main_list li{
    width: 12.18vw;
    height: 12.18vw;
    box-shadow: 0 0 1.82vw #333;
  }
  .main_list_txt{
    font-size: 1.73vw;
  }
  .main_list_years{
    font-size: 4vw;
  }
  .main_list_years.font1000{
    font-size:3.64vw;
  }
}
@media screen and (max-width: 768px) {
  .wrapper{
    width: 92%;
  }
 #header_cont{
    height: 51px;
  }
  .header-ecs{
    margin-top: 51px;
  }
  /* メインビジュアル */
  .slide {
    height: 65vh;
  }
  .slide-image:nth-child(1) {
    background-image: url(../img/main-01-sp.jpg);
  }
  .slide-image:nth-child(2) {
    background-image: url(../img/main-02-sp.jpg);
  }

  .main_inner{
    width: 95%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .main_txtbox{
    width: 100%;
    text-align: center;
    text-shadow: 2px 2px 4px #333;
  }
  .main_sub{
    font-size: 5.28vw;
  }
  .main_title{
    font-size: 6.5vw;
  }
  .main_txt{
    font-size: 4.16vw;
  }
  .main_list{
    width: 100%;
    margin-top: 6.4vw;
  }
  .main_list li{
    width: 21.44vw;
    height: 21.44vw;
    box-shadow: 0 0 3.2vw #333;
  }
  .main_list_txt{
    font-size: 3.04vw;
  }
  .main_list_years,
  .main_list_years.font1000{
    font-size: 6vw;
  }

}

/* sec02 */
.sec02_bg{
  position: relative;
  padding: 60px 0 90px;
  background: linear-gradient(to bottom, #fff, rgba(229,229,230, 0.3));
  z-index: 0;
  /* mix-blend-mode: multiply; */
}
#sec02::after{
  position: absolute;
  content: '';
  background-image: url(../img/sec02-bg-pc.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1077px;
  height: 616px;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.sec02_list{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 2;
}
.sec02-img-01{
  position: absolute;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(000, 000, 000, 0.3);
  top: 46%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.sec02_list::after{
  position: absolute;
  content: '';
  background-image: url(../img/sec02-bg-blue-pc.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width:1027px;
  height: 590px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-filter: drop-shadow(0px 3px 10px rgba(102, 102, 102, 0.3)); 
filter: drop-shadow(0px 3px 10px rgba(102, 102, 102, 0.3)); 
}
.sec02_list li{
  padding: 33px;
  width: 378px;
  z-index: 1;
}
.sec02_list h4{
  font-size: 24px;
  line-height: 2;
  font-weight: 500;
  color: #fff;
  margin-bottom: 0.7em;
}
.sec02_list h4 span{
  display: inline-block;
  font-size: 125%;
  line-height: 1;
  font-weight: bold;
  color: #345aa5;
  padding: 0.16em;
  background-color: #fff;
  border: 1px solid #e6e6e6;
  margin-right: 0.3em;
}
.sec02_list li:last-child h4 span{
  margin-right: 0;
  margin-left: 0.3em;
}
.sec02_list p{
  font-size: 16px;
  text-align: justify;
  line-height: 1.75;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  .sec02_bg{
    padding: 5.45vw 0 8.18vw;
  }
  #sec02::after{
    width: 97.91vw;
    height: 56vw;
  }
  .sec02-img-01{
    width: 24.55vw;
    height: 24.55vw;
    box-shadow: 0 0 1.82vw rgba(000, 000, 000, 0.3);
  }
  .sec02_list::after{
    width:93.36vw;
    height: 53.64vw;
  }
  .sec02_list li{
    padding: 3vw;
    width: 34.36vw;
  }
  .sec02_list h4{
    font-size: 2.18vw;
  }
  .sec02_list p{
    font-size: 1.45vw;
  }
}
@media screen and (max-width: 768px) {
  #sec02 h3{
    margin-bottom: 34.84vw;
  }
  .sec02_bg{
    padding: 10.94vw 0 15.6vw;
  }
  #sec02::after{
    background-image: url(../img/sec02-bg-sp.png);
    width: 94.31vw;
    height: 180.47vw;
    top: 20%;
    transform: translateX(-50%);
  }
  .sec02_list{
    display: block;
  }
  .sec02-img-01{
    width: 31.48vw;
    height: 31.48vw;
    box-shadow: 0 0 3vw rgba(000, 000, 000, 0.3);
    top: 16.5%;
  }
  .sec02_list li{
    position: relative;
    padding: 5.47vw;
    width: 75vw;
    margin: 0 auto;
    z-index: 1;
  }
  .sec02_list::after{
    background-image: url(../img/sec02-bg-blue-sp.svg);
    width:75vw;
    height: 150.63vw;
  }
  .sec02_list h4{
    font-size: 3.75vw;
    text-align: center;
    font-weight: bold;
    text-shadow: 0 0 5px #666;
  }
  .sec02_list h4 span{
    text-shadow: none;
  }

  .sec02_list p{
    font-size: 2.5vw;
  }

}
/* sec03 */
.sec03_bg{
  background-image: url(../img/sec03-bg-pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 160px;
}
.sec03_inner{
  position: relative;
  padding: 46px 38px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 20px;
}
.sec03_inner::after{
  position: absolute;
  content: '';
  background-image: url(../img/sec03-img-01.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 537.5px;
  height: 635px;
  top: 50%;
  transform: translateY(-50%);
  right: -20px;
}
.sec03_inner h4{
  font-size: 30px;
  line-height: 1.5;
  word-break: keep-all;
}
.sec03_inner h4 span{
  color: #345aa5;
  font-weight: bold;
}
.sec03_txt{
  font-size: 18px;
  line-height: 2;
  margin: 1.5em 0;
}
.sec03_txt span{
  font-weight: bold;
  color: #345aa5;
}
.sec03_box{
  position: relative;
  width: 400px;
  background-color: #d7edfa;
  padding: 30px 0 30px 110px;
  border-radius: 10px;
}
.sec03_box::before{
  position: absolute;
  content: '';
  background-image: url(../img/sec03-img-02.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  left: -17px;
  width: 114px;
  height: 168.5px;
}
.sec03_box h5{
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #345aa5;
}
.sec03_box p{
  font-size: 15px;
  line-height: 1.5;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  .sec03_bg{
    padding: 5.45vw 0 14.55vw;
  }
  .sec03_inner{
    padding: 4.18vw 3.45vw;
    border-radius: 1.82vw;
  }
  .sec03_inner::after{
    width: 48.86vw;
    height: 57.73vw;
    right: -1.82vw;
  }
  .sec03_inner h4{
    font-size: 2.73vw;
  }
  .sec03_txt{
    font-size: 1.64vw;
  }
  .sec03_box{
    width: 36.36vw;
    padding: 2.73vw 0 2.73vw 10vw;
  }
  .sec03_box::before{
    left: -1.55vw;
    width: 10.36vw;
    height: 15.32vw;
  }
  .sec03_box h5{
    font-size: 2.36vw;
  }
  .sec03_box p{
    font-size: 1.36vw;
  }
}
@media screen and (max-width: 768px) {
.sec03_bg{
  background-image: url(../img/sec03-bg-sp.jpg);
  padding: 9.6vw 0 25.6vw;
}
.sec03_inner{
  padding: 9vw;
  border-radius: 3.2vw;
}
.sec03_inner::after{
  content: none;
}
.sec03_inner_img{
  width: 100%;
  margin: 5vw auto 0;
}
.sec03_inner h4{
  font-size: 5.7vw;
  text-align: center;
}
.sec03_txt{
  font-size: 3.5vw;
  text-align: justify;
}
.sec03_box{
  width: 100%;
  padding: 4.8vw 0 4.8vw 20vw;
}
.sec03_box::before{
  left: -4vw;
  width: 22vw;
  height: 32.5vw;
}
.sec03_box h5{
  font-size: 5vw;
}
.sec03_box p{
  font-size: 3.5vw;
  padding-right: 2em;
}
}
/* sec04 */
.sec04_bg{
  background-color: #345aa5;
  padding: 60px 0 80px;
}
#sec04 h3{
  color: #fff;
}
.sec04-list{
  display: flex;
  justify-content: space-between;
}
.sec04-list li{
  width: 29.75%;
  background-color: #fff;
  padding: 10px 20px 15px;
}
.sec04-list .number{
  width: fit-content;
  margin: 0 auto 1.25em;
  font-size: 16px;
  color: #345aa5;
  text-align: center;
  line-height: 1;
  border-bottom: 4.5px solid #f7931e;
  padding-bottom: 5px;
}
.sec04-list .number span{
  display: inline-block;
  font-size: 334%;
  font-weight: 500;
  margin-left: 10px;
}
#sec04 h4,#sec04 h5{
  font-size: 27px;
  font-weight: bold;
  line-height: 1.4;
  color: #345aa5;
  text-align: center;
}
.sec04-img{
  width: 58.5%;
  margin: 25px auto;
}
.sec04-txt{
  font-size: 13.6px;
  line-height: 1.75;
  text-align: justify;
}
.sec04-content {
  background-color: #fff;
  margin-top: 65px;
  padding: 30px 40px;
}
#sec04 .sec04-content h4{
  width: fit-content;
  border-bottom: 4.5px solid #f7931e;
  font-size: 36px;
  padding-bottom: 5px;
  margin: 0 auto 40px;
}
#sec04 .sec04-content h4 span{
  font-size: 33.3%;
}
.sec04-price{
  font-weight: bold;
}
.sec04-content-list{
  display: flex;
  justify-content: space-between;
}
.sec04-content-list li ,
.sec04-content-2 .sec04-box{
  width: 27.8%;
}
.sec04-box .sec04-img{
  margin: 0 auto 10px; 
}
.sec04-box .sec04-txt{
  margin: 0.7em 0;
}
#sec04 h6{
  font-size: 13px;
  color: #fff;
  background-color: #345aa5;
  line-height: 1;
  padding: 0.6em;
}
.sec04-content-2{
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
}
.sec04-box2 {
  width: 59.8%;
}
.sec04-box2 p{
  font-size: 25px;
  color: #99acd2;
  font-weight: bold;
  text-align: center;
  line-height: 1.75;
}
.sec04-box2 span{
  color: #345aa5;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
.sec04_bg{
  padding: 5.45vw 0 7.27vw;
}
.sec04-list li{
  padding: 0.91vw 1.82vw 1.36vw;
}
.sec04-list .number{
  font-size: 1.45vw;
  border-bottom: 0.41vw solid #f7931e;
  padding-bottom: 0.45vw;
}
.sec04-list .number span{
  margin-left: 0.91vw;
}
#sec04 h4,#sec04 h5{
  font-size: 2.45vw;
}
.sec04-img{
  margin: 2.27vw auto;
}
.sec04-txt{
  font-size: 1.24vw;
}
.sec04-content {
  margin-top: 5.91vw;
  padding: 2.73vw 3.64vw;
}
#sec04 .sec04-content h4{
  font-size: 3.27vw;
  margin: 0 auto 3.64vw;
}
.sec04-box .sec04-img{
  margin: 0 auto 0.91vw; 
}
#sec04 h6{
  font-size: 1.18vw;
}
.sec04-content-2{
  margin-top: 6.36vw;
}
.sec04-box2 p{
  font-size: 2.27vw;
}
}
@media screen and (max-width: 768px) {
  .sec04_bg{
    padding: 9.6vw 0 25.6vw;
  }
  .sec04-list{
    display: block;
  }
  .sec04-list li{
    width: 100%;
    padding: 4vw 8vw 6vw;
    margin-bottom: 5vw;
  }
  .sec04-list li:last-child{
    margin-bottom: 0;
  }
  .sec04-list .number{
    font-size: 3.5vw;
  }
  #sec04 h4,#sec04 h5{
    font-size: 5.7vw;
  }
  .sec04-img{
    width: 58.5%;
    margin: 25px auto;
  }
  .sec04-txt{
    font-size: 3.5vw;
  }
  .sec04-content {
    margin-top: 8vw;
    padding: 6vw 8vw;
  }
  #sec04 .sec04-content h4{
    font-size: 5.7vw;
    margin: 0 auto 8vw;
  }
  .sec04-content-list{
    display: block;
  }
  .sec04-content-list li ,
  .sec04-content-2 .sec04-box{
    width: 100%;
  }
  .sec04-content-list li{
    margin-bottom: 8vw;
    border-bottom: 1px dotted #99acd2;
  }
  .sec04-box .sec04-img{
    margin: 0 auto 2vw; 
  }
  #sec04 h6{
    font-size: 3.5vw;
  }
  .sec04-content-2{
    display: block;
    margin-top: 6vw;
  }
  .sec04-box2 {
    width: 100%;
    margin-top: 4vw;
  }
  .sec04-box2 p{
    font-size: 5vw;
  }
}
/* sec05 */
#sec05{
  padding: 90px 0;
}
#sec05 h4{
  position: relative;
  font-size: 19.2px;
  color: #345aa5;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  background-color: #fff;
  padding:0 0.65em;
  z-index: 0;
}
#sec05 ul{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #345aa5;
  border-bottom: 1px solid #345aa5;
  padding: 15.6px 0;
  margin-top: -10px;
  z-index: -1;
}
#sec05 li{
  padding: 0 25px;
  border-left: 1px solid #345aa5;
  min-width: 149px;
  height: 135.2px;
  display: flex;
  align-items: center;
}
#sec05 li div{
  width: fit-content;
  margin: 0 auto;
}
#sec05 li:last-child{
  border-right: 1px solid #345aa5;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  #sec05{
  padding: 8.18vw 0;
}
#sec05 h4{
  font-size: 1.75vw;
}
#sec05 ul{
  padding: 1.42vw 0;
  margin-top: -0.91vw;
}
#sec05 li{
  padding: 0 2.27vw;
  min-width: 13.55vw;
  height: 12.29vw;
}
}
@media screen and (max-width: 768px) {
  #sec05{
    padding: 9.6vw 0;
  }
  #sec05 h4{
    font-size: 5vw;
  }
  #sec05 ul{
    display: block;
    padding: 4vw 0;
    margin-top: -2.5vw;
  }
  #sec05 li{
    padding: 0 4vw;
    height: auto;
    margin : 10vw auto;
    border-left: none;
  }
  #sec05 li:last-child{
    border-right: none;
  }
}
/* sec06 */
.sec06-bg{
  background: linear-gradient(to bottom, #0093d4, #26cacd);
  padding: 60px 90px;
}
#sec06 h3{
  color: #fff;
}
.question_conner{
  background-color: #fff;
  border-radius: 20px;
  padding: 35px 80px;
  margin-top: 90px;
}
#sec06 h4{
  font-size: 36px;
  font-weight: bold;
  color: #345aa5;
  text-align: center;
}
.sec06-sub{
  font-size: 19px;
  text-align: center;
  color: #345aa5;
  font-weight: 500;
}
.accordion-area {
  list-style: none;
  margin: 20px auto 0;
}
.title {
  position: relative;
  cursor: pointer;
  font-size: 19px;
  line-height: 1;
  padding: 1.5em 3em;
  transition: all .5s ease;
  border-top: 1px solid #345aa5;
  line-height: 1.5;
}
.title.close{
  color: #345aa5;
}
.title::before {
  position: absolute;
  content: '';
  width: 2.1em;
  height: 2.1em;
  background-image: url(../img/icon-question.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.title::after {
  position: absolute;
  content: '';
  width: 1.25em;
  height: 1.25em;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  right: 6px;
  background-image: url(../img/icon-plus.png);
  transition: all .2s ease;
}

.title.close::after {
  transform: translateY(-50%) rotate(180deg);
  background-image: url(../img/icon-minus.png);
}

.box {
  display: none;
  position: relative;
  padding: 1.5em 3.5em;
}
.box::before {
    position: absolute;
    content: '';
    width: 2.5em;
    height: 2.5em;
    background-image: url(../img/icon-answer.png);
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.box p{
  font-size: 14.5px;
  line-height: 1.5;
}
.accordion-area li.last {
  border-bottom: 1px solid #345aa5;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  .sec06-bg{
    padding: 5.45vw 8.18vw;
  }
  .question_conner{
    padding: 3.18vw 7.27vw;
    margin-top: 8.18vw;
  }
  #sec06 h4{
    font-size: 3.27vw;
  }
  .sec06-sub{
    font-size: 1.73vw;
  }
  .accordion-area {
    margin: 1.82vw auto 0;
  }
  .title {
    font-size: 1.73vw;
  }
  .title::after {
    right: 0.55vw;
  }
  .box p{
    font-size: 1.32vw;
  }
}
@media screen and (max-width: 768px) {
  .sec06-bg{
    padding: 9.6vw 0 25.6vw
  }
  .sec06-img{
    width: 50%;
    margin: 0 auto;
  }
  .question_conner{
    padding: 4vw 8.5vw;
    margin-top: 9.6vw;
  }
  #sec06 h4{
    font-size: 5.7vw;
  }
  .sec06-sub{
    font-size: 3vw;
  }
  .accordion-area {
    margin: 3vw auto 0;
  }
  .title {
    font-size: 3vw;
  }
  .title::before,.box::before{
    width: 7.5vw;
    height: 7.5vw;
  }
  .box{
    padding: 3vw 9.5vw;
  }
  .box p{
    font-size: 2.5vw;
  }
}
/* sec07 */
#sec07{
  padding: 60px 0;
}
.sec07-box{
  background-color: #d7edfa;
  padding: 40px;
  border-radius: 20px;
}
.sec07-box h5{
  position: relative;
  font-size: 27px;
  color: #0093d4;
  text-align: center;
  font-weight: bold;
  width: fit-content;
  margin: 0 auto;
}
.sec07-box h5::before,
.sec07-box h5::after{
  position: absolute;
  content: '';
  width: 2.8px;
  height: 35px;
  background-color: #fff;
  top: 50%;
}
.sec07-box h5::before{
  left: -1em;
  transform: rotate(-30deg) translateY(-50%);
}
.sec07-box h5::after{
  right: -1em;
  transform: rotate(30deg) translateY(-50%);
}
.sec07-box h4{
  font-size: 42px;
  color: #0093d4;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 1em;
}
.sec07-box h4 span{
  color: #345aa5;
}
.sec07-box p{
  font-size: 21px;
  line-height: 1.6;
  margin-bottom: .5em;
  word-break: keep-all;
}
.sec07-box dl{
  display: flex;
  justify-content: space-between;
}
.sec07-box dt{
  width: 36%;
}
.sec07-box dd{
  width: 62%;
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  #sec07{
    padding: 5.45vw 0;
  }
  .sec07-box{
    padding: 3.64vw;
  }
  .sec07-box h5{
    font-size: 2.45vw;
  }
  .sec07-box h5::before,
  .sec07-box h5::after{
    width: 0.25vw;
    height: 3.18vw;
  }
  .sec07-box h4{
    font-size: 3.82vw;
  }
  .sec07-box p{
    font-size: 1.91vw;
  }
}
@media screen and (max-width: 768px) {
#sec07{
  padding: 8.8vw 0;
}
.sec07-box{
  padding: 5vw;
}
.sec07-box h5{
  font-size: 3.7vw;
}
.sec07-box h5::before,
.sec07-box h5::after{
  width: 0.38vw;
  height: 4.8vw;
}
.sec07-box h4{
  font-size: 5.7vw;
}
.sec07-box p{
  text-align: center;
  font-size: 3vw;
  margin-bottom: 5vw;
}
.sec07-box dl{
  display: block;
}
.sec07-box dt{
  width: 100%;
  margin-bottom: 10vw;
}
.sec07-box dt div{
  width: 80%;
  margin: 0 auto;
}
.sec07-box dd{
  width: 100%;
}
}
/* footer */
.pagetop {
  display: block;
  margin:0 auto 60px;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  z-index: 2;
}
footer{
  background-color: #345aa5;
  width: 90%;
  max-width: 1208px;
  margin: 0 auto;
  border-top-left-radius: 70px;
  border-top-right-radius: 70px;
  padding: 40px 120px;
}
.footer-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-inner p{
  position: relative;
  font-size: 17.5px;
  color: #fff;
  line-height: 1.5;
  padding-left: 3em;
}
.footer-inner p .tel{
  font-size: 200%;
  font-weight: bold;
}

.footer-inner p::before{
  position: absolute;
  content: '';
  width: 36px;
  height: 56px;
  background-image: url(../img/icon-tel.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.footer-inner p .tel{
  display: inline-block;
}
.footer-inner .contact{
  position: relative;
  display: block;
  font-size: 25px;
  color: #345aa5;
  background-color: #fff;
  border-radius: 2em;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 0.8em 0;
  width: 42.25%;
}
.footer-inner .contact::after{
  position: absolute;
  content: '';
  background-image: url(../img/icon-arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 23.8px;
  height: 14.2px;
  top: 50%;
  transform: translateY(-50%);
  right: 0.8em;
  transition: 0.2s ease-in-out;
}
.footer-inner .contact:hover:after{
  right: 0.2em;
}
@media screen and (max-width: 1200px) and (min-width: 1100px) {
  .footer-inner .contact::after{
    right: 0.4em;
  }
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
  .pagetop {
    margin:0 auto 5.45vw;
    height: 4.55vw;
    width: 4.55vw;
  }
  footer{
    border-top-left-radius: 6.36vw;
    border-top-right-radius: 6.36vw;
    padding: 3.64vw 6vw;
  }
  .footer-inner p{
    font-size: 1.59vw;
  }
  .footer-inner p::before{
    width: 3.27vw;
    height: 5.09vw;
  }
  .footer-inner .contact{
    font-size: 2.27vw;
  }
  .footer-inner .contact::after{
    width: 2.16vw;
    height: 1.29vw;
  }
}
@media screen and (max-width: 768px) {
  footer{
    width: 92%;
    border-top-left-radius: 70px;
    border-top-right-radius: 70px;
    padding: 8vw;
  }
  .footer-inner{
    display: block;
  }
  .footer-inner p{
    font-size: 3.25vw;
    margin-bottom: 5vw;
    font-feature-settings: "palt";
  }
  .footer-inner p::before{
    width: 8vw;
    height: 12.5vw;
  }
  .footer-inner .contact{
    font-size: 5vw;
    width: 100%;
  }
  .footer-inner .contact::after{
    width: 1em;
    height: 0.6em;
  }
}