@charset "UTF-8";
/* CSS Document */



#main {
    padding-bottom: 0;
	padding-top: 92px;
}

#main-visual {
	height: 540px;
	background: url(../images/main_img.png) no-repeat center center;
	background-size: cover;
	position: relative;
}

#main-visual .mainCatch {
	position: absolute;
	top: 75px;
	left: 0;
	width: 60vw;
	text-align: center;
	color: #174b87;
}
#main-visual .mainCatch div {
	background: url(../images/catch_frame.png) no-repeat center center;
	background-size: 100% 100%;
	width: 470px;
	margin: 0 auto;
    font-size: 48px;
    font-weight: bold;
	line-height: 1.66;
    letter-spacing: 10px;
    padding: 15px 0 15px 40px;
	margin-bottom: 40px;
    box-sizing: border-box;
}
#main-visual .mainCatch p {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 3px;
	line-height: 2;
}

h2 {
	font-size: 32px;
	font-feature-settings: "palt";
	font-weight: bold;
	letter-spacing: 4px;
	text-align: center;
	margin-bottom: 50px;
}


@media screen and (min-width:768px) and (max-width:900px) {
	#main-visual {
		height: 390px;
	}
	#main-visual .mainCatch {
		top: 55px;
	}
	#main-visual .mainCatch div {
		width: 320px;
		font-size: 32px;
		letter-spacing: 8px;
		padding: 15px 0 15px 30px;
		margin-bottom: 30px;
	}

	#main-visual .mainCatch p {
		font-size: 15px;
		letter-spacing: 2px;
	}

}

@media screen and (max-width:767px) {
	#main {
		padding-bottom: 0;
		padding-top: 0;
	}
	h2 {
		font-size: 22px;
		letter-spacing: 1px;
		margin-bottom: 30px;
	}
	
	#main-visual {
		height: auto;
		background: url(../images/main_img.png) no-repeat right bottom;
		background-size: auto 46%;
		position: relative;
		padding-bottom: 72vw;
	}
	#main-visual .mainCatch {
		width: 86%;
		margin: 0 auto;
		position: static;
     	padding: 40px 0;
	}
	#main-visual .mainCatch div {
		width: 95%;
		margin: 0 auto;
		font-size: 8vw;
		line-height: 1.66;
		letter-spacing: 2.2vw;
     	padding: 4.4vw 0 4.4vw 8vw;
		margin-bottom: 7vw;
	}
	#main-visual .mainCatch p {
		font-size: 3.4vw;
		letter-spacing: 0.2vw;
	}
	
}


/* bnrArea
//////////////////////////////////////////////////*/
#bnrArea {
	padding: 60px 0 0;
	position: relative;
}
#bnrArea::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 180px;
	display: block;
//	background-color: #f7f7f7;
	z-index: 0;
} 

#bnrArea .bnrSlide {
	margin: 0 80px 60px;
}
#bnrArea .bnrSlide a:hover {
	opacity: 0.6;
}

#bnrArea .osakaMarathon .omTop {
	max-width: 800px;
	width: 70%;
	margin: 0 auto;
	padding: 20px 30px;
	box-sizing: border-box;
	text-align: center;
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}
#bnrArea .osakaMarathon .omTop img {
	display: block;
	max-width: 543px;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#bnrArea .osakaMarathon .omMain {
	display: flex;
	position: relative;
	max-width: 1340px;
	margin: 0 auto;
}
#bnrArea .osakaMarathon .omMain .omTitle {
	position: absolute;
	top: 0;
	left: 50%;
	width: 70%;
	max-width: 800px;
	padding: 30px 30px;
	box-sizing: border-box;
	background-color: #174b87;
	color: #fff;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
    z-index: 2;
}

.omLeft {
	width: 50%;
	height: 355px;
}
.omRight {
	width: 50%;
	height: 355px;
}
.omLeft a,
.omRight a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #fff;
	text-align: center;
	padding-top: 50px;
	box-sizing: border-box;
}
.omLeft a {
	background: url(../images/om_bg_left.png) no-repeat center center;
	background-size: cover;
}
.omRight a {
	background: url(../images/om_bg_right.png) no-repeat center center;
	background-size: cover;
}
.omLeft a:hover,
.omRight a:hover {
	opacity: 0.8;
}
#bnrArea .osakaMarathon .omMain a p {
	text-align: center;
	font-size: 24px;
	line-height: 1.6;
	font-weight: bold;
	background: url(../images/btn_frame.png) no-repeat center center;
	background-size: 100%;
	max-width: 485px;
	width: 80%;
	height: 175px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media screen and (min-width:768px) and (max-width:900px) {
	
	#bnrArea .bnrSlide {
		margin: 0 70px 60px;
	}
	
	#bnrArea .osakaMarathon .omMain .omTitle {
     	font-size: 24px;
	}
	.omLeft,
	.omRight {
		height: 300px;
	}
	#bnrArea .osakaMarathon .omMain a p {
		font-size: 18px;
		max-width: 485px;
		width: 80%;
		height: 135px;
	}
}

