@charset "UTF-8";

.flex,
.flex-child{
  display: flex;
  display: -ms-flexbox;
  display: -webkit-flex;
  flex-wrap: wrap;
}
.flex-h-center{
  justify-content: center;
}
.flex-v-center{
  align-items: center;
}
.flex .item,
.flex-child .item-child{
  flex:1;
  box-sizing: border-box;
}
.flex.col02 .item,
.flex.n-col02 .item{
  flex: 1 0 50%;
  max-width: 50%;
  box-sizing:border-box;
  padding-left: calc(var(--base-s) * 1);
  padding-right: calc(var(--base-s) * 1);
}
.flex-child.col02 .item-child{
  flex: 1 0 50%;
  max-width: 50%;
  box-sizing:border-box;  
}
.flex.col02.margin-auto{
  margin-left: auto;
  margin-right: auto;
}
.flex.col02.pad-0 .item{
  padding-left: 0;
  padding-right: 0;  
}
.flex.col03 .item,
.flex-child.col03 .item-child{
  flex: 1 0 33%;
  max-width: 33%;
}

.flex.col04 .item{
  flex: 1 0 25%;
}
.flex.col06 .item{
  flex: 1 0 16.66%;
}
.flex.col07 .item{
  flex: 1 0 14.285%;
}

.wide-hide{
  display: block;
}
.narrow-hide{
  display: none;
}
.wider-hide{
  display: block;
}
.narrower-hide{
  display: none;
}
.wide-show{
  display: none;
}
.max-w-1{
  margin-left: auto;
  margin-right: auto;
  max-width: 360px;
}
@media only screen and (min-width: 768px) {

}
@media only screen and (min-width: 768px) {
  .m-flex{
    display: flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: wrap;
  }  
  .m-flex .m-item{
    flex:1;
    box-sizing: border-box;
  }
  .m-flex.m-col02 .item{
    flex: 1 0 50%;
    max-width: 50%;
  }

  /*need to double check*/
  .m-flex.m-col02 .item{
    padding-left: calc(var(--base-s) * 2);
    padding-right: calc(var(--base-s) * 2);
    box-sizing:border-box;
  }
  .m-flex.m-col03 .item{
    flex: 1 0 33.3333%;
    max-width: 33.3333%;
  }
  .flex.m-col03 .item{
    flex: 1 0 33.3333%;
    max-width: 33.3333%;
    position: relative;
  }
  .wide-hide{
    display: none;
  }
  .mid-hide{
    display: none;
  }
  .narrow-hide{
    display: block;
  }
}
@media only screen and (min-width: 980px) {
  .wider-hide{
    display: none;
  }
  .mid-hide{
    display: none;
  }
  .narrower-hide{
    display: block;
  }
  .wide-show{
    display: block;
  }
  .wide-show.w-flex,
  .w-flex{
    display: flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: wrap;   
  }
  .w-flex .item{
    flex:1;
    box-sizing: border-box;
  }
  .w-flex.w-col02 .item{
    flex:1 0 50%;
    max-width: 50%;
    box-sizing:border-box;
  }
  .w-flex.w-col04 .item{
    flex:1 0 25%;
    max-width: 25%;
    box-sizing:border-box;
  }
  .w-flex.w-col05 .item{
    flex:1 0 20%;
    max-width: 20%;
    box-sizing:border-box;
  }
  .w-flex.w-col06 .item,
  .flex.w-col06 .item{
    flex:1 0 16.666%;
    max-width: 16.666%;
    box-sizing:border-box;
  }
  .flex.w-col03 .item,
  .w-flex.w-col03 .item{
    flex: 1 0 33.33%;
    max-width: 33.33%;
    padding-left: calc(var(--base-s) * 2);
    padding-right: calc(var(--base-s) * 2);
  }
  .flex.col02{
    margin-left: calc(var(--base-s) * -1);
    margin-right: calc(var(--base-s) * -1);    
  }
  .flex.col02 .item{
    padding-left: calc(var(--base-s) * 2);
    padding-right: calc(var(--base-s) * 2);    
  }
  .w-flex.w-col02 .w-narrow-item{
    max-width: 45%;
    padding-right: calc(var(--base-s) * 5);
  }
  .flex.w-col04 .item,
  .w-flex.w-col04 .item{
    flex:1 0 25%;
    max-width: 25%;
    /*padding-left: calc(var(--base-s) * 2);
    padding-right: calc(var(--base-s) * 2);*/
  }
  .flex.w-col05 .item{
    flex: 1 0 20%;
    max-width: 20%;
    position: relative;
  }
  .max-w-1.w-w-f{
    max-width: 100%;
  }
}

@media only screen and (min-width: 1100px) {
  .flex.wideCol03 .item,
  .flex.col02.wideCol03 .item:nth-child(odd),
  .flex.col02.wideCol03 .item:nth-child(even){
    padding-right: 20px;
    padding-left: 20px;
  }
}
.iframe-container{
  overflow:hidden;
  margin:0 auto calc(var(--base-s) * 3);
  display:block;
  max-width:100%;
  padding-top:56.25%;
  position:relative;
}
.iframe-container iframe{
  border:0;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}
.fixed-btn{
  position: fixed;
  z-index: 9999;
  right: calc(var(--base-s) * 2);
  bottom: calc(var(--base-s) * 2);
}
.fixed-btn a{
  text-decoration: none;
}
@media only screen and (min-width: 980px) {
  .fixed-btn{
    display: none;
  }
}
