@charset "utf-8";
/* CSS Document */

html {
	font-size: 68.75%;/*100%;*/
}
body {
	-webkit-text-size-adjust: 100%;
	font-family:"Noto Sans Japanese","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	/*font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", sans-serif;*/
	/*
    font-family: Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;*/
	font-weight:300;
	letter-spacing:1px;
	color:#000;
	line-height: 150%;
}
a {
	color:#000;
}
@media screen and (min-width: 420px){
  html{
    font-size: 68.75%;
  }
}


/*common*******************************************/
/* page-top */
#page-top {
    position: fixed;
    bottom: 30px;
    right: 5px;
	z-index: 999;
}
#page-top a {
    background: #333;
    text-decoration: none;
    width: 55px;
    padding: 15px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
	opacity: .4
}
#page-top a:hover {
    text-decoration: none;
    background: #333;
	-webkit-transition:	all 0.8s ease;
	transition:		all 0.8s ease;
	opacity: .2
}
#page-top img {
	width: 60%;
}


/*effect*******************************************/
/*上下*/
.effect-ud {
	animation: vertical 0.6s ease-in-out infinite alternate;
}

/*四角*/
.bt-effect {
  border: 1px solid;
  position: relative;
}

.change-border::after,
.change-border::before,
.change-border__inner::after,
.change-border__inner::before {
  background-color: #CCC;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
}
.change-border::after {
    height: 1px;
    left: -1px;
    top: -1px;
    width: 0px;
}
.change-border::before {
  bottom: -1px;
  height: 1px;
  right: -1px;
  width: 0px;
}
.change-border__inner::after {
  bottom: -1px;
  height: 0px;
  left: -1px;
  width: 1px;
}
.change-border__inner::before {
  height: 0px;
  right: -1px;
  top: -1px;
  width: 1px;
}

.change-border:hover::after,
.change-border:hover::before {
  width: 100%;
  width: calc(100% + 1px);
}
.change-border:hover .change-border__inner::after,
.change-border:hover .change-border__inner::before {
  height: 100%;
  height: calc(100% + 1px);
}




/*effect new*******************************************/
.efbt {
  /*border: 1px solid #CCC;/* オーバー前 */
  position: relative;
  cursor: pointer;
  text-align: center;
}
.efbt::after,
.efbt::before,
.efbt span::after,
.efbt span::before {
  /*background-color: #000;/* オーバー後 */
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
}
.efbt::after {
    height: 1px;
    left: -1px;
    top: -1px;
    width: 0px;
}
.efbt::before {
  bottom: -1px;
  height: 1px;
  right: -1px;
  width: 0px;
}
.efbt span::after {
  bottom: -1px;
  height: 0px;
  left: -1px;
  width: 1px;
}
.efbt span::before {
  height: 0px;
  right: -1px;
  top: -1px;
  width: 1px;
}
.efbt:hover::after,
.efbt:hover::before {
  width: 100%;
  width: calc(100% + 1px);
}
.efbt:hover span::after,
.efbt:hover span::before {
  height: 100%;
  height: calc(100% + 1px);
}
