@charset "UTF-8";
*{
    font-family:  'Noto Sans JP', sans-serif,"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    margin:0;
    padding:0;
}
img{vertical-align: top;}

li{
    list-style:none;
}
.fadecont {
    /* 最初は非表示 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: opacity 1s, visibility 1s, transform 1s;
}
  /* フェードイン時に入るクラス */
.is-fadein {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.color_red{
    color:#ED1C24;
}
@media screen and (max-width:600px){
    #pageheader{
        margin:0 auto;
        width:100%;
    }
    .header_menu_top,
    .header_menu{
        display:none;
    }




    .menuclose, .menuopen {
        position: fixed;
        right: 2.8vw;
        top: 2vw;
        z-index: 11;
    }
    .menuclose {
        display: none;
      }
    .menuopen.on + .gnav.sp .menuclose {
        display: block;
    }

    .menuclose img, .menuopen img {
        height: auto;
        width: 15.7333vw;
    }
    .menuopen.on + .gnav.sp{
        top:0;
    }

    .gnav.sp  > ul{
        margin:5vw 10.666vw 0;
    }
    .gnav.sp li{
        margin-bottom:4vw;
        padding-bottom:4vw;
    }
    .gnav.sp li:not(:last-child){
        border-bottom:1px solid #ccc;
    }



    .gnav.sp li figure,
    .gnav.sp li figure img,
    .gnav.sp li figcaption{
        display: inline-block;
        vertical-align: middle;
    }

    .gnav.sp li figcaption{
        margin-left:3vw;
    }
    .gnav.sp li figure img{
        height:auto;
        width:5vw;
    }



    .gnav.sp {
        background: #E3EB98;
        height: 100%;
        left: 0;
        position: fixed;
        top: -200%;
        width: 100%;
        z-index: 11;
        -webkit-transition: all .3s;
        transition: all .3s;
        overflow-y: scroll;
        overflow-x: hidden;
      }
      .gnav.sp li a {
        background: url(../images/1x/arrow2.png) no-repeat left center;
          background-size: auto;
        background-size: 5.333vw auto;
        color: #3E3A39;
        display: block;
        font-size: 3.72333vw;
        padding: 0 0 0 8vw;
        text-decoration: none;
      }
      .gnav.sp div.menutel{
        border-top:2px dotted #3E3A39;
        padding-top:6.6vw;
        text-align:center;
    }
    .gnav.sp div.menutel img{
        height:auto;
        width:62.53vw;
    }
    #pageheader h1{
        background:#fff;
        margin-left:4.86vw;
        line-height:13.88vw;;
    }
    .menulogo{
        margin-left:4.86vw;
        line-height:13.88vw;;
    }
    #pageheader h1 img,
    .menulogo img{
        height:auto;
        width:55.41vw;
        vertical-align: middle;
    }
    html,
    body{
        overflow-x: hidden;
    }




    #main{
      background:url(../images/main/mainbg.jpg) repeat top left;
      padding-top:10vw;
      position:relative;
      text-align:center;
      z-index: 2;

    }
    #main:after{
      background:url(../images/main/bg.png) no-repeat bottom center;
      background-size:100vw auto;

      content:"";
      display:block;
      position:absolute;
      bottom:0;
      left:0;
      height:28.9333vw;
      width:100%;
      z-index: 1;
    }
    #main p{
      margin-bottom:3vw;
    }
    #main h1{
      margin-bottom:4vw;
    }
    #main h1 + p{
      font-size:3.8vw;
      line-height:1.8em;
      letter-spacing: 0.05rem;

      margin:0 4vw 0;
      text-align:left;
      padding-bottom:30vw;
      position: relative;
      z-index: 2;
    }
    #main p img{
      height:auto;
      width:50vw;
    }
    #main h1 img{
      height:auto;
      width:90vw;
    }




/* step */
#step{
  background:#dce466;
  padding:3vw 0 6vw;
  position: relative;
  z-index: 1;
}
#step .inner{
  background:#fff;
  box-sizing: border-box;
  border-radius:10px;
  margin:0 auto;
  padding:5vw 4vw;

}
#step .inner h2{
  background:#04a53c;
  border-radius:100px;
  box-sizing: border-box;
  padding-top:4vw;
  line-height:13vw;
  margin-bottom:10vw;
  text-align:center;
}
#step .inner h2 img{
  height:auto;
  width:40vw;
}

