@charset "UTF-8";
/*===================================================
index
===================================================*/
.flex {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
}
.flex-between {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
}
.flex-center {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: center;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: center;
  /*--- IE10 ---*/
  -webkit-justify-content: center;
  /*--- safari（PC）用 ---*/
  justify-content: center;
}
.flex-end {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: end;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: end;
  /*--- IE10 ---*/
  -webkit-justify-content: flex-end;
  /*--- safari（PC）用 ---*/
  justify-content: flex-end;
}
.flex-wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-item-center {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-align: center;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-align: center;
  /*--- IE10 ---*/
  -webkit-align-items: center;
  /*--- safari（PC）用 ---*/
  align-items: center;
}
.flex-self-center {
  -ms-flex-flex-item-align: center;
  /*--- IE10 ---*/
  -webkit-align-self: center;
  /*--- safari（PC）用 ---*/
  align-self: center;
}
.flex-self-end {
  -ms-flex-flex-item-align: flex-end;
  /*--- IE10 ---*/
  -webkit-align-self: flex-end;
  /*--- safari（PC）用 ---*/
  align-self: flex-end;
}
.flex-self-start {
  -ms-flex-flex-item-align: flex-start;
  /*--- IE10 ---*/
  -webkit-align-self: flex-start;
  /*--- safari（PC）用 ---*/
  align-self: flex-start;
}
.appearance-none {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.br-none br {
  display: none;
}
.text-ry {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-none {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.box-link {
  display: block;
  width: 100%;
  height: 100%;
  color: #2f2f2f;
  text-decoration: none;
}
.underline-center {
  position: relative;
  display: inline-block;
  transition: .3s;
}
.underline-center::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  width: 0;
  height: 1px;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.underline-center:hover::after {
  width: 100%;
}
.underline-left {
  position: relative;
  display: inline-block;
  transition: .3s;
}
.underline-left::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  transition: .3s;
}
.underline-left:hover::after {
  width: 100%;
}
.bgcolor-bottom {
  text-decoration: none;
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .25s;
  transition: all .25s;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.bgcolor-bottom::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  bottom: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .25s;
  transition: all .25s;
}
.bgcolor-bottom:hover::after {
  bottom: 0;
}
