@charset "utf-8";

/*
 * ==============================================
 * ■画面の横幅が981px以上 (PC)
 * ==============================================
 */
@media screen and (min-width : 981px ){
  .foot_image{
      width:100%;
      height:480px;
      background-image:url(/assets/dah/images/footer/footer_back.jpg);
      background-repeat: no-repeat;
      background-position:center center;
      background-size:cover;
      text-align: center;
  }
  footer .link_banner ul.footer_link{
      margin:0px auto 29px;
      display:inline-block;
  }
  footer .link_banner ul.footer_link.upper{
      margin-top: 42px;
  }
  footer .link_banner ul.footer_link.upper li{
      display: inline-block;
      margin-right: 12px;
      min-width: 150px;
      max-width: 155px;
      vertical-align: top;
  }
  footer .link_banner ul.footer_link.upper li:last-child{
      margin-right:0px;
  }
  footer .link_banner ul.footer_link.lower li{
      width:230px;
      display:inline-block;
      margin-right:12px;
  }
  footer .link_banner ul.footer_link.lower li:last-child{
      margin-right:0px;
  }
  footer .link_banner ul.footer_link.lower li:last-child{
      margin-right:0px;
  }
  
  footer .accom .inner{
      display: flex;
  }
  footer .accom .inner .left{
    float: left;
  }
  footer .accom .inner .right{
    float: right;
  }
  footer .accom .inner .left ul,
  footer .accom .inner .right ul{
      width:100%;
      display: block;
  }
  footer .accom .inner .left ul li,
  footer .accom .inner .right ul li{
      display: inline-block;
      width: auto;
  }
  footer .accom .inner .left ul li{
      margin-right:2px;
  }
  footer .accom .inner .right ul li{
      margin-left:15px;
  }
  
  footer .copy .inner .left p{
      font-size:1.3rem;
  }
  footer .copy .inner .left p:before{
      content:url(/assets/dah/images/footer/copy_icon.png);
      position: relative;
      float: left;
      padding-right:5px;
  }
  footer .copy .inner .right p{
      font-size:1.1rem;
  }
}



/*
 * ==============================================
 * ■画面の横幅が980pxまで (Tablet & SP)
 * ==============================================
 */
