@media screen and (min-width: 721px) {
    html {
        font-size: 75%;
    }
}
@media screen and (max-width: 720px) {
    html {
        font-size: 62.5%;
    }
}

/*base*/
/*------------------------------------------------------------------------------*/
.font01 {
	font-family: "Tenali Ramakrishna",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro', serif;
	font-weight: 400;
	font-style: normal;
}
.font02 {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

.bold {
	font-weight: 500;
}

body{
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;

	color: #343434;
	font-weight: normal;
	font-size: 15px;
	line-height: 1.4;
}

a{
	text-decoration: none;
    color: #343434;
	transition: 0.4s;
}
a:hover,
.bl-hover {
	opacity: 0.45;
}
img {
	vertical-align: middle;
}

/*utility*/
/*------------------------------------------------------------------------------*/

.pc_none{display:none;}
.sp_none{display:block;}



/*header*/
/*------------------------------------------------------------------------------*/
header.hd_cm {
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	transition: all .5s;
	padding: 40px 30px 0;
}

.header_in {
	position: relative;
}
/* .hd_block{
	background: linear-gradient(#F89174, #FFC778);
    padding: 20px;
    margin: 0;
} */
#logo {
	text-align: center;
}
#logo img {
	width: 100px;
	height: auto;
}
#globalnav ul {
	text-align: center;
	margin-top: 5px;
	font-size: 1.6rem;
}
#globalnav li {
	display: inline-block;
}
#globalnav li a {
	display: block;
	padding: 16px;
	position: relative;
}
#globalnav li a:after  {
	content: "";
	display: block;
	width: 1px;
	height: 1px;
	background: #343434;
	opacity: 0;
	transition: all 1s;
	position: absolute;
	bottom: 0;
	left: 0;
}
#globalnav li a:hover:after  {
	width: 100%;
	opacity: 1;
	background: #343434;
}
#globalnav li a:hover {
	opacity: 1;
}

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn4{
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
	background:#ff6b60;
	cursor: pointer;
	  width: 50px;
	  height:50px;
	border-radius: 5px;
  }

  /*ボタン内側*/
  .openbtn4 span{
	  display: inline-block;
	  transition: all .4s;/*アニメーションの設定*/
	  position: absolute;
	  left: 21px;
	  height: 2px;
	  border-radius: 5px;
	background: #fff;
	  width: 45%;
	}


  .openbtn4 span:nth-of-type(1) {
	top:26px;
  }

  .openbtn4 span:nth-of-type(2) {
	top:32px;
  }

  .openbtn4 span:nth-of-type(3) {
	top:40px;
  }

  .openbtn4 span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
    top: 8px;
    left: 1px;
    color: #fff;
    font-size: 11px;
	text-transform: uppercase;
  }

