body {
	margin:0;
    background: #1E1F21;
	font-family: 'Kosugi', sans-serif;
	color:#fff;
}
header{
	margin:18px auto 0 auto;
    padding-bottom: 4px;
    border-bottom: 1px solid #fff;
    height:80px;
}
h1{
	margin: 18px 18px 0px 35px;
	position: relative;
}
h1 img{
	position: absolute;
	top:0;
	left:0;
	width:127px;
}
h1 a {
	color:#fff;
}
h1 p{
	position: absolute;
	top:0;
	left:146px;
    font-size: 20px;
    padding: 0;
    margin: 0;
}
h1 div{
	position: absolute;
	top:24px;
	left:146px;
    font-size: 40px;
    padding: 0;
    margin: 0;
}
header ul{
	font-size:20px;
	/*margin-left:calc(100% - 46.875vw);*/
	position: absolute;
	right:20px;
	top:6px;
}
header ul li{
	display: inline-block;
	list-style: none;
	margin-top:20px;
	margin-right:20px;
	text-align:center;
}
header ul li a{
	color:#fff;
	text-decoration-line: none;
}
header ul li a.active{
	color:#f00;
}
header ul li span{
	display: block;
	font-size:12px;
}

/*

*/
#ttl{
    height: 120px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

h2{
    position: relative;
    width: 400px;
    margin: 30px auto;
    color:#fff;
}
h2 img{
	position: absolute;
	top:0;
	left:0;
}
h2 a {
	color:#fff;
}
h2 p{
	position: absolute;
	top:0;
	left:192px;
    font-size: 40px;
    padding: 0;
    margin: 0;
}
h2 div{
	position: absolute;
	top:42px;
	left:192px;
    font-size: 20px;
    padding: 0;
    margin: 0;
}

#hmenu{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 80%;
    margin: 0 auto;
}
#hmenu a{
    border: 2px solid #fff;
    display: inline-block;
    padding: 10px;
    margin: 20px 2px;
    font-size: 40px;
    color:#fff;
    text-decoration: none;
    width: 100%;
    text-align: center;
    font-size: 30px;
    
}
#hmenu a.active{
	background: #000;
}

#hmenu a span{
	display: block;
	font-size: 20px;
}

