@charset "utf-8";

/***************************************************
	common.css
	¹²Í¨¥ì¥¤¥¢¥¦¥È¥¹¥¿¥¤¥ë¶¨Áx
***************************************************/

@import url('https://fonts.googleapis.com/css?family=Oswald');

/* Base
------------------------------------------------------------ */
html {
	font-size: 62.5%;
}
body {
	line-height: 2.0;
	color: #333333;
	margin: 0;
	min-width: 1020px;
	background: #ffffff;
	font-family:'¥Ò¥é¥®¥Î½Ç¥´ Pro W3','Hiragino Kaku Gothic Pro','¥á¥¤¥ê¥ª',Meiryo,'£Í£Ó £Ð¥´¥·¥Ã¥¯',sans-serif;
	overflow-x: hidden;
}
@media only screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, img {
		width: 100%;
  }
}

.innerBox {
	clear: both;
	max-width: 1040px;
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
	.innerBox {
		padding: 0 4%;
	}
}

/* Link
------------------------------------------------------------ */
a { outline: none; }
a:link {
	color: #b7193f;
	text-decoration: underline;
}
a:visited {
	color: #b7193f;
	text-decoration: underline;
}
a:hover {
	color: #b7193f;
	text-decoration: none;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

/* wrapper
-------------------------------------------------------------------*/
#wrapper {
	padding-top: 112px;
}
@media only screen and (max-width: 767px) {
	#wrapper {
		padding-top: 60px;
	}
}

/* header
-------------------------------------------------------------------*/
#header {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	height: 112px;
	background: #ffffff;
	transition: all .5s;
	z-index: 1000;
}
@media only screen and (max-width: 767px) {
	#header {
		height: 60px;
	}
}
#header .logoBox {
	width: 330px;
	position: absolute;
	top: 35px;
	left: 50%;
	margin: 0 0 0 -165px;
}
#header .logoBox a {
	text-align: center;
	text-decoration: none;
}
#header .logoBox a .logo {
	display: block;
}
#header .logoBox a .ttl {
	display: block;
	color: #b7193f;
	font-size: 1.4rem;
	font-family: "¥Ò¥é¥®¥ÎÃ÷³¯ Pro W3", "Hiragino Mincho Pro", "HGSÃ÷³¯B", "£Í£Ó £ÐÃ÷³¯", serif;
}
@media only screen and (max-width: 767px) {
	#header .logoBox {
		width: 220px;
		top: 13px;
		margin: 0 0 0 -110px;
	}
	#header .logoBox a .ttl {
		font-size: 1.0rem;
	}
}
.naviBox ul {
	margin: 0;
	padding: 0;
}
.naviBox ul li {
	line-height: 1;
	font-family: 'Oswald';
}
@media only screen and (min-width: 768px) {
	.naviBox {
		padding: 40px 0 0 0;
	}
	.naviBox ul {
		font-size: 0;
		text-align: center;
	}
	.naviBox ul li {
		margin: 0 25px;
		padding: 0;
		list-style-type: none;
		display: inline-block;
		font-size: 1.8rem;
	}
	#header .naviBox ul {
		margin-left: 60px;
	}
	#header .naviBox ul li:nth-of-type(3) {
		padding-left: 380px;	
		margin-left: 0;
	}
}
.naviBox ul li a {
	color: #b7193f;
	text-decoration: none;
}
.menu-trigger {
	display: none;
}
@media only screen and (max-width: 767px) {
	.naviBox {
		display: none;
		position: absolute;
		top: 60px;
		left: 0;
		width: 100%;
		background: #ffffff;
		border-bottom: 1px solid #cccccc;
		z-index: 2000;
	}
	.naviBox ul {
	}
	.naviBox ul li {
		margin: 0;
		padding: 0;
		list-style-type: none;
		font-size: 1.6rem;
		border-top: 1px solid #cccccc;
	}
	.naviBox ul li a {
		display: block;
		padding: 1.5em 1em;
	}
	.menu-trigger {
		display: inline-block;
		width: 15px;
		height: 15px;
		vertical-align: middle;
		cursor: pointer;
		position: absolute;
		top: 22px;
		right: 22px;
		z-index: 100;
	}
	.menu-trigger span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #b7193f;
		transition: all .3s;
	}
	.menu-trigger.active span {
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger.active span:nth-of-type(1) {
		transform: translateY(6px) rotate(-45deg);
	}
	.menu-trigger span:nth-of-type(2) {
		top: 6px;
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		transform: translateY(-6px) rotate(45deg);
	}
}