@media screen and (max-width:767px) {
	
	#bnrArea {
		padding: 30px 0 0;
	}
	#bnrArea .bnrSlide {
		margin: 0 auto 40px;
		width: 65%;
	}
	
	#bnrArea .osakaMarathon {
		margin: 0 4vw;
	}
	#bnrArea .osakaMarathon .omTop {
		width: 100%;
		padding: 25px;
	}
	#bnrArea .osakaMarathon .omMain {
		display: block;
	}
	#bnrArea .osakaMarathon .omMain .omTitle {
		position: static;
		width: 100%;
		padding: 10px 30px;
		margin-bottom: 1px;
		font-size: 18px;
		line-height: 1.4;
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
	
	.omLeft {
		width: 100%;
		height: 40vw;
		margin-bottom: 1px;
	}
	.omRight {
		width: 100%;
		height: 40vw;
	}
	.omLeft a, .omRight a {
		padding-top: 0;
	}
	#bnrArea .osakaMarathon .omMain a p {
     	height: 28vw;
     	font-size: 4.8vw;
	}
	
}


/* Recommend
//////////////////////////////////////////////////*/

#recommend {
	padding: 80px 0;
	background-color: #f7f7f7;
	background-image: linear-gradient(to right, #d6d6d6, #d6d6d6 5px, transparent 5px, transparent 5px);
	background-size: 10px 1px;
	background-position: bottom;
	background-repeat: repeat-x;
}

#recommend h2 {
	line-height: 39px;
}
#recommend h2::before {
	content: "";
	display: inline-block;
	background: url(../images/title_icon01.png) no-repeat left center;
	background-size: 52px;
	width: 52px;
	height: 39px;
	vertical-align: bottom;
	margin-right: 15px;
}

#recommend .btn-style1 {
    margin: 55px auto 0;
}


@media screen and (max-width:767px) {
	#recommend {
		padding: 60px 0;
	}
	#recommend .btn-style1 {
		margin: 25px auto 0;
	}
	
	#recommend h2 {
		line-height: 30px;
	}
	#recommend h2::before {
		background: url(../images/title_icon01.png) no-repeat left center;
		background-size: 40px;
		width: 40px;
		height: 30px;
		margin-right: 12px;
	}
}


/* Search
//////////////////////////////////////////////////*/

#search {
	padding: 80px 0;
	background-image: linear-gradient(to right, #d6d6d6, #d6d6d6 5px, transparent 5px, transparent 5px);
	background-size: 10px 1px;
	background-position: bottom;
	background-repeat: repeat-x;
}

#search h2 {
	line-height: 39px;
}
#search h2::before {
	content: "";
	display: inline-block;
	background: url(../images/title_icon01.png) no-repeat left center;
	background-size: 52px;
	width: 52px;
	height: 39px;
	vertical-align: bottom;
	margin-right: 15px;
}

#search .btn-style1 {
    margin: 55px auto 0;
}


@media screen and (max-width:767px) {
	#search {
		padding: 60px 0;
	}
	#search .btn-style1 {
		margin: 25px auto 0;
	}
	
	#search h2 {
		line-height: 30px;
	}
	#search h2::before {
		background: url(../images/title_icon01.png) no-repeat left center;
		background-size: 40px;
		width: 40px;
		height: 30px;
		margin-right: 12px;
	}
}


/* Ranking
//////////////////////////////////////////////////*/

#ranking {
	padding: 80px 0;
	background-image: linear-gradient(to right, #d6d6d6, #d6d6d6 5px, transparent 5px, transparent 5px);
	background-size: 10px 1px;
	background-position: bottom;
	background-repeat: repeat-x;
}
#ranking h2 {
	line-height: 40px;
}
#ranking h2::before {
	content: "";
	display: inline-block;
	background: url(../images/title_icon02.png) no-repeat left center;
	background-size: 43px;
	width: 43px;
	height: 40px;
	vertical-align: bottom;
	margin-right: 15px;
}

#ranking .rowList li .rowListR {
    width: 14.15%;
}


@media screen and (max-width:767px) {
	#ranking {
    	padding: 50px 0;
	}
	#ranking h2 {
		line-height: 30px;
	}
	#ranking h2::before {
		background: url(../images/title_icon02.png) no-repeat left center;
		background-size: 30px;
		width: 30px;
		height: 30px;
		margin-right: 10px;
	}
	#ranking .rowList li .rowListR {
		width: 100%;
	}
	
}