#step .inner h2 + ul{
  margin-bottom:10vw;
  text-align:center;
}
#step .inner h2 + ul li{
  display:inline-block;
  vertical-align: top;
  position:relative;
}
#step .inner h2 + ul li:not(:last-child){
  background:url(../images/arrow1.png) no-repeat right 10vw;
  background-size:2vw auto;
  margin-right:3vw;
  padding-right:3vw;
}
#step .inner h2 + ul li span{
  position:absolute;
  top: -5vw;
  left: 0vw;
}
#step .inner h2 + ul li span img{
  height:auto;
  width:10vw;
}
#step .inner li img,
#step .inner li source{
  height:auto;
  width:22vw;
}
#step .inner h2 + ul li strong{
  display: block;
  font-size: 3vw;
  letter-spacing: 0.05em;
  margin-top:2vw;
  text-align:center;
}
#step .inner > div{
  background:#f1f3f2;
  border-radius:10px;
  margin-bottom: 5vw;
  padding:4vw;
}
#step .inner > div h3{
  color:#04a53c;
  font-size:4.3vw;
  letter-spacing: 0.1em;
  margin-bottom:3vw;
}
#step .inner > div li{
  font-size:4vw;
  margin-bottom:2vw;
  padding-left:4vw;
  position:relative;
}
#step .inner > div li:before{
  background:#04a53c;
  content:"";
  display: block;
  position: absolute;
  top:0.4em;
  left:0;
  height:3vw;
  width:3vw;
}

.bnr{
  padding:10vw 0 ;
  text-align:center;
}
.bnr li{
  display: inline-block;
  margin:0 auto 3vw;;
}
.bnr li a{
  background:#04a53c url(../images/arrow4.png) no-repeat right 30px center;
  border-radius:10px;
  box-sizing: border-box;
  color:#fff;
  display:block;
  font-size:18px;
  line-height:90px;
  text-align:left;
  text-decoration: none;
  padding-left:10vw;
  width:80vw;
}





/* flow */
#flow {
  background:url(../images/flow/flow_bg.jpg) repeat top left;
  padding:5vw 0 ;
}
#flow .inner {
  background:#fff;
  border-radius:10px;
  padding:6vw 4vw;
  margin:0 auto;
}
#flow h3{
  border-bottom:1px solid #04a53c;
  color:#04a53c;
  font-size:4vw;
  font-weight:bold;
  letter-spacing: 0.2em;;
  margin-bottom:3vw;
  padding-bottom:5vw;
  text-align:center;
}
#flow .inner {
  padding:10vw 4vw;
}

#flow .inner > ul{
  margin:0 auto;
}
#flow .inner  > ul > li{
}
#flow .inner > ul > li:nth-child(1),
#flow .inner > ul > li:nth-child(2){
  margin-bottom:35px;
  position:relative;
}
#flow .inner > ul > li:nth-child(1):after,
#flow .inner > ul > li:nth-child(2):after{
  background:url(../images/arrow5.png) no-repeat center center;
  content:"";
  height:22px;
  position:absolute;
  bottom:-22px;
  left:0;
  width:100%;
}
#flow li p,
#flow li dl{
}
#flow li p{
  background:#04a53c;
  color:#fff;
  border-radius:10px 10px 0 0;
  font-size:4vw;
  text-align:center;
}
#flow li dl{
  background:#ffe55f;
  box-sizing: border-box;
  padding:30vw 4vw 10vw;
}
#flow .inner > ul > li:nth-child(1) dl{
  background:#ffe55f url(../images/flow/bg_w1.png) no-repeat center 3vw ;
}
#flow .inner > ul > li:nth-child(2) dl{
  background:#ffe55f url(../images/flow/bg_w2.png) no-repeat center 3vw ;
}
#flow .inner > ul > li:nth-child(3) dl{
  background:#ffe55f url(../images/flow/bg_w3.png) no-repeat center 3vw;
}
#flow li dl dt{
  color:#04a53c;
  font-size:24px;
  font-weight:bold;
  letter-spacing: 0.05em;
  margin-bottom:15px;
}
#flow li dl dd li{
  font-size:18px;
  line-height:25px;
  letter-spacing: 0.05em;
  text-indent:-1em;
  padding-left:1em;
}





/* area */
#sapporoarea,
#hakodatearea{
  margin:0 auto;
}
#sapporoarea{
  margin-bottom:8vw;
}
#hakodatearea,
#obihiroarea,
#fukagawaarea{
  margin-bottom:10vw;
}
#sapporoarea h3,
#hakodatearea h3,
#obihiroarea h3,
#fukagawaarea h3{
  border-bottom:1px solid #04a53c;
  color:#04a53c;
  font-size:4vw;
  font-weight:bold;
  letter-spacing: 0.2em;;
  margin-bottom:35px;
  padding-top:150px;
  padding-bottom:15px;
  text-align:center;
}

