/* CSS Document */
@charset "utf-8";

@media screen and (min-width:1024px){

	.wrapper{
		width: 1000px;
		margin: 0 auto;
		padding: 0;
	}


	/* header */

	header{
		padding: 100px 0 124px 0;
		border-bottom: 45px solid #BC7C0A;
	}
	header .wrapper::before{
		width: 88px;
		height: 16px;
		bottom: -153px; left: 0;
	}
	header .wrapper::after{
		width: 110px;
		height: 60px;
		bottom: -154px; right: 0;
	}
	header h1{
		width: 314px;
	}
	header .fm_logo{
		width: 220px;
		margin-top: 35px;
	}
	header .sns{
		margin-top: 35px;
	}
	header .sns div{
		width: 50px;
		margin: 0 5px;
	}
	header .sns div a{
		display: block;
		transition: .2s;
	}
	header .sns div a:hover{
		transform: rotateY(180deg);
	}
	header .tag{
		margin-top: 35px;
	}
	header .tag div{
		margin: 0 10px;
		font-size: 15px;
	}


	/* main */

	h2{
		font-size: 40px;
	}
	h2 small{
		margin-top: 5px;
		font-size: 15px;
	}

	.intro{
		padding: 45px 0 5px 0;
	}
	.intro .box{
		align-items: flex-start;
	}
	.intro .icon{
		width: 100px;
	}
	.intro .inner{
		margin: 15px 0 0 20px;
		padding: 25px 30px;
		font-size: 20px;
	}

	.mc{
		padding-top: 50px;
	}
	.mc .box{
		margin-top: 40px;

	}
	.mc .inner{
		width: 100%;
	}
	.mc + .mc .inner{
		width: 100%;
	}
	.mc .item{
		width: 220px;
		margin-right: 30px;
	}
	.mc .name{
		margin-top: 18px;
		font-size: 20px;
	}
	.mc .name small{
		margin-top: 3px;
		font-size: 15px;
	}

	.table_box{
		padding-top: 60px;
	}
	.table_box table tr{
		margin-top: 5px;
		display: flex;
		align-items: center;
	}
	.table_box table th,
	.table_box table td{
		padding: 18px 20px;
		font-size: 15px;
	}
	.table_box table th{
		width: 152px;
	}
	.table_box table td{
		width: calc(100% - 152px);
		padding-left: 30px;
	}
	.table_box table td::before{
		width: 1px;
		height: calc(100% - 36px);
		position: absolute; top: 18px; left: 0;
	}

	.official{
		padding-top: 120px;
	}
	.official .box{
		padding-top: 35px;
	}
	.official .item{
		width: 150px;
		margin: 0 20px 0 0;
	}
	.official .box .item:nth-child(3n){
		margin-right: 20px;
	}
	.official .box .item:last-child{
		margin-right: 0;
	}
	.official .box .item a .thum{
		transition: .2s;
	}
	.official .box .item a:hover .thum{
		opacity: 0.6;
	}
	.official .name{
		margin-top: 13px;
		font-size: 15px;
	}

	.belt{
		padding-top: 75px;
	}
	.belt .inner{
		width: 13000px;
		height: 110px;
		animation: slide 60s linear infinite;
	}
	@keyframes slide{
	  0%{
	    transform: translate3d(0, 0, 0);
	  }
	  100%{
	    transform: translate3d(-6500px, 0, 0);
	  }
	}

	.partner{
		padding-top: 54px;
	}
	.partner .box{
		padding-top: 20px;
	}
	.partner .box div{
		width: 320px;
		margin: 20px 20px 0 0;
	}
	.partner .box div:nth-child(even){
		margin-right: 20px;
	}
	.partner .box div:nth-child(3n){
		margin-right: 0;
	}

	.sponsor{
		padding: 40px 0 75px 0;
	}
	.sponsor .box{
		padding-top: 20px;
	}
	.sponsor .box div{
		width: 235px;
		margin: 20px 20px 0 0;
	}
	.sponsor .box div:nth-child(3n){
		margin-right: 20px;
	}
	.sponsor .box div:nth-child(4n){
		margin-right: 0;
	}
	.sponsor .box + .box div{
		width: 150px;
	}
	.sponsor .box + .box div:nth-child(3n),
	.sponsor .box + .box div:nth-child(4n){
		margin-right: 20px;
	}
	.sponsor .box + .box div:nth-child(6n){
		margin-right: 0;
	}
	.sponsor .box div.text{
		font-size: 17px;
	}
	.sponsor .box div.text a{
		font-size: 17px;
	}


	/* footer */

	footer .foot{
		padding: 264px 0 236px 0;
		background: url(../images/footer/webp/bg.webp) no-repeat center top;
		background-size: cover;
	}
	footer .foot .logo{
		width: 160px;
	}
	footer .bottom{
		margin-top: -35px;
	}
	footer .bottom .fm_logo{
		width: 220px;
	}
	footer .bottom .copy{
		margin-left: 40px;
		padding-top: 10px;
		font-size: 13px;
	}

	.sticker{
		width: 220px;
		position: fixed; top: 15px; right: 15px;
		display: block;
	}

}
