@charset "utf-8";
/* CSS Document */
/* common */
*{
  box-sizing: border-box;
}
html{
  font-size: 12px;
  line-height: 1.6;
}
body{
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #008348;
  background: #ffffff;
}
p{
  margin: 0;
  padding: 0 0 1em;
}
a{
  text-decoration: underline;
  color: #1d6163;
  transition: all .3s ease-out;
}
a:hover{
  color: #85b147;
}
a img, button{
  cursor: pointer;
  transition: all .3s ease-out;
  image-rendering: -webkit-optimize-contrast;
}
a:hover img{
  opacity: .8 !important;
  image-rendering: -webkit-optimize-contrast;
}
img{
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}
small, sub, sup{
  font-size: .8;
}
/** PC/SP制御 **/
.forpc{
  display: inline-block !important;
}
.forsp{
  display: none !important;
}
.nobr{
  display: inline-block;
}
/** レイアウト制御 **/
.cntbox{
  max-width: 840px;
  margin: 0 auto;
}
@media print, screen and (max-width: 768px){
  html{
    font-size: 10px;
  }
  body{
    font-family: sans-serif;
    font-size: 1.4rem;
  }
  .forpc{
    display: none !important;
  }
  .forsp{
    display: inline-block !important;
  }
  .cntbox{
    max-width: 100%;
    padding: 0 1em;
  }
}
/* メイン */
.ttl{
  text-align: center;
  background: url(img/main_bg.png) 50% 0 repeat-y;
}
.ttl h1{
  max-width: 580px;
  margin: 0 auto;
  padding: 90px 0 0;
}
.ttl h1 + p{
  max-width: 972px;
  margin: 0 auto;
  padding: 36px 0 20px;
}
.ttl h1 + p > img{
  margin: 0 auto 1.5em;
}
@media print, screen and (max-width: 768px){
  .ttl{
    background: url(img/main_bg.png) 50% 0 / 250% auto no-repeat;
  }
  .ttl h1{
    padding: 12% 13% 0;
  }
  .ttl h1 + p{
    padding: 5% 2%;
  }
}
/* セミナー */
.smnr{
  padding: 70px 0 100px;
  border: 1px solid #000000;
  background: url(img/smnr_bg.jpg) 50% 0 repeat-y;
}
.smnr .cntbox{
  padding: 0 45px;
}
.smnr h2{
  max-width: 474px;
  margin: 0 auto;
  padding: 0 0 35px;
}
.smnr h2 + p{
  font-size: 1.6rem;
  line-height: 1.8;
  color: #ffffff;
}
.smnr .thmbox{
  position: relative;
  margin: 60px auto 0;
  padding: 10px 20px 20px;
  border-radius: 10px;
  background: #ffffff;
}
.smnr .thmbox::after{
  content: "";
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  width: 10px;
  height: 100px;
  margin: 0 auto;
  background: #ffffff;
}
.smnr .thmbox h3{
  position: relative;
  margin: 0;
  padding: .8em .8em .8em 3em;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.2em;
  text-align: center;
  color: #ffffff;
  background: url(img/smnr_subtbg.png) 0 50% / 100% auto no-repeat;
}
.smnr .thmbox h3 img{
  position: absolute;
  top: -70%;
  left: -8%;
  width: 108px;
}
.smnr .thmbox .h3box{
  padding-bottom: 1em;
  background: url(img/smnr_subtbg2.png) 0 0 / 100% auto repeat-y;
}
.smnr .thmbox .h3box h3{
  background: 0;
}
.smnr .thmbox .smnr_subt{
  width: 96%;
  margin: 0 auto;
  padding: 0;
  font-size: 1.8rem;
  font-weight: bold;
  color: #ffffff;
}
.smnr .thmbox .smnr_subt .nmbr{
  display: inline-block;
  margin: 0 .7em .3em 0;
  padding: .3em 1em;
  font-size: 1.2rem;
  line-height: 1em;
  vertical-align: middle;
  color: #008348;
  border-radius: 100vh;
  background: #ffffff;
}
.smnr .thmbox .spkrbox{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 1em auto .5em;
}
.smnr .thmbox .spkrbox:nth-of-type(2){
  padding-top: 1em;
}
.smnr .thmbox .spkrbox .spkrpict{
  width: 25%;
  padding: 0;
}
.smnr .thmbox .spkrbox .spkrinfo{
  width: 75%;
  padding: 0 0 0 1em;
  font-size: 2.2rem;
  font-weight: 900;
}
.smnr .thmbox .spkrbox .spkrinfo span{
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
}
.smnr .thmbox .spkrbox .spkrinfo .mid{
  margin-right: .5em;
  font-size: 1.6rem;
  font-weight: 500;
}
.smnr .thmbox .spkrbox .spkrinfo b{
  position: relative;
}
.smnr .thmbox .spkrbox .spkrinfo i{
  position: relative;
  z-index: 100;
  font-style: normal;
}
.smnr .thmbox .spkrbox .spkrinfo b::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 10px;
  margin: 0 auto;
  background: #ffe200;
}
.smnr .thmbox .spkrbox .spkrinfo.type2{
  width: 100%;
}
.smnr .thmbox .spkrbox .spkrinfo.type2 span{
  display: inline-block;
  margin: 1em 1em 0 0;
}
.smnr .thmbox .txtinfo{
  padding: 1em 1.5em;
  font-size: 1.26rem;
  color: #008348;
  background: #edf6f2;
}
.smnr .thmbox:nth-of-type(4)::after{
  display: none;
}
.smnr .thmbox:nth-of-type(4) .spkrbox{
  padding-top: 1em;
}
.smnr .thmbox:nth-of-type(4) .spkrpict{
  width: 30%;
  padding: 0 1em;
}
.smnr .thmbox:nth-of-type(4) .spkrinfo{
  width: 70%;
  font-size: 1.4rem;
  font-weight: 400;
}
.smnr .msgbox{
  margin-top: 3em;
}
.smnr .archv{
  max-width: 445px;
  margin: 4em auto 0;
  padding: 0;
}
@media print, screen and (max-width: 768px){
  .smnr{
    padding: 10% 0;
    border: 1px solid #000000;
    background: url(img/smnr_bg.jpg) 50% 0 repeat-y;
  }
  .smnr .cntbox{
    padding: 0 5%;
  }
  .smnr h2{
    padding: 0 0 10%;
  }
  .smnr h2 + p{
    font-size: 1.4rem;
  }
  .smnr .thmbox{
    margin: 10% auto 0;
  }
  .smnr .thmbox h3{
    padding: .8em .8em .8em 2em;
    font-size: 1.6rem;
    line-height: 1.4;
    background: url(img/smnr_subtbg.png) 0 50% / 100% 100% no-repeat;
  }
  .smnr .thmbox h3 img{
    top: -60%;
    left: -5%;
    width: 20%;
  }
  .smnr .thmbox .spkrbox{
    padding-top: 1em;
  }
  .smnr .thmbox .spkrbox .spkrinfo{
    font-size: 2rem;
  }
  .smnr .thmbox .spkrbox .spkrinfo span{
    display: block;
    font-size: 1.3rem;
    line-height: 1.4;
  }
  .smnr .thmbox .spkrbox .spkrinfo .mid{
    margin-right: .5em;
    font-size: 1.3rem;
  }
  .smnr .thmbox .txtinfo{
    padding: 1em 1.5em;
    font-size: 1.4rem;
  }
  .smnr .thmbox:nth-of-type(4) .spkrinfo{
    width: 70%;
    font-size: 1.4rem;
  }
  .smnr .msgbox{
    margin-top: 2em;
  }
  .smnr .archv{
    max-width: 90%;
    margin: 3em auto 0;
  }
}
@media print, screen and (max-width: 580px){
  .smnr .thmbox h3 img{
    left: -10%;
    width: 20%;
  }
}
/* 相談会 */
.cnslt{
  padding: 50px 0 110px;
  font-size: 1.7rem;
  font-weight: 500;
  background: url(img/cnslt_bg.jpg) 50% 0 repeat-y;
}
.cnslt .cntbox{
  padding: 0 45px;
}
.cnslt h3{
  position: relative;
  z-index: 100;
  font-size: 2.6rem;
  line-height: 1em;
  text-align: center;
}
.cnslt h3::before{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 40rem;
  height: 10px;
  margin: 0 auto;
  background: #ffe200;
}
.cnslt h3 img{
  display: block;
  max-width: 137px;
  margin: 0 auto 30px;
}
.cnslt h3 span{
  position: relative;
  z-index: 100;
  font-size: 2.6rem;
  text-align: center;
}
.cnslt .aply{
  max-width: 400px;
  margin: 2em auto 0;
  padding: 0;
}
@media print, screen and (max-width: 768px){
  .cnslt{
    padding: 3% 0;
    font-size: 1.6rem;
    background: url(img/cnslt_bg.jpg) 50% 0 repeat-y;
  }
  .cnslt .cntbox{
    padding: 0 5%;
  }
  .cnslt h3::before{
    width: 100%;
  }
  .cnslt h3 img{
    max-width: 35%;
    margin: 0 auto 15px;
  }
  .cnslt h3 span{
    font-size: 2.4rem;
  }
  .cnslt .aply{
    max-width: 90%;
    margin: 1em auto 1.5em;
  }
}
/* フッター */
.ftr{
  padding: 70px 0 0;
}
.ftr .subt{
  max-width: 341px;
  margin: 0 auto 2em;
}
.ftr .infobox{
  padding: 0 0 3em;
  font-size: 1.4rem;
  color: #4e6d97;
}
.ftr .infobox h3{
  margin: 0 auto 1em;
  padding: 0;
  font-size: 1.8rem;
  color: #003c83;
  background: url(img/ftr_line.png) 100% 50% repeat-x;
}
.ftr .infobox h3 span{
  border-right: 15px solid #ffffff;
  background: #ffffff;
}
.ftr .infotxt{
  display: flex;
}
.ftr .infobox:nth-of-type(1) p{
  width: 70%;
  padding: 0 1em 0 0;
}
.ftr .infobox:nth-of-type(1) .imgbox{
  width: 30%;
  padding: 0;
}
.ftr .infobox:nth-of-type(2) p{
  width: 80%;
  padding: 0 1em 0 0;
}
.ftr .infobox:nth-of-type(2) .imgbox{
  width: 20%;
  padding: 0;
}
.ftr .aply{
  max-width: 488px;
  margin: 0 auto 1em;
  padding: 0;
}
.ftr .cntctbox{
  margin-top: 2em;
  padding: 3em;
  color: #ffffff;
  background: #00834c;
}
.ftr .cntctbox .cntbox > p{
  margin-left: 2em;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 600;
}
.ftr .cntctbox .cntbox > p span{
  display: inline-block;
  margin-right: .7em;
  padding: .2em .4em;
  font-size: 1.2rem;
  line-height: 1em;
  color: #00834c;
  border-radius: 100vh;
  background: #ffea3c;
}
.ftr .cntctbox .cntct{
  display: flex;
  flex-wrap: wrap;
  padding-top: .5em;
}
.ftr .cntctbox .cntct > p{
  margin: 0 0 0 2em;
}
.ftr .cntctbox .cntct > p > span{
  display: inline-block;
  margin-right: .7em;
  padding: .1em .5em .2em;
  font-size: 1.1rem;
  line-height: 1em;
  border: 1px solid #ffffff;
}
.applybtn{
  display: flex;
  position: fixed;
  right: 7%;
  bottom: 5%;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  padding: 1em;
  font-size: 20px;
  font-weight: 900;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #00834c;
  border-radius: 100vh;
  background: rgba(255,234,60,.9);
}
.applybtn:hover{
  color: #ffea3c;
  background: #3da174;
}
@media print, screen and (max-width: 768px){
  .ftr{
    padding: 10% 0 0;
  }
  .ftr .subt{
    max-width: 90%;
  }
  .ftr .infobox{
    padding: 0 0 3em;
    font-size: 1.3rem;
  }
  .ftr .infobox:nth-of-type(3){
    padding: 0 0 2em;
  }
  .ftr .infobox h3{
    margin: 0 auto .5em;
    font-size: 1.6rem;
  }
  .ftr .infobox h3 span{
    border-right: 8px solid #ffffff;
  }
  .ftr .infotxt{
    flex-wrap: wrap;
  }
  .ftr .infobox:nth-of-type(1) p{
    width: 100%;
    padding: 0 0 .5em;
  }
  .ftr .infobox:nth-of-type(1) .imgbox{
    width: 100%;
    padding: 0 10%;
  }
  .ftr .infobox:nth-of-type(2) p{
    width: 100%;
    padding: 0 0 .5em;
  }
  .ftr .infobox:nth-of-type(2) .imgbox{
    width: 100%;
    padding: 0 20%;
  }
  .ftr .aply{
    max-width: 90%;
    margin: 0 auto;
  }
  .ftr .cntctbox{
    margin-top: 2em;
    padding: 2em 1em 7em;
  }
  .ftr .cntctbox .cntbox > p{
    margin-left: 0;
    font-size: 1.4rem;
    text-align: center;
  }
  .ftr .cntctbox .cntbox > p span{
    margin: 0 auto 1em;
    padding: .4em 1em;
    font-size: 1rem;
  }
  .ftr .cntctbox .cntct > p > span{
    font-size: 1rem;
  }
  .applybtn{
    right: 1%;
    bottom: 1%;
    width: 120px;
    height: 120px;
    padding: 1em;
    font-size: 1.4rem;
  }
}