/*sp_nav*/
/*------------------------------------------------------------------------------*/
.sp_nav_btn {
    position: absolute;
    top: 40px;
    margin-top: 0;
    right: 40px;
    width: 80px;
    height: 80px;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 60px;
}
.sp_nav_btn:hover {
	opacity: 0.8;
}
.sp_nav {
	position: fixed;
	z-index: 1200;
	top: 0;
	right: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0);
}
.open .sp_nav {
	background: rgba(0, 0, 0, 0.46);
	width: 100%;
	right: 0;
	transition: background 300ms ease;
}
.sp_nav_menu {
}
.sp_nav_wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	transition: transform 400ms ease 300ms;
	transform: translate(-100%, 0);
	overflow-y: auto;
	padding-bottom: 30px;
}
.open .sp_nav_wrapper {
	transform: translate(0%, 0);
	transition: transform 400ms ease 300ms;
}
.sp_nav_logo {
	text-align: center;
	margin-bottom: 40px;
	opacity: 0;
	transform: translate3d(0px, 30px, 0);
	transition: opacity 400ms ease, transform 400ms ease, color 500ms ease, background 500ms ease;
}
.open .sp_nav_logo {
	opacity: 1;
	transform: translate3d(0px, 0, 0);
	transition-delay: 700ms, 700ms, 0s, 0s;
}
.sp_nav_card_wrapper {
	margin-bottom: 20px;
	border-bottom: 1px solid #eaeaea;
}
.sp_nav_card_wrapper a {
	display: block;
	border-top: 1px solid #eaeaea;
	padding: 10px 5px;
	opacity: 0;
	transform: translate3d(0px, 30px, 0);
	transition: opacity 400ms ease, transform 400ms ease, color 500ms ease, background 500ms ease;
}
.open .sp_nav_card_wrapper a {
	opacity: 1;
	transform: translate3d(0px, 0, 0);
	transition-delay: 740ms, 740ms, 0s, 0s;
}
.open .sp_nav_card_wrapper a:nth-of-type(2) {
	transition-delay: 780ms, 780ms, 0s, 0s;
}
.open .sp_nav_card_wrapper a:nth-of-type(3) {
	transition-delay: 820ms, 820ms, 0s, 0s;
}
.open .sp_nav_card_wrapper a:nth-of-type(4) {
	transition-delay: 860ms, 860ms, 0s, 0s;
}
.open .sp_nav_card_wrapper a:nth-of-type(5) {
	transition-delay: 900ms, 900ms, 0s, 0s;
}
.open .sp_nav_card_wrapper a:nth-of-type(6) {
	transition-delay: 940ms, 940ms, 0s, 0s;
}
.sp_nav_card_wrapper a .main {
    display: block;
    font-size: 2.8rem;
    margin-bottom: 2px;
    width: auto;
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--cocoon-basic-border-radius);
    position: relative;
    z-index: 0;
	line-height: 1;
}
.sp_nav_card_wrapper a .sub {
	display: block;
	font-size: 1.1rem;
}
.sp_nav_buttons {
	margin-bottom: 20px;
}
.sp_nav_aside a{
	font-size: 15px;
}
.open .sp_nav_buttons a {
	opacity: 1;
	transform: translate3d(0px, 0, 0);
	transition-delay: 980ms, 980ms, 0s, 0s;
}
.open .sp_nav_buttons a:nth-of-type(2) {
	transition-delay: 1020ms, 1020ms, 0s, 0s;
}
.sp_nav_buttons a:hover {
	opacity: 1;
}
.sp_nav_buttons a:after {
	content: '';
    width: 7px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: rotate(45deg) translateY(-50%);
}
.sp_nav_button01 {
	background-color: #343434;
	color: #FFF;
	margin-bottom: 1em;
}
.sp_nav_button01:after {
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
}
.sp_nav_button01:hover {
	background-color: #FFF;
	color: #343434;
}
.sp_nav_button01:hover:after {
    border-top: 1px solid #343434;
    border-right: 1px solid #343434;
}
.sp_nav_button02 {
	background-color: #FFF;
	color: #343434;
}
.sp_nav_button02:after {
    border-top: 1px solid #343434;
    border-right: 1px solid #343434;
}
.sp_nav_button02:hover {
	background-color: #343434;
	color: #FFF;
}
.sp_nav_button02:hover:after {
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
}
.sp_nav_sns {
	display: block;
	width: 40px;
	height: 40px;
	margin-bottom: 15px;
	opacity: 0;
	transform: translate3d(0px, 30px, 0);
	transition: opacity 400ms ease, transform 400ms ease, color 500ms ease, background 500ms ease;
}
.open .sp_nav_sns {
	opacity: 1;
	transform: translate3d(0px, 0, 0);
	transition-delay: 1060ms, 1060ms, 0s, 0s;
}

.sp_nav_item {
	text-decoration: underline;
	opacity: 0;
	transform: translate3d(0px, 30px, 0);
	transition: opacity 400ms ease, transform 400ms ease, color 500ms ease, background 500ms ease;
}
.open .sp_nav_item {
	opacity: 1;
	transform: translate3d(0px, 0, 0);
	transition-delay: 1100ms, 1100ms, 0s, 0s;
}
.sp_nav_close {
	position: absolute;
	top: 15px;
	right: 40px;
	width: 38px;
	height: 38px;
	cursor: pointer;
	background: url(../image/sp_nav_close.png) no-repeat center center;
	transition: 0.3s;
}
.sp_nav_close:hover {
	opacity: 0.8;
}
ol, ul {
    padding-left: 0;
}

.HowtoUse .img_box img,
.main_copy_sec img{
	cursor: pointer;
	transition-duration: 0.5s;
  }
.HowtoUse .img_box img:hover,
.main_copy_sec img:hover{
	transform: scale(1.2) rotate(9deg);
	transition-duration: 0.5s;
  }

.Game img:hover,
.fv_img:hover{
	animation: hoverShake 0.15s linear 3;
  }

  @keyframes hoverShake {
	0% {transform: skew(0deg,0deg);}
	25% {transform: skew(1deg, 1deg);}
	75% {transform: skew(-1deg, -1deg);}
	100% {transform: skew(0deg,0deg);}
  }
.go-to-top-button {
    border-width: 0;
    background-color: #eee;
    color: #333;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    cursor: pointer;
    text-align: center;
    line-height: 1;
    border-radius: 55px;
    font-size: 22px;
}
footer.sec_bk {
    padding: 1em 0 5em 0;
}


/*========= スクロール途中でヘッダーが表示＆非表示するためのCSS ===============*/

#header{
    /*fixedで上部固定*/
  position: fixed;
    z-index: 999;/*最前面へ*/
  /*以下はレイアウトのためのCSS*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  color:#fff;
  text-align: center;
  padding: 20px;
}

/*　上に上がる動き　*/

#header.UpMove{
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 0;
  transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}




@media (max-width: 768px) {
	.sp_nav_btn {
		top: 40px;
		right: 8px;
	}
  .sp_nav_menu {
    padding: 54px 24px 0px;
  }
  .sp_nav_menu::after {
    height: 60px;
  }
}

@media (min-width: 769px) and (max-width: 1020px) {
  .sp_nav_btn {
	right: 0;
  }
  .sp_nav_menu {
    padding: 36px 62px 0px 32px;
    width: 420px;
    width: calc(100% + 30px);
  }
  .sp_nav_menu::after {
    height: 80px;
  }
}