#sapporoarea h3{
  background:url(../images/area/sapporo.png) no-repeat center top;
}
#hakodatearea h3{
  background:url(../images/area/hakodate2.png) no-repeat center top;
}
#obihiroarea h3{
  background:url(../images/area/hakodate2.png) no-repeat center top;
}
#fukagawaarea h3{
  background:url(../images/area/hakodate.png) no-repeat center top;
}

#sapporoarea ul{
  margin:0 auto 3vw;
  width:80vw;

}
#sapporoarea li{
  display:inline-block;
  margin:0 auto 3vw;
  text-align:center;
  vertical-align: top;
  width:80vw;
}

#sapporoarea li a{
  background:#04a53c url(../images/arrow3.png) no-repeat right 23px center;
  border-radius:5px;
  color:#fff;
  display:block;
  font-size:18px;
  line-height:90px;
  letter-spacing: 0.05em;
  text-decoration:none;;
}
#sapporoarea li.clum2 a{
  box-sizing: border-box;
  padding-top:15px;
  line-height:30px;
  height:90px;
}

#hakodatearea ul,
#obihiroarea ul,
#fukagawaarea ul{
  margin:0 auto 3vw;
  width:80vw;

}
#hakodatearea li,
#obihiroarea li,
#fukagawaarea li{
  display:inline-block;
  margin:0 auto 3vw;
  text-align:center;
  vertical-align: top;
  width:80vw;
}
#hakodatearea li a,
#obihiroarea li a,
#fukagawaarea li a{
  background:#04a53c url(../images/arrow3.png) no-repeat right 23px center;
  border-radius:5px;
  color:#fff;
  display:block;
  font-size:18px;
  line-height:90px;
  letter-spacing: 0.05em;
  text-decoration:none;;
}
#hakodatearea p,
#obihiroarea p,
#fukagawaarea p{
  font-size:22px;
  letter-spacing: 0.05em;
  margin-left:5%;
  margin-right:5%;
}



#contact {
  border-top:1px solid #ccc;
  background:#fff;
  width:100%;
}
#contact .inner{
  margin:0 auto;
  text-align:center;
  padding:9vw 0;
  position:relative;
}
#contact .inner > div dl dt{
  margin:0 0 3vw;
}
#contact .inner > div dl dt img{
  height:auto;
  width:73vw;
}

#contact .inner > div dl dd{
  font-size: 3vw;
  line-height:5vw;
}
#contact .inner > div dl dd + dd{
  margin-top:8vw;
  margin-bottom:8vw;
}
#contact .inner > div dl dd + dd img{
  height:auto;
  width:63vw;
}

#contact .inner > div + div{
  text-align:center;
  margin:0 auto;
  padding:5vw 0;
  width:48vw;
}

#contact .inner > div + div + div{
  border:1px solid #3E3A39;
  border-radius:5px;
  display:inline-block;
  text-align:center;
  margin:0 auto;
  vertical-align: middle;
  padding:5vw 0;
  width:48vw;

}
#contact .inner > div + div + div li{
  display:inline-block;
  margin:0 0 3vw 0;
}
#contact .inner > div + div li:not(:last-child){
  margin:0 4vw 3vw 0;
}


#contact .inner > div + div li img{
  height:auto;
  width:11vw;
}
#contact .inner > div + div p{
  font-size:3vw;
}

#contact .inner > div + div + div + div{
  border:none;
 margin-left:5vw;
  padding:0;
  display:inline-block;
  vertical-align: middle;
  width:auto;
}
#contact .inner > div + div + div + div img{
  height:auto;
  width:20vw;
}







