/* Layout */

html, body { width:100%; height:100%; margin:0px; padding:0px; }


* {
  box-sizing: border-box;
}

.text-link { 
  color:#c9103a; 
  text-decoration:none;
  padding-bottom:1px;
  background-image: linear-gradient(#c9103a 0 0);
  background-position: 0 100%; /*OR bottom left*/
  background-size: 0% 1px;
  background-repeat: no-repeat;
  transition:
    background-size 0.3s,
    background-position 0s 0.3s; /*change after the size immediately*/
    
}

.text-link:hover {
  background-position: 100% 100%; /*OR bottom right*/
  background-size: 100% 1px;
}


.top { padding-top:143px; }

.clear { clear:both; }

.responsive { max-width:100%; height:auto; display:block; }

.char, .c-heading { font-family: 'Noto Serif', sans-serif!important; }

.youtube-video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.youtube-video-container::after {
  display: block;
  content: "";
  padding-top: 56.25%;
}

.youtube-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Footer */


  .l-footer {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #e6e6e6
  }
  
  .l-footer .l-footer__nav {
    display: block;
    width: 100%;
    box-sizing: border-box
  }
  
  .l-footer .l-footer__region {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #e6e6e6
  }
  
  .l-footer .l-footer__sns {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #e6e6e6
  }
  
  @media print, screen and (min-width: 768px) {
    .l-footer .l-footer__nav {
        display:-webkit-box;
        display: flex;
        max-width: 1036px;
        width: 100%;
        box-sizing: border-box;
        padding: 55px 40px 56px 40px;
        margin: 0 auto 0 auto
    }
  
    .l-footer .l-footer__nav-list {
        display: block;
        width: 242px;
        box-sizing: border-box;
        padding: 0 20px 0 0
    }
  
    .l-footer .l-footer__nav-list.l-footer__nav-list--column4 {
        width: 228px
    }
  
    .l-footer .l-footer__nav-item .c-link {
        font-size: .8rem;
        letter-spacing: 0.05em;
        font-weight: bold
    }
  
    .l-footer .l-footer__nav-item+.l-footer__nav-item {
        margin-top: 55px
    }
  
    .l-footer .l-footer__nav-sublist {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 30px;
        padding: 0 0 3px 0
    }
  
    .l-footer .l-footer__nav-subitem .c-link {
        font-size: .65rem;
        letter-spacing: 0;
        font-weight: 400
    }
  
    .l-footer .l-footer__nav-subitem+.l-footer__nav-subitem {
        margin-top: 30px
    }
  
    .l-footer .l-footer__nav-lower {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-top: 22px;
        padding: 0 0 11px 20px
    }
  
    .l-footer .l-footer__nav-page+.l-footer__nav-page {
        margin-top: 21px
    }
  
    .l-footer .l-footer__region-inner {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        max-width: 1036px;
        width: 100%;
        box-sizing: border-box;
        padding: 27px 40px 26px 40px;
        margin: 0 auto 0 auto
    }
  
    .l-footer .l-footer__region-head {
        display: block;
        width: 315px;
        font-size: .8rem;
        font-weight: 600
    }
  
    .l-footer .l-footer__region-list {
        display: -webkit-box;
        display: flex
    }
  
    .l-footer .l-footer__region-item+.l-footer__region-item {
        margin-left: 75px;
        padding-bottom: 4px
    }
  
    .l-footer .l-footer__region-item .c-link {
        font-size: .7rem;
        letter-spacing: 0.05em
    }
  
    .l-footer .l-footer__sns {
        padding: 17px
    }
  
    .l-footer .l-footer__sns-item {
        display: block;
        width: 30px;
        margin: 0 13px 0 13px
    }
  }
  
  @media screen and (min-width: 768px) and (max-width: 1036px) {
    .l-footer .l-footer__nav {
        padding:5.3088803089vw 3.861003861vw 5.4054054054vw 3.861003861vw
    }
  
    .l-footer .l-footer__nav-list {
        width: 23.3590733591vw;
        padding: 0 1.9305019305vw 0 0
    }
  
    .l-footer .l-footer__nav-list.l-footer__nav-list--column2 {
        width: 24.1312741313vw
    }
  
    .l-footer .l-footer__nav-list.l-footer__nav-list--column4 {
        width: 21.2355212355vw
    }
  
    .l-footer .l-footer__nav-item .c-link {
        font-size: 1.5444015444vw
    }
  
    .l-footer .l-footer__nav-item+.l-footer__nav-item {
        margin-top: 5.3088803089vw
    }
  
    .l-footer .l-footer__nav-sublist {
        margin-top: 2.8957528958vw;
        padding: 0 0 .2895752896vw 0
    }
  
    .l-footer .l-footer__nav-subitem .c-link {
        font-size: 1.2548262548vw
    }
  
    .l-footer .l-footer__nav-subitem+.l-footer__nav-subitem {
        margin-top: 2.8957528958vw
    }
  
    .l-footer .l-footer__nav-lower {
        margin-top: 2.1235521236vw;
        padding: 0 0 1.0617760618vw 1.9305019305vw
    }
  
    .l-footer .l-footer__nav-page+.l-footer__nav-page {
        margin-top: 2.027027027vw
    }
  
    .l-footer .l-footer__region-inner {
        padding: 2.6061776062vw 3.861003861vw 2.5096525097vw 3.861003861vw
    }
  
    .l-footer .l-footer__region-head {
        width: 23.3590733591vw;
        font-size: 1.5444015444vw
    }
  
    .l-footer .l-footer__region-item+.l-footer__region-item {
        margin-left: 7.2393822394vw;
        padding-bottom: .3861003861vw
    }
  
    .l-footer .l-footer__region-item .c-link {
        font-size: 1.3513513514vw
    }
  }
  
  @media screen and (max-width: 780px) and (min-width: 768px) {
    .l-footer .l-footer__region-item .c-link {
        font-size:11px
    }
  }
  
  @media screen and (max-width: 767.499px) {
    .l-footer .l-footer__nav {
        display:none
    }
  
    .l-footer .l-footer__region-inner {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 10.2666666667vw 0vw 3.4666666667vw 0vw;
        margin: 0 auto 0 auto
    }
  
    .l-footer .l-footer__region-head {
        display: block;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 9.8666666667vw;
        font-size: 4.5333333333vw;
        font-weight: 600;
        letter-spacing: 0.05em
    }
  
    .l-footer .l-footer__region-list {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap
    }
  
    .l-footer .l-footer__region-item {
        display: block;
        text-align: center;
        width: 33.333%;
        box-sizing: border-box;
        margin-top: .5333333333vw;
        margin-bottom: 7.0666666667vw
    }
  
    .l-footer .l-footer__region-item .c-link {
        font-size: 4vw;
        letter-spacing: 0.05em
    }
  
    .l-footer .l-footer__sns-item {
        display: block;
        width: 8vw;
        margin: 4.6666666667vw 4.8vw 4.5333333333vw 4.8vw
    }
  }
  
  
  @media print, screen and (min-width: 768px) {
    .l-footer .l-footer__region-head {
      padding-right: 75px;
    }
  }
  @media screen and (min-width: 768px) and (max-width: 1036px) {
    .l-footer .l-footer__region-head {
      padding-right: 7.239vw;
    }
  }
  @media screen and (max-width: 767.499px) {
    .l-footer .l-footer__region-head {
        padding-right: 0;
    }
  }
  
  