@charset "utf-8";



/* CMS Template(CSS編集はCMS管理画面から)

/warp_partner/css/warp.css

 Update:  2019-09-12 PM 06:49 */


/* ----------------------------------------------------
メディアクエリ設定 All
---------------------------------------------------- */
img {
	-webkit-backface-visibility: hidden;
}
.index .content {
	padding-bottom: 0;
}
.bg-title {
	background: #87b9cd;
}
.breadcrumb li {
	color: #fff;
}
.breadcrumb li a {
	color: #fff;
	background: url(/common/img/arrow_white.png) right 5px center / 4px auto no-repeat;
}

.tl {
	text-align: left !important;
}
/*
.index
----------------------------------- */
.index .bg-title::before {
	padding: 0;
}
.index .vis-in {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
	height: 525px;
}
.index .vis-in h1 {
	flex-shrink: 0;
	margin: 0;
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	max-width: 220px;
	width: 30%;
	display: block;

}
.index .vis-in p {
	line-height: 1.8;
	color: #fff;
	width: 62%;
	font-size: 2.6rem;
	font-weight: bold;
}
.index .tit-linebtm::before {
	background: #87b9cd;

}
.index .lead {
	line-height: 1.8;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
.index .lead section {
	width: 47%;
}
.index .lead ul {
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.index .lead li {
	display: flex;
	width: 48%;
}
.index .lead li a {
	display: block;
	width: 100%;
	text-align: center;
	background: #b7b7b7;
	color: #fff;
	font-weight: bold;
	position: relative;
	font-size: 1.6rem;
	padding: 15px;
	position: relative;
	transition: .3s;
}
.index .lead li a:hover {
	opacity: 0.7;
}
.index .lead li a::before {
	content: "";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
/*
.wpc
----------------------------------- */
.wpc {
	margin: 0 calc(50% - 50vw);
	padding: 70px calc(50vw - 50%) 90px;
	background: #f5f5f5;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
}
.wpc-txt {
	line-height: 1.8;
	width: 35%;
}
.wpc-txt dt span {
	font-weight: bold;
	font-size: 2.4rem;
}
.wpc-txt .btn a {
	display: block;
	max-width: 500px;
	font-size: 2rem;
	position: relative;
	background: #87b9cd;
	padding: 20px;
	text-align: center;
	color: #ffffff;
	transition: .3s;
}
.wpc-txt .btn a:hover {
	opacity: .7;
}
.wpc-txt .btn a::before {
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 10px;
	top: 0;
	bottom: 0;
	right: 15px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
.wpc-txt .btn a span {
	font-weight: bold;
}
.wpc-txt dd {
	margin: 0px 0 15px;
}
.wpc-txt .btn-black-s a {
	max-width: 600px;
	padding: 30px 0;
	margin: 0;
}

.wpc .past {
	width: 59%;
	line-height: 1.8;
}
.wpc .past dt {
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 10px;
}
.wpc .past ul {
	display: flex;
	flex-wrap: wrap;
}
.wpc .past li {
	width: 118px;
	background: url(/common/img/arrow_red.png) left center / 6px auto no-repeat;
	padding-left: 15px;
	margin-bottom: 5px;
}

/*
.bicontest
----------------------------------- */
.bi-index h2 {
	background: linear-gradient(to bottom, #e4d683 0%, #d3c052 100%);
	text-align: center;
	padding: 25px calc(50vw - 50%);
	margin: 0 calc(50% - 50vw) 40px;
	font-size: 18px;
	font-size: 1.8rem;
}
.bi-index h2 > span {
	display: inline-block;
	position: relative;
}
.bi-index h2 > span::before, .bi-index h2 > span::after {
	content: "";
	display: block;
	position: absolute;
	background: url(/warp_partner/bicontest_osaka17/img/bg_contest.png) left top no-repeat;
	width: 41px;
	height: 72px;
	right: -50px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.bi-index h2 > span::after {
	right: auto;
	left: -50px;
	transform: scale(-1, 1);
}
.bi-index h2 em {
	font-weight: bold;
	font-size: 36px;
	font-size: 3.6rem;
	display: block;
	color: #fff;
	margin: 10px 0 0;
}
.bi-index h2 em span {
	font-size: 24px;
	font-size: 2.4rem;
	display: block;
	margin-top: 10px;
}
.bi-index > p {
	line-height: 1.8;
}
.bi-index > ul {
	display: flex;
	justify-content: center;
	margin: 20px 0 0;
}
.bi-index > ul li {
	margin-right: 10px;
}
.rank {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}
.rank-box {
	width: calc(580/1200*100%);
	margin-top: 70px;
}
.rank-tit {
	background: url(/warp_partner/img/tit_rank.png) left top no-repeat;
	padding-left: 95px;
	line-height: 1.8;
	margin-bottom: 20px;
}
.rank-tit h3, .rank-tit h2 {
	color: #ac8028;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dad1bf;
}
.rank-tit p {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
}
.rank-box li {
	text-align: center;
	margin-bottom: 10px;
}
.rank-box .btn-black-s a {
	margin: 20px auto 0;
}
.contest-list th {
	background: #aea28b;
	color: #fff;
	padding: 10px;
	border: 1px solid #fff;
	text-align: left;
	line-height: 1.8;
}
.contest-list th:nth-of-type(1) {
	width: 42%;
}
.contest-list td {
	padding: 10px;
	background: #f2eee7;
	border: 1px solid #fff;
	line-height: 1.8;
}
.contest-list tr:nth-of-type(2n) td {
	background: #f8f4ed;
}

.bi-detail .rank-tit h2 {
	font-size: 24px;
	font-size: 2.4rem;
}
.bi-detail .contest-txt {
	line-height: 1.8;
}
.bi-detail .contest-txt dt {
	margin-top: 40px;
}
.bi-detail .contest-txt ol {
	margin: 15px 0 0 25px;
	list-style-type: decimal;
}
.bi-detail .contest-txt ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 30px;
}
.bi-detail .contest-txt ul li {
	width: calc(330/1200*100%);
	margin-right: 15px;
}
.bi-detail .info-box {
	background: #f4f4f4;
	padding: 20px;
	margin: 30px 0 50px;
	line-height: 1.8;
}
.bi-detail .info-box h3 {
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 10px;
}
.bi-detail .info-box a {
	text-decoration: underline;
}
.bi-detail .btn-black-s a {
	margin: 0 auto;
	position: relative;
	text-decoration: none;
}
.bi-detail .btn-black-s a::before {
	content: "";
	position: absolute;
	display: block;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	left: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	transform: rotate(-135deg);
}
.bi-detail .btn-red-l a {
	line-height: 1.5;
	margin: 0 auto 50px;
	font-weight: bold;
	background-image: url(/common/img/arrow_white.png);
	background-position: right 15px center;
	background-size: 7px auto;
	background-repeat: no-repeat;
}

/*
.prize
----------------------------------- */
.prize .lead-txt {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	line-height: 1.8;
	margin-bottom: 30px;
	align-items: center;
}
.prize .lead-txt figure {
	margin-right: 25px;
}
.prize .lead-txt p {
	flex: 1;
}
.award-box, .award-box-h {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.award-box > section, .award-box > div {
	width: calc(580/1200*100%);
	margin-bottom: 50px;
	text-align: center;
}

.award-box-h > section {
	width: calc(580/1200*100%);
	margin: 50px auto;
	text-align: center;
}
.award-box .rank-tit, .award-box-h .rank-tit {
	text-align: left;
	margin-bottom: 30px;
}
.award-box > section > p, .award-box ul p,
.award-box-h > section > p, .award-box-h ul p,
.award-box > div p {
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 1.8;
}
.past-box > section {
	width: 100%;
}
.past-box ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.past-box li {
	margin: 0 10px 10px;
}


.award19 .bg-title {
	margin-bottom: 0;
}
.award19 .lead {
	margin: 0 calc(50% - 50vw) 70px;
	padding: 60px calc(50vw - 50%);
	background: url("/warp_partner/award19/img/bg_lead.jpg") center center / cover no-repeat;
}
.award19 .lead-txt {
	margin: 0;
	color: #fff;
}
.award19 > section + section {
	margin-top: 60px;
}
.award19 h2 {
	font-weight: bold;
	font-size: 3rem;
	display: flex;
	align-items: center;
	margin-bottom: 60px;
	line-height: 1.5;
}
.award19 h2::before {
	content: "";
	display: block;
	background: url("/warp_partner/award19/img/ico_title.png") 0 0 / cover no-repeat;
	width: 88px;
	height: 55px;
	flex-shrink: 0;
	margin-right: 10px;
}
.award19 h2 + p {
	margin: -30px 0 60px;
	line-height: 1.8;
}
.award19 .rank-tit {
	margin-bottom: 20px;
	text-align: center;
}
.award19 .rank-tit h3 {
	padding-right: 95px;
}
.award19 .rank-tit p {
	font-weight: bold;
	font-size: 1.7rem;
	text-align: center;
	padding-right: 95px;
}
.award19 .award-box > div p:first-child {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.award19 .award-box figure + p {
	text-align: left;
	font-weight: normal;
	margin-top: 5px;
}

/*
.about
----------------------------------- */
.about .content {
	margin-top: 60px;
	line-height: 1.7;
}
.about .intro {
	text-align: center;
}
.about h1 {
	font-weight: bold;
	font-size: 4rem;
	margin-bottom: 10px;
}
.about h1 + p {
	font-size: 1.8rem;
	margin-bottom: 30px;
}
.about .tit-linetop {
	border-color: #87b9cd;
}
.about .tit-linebtm::before {
	background: #87b9cd;
}
.about .cat-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 60px;
	padding-bottom: 60px;
	border-bottom: 1px solid #87b9cd;
}
.about .cat-list li {
	width: 30%;
}
.about .cat-list dt {
	text-align: center;
	margin-bottom: 20px;
}
.about .cat-info {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 50px;
}
.about .cat-info figure {
	width: 19.1%;
}
.about .cat-info p {
	width: 77%;
}
.about .cat-box h4 {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 10px;
}
.about .cat-box h4::before {
	content: "";
	width: 1em;
	height: 1em;
	display: block;
	background: #666666;
	flex-shrink: 0;
	margin-right: 5px;
}
.about .grade ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	margin: 20px 0 70px;
}
.about .grade li {
	position: relative;
	width: 30%;
}
.about li.grade-info {
	width: 68%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.about .grade-info p {
	width: 46%;
}
.about .grade-list {
	width: 50%;
}
.about .grade dl + dl {
	margin-top: 10px;
}
.about .grade dt {
	font-weight: bold;
}
.about .grade dd {
	font-size: 1.2rem;
}

/* .about .grade li + li {
	margin-left: 40px;
}
.about .grade li + li::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 30px;
	border-color: transparent transparent transparent #ccc;
} */
/* .about .grade-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 60px;
	max-width: 1050px;
}
.about .grade-list::after {
	content: "";
	width: 31%;
}
.about .grade-list dl {
	width: 31%;
	margin-bottom: 20px;
} */

.about .dx-box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 40px;
}
.about .dx-box figure {
	width: 29%;
	margin-right: 5%;
}
.about .dx-list {
	width: 36%;
}
.about .dx-list p {
	margin: 0 auto 10px;
	max-width: 80%;
}
.about .dx-list .slide {
	padding: 10px;
	border: 1px solid #ccc;
}

.about .slick-slide {
	display: flex;
	align-items: center;
}
.about .slick-slide img {
	min-height: 1px;
	width: 100%;
}
.about .ep section + section {
	margin-top: 60px;
}
.about .member ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 20px;
}
.about .member li {
	width: 48%;
	display: flex;
	align-items: center;
	font-weight: bold;
	margin-bottom: 20px;
}
.about .member li p {
	flex: 1;
}
.about .member li::before {
	content: "";
	width: 95px;
	height: 95px;
	display: block;
	margin-right: 20px;
	flex-shrink: 0;
	background: url(/warp_partner/img/ico_dx01.png) 0 0 / contain no-repeat;
}
.about .member li:nth-of-type(2)::before {
	background-image: url(/warp_partner/img/ico_dx02.png);
}
.about .member li:nth-of-type(3)::before {
	background-image: url(/warp_partner/img/ico_dx03.png);
}
.about .member li:nth-of-type(4)::before {
	background-image: url(/warp_partner/img/ico_dx04.png);
}
.about .licence table {
	margin-top: 20px;
	width: 100%;
}
.about .licence th {
	text-align: center;
	font-weight: bold;
	border: 1px solid #ccc;
	background: #eeeeee;
	padding: 8px 20px;
}
.about .licence td {
	border: 1px solid #ccc;
	padding: 8px 20px;
	vertical-align: middle;
}
.about .licence li {
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.4;
}
.about .licence li + li {
	margin-top: 8px;
}
.about .btn-red-l a {
	margin-top: 60px;
	font-size: 2.4rem;
}
.about .btn-red-l a span {
	padding-right: 30px;
	background-size: 10px auto;
}
/* ----------------------------------------------------
メディアクエリ設定 (smartPhone only)   0～768px
---------------------------------------------------- */
@media screen and (max-width: 768px) {

	.index .localnavi {
		display: none;
	}
	.bicontest .bg-title::before, .prize .bg-title::before {
		background: none;
	}
	.index .vis-in {
		height: auto;
		flex-direction: column;
		justify-content: center;
		padding: 30px 20px;
	}
	.index .vis-in h1 {
		margin: 0 auto 20px;
		max-width: 200px;
		width: 40%;
	}
	.index .vis-in p {
		font-size: 1.4rem;
		flex: 0 0 auto;
		width: 100%;
	}
	.index .lead {
		margin-bottom: 40px;
	}
	.index .lead section {
		width: 100%;
	}
	.index .lead section + section {
		margin-top: 40px;
	}
	.index .lead li {
		width: 100%;
	}
	.index .lead li + li {
		margin-top: 15px;
	}
	.index .lead li a {
		font-size: 1.5rem;
		padding: 10px 15px;
	}

	/*
  .wpc
  ----------------------------------- */
	.wpc {
		padding: 30px 15px 60px;
		flex-direction: column;
	}
	.wpc-txt {
		width: 100%;
	}
	.wpc-txt dt span {
		font-size: 1.8rem;
	}
	.wpc-txt dd {
		margin-bottom: 15px;
	}
	.wpc-txt .btn a {
		font-size: 1.6rem;
		padding: 15px;
	}
	.wpc .past {
		width: 100%;
		margin-top: 20px;
	}
	.wpc .past dt {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.wpc .past li {
		width: calc(100% / 3);
	}
	/*
  .bicontest
  ----------------------------------- */
	.bi-index h2 {
		padding: 15px 0;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.bi-index h2 > span::before, .bi-index h2 > span::after {
		background: none;
	}
	.bi-index h2 em {
		font-size: 24px;
		font-size: 2.4rem;
		line-height: 1.2;
	}
	.bi-index h2 em span {
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: bold;
	}
	.bi-index > ul li {
		margin-right: 5px;
	}
	.rank {
		flex-direction: column;
		margin-bottom: 30px;
	}
	.rank-box {
		width: 100%;
		margin-top: 30px;
	}
	.rank-tit {
		background: none;
		padding-left: 0;
	}
	.rank-tit h3, .rank-tit h2 {
		font-size: 16px !important;
		font-size: 1.6rem !important;
		background: url(/warp_partner/img/tit_rank.png) left center / auto 40px no-repeat;
		padding: 15px 0 15px 50px;
		line-height: 1.5;
	}
	.rank-tit p {
		font-size: 12px;
		font-size: 1.2rem;
	}
	.bi-detail .contest-txt dt {
		margin-top: 30px;
	}
	.bi-detail .contest-txt ol {
		margin-left: 15px;
	}
	.bi-detail .contest-txt ol li {
		margin-bottom: 10px;
	}
	.bi-detail .contest-txt ul li {
		width: 100%;
		margin: 0 0 15px;
		text-align: center;
	}
	.bi-detail .info-box {
		margin-bottom: 15px;
		padding: 15px;
	}
	.bi-detail .info-box h3 {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.bi-detail .btn-red-l a {
		margin-bottom: 15px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	/*
  .prize
  ----------------------------------- */
	.prize .lead-txt {
		flex-direction: column-reverse;
		margin-bottom: 15px;
	}
	.prize .lead-txt figure {
		margin: 0 auto 15px;
		max-width: 200px;
	}
	.award-box > section,
	.award-box > div,
	.award-box-h > section {
		width: 100%;
		margin-bottom: 20px;

	}
	.award-box > section > p, .award-box > div > p, .award-box ul p,
	.award-box-h > section > p, .award-box-h ul p {
		margin-bottom: 5px;
		font-weight: bold;
	}

	.award19 .lead {
		padding: 30px 10px;
		margin-bottom: 30px;
	}
	.award19 h2 {
		font-size: 2rem;
		margin-bottom: 25px;
	}
	.award19 h2::before {
		width: 50px;
		height: 31px;
	}
	.award19 h2 + p {
		margin: -10px 0 35px;
	}
	.award19 .rank-tit {
		margin-bottom: 10px;
	}
	.award19 .rank-tit h3 {
		padding-right: 50px;
	}
	.award19 .rank-tit p {
		font-size: 1.6rem;
		text-align: center;
		padding-right: 0;
	}

	.award19 .award-box div + div {
		border-top: 1px solid #af9053;
		padding-top: 20px;
	}

	/*
  .about
  ----------------------------------- */
	.about .content {
		margin-top: 30px;
	}
	.about h1 {
		font-size: 2.8rem;
		margin-bottom: 5px;
	}
	.about h1 + p {
		font-size: 1.4rem;
		margin-bottom: 15px;
	}
	.about .cat-list {
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
	.about .cat-list li {
		width: 100%;
	}
	.about .cat-list li + li {
		margin-top: 20px;
	}
	.about .cat-list dl {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
	.about .cat-list dt {
		width: 30%;
		margin-bottom: 0;
	}
	.about .cat-list dd {
		width: 67%;
		font-size: 1.3rem;
	}
	.about .cat-info {
		margin-bottom: 30px;
	}
	.about .cat-info figure {
		width: 100%;
		text-align: center;
	}
	.about .cat-info figure img {
		width: 40%;
		margin: 0 auto 15px;
	}
	.about .cat-info p {
		width: 100%;
	}
	.about .cat-box h4 {
		font-size: 1.6rem;
	}
	.about .grade ul {
		display: block;
		margin-bottom: 40px;
	}
	.about .grade li {
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	.about li.grade-info {
		width: 100%;
	}
	.about .grade-info p {
		width: 80%;
		margin: 0 auto;
	}
	/* .about .grade li + li {
		margin: 20px auto 0;
	}
	.about .grade li + li::before {
		display: none;
	} */
	.about .grade-list {
		width: 100%;
		margin: 20px 0 10px;
		text-align: left;
	}
	.about .grade-list dl {
		width: 100%;
		margin-bottom: 10px;
	}
	.about .grade dt {
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.about .dx-box {
		display: block;
		margin-top: 25px;
	}
	.about .dx-box figure {
		width: 60%;
		margin: 0 auto 20px;
	}
	.about .dx-list {
		width: 100%;
	}
	.about .dx-list p {
		width: 60%;
	}
	.about .ep section + section {
		margin-top: 30px;
	}
	.about .member li {
		width: 100%;
		margin-bottom: 10px;
	}
	.about .member li::before {
		width: 60px;
		height: 60px;
		margin-right: 10px;
	}
	.about .licence th, .about .licence td {
		padding: 8px 10px;
	}
	.about .btn-red-l a {
		margin-top: 40px;
		font-size: 1.8rem;
	}
	.about .btn-red-l a span {
		padding-right: 20px;
		background-size: 6px auto;
	}
}