/*==================
common
==================*/

body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	text-align: center;
}

.clearfix:before,
.clearfix:after {
	display: table;
	content: " ";
	
}
.clearfix:after {
	clear: both;
}

a {
	color: #72c2d9;
}
a:hover {
	color: #72c2d9;
}
hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
hr {
  border-top: 1px solid #72a4bc;
	margin-top: 60px;
	margin-bottom: 60px;
}

.fl {float: left;}
.fr {float: right;}
.fc {clear: both;}

.txtCenter {text-align: center;}
.txtLeft {text-align: left;}
.txtRight {text-align: right;}

.txtB{font-weight:700;}
.backtotop img {
	width: 100%;
	border: none;
	margin: 0;
	padding: 0;
}
.backtotop {
    position: fixed;
    bottom: 50px;
    right: 30px;
    width: 50px;
    z-index: 9999;
}
.topCont,
.topTxt {
	color: #666;
}
header {
	background: rgba(58,58,58,0.0);
	margin-top: -14px;
	margin-bottom: 0px;
	color: #666;
	z-index: 9999;
}
.header2 {
	background: #666;
	margin-top: -14px;
	margin-bottom: 0px;
	color: #666;
	z-index: 9999;
}
.logo_s, .h_bg{
	display: none;
}
.con_sp, .pro_sp, .how_sp, .free_sp, .online_sp, .fan_sp{
	display: none;
}
.nav01 {margin-right: -10px;
	
}
.nav02 {margin-right: 25px;

}
.nav03 {
	
}
.nav04 {margin-right: -10px;
	
}
.nav05 {
	outline: 0.5px solid gray;
  outline-offset: -10px;
	padding-bottom: 15px;

}
.cont2 .nav05 {
	outline: 0.5px solid gray;
  outline-offset: -10px;

}
/*==================
footer
==================*/

footer {
  clear: both;
	padding: 0rem 0;
	background-color: #000000;
	color: #fff;
	text-align: right;
	line-height: 2.7;

}

	
/*==================
 ブレイクポイント
 *〜768px：SP、モバイル
 *769px〜1242px：中間
 *1243px〜：大画面
==================*/
@media screen and (min-width:1243px) { /*大画面*/



	/* -----------------
	header */
	.pc_nav{width: 987px;
margin-left: auto;
	margin-right: auto;
	}
	.menu_lv1{
		float: right;
	}
	.smNavMenu{width: 500px;

	}
	.cont2 .menu_lv1{
		float: right;
	}
	.cont2 .smNavMenu{
		float: right;
	}
	header .home {
		position: relative;

		/*background-size:100%;*/
		background-color: rgba(255,255,255,0.00);
	}
	
	.logo {
		float: left;
		margin-top: 2rem;
		margin-left: 2rem;
		display: block;
	}
	nav {
		float: right;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding-top: 30px;
		padding-bottom: 24px;
	
	}
	nav ul {
		list-style: none;
		display: flex;
		justify-content: center;
		margin: 0px;
		padding: 0px;
		margin-left: 0px;

		
	}
	nav li,
	nav li a {
		display: block;
		color: #666!important;
		width: 130px;
		margin-left: 0px;
		margin-right: 10px;	
		padding-top: 10px;
	}
	.header2 nav li a {
		display: block;
		color: #fff!important;
		width: 130px;
		margin-left: 0px;
		margin-right: 10px;	
		padding-top: 10px;
	}
	nav li a:hover {
		opacity: 0.7;
  z-index: 1;
	}


	.bottom_active{ 
	box-sizing:border-box;
	 height: 60px;
	border-bottom: 6px solid #11356d;
}

	.smNavToggle {display: none;}
 
	.smNavMenu2{
		background-color: #666;
	}

	/* -----------------
	footer */
	footer */
	footer .inner {
		width: 90%;
		margin: 0 auto;
	}
	footer .inner:before,
	footer .inner:after {
		display: table;
		content: " ";
	}
	footer .inner:after {
		clear: both;
	}

}/*大画面*/

@media screen and (min-width:769px) and (max-width:1242px) {/*中間*/


	/* -----------------
	header */
	.pc_nav{max-width: 987px;
margin-left: auto;
	margin-right: auto;
	}
	.menu_lv1{
		float: right;
	}
	.smNavMenu{max-width: 500px;

	}
	
	header .home {
		position: relative;

		/*background-size:100%;*/
		background-color: rgba(255,255,255,0.00);
	}
.nav_logo{
		width: ;
		margin-top: -1.4rem;
	float: left;
	}
	
	.logo {
		float: left;
		margin-top: 2rem;
		margin-left: 2rem;
		display: block;
	}
	nav {
		float: right;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding-top: 0px;
		padding-bottom: 24px;
	
	}
	nav ul {
		list-style: none;
		display: flex;
		justify-content: center;
		margin: 0px;
		padding: 0px;
		margin-left: 0px;

		
	}
	nav li,
	nav li a {
		display: block;
		color: #666!important;
		width: 130px;
		margin-left: 0px;
		margin-right: 10px;	
		padding-top: 10px;
	}
	.header2 nav li a {
		display: block;
		color: #fff!important;
		width: 130px;
		margin-left: 0px;
		margin-right: 10px;	
		padding-top: 10px;
	}
	nav li a:hover {
		opacity: 0.7;
  z-index: 1;
	}

	.navIco {
		padding: 0.8rem 1rem;
	}
	.bottom_active{ 
	box-sizing:border-box;
	 height: 60px;
	border-bottom: 6px solid #11356d;
}

	.smNavToggle {display: none;}
 
	.smNavMenu2{
		background-color: #666;
	}
  
	/* -----------------
	footer */
	footer .inner {
		width: 90%;
		margin: 0 auto;
	}
	footer .inner:before,
	footer .inner:after {
		display: table;
		content: " ";
	}
	footer .inner:after {
		clear: both;
	}
}/*中間*/