/* closingSoon
//////////////////////////////////////////////////*/
#closingSoon {
	padding: 60px 0;
	background-color: #f7f7f7;
	background-image: linear-gradient(to right, #d6d6d6, #d6d6d6 5px, transparent 5px, transparent 5px);
	background-size: 10px 1px;
	background-position: bottom;
	background-repeat: repeat-x;
}

#closingSoon h2 {
	line-height: 40px;
}
#closingSoon h2::before {
	content: "";
	display: inline-block;
	background: url(../images/title_icon03.png) no-repeat left center;
	background-size: 40px;
	width: 40px;
	height: 40px;
	vertical-align: bottom;
	margin-right: 15px;
}



@media screen and (max-width:767px) {
	#closingSoon h2 {
		line-height: 30px;
	}
	#closingSoon h2::before {
		background: url(../images/title_icon03.png) no-repeat left center;
		background-size: 30px;
		width: 30px;
		height: 30px;
		margin-right: 10px;
	}
}



/* achievement
//////////////////////////////////////////////////*/

#achievementSoon {
	padding: 60px 0;
	background-image: linear-gradient(to right, #d6d6d6, #d6d6d6 5px, transparent 5px, transparent 5px);
	background-size: 10px 1px;
	background-position: bottom;
	background-repeat: repeat-x;
}
#achievementSoon h2 {
	line-height: 40px;
}
#achievementSoon h2::before {
	content: "";
	display: inline-block;
	background: url(../images/title_icon04.png) no-repeat left center;
	background-size: 39px;
	width: 39px;
	height: 40px;
	vertical-align: bottom;
	margin-right: 15px;
}


@media screen and (max-width:767px) {
	
	#achievementSoon h2 {
		line-height: 30px;
	}
	#achievementSoon h2::before {
		background: url(../images/title_icon04.png) no-repeat left center;
		background-size: 28px;
		width: 28px;
		height: 30px;
		margin-right: 10px;
	}
	
	#achievement .btn-style1 {
		margin: 20px auto 0;
	}
	
}




/* report
//////////////////////////////////////////////////*/
#report {
	background-color: #f7f7f7;
	padding: 60px 0;
}
#report h2 {
	line-height: 40px;
}
#report h2::before {
	content: "";
	display: inline-block;
	background: url(../images/title_icon05.png) no-repeat left center;
	background-size: 35px;
	width: 35px;
	height: 40px;
	vertical-align: bottom;
	margin-right: 15px;
}


#report .btn-style1 {
    margin: 55px auto 0;
}



@media screen and (max-width:767px) {
	#report {
		padding: 40px 0;
	}
	#report h2 {
		line-height: 30px;
	}
	#report h2::before {
		background: url(../images/title_icon05.png) no-repeat left center;
		background-size: 26px;
		width: 26px;
		height: 30px;
		margin-right: 10px;
	}
	
	#report .btn-style1 {
		margin: 25px auto 0;
	}
}




/* information
//////////////////////////////////////////////////*/
#information {
	padding: 60px 30px 80px;
	max-width: 1150px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

#information .topics {
	width: 46%;
}
#information .pressRelease {
	width: 46%;
}

#information h3 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
#information ul li {
	border-bottom: #ddd solid 1px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	display: flex;
	justify-content: space-between;
}
#information ul li p {
	width: 100px;
	line-height: 1.6;
}
#information ul li div {
	width: calc(100% - 120px);
	line-height: 1.6;
	font-weight: bold;
}
#information ul li div a:hover {
	color: #174b87;
}
#information .btn-style1 {
    margin: 55px auto 0;
}

@media screen and (min-width:768px) and (max-width:900px) {
	#information {
		padding: 60px 20px 80px;
	}
	#information .topics,
	#information .pressRelease {
		width: 48%;
	}
}


@media screen and (max-width:767px) {
	
	#information {
		padding: 40px 5vw 60px;
		display: block;
	}
	#information .topics {
		width: 100%;
		margin-bottom: 80px;
	}
	#information .pressRelease {
		width: 100%;
	}
	
	#information h3 {
		font-size: 20px;
		margin-bottom: 30px;
	}
	#information ul li {
		display: block;
		margin-bottom: 15px;
		padding-bottom: 15px;
	}
	#information ul li p {
      	width: 100%;
		font-size: 3.4vw;
		line-height: 1.8;
     	margin-bottom: 4px;
	}
	#information ul li div {
		width: 100%;
		line-height: 1.8;
		font-size: 3.4vw;
	}
	#information .btn-style1 {
		margin: 30px auto 0;
	}
}