/* footer */
    .returntop{
        display:none;
        position: fixed;
        right:10px;
        bottom:10px;
        z-index: 5;
    }
    .returntop img{
        height:13.33vw;
        width:13.333vw;
    }
    #pagefooter{
        background:#43A34A;
    }
    #pagefooter .inner h2{
        border-bottom:1px solid #fff;

        font-size:4.533vw;
        text-align:center;
        line-height:16vw;
    }
    #pagefooter .inner a{
        color:#fff;
        text-decoration:none;
    }
    #pagefooter .inner > ul{
        display: inline;

    }
    #pagefooter .inner > ul li{
        display: inline-block;
        vertical-align: bottom;
    }
    #pagefooter .inner > ul li{
        text-align:center;
        width:50%;
    }
    #pagefooter .inner > ul li a{
        background:url(../images/1x/footer/icon.png) no-repeat right 2.266vw center;
        background-size:3.333vw;
        border-bottom:1px solid #fff;
        font-size:3.333vw;
        line-height:11.466vw;
        display:block;
        width:100%;
    }
    #pagefooter .inner > ul li.clum2 a{
        height:10.466vw;
        padding-top:1vw;
        line-height: inherit;
    }

    #pagefooter .inner > ul li.leftb a{
        border-right:1px solid #fff;
    }

    #pagefooter .inner > div {
        border-top:1px solid #fff;
        margin-top:-1px;
        padding-top:11.066vw;
        padding-bottom:7.066vw;
    }

    #pagefooter .inner > div ul{
        text-align:center;
    }
    #pagefooter .inner > div ul li{
        display:inline-block;
    }
    #pagefooter .inner > div ul li a{
        font-size:3.066vw;
    }
    #pagefooter .inner > div ul li:not(:last-child) a{
        border-right:1px solid #fff;
        margin-right:1.333vw;
        padding-right:1.333vw;
    }

    #pagefooter .inner + div p{
        color:#fff;
        font-size:1.866vw;
        text-align: center;
        padding-bottom:3.333vw;
    }


    .pcbtnarea  {
       display:none;
    }



    .spbtnarea{
        display:block;
    }
    .spbtnarea .inner{
        position:fixed;
        bottom:0;
        left:0;
        z-index: 6;
    }
    .spbtnarea.on .inner{
        position:relative;
    }
    .spbtnarea div{
        display:inline-block;
        vertical-align: middle;
    }
    .formbtn{
        margin-left:3vw;
        margin-right:6vw;
    }
    .formbtn img{
        height: auto;
        width: 66.8vw;
    }

    .returntopbtn{
        z-index:20;
    }
    .returntopbtn img{
        height:auto;
        width:15.2666vw;
    }

    .pcbtnarea,
    .pcbtnarea.on{display:none!important;}


    .spbtnarea{}



    .pc{display:none;}
}