@media (min-width: 1020px) {
  .sp_nav_menu {
    padding: 36px 62px 0px 32px;
    max-width: 390px;
    margin: 0 auto;
  }
  .sp_nav_menu::after {
    height: 80px;
  }
}

/* screens smaller than 1025---------------------------------------------------------- */
@media only screen and (max-width:1024px) {
header.hd_cm {
	padding: 40px 30px 30px;
}


/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/


/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/


/*footer*/
/*------------------------------------------------------------------------------*/
footer {
	width: 100%;
	padding: 147px 0 60px;
	background: #fff;
}
footer ul {
	list-style-type: none;
}
footer .footer_in {
	display: flex;
	flex-wrap: wrap;
	width: 1020px;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
footer .left_box,
footer .right_box {
	width: 50%;
}
#f_top {
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 2px solid #f7f7f7;
}
#f_logo  {
	padding-top: 50px;
}
#f_logo a{
    color: #fff;
    font-size: 2.0rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
#f_logo a img{
    width: 280px;

}
#f_logo a span{
    color: #fff;
    font-size: 12px;
    padding: 0;
    letter-spacing: 4px;
	background-color: inherit;
	display: block;
    width: 100%;
    margin: 20px 0 40px 0;
	text-align: center;
}
#f_nav a  {
	display: block;
	color: #fff;
	font-size: 13px;
}
#f_nav a span {
    font-size: 23px;
    line-height: 0;
}
#f_nav .font01 {
	font-size: 1.8rem;
	margin-bottom: 20px;
	padding-bottom: 16px;
	position: relative;
}
#f_nav ul{
	display: flex;
	justify-content: center;
}
#f_nav ul li{
	margin: 0 10px;
}
#f_nav .font01:before {
	position: absolute;
	content: '';
	width: 58px;
	height: 2px;
	background: #ec6500;
	left: 2px;
	bottom: 0;
}
#f_nav li li {
	font-size: 1.4rem;
	margin-bottom: 11px;
}
#f_bottom .left_box {
	font-size: 1.2rem;
	display: flex;
	flex-wrap: wrap;
}
#f_bottom .left_box li:first-child {
	margin-right: 15px;
}
#f_bottom .right_box {
	font-size: 1.0rem;
	text-align: right;
}
.sns_box{
	display: flex;
}
.sns_box li{
	margin: 0 10px;
}
.sns_box li img {
    WIDTH: 55px;
}
/*　ぼかす　*/

.blur img{
	filter: blur(0);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
  }

  .blur a:hover img{/*hoverした時の変化*/
	filter: blur(3px);/*ぼかし具合を変更したい場合はこの数値を変更*/
  }


  /*　画像のマスク　*/

  .mask{
	  display: block;
	  line-height: 0;/*行の高さを0にする*/
	  overflow: hidden;/*拡大してはみ出る要素を隠す*/
  }

/* screens smaller than 1025---------------------------------------------------------- */
@media only screen and (max-width:1024px) {
footer {
	padding: 120px 0 60px;
}
footer .footer_in {
	width: 94%;
}
footer .left_box,
footer .right_box {
	width: 100%;
}
#f_logo {
	text-align: center;
	padding: 0 0 60px;
}
#f_nav .flex01 {
	max-width: 680px;
	margin: 0 auto;
	justify-content: space-around;
}
#f_bottom .left_box {
	justify-content: center;
	margin-bottom: 30px;
}
#f_bottom .left_box li:first-child {
	margin-right: 30px;
}
#f_bottom .right_box {
	text-align: center;
}


/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/


/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {
footer {
	padding: 100px 0 60px;
}
footer .footer_in {
	width: 90%;
}
#f_nav .flex01 {
	display: block;
	max-width: 460px;
}
#f_nav .flex01 > li {
	border-top: 1px solid #f7f7f7;
	padding: 15px 0 5px;
}
#f_nav .flex01 li ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#f_nav .flex01 li ul li {
	width: 45%;
}

/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/


/* ----------------------------------------------------------------------------------------------- */
@media only screen and (min-width:769px) and (max-width:1159px) {

.w_auto{width: 94%;}


.sp_non.desc{
	width: 100%;
	padding: 0 15%;
}


}


/* ------------------------------------------------------------------------------------------------ */
@media only screen and (max-width:768px) {

.pc_none{display:block;}
.sp_none{display:none;}





}
table#sets_table{
	border-collapse:collapse;
}
table#sets_table td{
	border: 1px solid;
	padding: 0px;
	width:300px;
}
table#sets_table th{
	border: 1px solid;
	padding: 5px 0px;
	width:300px;
}
table#sets_table th {
	background-color:#ccc;
}
.pwdpage button{
	padding: 10px 40px;
	margin-right: 20px;
	margin-top: 20px;
	background-color: #ccc;
	border: 1px solid;
}
.pwdpage button.save{
	font-weight:bold;
}
.pwdpage td textarea{
	width:800px;
}
.pwdpage td input{
	width:300px;
}
th.del, td.del{
	width:50px !important;
	text-align:center;
}
td.del button{
	margin: 0px;
	padding: 5px;
	background-color: #ccc;
}

/*===============