/* main
-------------------------------------------------------------------*/
#main {
	display: block;
	clear: both;
	font-size: 1.6rem;
	padding: 0 0 120px 0;
}
@media only screen and (max-width: 767px) {
	#main {
		padding-bottom: 60px;
	}
}

/* pageHeadBox */
#pageHeadBox {
	clear: both;
	height: 196px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(/challengers/img/common/page_head_bg.png) center center no-repeat;
	background-size: cover;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #pageHeadBox {
	justify-content: flex-start;
  }
}

#pageHeadBox h2 {
	margin: 0;
	font-size: 3.8rem;
	line-height: 1;
	color: #b7193f;
	font-weight: bold;
	font-family: "¥Ò¥é¥®¥ÎÃ÷³¯ Pro W3", "Hiragino Mincho Pro", "HGSÃ÷³¯B", "£Í£Ó £ÐÃ÷³¯", serif;
}
@media only screen and (max-width: 767px) {
	#pageHeadBox {
		height: 120px;
	}
	#pageHeadBox h2 {
		font-size: 2.9rem;
	}
}

/* ttl */
.ttlType01 {
	clear: both;
	font-size: 2.8rem;
	color: #747b83;
	text-align: center;
	font-weight: bold;
	font-family: "¥Ò¥é¥®¥ÎÃ÷³¯ Pro W3", "Hiragino Mincho Pro", "HGSÃ÷³¯B", "£Í£Ó £ÐÃ÷³¯", serif;
	margin: 80px 0 40px;
	padding: 20px 0;
	background: #f1f5f9;
}
@media only screen and (max-width: 767px) {
	.ttlType01 {
		font-size: 1.8rem;
		margin: 40px 0 20px;
	}
}
.ttlType02 {
	clear: both;
	font-size: 2.0rem;
	margin: 40px 0 20px;
	padding: 0 0 0 10px;
	border-left: 3px solid #333333;
}
@media only screen and (max-width: 767px) {
	.ttlType02 {
		font-size: 1.6rem;	
		margin: 20px 0 10px;
	}
}

/* list */
.listType01 {
	margin: 0;
	padding: 0;
}
.listType01 > li {
	margin: 0;
	padding: 0 0 0 15px;
	list-style-type: none;
	position: relative;
}
.listType01 > li::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #747b83;
	border-radius: 50%;
	position: absolute;
	top: 0.6em;
	left: 0;
}


/* breadcrumbs */
.breadcrumbs {
	clear: both;
	margin: 30px 0 60px;
}
.breadcrumbs p {
	margin: 0;
	font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
	.breadcrumbs {
		clear: both;
		margin: 15px 0 30px;
	}
	.breadcrumbs p {
		margin: 0;
		font-size: 1.2rem;
	}
}

/* commonPagerBox */
.commonPagerBox {
	clear: both;
	margin: 80px 0 0 0;
}
@media only screen and (max-width: 767px) {
	.commonPagerBox {
		margin-top: 40px;
	}
}
.commonPagerBox ul {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 0;
}
.commonPagerBox ul > li {
	display: inline-block;
	font-size: 1.6rem;
	width: 40px;
	line-height: 40px;
	margin: 2px;
}
.commonPagerBox ul > li.prev {
	margin-right: 50px;
}
.commonPagerBox ul > li.next {
	margin-left: 50px;
}
.commonPagerBox ul > li a {
	display: block;
	color: #333333;
	text-decoration: none;
	background: #efefef;
}
.commonPagerBox ul > li a:hover {
	opacity: 0.7;
}
.commonPagerBox ul > li a.current {
	color: #ffffff;
	background: #b7193f;
}