@media screen and (min-width:600px){
    html{
        width:100%;
    }
    body{
        margin:0 auto;
        min-width:1280px;
    }

    #pageheader{
        margin:0 auto;
        width:1280px;
    }
    .overopimg img{
        -webkit-transition: all .3s;
        transition: all .3s;
    }
    .overopimg img:hover{
        opacity:0.6
    }

    .header_menu_top{
        position: relative;
      }
      .header_menu_top > ul{
        display: flex;
        justify-content: flex-end;
        margin: 0 auto 7px;
        padding: 12px 10px 0;
        max-width: 1360px;
      }

      .header_menu_top li{
        margin-left: 55px;
        cursor: pointer;
      }

      .header_menu_topHov{
        transition: .5s;
      }

      .header_menu_top a , .header_menu_top p{
        background-image: url(https://www.ichitaka.co.jp/corporate/wp-content/themes/ichitaka/img/common/li_ico.svg);
        background-size: 13px;
        background-repeat: no-repeat;
        background-position: left 0px center;
        padding-left: 17px;
/*        font-size: 1.3rem;*/
        font-size:13px;
        color: #3e3a3a;
        text-decoration: none;;
      }

     .header_menu_top p{
        display: inline;;
    }
      .header_menu_top a:hover , .header_menu_top p:hover{
        opacity: .7;
      }
      .header_menu_topSub {
        box-sizing: border-box;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        visibility: hidden;
        font-size: 1.1rem;
        z-index: 600;
        padding-top: 8px;
      }

      .header_menu_topSub ul{
        padding: 20px 20px 7px;
        color: #3e3a3a;
        background: #e0e0e0;
      }

      .header_menu_topSub li{
        text-align: right;
        margin: 0 auto 13px;
        max-width: 1360px;
      }

      .header_menu_topHov:hover{
        box-shadow: 0 10px 0 0 #e0e0e0;
      }
      .header_menu_topHov:hover .header_menu_topSub {
        visibility: visible;
        animation-name: menufadedown;
        animation-duration: .5s;
      }

      @keyframes menufadedown {
      from {
          opacity: 0;
          transform: translateY(-10px);
      }
      to {
          opacity: 1;
          transform: translateY(0px);
      }
      }


      .header_wrap{
        position: relative;
        margin-bottom: 47px;
      }

      .header_wrap > div{
        padding: 0 10px 0;
        display: flex;
        justify-content: space-between;
        max-width: 1360px;
        margin: 0 auto;
      }

      .header_wrap h1{
        margin-top: 0;
        margin-left: 5px;
        width: 10%;
        min-width: 105px;
        max-width: 137px;
        z-index: 999;
        position: fixed;
        transition: .3s;
      }

      .header_wrap h1:hover{
        transform: scale(1.1);
      }


      .header_menu{
        padding-left: 10%;
        width: 100%;
        z-index: 500;
      }

      .header_menu ul{
        display: flex;
        justify-content: flex-end;
      }

      .nav_menu > li{
        width: calc(88% / 8);
        max-width: 110px;
        margin: 7px 0 0 -1px;
/*        font-size: 1.4rem;*/

        font-weight: 630;
        padding: 5px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: .5s;
      }

      .nav_menu > li.red_btn{
        width: 12%;
        max-width: 170px;
      }
      .nav_menu > li.red_btn a{
        background-color: #ed1c24;
        color: #fff;
        flex-wrap: wrap;
        padding: 10px 8px;
        align-items: center;
      }
      .nav_menu > li.red_btn a:hover{
        background-color: #eb888c;
      }

      .nav_menu > li > a ,
      .nav_menu > .header_menu_Hov > p{
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        color: #3e3a3a;
        transition: .5s;
        cursor: pointer;
        border-left: 1px solid #c5c4c3;
        border-right: 1px solid #c5c4c3;
        font-size:13px;
        text-decoration: none;;
      }
      .nav_menu > li:first-child a,
      .nav_menu > li.red_btn a{
        border-left: none;
      }
      .nav_menu > li:last-child{
        margin-left: 0;
      }
      .nav_menu > li:last-child a,
      .nav_menu > li.head_faq a{
        border-right: none;
      }

      .nav_menu > li:not(.red_btn):hover{
        background-color: #e5eee1;
      }

      .header_menu_Hov{
        transition: .5s;
      }

      .header_menu_Hov:hover,
      .header_menu_Hov.now{
        background-color: #e5eee1;
      }

      .header_menu_Hov:hover,
      .header_menu_Hov.now{
        box-shadow: 0 10px 0 0 #00a63c;
      }

      .header_menu_Hov:hover .header_menu_Sub {
        visibility: visible;
        animation-name: menufadedown;
        animation-duration: .5s;
      }

      .header_menu_Sub {
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        padding-top: 8px;
        visibility: hidden;
        font-size: 1.1rem;
      }

      .header_menu_Sub .header_menu_Sub_bg {
        padding: 50px 0;
        background: #00a63c;
        width: 100%;
      }

      .header_menu_Sub .header_menu_SubWrap{
        width: 910px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        padding-top: 8px;
      }


      .header_menu_Sub .header_menu_SubNav{
        display: block;
        font-size: 1.4rem;
      }

      .header_menu_Sub .header_menu_SubNav li{
        border-left: none;
        width: 100%;
        margin: 0;
      }

      .header_menu_Sub .header_menu_SubNav li ul{
        display: block;
        margin-left: 30px;
        margin-top: 0;
      }

      .header_menu_Sub .header_menu_SubNav li a{
        color: #fff;
        display: block;
        padding: 10px 85px 10px 25px;
        border-bottom: 1px solid #fff;
        font-size:14px;
        transition: 0s;
        text-decoration: none;;
        position: relative;
      }
      .header_menu_Sub .header_menu_SubNav li a::before{
        content: '';
        display: block;
        width: 16px;
        height: 16px;
        background-color: #fff;
        border-radius: 50%;
        margin: auto 4px auto 0;
        position: absolute;
        left: 5px;
        top: 0;
        bottom: 0;
      }
      .header_menu_Sub .header_menu_SubNav li a::after{
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-top: 3px solid transparent;
        border-bottom: 3px solid transparent;
        border-left: 5px solid #00a63c;
        margin: auto;
        position: absolute;
        left: 11px;
        top: 0;
        bottom: 0;
      }

      .header_menu_Sub .header_menu_SubNav li a:not(.nolink):hover{
        background-color: #fff;
        color: #00a63c;
        transition: .5s;
      }
      .header_menu_Sub .header_menu_SubNav li a:not(.nolink):hover::before{
        background-color: #00a63c;
        transition: .5s;
      }
      .header_menu_Sub .header_menu_SubNav li a:not(.nolink):hover::after{
        border-left-color: #fff;
        transition: .5s;
      }
      .header_menu_Sub .header_menu_SubNav li a.nolink{
        cursor: default;
      }

      .header_menu_Sub .header_menu_SubWrapTtl{
        font-size: 1.6rem;
        letter-spacing: 2.5px;
        justify-content: flex-start;
        /* position: relative; */
      }
      /* .header_menu_Sub .header_menu_SubWrapTtl::before{
        content: '';
        display: block;
        width: 32px;
        height: 12px;
        background-image: url(../img/common/header_icon.svg);
        background-repeat: no-repeat;
        position: absolute;
        top: -12px;
        left: -32px;
      } */

      .header_menu_Sub .header_menu_SubWrapTtl a{
        color: #fff;
        display: block;
        padding: 10px 10px 10px 25px;
        position: relative;
        font-size:14px;
        text-decoration:none;
      }
      .header_menu_Sub .header_menu_SubWrapTtl a::before{
        content: '';
        display: block;
        width: 16px;
        height: 16px;
        background-color: #fff;
        border-radius: 50%;
        margin: auto 4px auto 0;
        position: absolute;
        left: 5px;
        top: 0;
        bottom: 0;
      }
      .header_menu_Sub .header_menu_SubWrapTtl a::after{
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-top: 3px solid transparent;
        border-bottom: 3px solid transparent;
        border-left: 5px solid #00a63c;
        margin: auto;
        position: absolute;
        left: 11px;
        top: 0;
        bottom: 0;
      }
      .header_menu_Sub .header_menu_SubWrapTtl a:hover{
        background-color: #fff;
        color: #00a63c;
        transition: .5s;
      }
      .header_menu_Sub .header_menu_SubWrapTtl a:hover::before{
        background-color: #00a63c;
        transition: .5s;
      }
      .header_menu_Sub .header_menu_SubWrapTtl a:hover::after{
        border-left-color: #fff;
        transition: .5s;
      }


      .header_menu_Sub p{
        color: #fff;
        transition: 0s;
        height: auto;
        padding-left: 5px;
        font-size:12px;
      }

      .header_menu_Sub .header_menu_SubNav li:last-child{
        background-color: transparent;
      }

      .header_menu li figure{
        color: #3e3a39;
        margin: 0 auto;
        font-size:13px;
        text-align: center;
      }

      .header_menu li figcaption{
        text-align: center;
        margin-top: 7px;
      }

      .header_menu li figure img{
        height: 32px;
      }


/* main */
#main{
  background:url(../images/main/mainbg.jpg) repeat top left;
  padding-top:74px;
  position:relative;
  text-align:center;
  z-index: 2;

}
#main:after{
  background:url(../images/main/bg.png) no-repeat bottom center;
  content:"";
  display:block;
  position:absolute;
  bottom:-7px;
  left:0;
  height:214px;
  width:100%;
  z-index: 1;
}
#main p{
  margin-bottom:20px;
}
#main h1{
  margin-bottom:35px;
}
#main h1 + p{
  font-size:18px;
  line-height:30px;
  letter-spacing: 0.05rem;
  margin-bottom:0;
  padding-bottom:200px;
  position: relative;
  z-index: 2;
}
/* step */
#step{
  background:#dce466;
  padding:76px 0 54px;
  position: relative;
  z-index: 1;
}
#step .inner{
  background:#fff;
  box-sizing: border-box;
  border-radius:10px;
  margin:0 auto;
  padding:44px 35px;;
  width:1000px;
}
#step .inner h2{
  background:#04a53c;
  border-radius:100px;
  box-sizing: border-box;
  padding-top:28px;
  height:95px;
  margin-bottom:87px;
  text-align:center;
}
#step .inner h2 + ul{
  margin-bottom:80px;
  text-align:center;
}
#step .inner h2 + ul li{
  display:inline-block;
  vertical-align: top;
  position:relative;
}
#step .inner h2 + ul li:not(:last-child){
  background:url(../images/arrow1.png) no-repeat right center;
  margin-right:70px;
  padding-right:87px;
}
#step .inner h2 + ul li span{
  position:absolute;
  top:-37px;
  left:-45px;
}
#step .inner h2 + ul li strong{
  display: block;
  font-size: 20px;
  letter-spacing: 0.05em;
  margin-top:15px;
  text-align:center;
}

