@charset "UTF-8";
  :root{
    --mid:600;
  }

/*common*/
  .mt25{
    margin-top: 25px;
  }

  .sp_block{
    display: none;
  }

.rltv{
  position: relative;
}

.tempSp{
  display: none;
}

.color02{
  color:#627603;
}

.defText.lh15{
  line-height: 1.5em;
}

  .tempContent{
    margin: auto;    
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
    width: calc(100% - 200px);
  }
  
  .sideBar{
    width: 330px;
    padding-right: 50px;
  }
  
  .mainCont{
    width: calc(100% - 300px);
  }
  
  .sideBarList{
    line-height: 2.5em;
    margin-bottom: 35px;
    font-size: 16px;
  }

  .sideBarList li{
    padding-left: 15px;
    position: relative;
    font-weight: var(--mid);
  }

  .sideBarList li:before{
    content:url("../image/arrow.webp");
    position: absolute;
    left: 0;
    top:0;
  }

  .tempSec{
    margin-bottom: 150px;
  }

  .tempTitle{
    font-size: 40px;
    text-align: center;
    font-weight: normal;
    line-height: 1.2em;
    margin-bottom: 135px;
    position: relative;
  }  
  
  .tempTitle small{
    font-size: 20px;
    line-height: 1em;
  } 

  .tempTitle:after{
    content:" ";
    width: 1px;
    height: 60px;
    background: #cccccc;
    position: absolute;
    bottom: -90px;
    left: 50%;
  }

  .defText{
    font-size: 16px;
    line-height: 2em;  
  }


  .defText .ft18{
    font-size: 18px;
  }

/*MV*/
.otherpageTitle.echo{
  background-image: url("../../temp_asset/image/echoMain.webp");
  background-color:#e9f2f9;
}

.otherpageTitle.service{
  background-image: url("../../temp_asset/image/service_main.webp");
  background-color:#e9f0f0;
}

.otherpageTitle.free{
  background-image: url("../../temp_asset/image/free_main.webp");
  background-color:#f8f7f4;
}

/*temp01*/
  .temp01{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
  }
  
  .temp01 .img{
    width: 260px;
    margin-right: 50px;
  }
  
  .temp01 .box{
    width: calc(100% - 310px);
  }

/*temp02*/
  .temp02{
    background: #f3f7fa;
    padding: 50px;
    margin-bottom: 60px;
  }
  
  .temp02 .temp02Title{
    font-weight:var(--mid);
    font-size: 20px;
    padding-bottom:20px;
    color:#9a9104;
    position: relative;
  }  
  
  .temp02 .temp02Title:after{
    content:" ";
    display: block;
    width: 40px;
    height: 1px;
    background:#cccccc;
    position: absolute;
    left: 0;
    bottom:-7px;
  } 

  .temp02List li{
    margin-top: 40px;
  }
  
  .temp02List .title{
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    font-size: 18px;
    font-weight:var(--mid);
  }
  
  .temp02List .title .eng{
    color:#999999;
    font-weight: bold;
    display: inline-block;
    margin-right: 20px;
  }
  
  .temp02List .title .min{
    color:#000000;
  }  

.temp02Box{
  margin-top:30px;
}

.rltv .temp02Box{
  width: calc(100% - 330px);
}

.temp02Img{
  position: absolute;
  right: 50px;
  top:70px;
}

.temp02.mb25{
  margin-bottom: 25px;
}

.temp02List .text{
  font-weight: normal;
  font-size: 16px;
}

.temp02List .mini{
  font-size: 14px;
}

.temp02List.pt02 .min{
  display: inline-block;
  width: 170px;
}

/*temp03*/
  .temp03{
    margin-bottom: 50px;
  }
  
  .temp03Title{
    font-size: 20px;
    color:#0066ff;
    font-weight: var(--mid);
    margin-bottom: 20px;
  }
  
  .temp03List{
    margin-top: 25px;
  }
  
  .temp03List li{
    padding-left: 20px;
    position: relative;
  }
  
  .temp03List li:before{
    content: "・";
    position: absolute;
    left: 0;
    top:0;
  }
  
  .temp03SubTitle{
    margin-top: 35px;
    font-size: 18px;
    font-weight: var(--mid);
  }

  .ctImg{
    text-align: center;
    margin-top: 40px;
  }