@media screen and (max-width:768px) {/*SP、モバイル*/

	.logo_s, .h_bg{
	display: block;
		z-index: 10;
		text-align: center!important;
		
}
	.logo_s {
margin-top: 0px;
		text-align: center!important;
margin-top: 5px;
}
	.h_bg{display: block;
		width: 100%;
		background: #666;
		height: 60px;
		margin-top: 12px;
		margin-bottom: -8px;
		text-align: center!important;
		display: flex;
    justify-content: center;
    align-items: center;
		position: fixed;
		z-index: 50;
		clear: both;
	}

	
	.nav_logo{
		display: none;
	}
	
	/* -----------------
	header */
	.logo {
		text-align: center;
		margin-top: 1rem;
		margin-bottom: 1.2rem;
		display: none;
	}
	nav.smNavMenu {
		position: fixed;
		z-index: 50;
		top: 0px;
		left: 0;
		text-align: center;
		transform: translateY(-100%);
		transition: all 0.6s;
		width: 100%;
		
	}
	nav.smNavMenu ul  {
		list-style: none;
		width: 100%;
		margin: 0;
		padding: 0;
		padding-top: 33px;
	}
	nav.smNavMenu ul li {
		width: 100%;
		border-bottom: 1px solid #fff;
		background: #666;
		padding-top: 5px;
		padding-bottom: 5px;
		font-size: 75%;
		
	}
	nav.smNavMenu ul li:last-child {
		border-bottom: none;
	}
	nav.smNavMenu li a {
		display: block;
		color: #fff;
		
	}
	nav.smNavMenu li a:hover {
			opacity: 0.7;
  z-index: 1;
	}
	.nav01 a, .nav02 a, .nav03 a, .nav04 a, .nav05 a, .nav06 a, .nav07 a {			
	}
	.nav02 {
	margin-left: 0px;
}
.nav03 {
	
}
.nav04 {
	
}
.nav05 {
	outline: 0.0px!important;
}
	.navIco {
		padding: 0.8rem 1rem;
	}	
	nav.smNavMenu.active {/* ハンバーガー */
		transform: translateY(14%);
		z-index: 50;
	}

	.smNavToggle {
		display: block;
		position: fixed;	/* bodyに対しての絶対位置指定 */
		right: 13px;
		top: 10px;
		width: 36px;
		height: 36px;
		cursor: pointer;
		z-index: 50;
		background: ;
		text-align: center;
		border: solid 1px #fff;
	}
	.smNavToggle span {
		display: block;
		position: absolute;	 /* .smNavToggleに対して */
		width: 22px;
		border-bottom: solid 2px #fff;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 6px;
	}
	.smNavToggle span:nth-child(1) {
		top: 8px;
	}
	.smNavToggle span:nth-child(2) {
		top: 16px;
	}
	.smNavToggle span:nth-child(3) {
		top: 24px;
	}
	.smNavToggle span:nth-child(4) {
		border: none;
		color: #fff;
		font-size: 9px;
		font-weight: bold;
		top: 20px;
	}
	/* 最初のspanをマイナス45度に */
	.smNavToggle.active span:nth-child(1) {
		top: 16px;
		left: 6px;
		-webkit-transform: rotate(-40deg);
		-moz-transform: rotate(-40deg);
		transform: rotate(-40deg);
	}

	/* 2番目と3番目のspanを45度に */
	.smNavToggle.active span:nth-child(2),
	.smNavToggle.active span:nth-child(3) {
		top: 16px;
		-webkit-transform: rotate(40deg);
		-moz-transform: rotate(40deg);
		transform: rotate(40deg);
	}	

/* -----------------
	footer */
		footer .inner {
		width: 100%;
		margin: 0 auto;
	}
	footer .inner:before,
	footer .inner:after {
		display: table;
		content: " ";
	}
	footer .inner:after {
		clear: both;
	}
	
}/*SP、モバイル*/
@media only screen and (max-width: 480px) {
	footer {
font-size: 70%;

}

	.backtotop {
    position: fixed;
    bottom: 10px;
    right: 20px;
    width: 35px;
    z-index: 9999;
}
	
}