@media screen and (max-width:980px){
  .foot_image{
      width:100%;
      height:240px;
      background-image:url(/assets/dah/images/footer/footer_back_sp.jpg);
      background-repeat: no-repeat;
      background-position:center center;
      background-size:cover;
      text-align: center;
  }
  footer .link_banner .inner ul li a{
      display: block;
  }
  footer .link_banner .inner ul.footer_link{
      margin:0px auto 2px;
      display: block;
  }
  footer .link_banner .inner ul.footer_link.upper{
      margin-top: 42px;
  }
  footer .link_banner .inner ul.footer_link.upper li{
      width: 49%;
      margin-right:2%;
      margin-bottom: 1%;
      display: inline-block;
  }
  footer .link_banner ul.footer_link.upper li:nth-of-type(2n){
      margin-right:0%;
  }
  footer .link_banner .inner ul.footer_link.upper li img{
      width:100%;
  }
  
  footer .link_banner ul.footer_link.lower li{
      width:100%;
      display:block;
      margin-bottom:5px;
  }
  footer .link_banner ul.footer_link.lower li img{
      width:80%;
  }
  footer .link_banner ul.footer_link.lower li:last-child{
      margin-right:0px;
  }
  footer .sitemap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    justify-content: space-between;
    -webkit-box-pack: space-between;
    -webkit-justify-content: space-between;
    background-color: #194375;
    border-bottom: #557fa9 1px solid;
  }
  footer .sitemap .inner{
    width: 100%;
    margin-bottom: 5px;
  } 
  footer .sitemap .inner span.ttl {
    text-align: left;
    border-top: #557fa9 1px solid;
    box-sizing: border-box;
    font-weight: normal;
    font-size: 1.5rem;
    letter-spacing:2px;
    display: block;
    padding:0;
    position: relative;
    display: block;
  }
  footer .sitemap .inner span.ttl:before{
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border: 3px solid;
    border-color: #fff #fff transparent transparent;
    transform: scale(.5) rotate(45deg);
    right: 20px;
    top: calc(50% - 14px);
  }
  footer .sitemap .inner span.ttl a{
    display: block;
    padding:10px 20px;
  }
  footer .sitemap .inner span.ttl.sptoggle a{
    pointer-events:none;
  }
  footer .sitemap .inner span.ttl.sptoggle:before{
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    border: 0;
    background-color: #fff;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    right: 20px;
    top: 22px;
  }
  footer .sitemap .inner span.ttl.sptoggle:after{
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    border: 0;
    background-color: #fff;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: .25s;
    right: 20px;
    top: 22px;
  }
  footer .sitemap .inner span.ttl.is-active.sptoggle{
    border-bottom: #557fa9 1px solid;
  }
  footer .sitemap .inner span.ttl.sptoggle.is-active:after{
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

footer .sitemap .inner ul {
    color: #000;
display:none;
width: 100%;
margin: 0 auto;
padding: 8px 5px;
border-radius: 0 0 5px 5px;
text-decoration: none;
color: #fff;
}
footer .sitemap .inner ul a{
 text-decoration:none;
 color: #fff;
 padding: 4px 5px 4px 2em;
 display: block;
}
footer .sitemap .inner ul a:before{
 content: "";
 width: 14px;
 height: 14px;
 border: 3px solid;
 border-color: #FFF #FFF transparent transparent;
 transform: scale(.5) rotate(45deg);
 position: relative;
 display: inline-block;
 overflow: hidden;
 left: -5px;
 top: 1px;
}
footer .sitemap .inner ul li ul{
 display: none;
 width: 90%;
 margin: 0 auto;
 background: #fff;
 margin-top: 5px;
 margin-bottom: 5px;
 color: #333;
}
footer .sitemap .inner ul li ul{
 display: none;
 width: 90%;
 margin: 0 auto;
 background: #333333;
 border-radius: 5px;
}
footer .sitemap .inner li {
 text-align: left;
 margin: 0 2px;
 display: block;
 font-size: 1.4rem;
 text-indent:-1em;
}
footer .sitemap .inner li ul li{
 text-align: center;
 padding: 5px 0;
 width: 100%;
 display: inline-block;
}

  footer .accom .inner{
    display: block;
  }
  footer .accom .inner .left ul,
  footer .accom .inner .right ul{
    display: flex;
    width:100%;
  }
  footer .accom .inner .left ul li,
  footer .accom .inner .right ul li{
      display: inline-block;
      width: auto;
  }
  footer .accom .inner .left ul li{
      margin-right: 8px;
  }
  footer .accom .inner .left ul li:nth-of-type(2n){
      margin-right: 0px;
      text-align: right;
  }
  footer .accom .inner .right ul li{
      margin-left:0px;
      padding: 0px 5%;
  }
  
  footer .copy .inner .left p{
    font-size:0.9rem;
    letter-spacing: 0;
    margin-bottom:2px;
  }
  footer .copy .inner .left p:before{
    content: "";
    background: url(/assets/dah/images/footer/copy_icon.png) top left no-repeat;
    background-size: cover;
    width: 10px;
    height: 12px;
    position: relative;
    left: 0px;
    top: 2px;
    padding-right: 5px;
    display: inline-block;
  }
  footer .copy .inner .right p{
      font-size:0.9rem;
    letter-spacing: 0;
  }




}



/*
 * ==============================================
 * ■画面の横幅が481pxから980pxまで (Tablet)
 * ==============================================
 */
@media screen and (min-width:481px) and (max-width:980px) {
  footer .sitemap .inner span.ttl a{
    padding:15px 20px;
  }
  footer .sitemap .inner span.ttl.sptoggle:before{
      top: 26px;
  }
  footer .sitemap .inner span.ttl.sptoggle:after{
      top: 26px;
  }
  footer .link_banner{
      padding-bottom:2%;
  }
  footer .link_banner .inner ul.footer_link.upper{
      text-align: center;
  }
  footer .link_banner .inner ul.footer_link.upper li{
      width: 28%;
      margin-right:5%;
      margin-bottom: 2%;
      display: inline-block;
  }
  footer .link_banner .inner ul.footer_link.upper li:nth-of-type(3n){
      margin-right:0%;
  }
  footer .link_banner ul.footer_link.lower li{
      width: 49%;
      display: inline-block;
      margin-bottom:5px;
      text-align: center;
  }
  footer .link_banner ul.footer_link.lower li img{
      width:80%;
  }
  
  footer .accom .inner .left ul li{
      width: 50%;
  }
  footer .accom .inner .right ul li{
      width: 25%;
  }
  footer .accom .inner .left ul li figure,
  footer .accom .inner .right ul li  figure{
      width: auto;
  }
  footer .copy .inner .left p{
    font-size:1.2rem;
    letter-spacing: 0;
    margin-bottom:8px;
  }
  footer .copy .inner .left p:before{
    content: "";
    background: url(/assets/dah/images/footer/copy_icon.png) top left no-repeat;
    background-size: cover;
    width: 15px;
    height: 18px;
    position: relative;
    left: -5px;
    top: 5px;
    padding-right: 5px;
    display: inline-block;
  }
  footer .copy .inner .right p{
    font-size:1.2rem;
  }
}