.temp03List.defText.dis_fl{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.temp03List.defText.dis_fl li{
  width:calc((100% - 30px) / 2)
}

.temp03List.mt10{
  margin-top: 10px;
}
  
/* temp04 */
  .temp04Title{
    font-size: 16px;
    margin-bottom: 20px;
    font-weight: normal !important;
  }
  
  .temp04table{
    border-top:1px solid #cccccc;
    width: 100%;
  }
  
  .temp04table th{
    border-bottom:1px solid #cccccc;
    padding: 20px 30px;
    font-size: 16px;
    vertical-align: top;
    width: 200px;
    font-weight: normal;
  }
  
  .temp04table td{
    border-bottom:1px solid #cccccc;
    padding: 20px 30px;
    font-size: 16px;
    vertical-align: middle;
    width: 120px;
    font-weight: normal;
  }
  
  .temp04table td.pt02{
    padding: 20px 0;
    color:#91800b;
    width: calc(100% - 320px);
  }
   
  .temp04table td.pt02 span{
    font-size: 20px;
    color:#91800b;
  }

.temp04table.pt02 td.pt02{
  width: calc(100% - 120px);
}

.temp04table.pt03 td{
  width: 200px;
}

.temp04table.pt03 td.pt02{
  width: calc(100% - 200px);
}
  
  .defText .color,.defText .color *{
    color:#91800b;
  }
  
  .defText .color span{
    font-size: 24px;
  }
  
  .defText .mini{
    font-size: 14px;
  }

.temp04List li{
  position: relative;
  padding-left: 1.25em;
  margin-bottom: 4px;
}

.temp04List li:after{
  content:"※";
  position: absolute;
  top:0;
  left: 0;
}


  /*tempList01*/
  .tempList01{
    margin-top: 30px;
    border-top:1px solid #cccccc;
  }
  
  .tempList01 li{
    border-bottom:1px solid #cccccc;
    padding:25px 10px;
    display: flex;
    justify-content: space-between;
  }
  
  .tempList01 li .eng{
    width: 55px;
    padding-right: 25px;
    font-size: 28px;
    color:#aed200;
    font-weight: bold;
    line-height: 1.25em;
  }
  
  .tempList01 li .tempList01Cont{
    width: calc(100% - 55px);
  }
  
  .tempList01 li .tempList01Cont .title{
    font-size: 20px;
    font-weight: var(--mid);
    line-height: 1.5em;
  } 
  
  .tempList01 li .tempList01Cont .text{
    font-size: 16px;
    line-height: 1.7em;
  }  

.tempList01.pt02{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: none;
}

.tempList01.pt02 li{
  width:calc((100% - 30px) / 2);
}

.tempList01.pt02 li:nth-child(-n + 2){
 border-top:1px solid #cccccc; 
}

/* temp03List02 */
    .temp03List02{
      border-top:1px solid #cccccc;
      margin: 25px 0;
    }
    
    .temp03List02 li{
      border-bottom:1px solid #cccccc;
      padding: 25px 30px;
    }
    
    .temp03List02title{
      font-size: 20px;
      color:#9a9104;
      margin-bottom: 10px;
    }
    
    .temp03List02Cont{
      display: flex;
    }
    
    .temp03List02Cont p{
      margin-right: 40px;
    }

  .temp03List02Cont *{
    line-height: 1.5em;
  }

/* freeBox */
.freeBox{
  display: flex;
  justify-content: space-between;
}

.freeBox ul{
  width: calc(100% - 500px);
}

.freeBox .freeImg02{
  position: relative;
  top:-30px;
}

.freeBox li:not(:first-child) {
    margin-top: 20px;
}

.freeTitle{
  padding: 15px;
  text-align: center;
  background: #aed200;
  margin-bottom: 15px;
  margin-top: 25px;
  font-size: 20px;
}

.freeImg03{
  margin-top: 40px;
}

/* temp_col03 */
.temp_col03{
  display: flex;
  justify-content: space-between;
}

.temp_col03 li{
  width: calc((100% - 110px) / 3);
  text-align: center;
}

.temp_col03 li .title{
  font-size: 18px;
  margin: 30px 0 15px;
}

.temp_col03 li .text{
  font-size: 16px;
}

  .temp02List.free01 li{
    margin-top: 25px;
  }
/*=====
tab
======*/
@media screen and (max-width:1100px){
/*common*/
  .tempContent{
    display: block;
    width: 90%;
  }
  
  .sideBar{
    width: 260px;
    margin-top: 30px;
    padding-right:0;
    margin-bottom: 100px;
  }
  
  .mainCont{
    width: 100%;
    margin-bottom: 100px;
  }  
}

/*=====
sp
======*/
@media screen and (max-width:880px){
  /*common*/
  .tempSp{
    display: block;
  }
  
  .tempPc{
    display: none;
  }
  
  .tempContent {
    margin-top: 50px;
  }
  
  .tempTitle {
    font-size: 18px;
    margin-bottom: 70px;
  }
  
  .tempTitle small{
    font-size: 10px;
  }
  
  .tempTitle:after{
    content:" ";
    width: 1px;
    height: 30px;
    background: #cccccc;
    position: absolute;
    bottom: -45px;
  }
  
  .tempSec {
    margin-bottom: 60px;
  }
  
  .defText{
    font-size: 13px;
  }
  
.defText .ft18 {
    font-size: 13px;
}  
  
  .mt25{
    margin-top: 8px;
  }
  
    .mainCont {
        margin-bottom: 50px;
    }
  
    .sideBar {
      width: 100%;
      margin-top: 0;
      margin-bottom: 50px;
    }
  
    .sideBarList{
    line-height: 2.5em;
    margin-bottom: 30px;
    font-size: 12px;
  }

  .sideBarList li{
    padding-left: 35px;
  }

  .sideBnr{
    text-align: center;
  }
  
  .sideBnr img{
    width: 260px;
  }
  
/*MV*/
.otherpageTitle.echo{
  background-image: url("../../temp_asset/image/echoMain_sp.webp");
} 
  
.otherpageTitle.service{
  background-image: url("../../temp_asset/image/service_main_sp.webp");
}   
  
/*temp01*/
.temp01 {
    display: block;
    margin-bottom: 30px;
}
  
  .temp01 .img{
    width: 100%;
    margin-right: 0;
    text-align: center;
  }
  
  .temp01 .img img{
    width: 180px;
  }
  
  .temp01 .box{
    width: 100%;
    margin-top: 30px;
  } 
  
/*temp02*/
  .temp02{
    padding: 30px 5%;
    width: 100vw;
    position: relative;
    left: -5%;
    margin-bottom: 50px;
  }
  
  .temp02 .temp02Title{
    font-weight:var(--mid);
    font-size: 16px;
    padding-bottom:10px;
    color:#9a9104;
    position: relative;
  }  
  
  .temp02 .temp02Title:after{
    content:" ";
    display: block;
    width: 30px;
    height: 1px;
    background:#cccccc;
    position: absolute;
    left: 0;
    bottom:-7px;
  } 

  .temp02List{
    margin-top: 25px;
  }  
  
  .temp02List li{
    margin-top: 15px;
  }
  
  .temp02List .title{
    font-size: 13px;
  }
  
  .temp02List .title .eng{
    margin-right: 10px;
    padding-top: 1px;
  }
  
    .temp02List.pt02 .title {
        flex-wrap: wrap;
    }  
  
  .temp02List.pt02 .text {
    font-size: 12px;
}
  
/*temp03*/
  .temp03{
    margin-bottom: 30px;
  }
  
  .temp03Title{
    font-size: 16px;
    font-weight: var(--mid);
    margin-bottom: 0;
  }
  
  .temp03List{
    margin-top: 10px;
    line-height: 1.5em;
  }
  
  .temp03List li{
    line-height: 1.5em;
  }
  
  .temp03List li:not(:first-child){
    margin-top: 5px;
  }
  
  .temp02 .temp03List{
    margin-top: 25px;
  }

  /*
  .temp03List{
    margin-top: 0;
  }
  */
  
  .temp03SubTitle{
    margin-top: 15px;
    font-size: 14px;
  }

  .ctImg{
    margin-top: 20px;
  }
  
.temp03List.defText.dis_fl{
    display: block;
}
  
.temp03List.defText.dis_fl li {
    width: 100%;
}  

  /*tempList01*/
  .tempList01{
    margin-top: 15px;
    border-top:1px solid #cccccc;
    width: 100vw;
    position: relative;
    left: -5%;
    margin-bottom: 30px;
  }
  
  .tempList01 li{
    padding:20px 5%;
  }
  
  .tempList01 li .eng{
    width: 40px;
    padding-right: 15px;
    font-size: 20px;
  }
  
  .tempList01 li .tempList01Cont{
    width: calc(100% - 40px);
  }
  
  .tempList01 li .tempList01Cont .title{
    font-size: 15px;
  } 
  
  .tempList01 li .tempList01Cont .text{
    font-size: 13px;
  } 
  
.tempList01.pt02 {
    display: block;
} 
  
.tempList01.pt02 li{
    width: 100%;
}

.tempList01.pt02 li:nth-child(2) {
    border-top: none;
}
  
  /* temp04 */
  .temp04Title{
    font-size: 13px;
  }
  
  .temp04table th{
    border-bottom:1px solid #cccccc;
    padding: 10px 15px;
    font-size: 13px;
    vertical-align: top;
    width: 100px;
    font-weight: normal;
  }
  
  .temp04table td{
    border-bottom:1px solid #cccccc;
    padding: 10px 15px;
    font-size: 13px;
    vertical-align: middle;
    width: 100px;
    font-weight: normal;
  }
  
  .temp04table.pt02 td{
    width: 80px;
  }
  
      .temp04table.case_b td{
    width: 100px;
  }
  
  .temp04table td.pt02{
    padding: 10px 0;
    color:#91800b;
    width: calc(100% - 200px);
  }
   
  .temp04table td.pt02 span{
    font-size: 15px;
    color:#91800b;
  }
  
  .temp04table.pt03 td {
    width: 150px;
}
  
.temp04Title{
    margin-bottom: 10px;
}    
  
.temp04Title.pt02 {
    margin-bottom: 0;
}  
  


.temp04table.pt02 td.pt02{
  width: calc(100% - 100px);
}
  
  .defText .color,.defText .color *{
    color:#91800b;
  }
  
  .defText .color span{
    font-size: 15px;
  }
  
  .defText .mini{
    font-size: 12px;
  }
  
  .temp02Img img{
    width: 80%;
  }  
  
.temp02Img {
    position: initial;
  text-align: center;
  margin-top: 25px;
}
  
.rltv .temp02Box {
    width:100%;
}
  
/*temp03List02Cont*/
  .temp03List02Cont{
    display: block;
  }
  
  .temp03List02Cont p{
    margin-right: 0;
    margin-top: 10px;
  }
  
  .temp03List02title {
      font-size: 15px;
  }  

  .temp03List02 li {
    padding: 20px 0;
}
  
  .temp03List02 {
    margin: 15px 0;
}
  
  .sp_none{
    display: none;
  }
  
  .sp_block{
    display: block;
  }
  
  .freeBox {
    display: block;
}
  
  .freeBox ul {
    width: 100%;
}
  
  .freeBox .freeImg02 {
    position: relative;
    top: 0;
    margin-top: 20px;
}
  
  .temp02List.free01{
    margin-top: 30px;
  }
  
  .temp02List.free01 li{
    margin-top: 10px;
  }
  
  .spmt0 .mt10{
    margin-top: 0;
  }
  
  .lh125 {
    line-height: 1.25em;
    margin-bottom: 5px !important;
  }
  
/*temp_col03*/
  .temp_col03{
    display: block;
  }
  
  .temp_col03 li{
    width: 100%;
    margin-bottom: 30px;
  }
  
  .temp_col03 li img{
    width: 150px;
  }
  
  .temp_col03 li .title{
   font-size: 14px;
    margin: 20px 0 8px;
  }
  
  .temp_col03 li .text{
    font-size: 13px;
  }
  
/* f_img */  
  .f_img img{
    width: 100vw;
    position: relative;
    left: -5%;
    max-width: inherit;
  }
  
  .spmt0{
    margin-top: 0 !important;
  }  
  
  .spmt20{
    margin-top: 20px !important;
  } 
  
  .spmb0{
    margin-bottom: 0 !important;
  }
  
  .spmb10{
    margin-bottom: 10px !important;
  }  
  
  .spmb40{
    margin-bottom: 40px !important;
  }    
  
  .sptxct{
    text-align: center;
  }
  
  .spmt20List li:not(:first-child){
    margin-top: 20px;
  }
  
  .temp02List .title{
    margin-bottom: 7px;
  }
  
  .temp02List .defText{
    margin-top: 7px;
  }
  
  .temp02List.pt02 li{
    line-height: 1.5em;
  }
  
  html body .spmt30{
    margin-top: 30px;
  }
  
  .freeImg03 {
    margin-top: 20px;
}
  
  html body .lh15{
    display: inline-block;
    line-height: 1.5em;
  }
  
  .temp04table{
    margin-bottom: 10px;
  }
  
  .sp10px{
    font-size: 10px;
  }
  
}

  @media screen and (min-width:1101px){

/* 親要素の overflow を制限しない */
.sideBar {
padding-bottom: 150px;
}

.sideBox {
position: sticky;
top: 150px;
transform: 0.5s;
}
    
#wraper{
  overflow-x: visible !important;
}

  }