#step .inner > div{
  background:#f1f3f2;
  border-radius:10px;
  margin-bottom: 35px;
  padding:35px 50px;
}
#step .inner > div h3{
  color:#04a53c;
  font-size:26px;
  letter-spacing: 0.1em;
  margin-bottom:25px;
}
#step .inner > div li{
  font-size:16px;
  margin-bottom:15px;
  padding-left:16px;
  position:relative;
}
#step .inner > div li:before{
  background:#04a53c;
  content:"";
  display: block;
  position: absolute;
  top:0.4em;
  left:0;
  height:13px;
  width:13px;
}

.bnr{
  padding:110px 0 ;
  text-align:center;
}
.bnr li{
  display: inline-block;
  margin:10px 25px;
}
.bnr li a{
  background:#04a53c url(../images/arrow4.png) no-repeat right 30px center;
  border-radius:10px;
  color:#fff;
  display:block;
  font-size:18px;
  line-height:90px;
  text-decoration: none;
  width:300px;
}

/* flow */
#flow {
  background:url(../images/flow/flow_bg.jpg) repeat top left;
  padding:60px 0 ;
}
#flow .inner {
  background:#fff;
  border-radius:10px;
  padding:80px 0;
  margin:0 auto;
  width:1000px;
}
#flow h3{
  border-bottom:1px solid #04a53c;
  color:#04a53c;
  font-size:28px;
  font-weight:bold;
  letter-spacing: 0.2em;;
  margin-bottom:35px;
  padding-bottom:15px;
  text-align:center;
}
#flow .inner {
  padding:80px 0;
}