/*
フッター
*/
footer{
	margin-top: 3.64583vw;
}
footer div.ftt500{
	background: #990000;
    padding: 0px 0;
    width: 100%;
    display: block;
    text-align: center;
}
footer div.ftt500 a{ 
    color: #fff;
    text-decoration: none;
    font-size: 40px;
    width: 800px;
    -webkit-transition: .3s;
    transition: .3s;
    border-radius: 9999px;
    background: #b91111;
    padding: 10px;
    margin: 0px auto;
    display: inline-block;
}
footer div.ftt500 .arrow {
    font-size: 20px;
    margin-top: 10px;
}
footer div.fsns{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    width:300px;
    -ms-flex-wrap: wrap;
    font-size: 12px;
    margin: 50px auto 50px auto;
}
footer div.fsns .listimage__image{
    position: relative;
    width: 150px;
    text-align: center;
    margin: auto;
    margin-bottom: 6%;
}
footer div.fsns .listimage__image img{
    width:60px;
}
/*
footer a.ftt500 .arrow {
  position: relative;
  display: inline-block;
  padding: 10px;
}
footer a.ftt500 .arrow::before {
    content: '';
    width: 14px;
    height: 14px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    left: -10px;
    top: 0px;
}
footer a.ftt500 .arrow.arrow-right::before {
	transform: rotate(45deg);
}
*/
footer div.ftt500 span{
	font-size: 26px;
}
footer .fmenu{
	width:90%;
	margin:120px auto;
  	display: flex;
  	flex-direction: row;
  	justify-content: space-between;
}
footer .fmenu ul{
    line-height: 1.4;
    list-style: none;
}
footer .fmenu ul li a{
	color:#fff;
	text-decoration: none;
}
footer .copyright{
	color: #fff;
    text-align: center;
    border-top: 1px solid #fff;
    padding: 4px 0;
}
#gnav_white{ display: none; }
.sp{ display: none; }
@media screen and (max-width: 1600px){
	header{ margin:1.13vw auto 0 auto; height:5vw; padding-bottom: 0.25vw; }
	h1 { margin: 1.13vw 1.13vw 0px 2.19vw; }
	h1 img{ width:7.94vw; }
	h1 p{ left:9.13vw; font-size: 1.25vw; }
	h1 div{ top:1.5vw; left:9.13vw; font-size: 2.5vw; }
	header ul{ font-size:1.25vw; right:1.25vw; top:0.38vw; }
	header ul li{ margin-top:1.25vw; margin-right:1.25vw; }
	header ul li span{ font-size:0.75vw; }
}
@media screen and (max-width: 1024px){
	header { height:40px; }
	header ul { display: none; }
	#gnav_white{
		display: block;
		position: absolute;
    	top: 10px;
    	right: 10px;
    	z-index: 999999;
	}
	h1{ margin:9.6px 9.6px 0 18.67px; }
	h1 img { width:68px; }
	h1 p { left:78px; font-size:11px; }
	h1 div{ left:78px; top:12.8px; font-size:21px; }
	#hmenu { display:block; width: 96%; }
	#hmenu a{ padding: 10px 0; margin: 2px 0; }
	footer div.ftt500 a { width:78.13vw; font-size:3.91vw; }
	footer div.ftt500 .arrow { font-size:1.95vw; }
	footer .fmenu { display: none; }
}
@media screen and (max-width: 640px){
	#overlay-button { padding: 0px 0px; }
	h1{ margin: 9.6px 9.6px 0 2%; }
	header ul { font-size: 20px; }
	header ul li span { font-size: 12px; }
	#ttl { height: 150px; }
	h2{ margin: 0; text-align: center; width:100%; }
	h2 img { position: static; margin: 20px auto 10px auto; width: 60px; }
	h2 p { position: static; font-size: 40px; }
	h2 div { position: static; font-size: 20px; }
	#trainer_user .userttlL h3 span { font-size: 10px; }
	.sp{ display: block; }
}
/*-----------------------------------------------------------------------------------------------------*/
@keyframes bugfix { from { padding: 0; } to { padding: 0; } }
@-webkit-keyframes bugfix { from { padding: 0; } to { padding: 0; } }
#overlay-button { position: absolute; right: 0px; top: 10px; padding: 10px 0px; z-index: 5; cursor: pointer; user-select: none; z-index: 999999; top:10px;  }
#overlay-button span { height: 4px; width: 35px; border-radius: 2px; background-color: #fff; position: relative; display: block; transition: all .2s ease-in-out; }
#overlay-button span:before { top: -10px; visibility: visible; }
#overlay-button span:after { top: 10px; }
#overlay-button span:before, #overlay-button span:after { height: 4px; width: 35px; border-radius: 2px; background-color: #fff; position: absolute; content: ""; transition: all .2s ease-in-out; }
#overlay-button:hover span, #overlay-button:hover span:before, #overlay-button:hover span:after { background: #fff; }
input[type="checkbox"] { display: none; }
input[type="checkbox"]:checked ~ #overlay { visibility:visible; }
input[type="checkbox"]:checked ~ #overlay-button:hover span, input[type="checkbox"]:checked ~ #overlay-button span { background: transparent; }
input[type="checkbox"]:checked ~ #overlay-button span:before { transform: rotate(45deg) translate(7px, 7px); }
input[type="checkbox"]:checked ~ #overlay-button span:after { transform: rotate(-45deg) translate(7px, -7px); }
#overlay { height: 100vh; width: 100vw; background: #cfd2d1; z-index: 999992; visibility: hidden; position: fixed; top: 0; right: 0; }
#overlay { }
#overlay ul { padding-top: 60px; display: block; width: 100%; }
#overlay ul li { display: inline-block; margin-top: 20px; margin-right:0; text-align: center; width: 50%; float: left; }
#overlay ul li a {  color: #000; text-decoration: none; }
/*
#overlay.active {  }
#overlay ul { display: flex; justify-content: center; align-items: center; flex-direction: column; text-align: center; padding-left: 0; list-style-type: none; }
#overlay ul li { padding: 10px; }
#overlay ul li a { color: #000; text-decoration: none; font-size: 1.5em; }
#overlay ul li a:hover { color: #000!important; }
*/