/* footer
-------------------------------------------------------------------*/
#footer {
	clear: both;
	color: #ffffff;
	background: #424242;
	text-align: center;
}
#footerRow01 {
	clear: both;
	padding: 20px 0;
}
#footerRow01 .footerMenuList {
	font-size: 0;
	margin: 0;
	padding: 0;
}
#footerRow01 .footerMenuList > li {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	margin: 0.5em 0;
	padding: 0 1em;
	list-style-type: none;
	border-left: 1px solid #ffffff;
}
#footerRow01 .footerMenuList > li:first-child {
	border: none;
}
#footerRow01 .footerMenuList > li a {
	color: #ffffff;
	text-decoration: none;
}
#footerRow02 {
	clear: both;
	padding: 45px 0 15px 0;
	border-top: 1px solid #616161;
}
#footerRow02 .logo {
	width: 310px;
	margin: 0 auto;	
}
#footerRow02 .cr {
	font-size: 1.2rem;
	margin: 45px 0 0 0;
}
@media only screen and (max-width: 767px) {
	#footerRow02 {
		padding-top: 30px;
	}
	#footerRow02 .logo {
		width: 240px;
	}
	#footerRow02 .cr {
		margin-top: 30px;
	}
}


/* commonBtnMore
-----------------------------------------------------*/
.commonBtnMore {
	clear: both;
	max-width: 310px;
	margin: 45px auto 0;
}
.commonBtnMore a {
	display: block;
	text-align: center;
	color: #ffffff;
	line-height: 1;
	text-decoration: none;
	padding: 20px 0;
	background: #b7193f;
}
.commonBtnMore a:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 767px) {
	.commonBtnMore {
		max-width: 240px;
		margin-top: 30px;
	}
	.commonBtnMore a {
		padding: 15px 0;
	}
}











/* Õ{ÕûÓÃ
---------------------------------------------------------------------------- */
.mt0 { margin-top: 0!important; }
.mt5 { margin-top: 5px!important; }
.mt10 { margin-top: 10px!important; }
.mt15 { margin-top: 15px!important; }
.mt20 { margin-top: 20px!important; }
.mt30 { margin-top: 30px!important; }
.mt35 { margin-top: 35px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }
.mt100 { margin-top: 100px!important; }
.mr0 { margin-right: 0!important; }
.mr5 { margin-right: 5px!important; }
.mr10 { margin-right: 10px!important; }
.mr15 { margin-right: 15px!important; }
.mr20 { margin-right: 20px!important; }
.mr25 { margin-right: 25px!important; }
.mb0 { margin-bottom: 0!important; }
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb12 { margin-bottom: 12px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb35 { margin-bottom: 35px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb80 { margin-bottom: 80px!important; }
.ml0 { margin-left: 0!important; }
.ml5 { margin-left: 5px!important; }
.ml10 { margin-left: 10px!important; }
.ml15 { margin-left: 15px!important; }
.ml20 { margin-left: 20px!important; }
.ml25 { margin-left: 25px!important; }
.ml30 { margin-left: 30px!important; }


.clearB	{ clear: both!important;}
.floatR { float: right!important; }
.floatL { float: left!important; }

.taCenter { text-align: center!important; }
.taRight { text-align: right!important; }
.taLeft { text-align: left!important; }
.vaMiddle { vertical-align: middle!important; }
.fwBold { font-weight: bold!important; }

.fs11 { font-size: 11px!important; }
.fs12 { font-size: 12px!important; }
.fs14 { font-size: 14px!important; }
.fs16 { font-size: 16px!important; }
.fs20 { font-size: 20px!important; }

.w100per { width: 100%;}

.minIndent {
	padding-left: 1em;
	text-indent: -1em;
}
.notFloat {
	overflow: hidden;
	_zoom: 1;
}

/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
.clearfix {zoom:1;}