#flow .inner > ul{
  margin:0 auto;
  width:798px;
}
#flow .inner  > ul > li{
  display: table;
  width:798px;
}
#flow .inner > ul > li:nth-child(1),
#flow .inner > ul > li:nth-child(2){
  margin-bottom:35px;
  position:relative;
}
#flow .inner > ul > li:nth-child(1):after,
#flow .inner > ul > li:nth-child(2):after{
  background:url(../images/arrow5.png) no-repeat center center;
  content:"";
  height:22px;
  position:absolute;
  bottom:-22px;
  left:0;
  width:100%;
}
#flow li p,
#flow li dl{
  display: table-cell;
  vertical-align: middle;
}
#flow li p{
  background:#04a53c;
  color:#fff;
  border-radius:10px 0 0 10px;
  font-size:42px;
  text-align:center;
  width:60px;
}
#flow li dl{
  background:#ffe55f;
  box-sizing: border-box;
  padding:20px 0 20px 170px;
  width:738px
}
#flow .inner > ul > li:nth-child(1) dl{
  background:#ffe55f url(../images/flow/bg_w1.png) no-repeat 30px center;
  padding:50px 0 50px 170px;
}
#flow .inner > ul > li:nth-child(2) dl{
  background:#ffe55f url(../images/flow/bg_w2.png) no-repeat 35px center;
}
#flow .inner > ul > li:nth-child(3) dl{
  background:#ffe55f url(../images/flow/bg_w3.png) no-repeat 45px center;
}
#flow li dl dt{
  color:#04a53c;
  font-size:24px;
  font-weight:bold;
  letter-spacing: 0.05em;
  margin-bottom:15px;
}
#flow li dl dd li{
  font-size:18px;
  line-height:25px;
  letter-spacing: 0.05em;
}


/* area */
#sapporoarea,
#hakodatearea,
#obihiroarea,
#fukagawaarea{
  margin:0 auto;
  width:1000px;
}
#sapporoarea{
  margin-bottom:72px;
}
#hakodatearea,
#obihiroarea,
#fukagawaarea{
  margin-bottom:50px;
}
#sapporoarea h3,
#hakodatearea h3,
#obihiroarea h3,
#fukagawaarea h3{
  border-bottom:1px solid #04a53c;
  color:#04a53c;
  font-size:28px;
  font-weight:bold;
  letter-spacing: 0.2em;;
  margin-bottom:35px;
  padding-top:150px;
  padding-bottom:15px;
  text-align:center;
}

#sapporoarea h3{
  background:url(../images/area/sapporo.png) no-repeat center top;
}
#hakodatearea h3{
  background:url(../images/area/hakodate2.png) no-repeat center top;
}
#obihiroarea h3{
  background:url(../images/area/obihiro.png) no-repeat center top;
}
#fukagawaarea h3{
  background:url(../images/area/fukagawa.png) no-repeat center top;
}

#sapporoarea li{
  display:inline-block;
  margin-bottom:30px;
  text-align:center;
  vertical-align: top;
  width:462px;
}
#sapporoarea li:nth-child(2n){
  height:90px;
  margin-left:72px;
}

#sapporoarea li a{
  background:#04a53c url(../images/arrow3.png) no-repeat right 23px center;
  border-radius:5px;
  color:#fff;
  display:block;
  font-size:18px;
  line-height:90px;
  letter-spacing: 0.05em;
  text-decoration:none;;
  width:462px;
}
#sapporoarea li.clum2 a{
  box-sizing: border-box;
  padding-top:15px;
  line-height:30px;
  height:90px;
}

#hakodatearea ul,
#obihiroarea ul,
#fukagawaarea ul{
  text-align:center;
}
#hakodatearea li,
#obihiroarea li,
#fukagawaarea li{
  display:inline-block;
  margin-bottom:30px;
  text-align:center;
  vertical-align: top;
  width:462px;
}
#hakodatearea li a,
#obihiroarea li a,
#fukagawaarea li a{
  background:#04a53c url(../images/arrow3.png) no-repeat right 23px center;
  border-radius:5px;
  color:#fff;
  display:block;
  font-size:18px;
  line-height:90px;
  letter-spacing: 0.05em;
  text-decoration:none;;
  width:462px;
}
#hakodatearea p,
#obihiroarea p,
#fukagawaarea p{
  font-size:20px;
  letter-spacing: 0.05em;
}


#contact {
  border-top:1px solid #ccc;
  background:#fff;
  min-width:1280px;
  width:100%;
}
#contact .inner{
  margin:0 auto;
  padding:43px 0;
  position:relative;
  width:1000px;;
}
#contact .inner > div dl dt{
  margin:0 0 13px;
}
#contact .inner > div dl dt + dd{
  margin:0 0 70px;
}
#contact .inner > div dl dd{
      font-size:12px;
}

.contact_privacy img {
  height:auto;
  width: 112px;
}

#contact .inner > div + div {
  position:absolute;
  right:275px;
  top:43px;

}
#contact .inner > div + div + div {
  border:1px solid #3E3A39;
  border-radius:5px;
  text-align:center;
  padding:25px 0;
  position:absolute;
  right:0;
  top:43px;

}
#contact .inner >  div + div + div li{
  display:inline-block;
  margin:0 15px 15px;
}
#contact .inner >  div + div + div p{
  font-size:14px;
}

/* footer */
    .returntop{
        display:none;
        position: fixed;
        right:10px;
        bottom:10px;
        z-index: 5;
    }
    #pagefooter{
        background:#3c9638;
        position:relative;
    }
    #pagefooter .inner{
        margin:0 auto;
        padding:35px 0 0;
        width:1008px;
    }
    #pagefooter .inner h2{
        font-size:18px;
        margin-bottom:40px;
    }
    #pagefooter .inner a{
        color:#fff;
        text-decoration:none;
    }
    #pagefooter .inner > ul{
        display: inline-block;
        vertical-align: top;
        margin-bottom:45px;
        width:230px;
    }
    #pagefooter .inner > ul:nth-child(3){

        width:325px;
    }

    #pagefooter .inner > ul li{
        font-size:14px;
        line-height:29px;
    }
    #pagefooter .inner > div ul{
        text-align:right;
        margin-bottom:25px;
    }
    #pagefooter .inner > div ul li{
        display:inline-block;
        font-size:14px;
    }
    #pagefooter .inner > div ul li:not(:last-child){
        border-right:1px solid #fff;
        line-height:1em;
        margin:0 17px 0 0 ;
        padding:0 17px 0 0;
    }
    #pagefooter .inner + div{
        border-top:1px solid #fff;
        width:100%;
    }

    #pagefooter .inner + div p{
        color:#fff;
        font-size:12px;
        text-align:right;
        padding:15px 35px 30px;
    }


    .sp{display:none;}
}


@keyframes wobbling_x1 {
    0% {
        margin-left: 8px;
    }

    100% {
        margin-left: 0px;
    }
}
@keyframes wobbling_x2 {
    0% {
        margin-right: 8px;
    }

    100% {
        margin-right: 0px;
    }
}
@keyframes wobbling_y1{
    0% {
        margin-top: 0px;
    }

    100% {
        margin-top: 8px;
    }
}
@keyframes wobbling_y2{
    0% {
        margin-bottom: 0px;
    }

    100% {
        margin-bottom: 8px;
    }
}

.attention{
  background:linear-gradient(transparent 60%, #ff6 60%);
  font-weight:bold
}

.denki_bnr {
  text-align: center;
  display: block;
}

@media screen and (max-width: 600px) {
  span.denki_bnr img { width: 100%; height: auto; }
}