@charset "utf-8";

/* ==============================================
  header
============================================== */
header li span {
	font-size: 2.6vw;
}

@media screen and (min-width: 1081px) {
	header li span {
		font-size: 2.8rem;
	}
}

@media screen and (max-width: 767px) {
	header li span {
		font-size: 2.67vw;
	}
}

/* ==============================================
  キービジュアル
============================================== */
.kv {
	position: relative;
	color: #fff;
	background: #00a0df;
}
.kv .inner {
	padding-top: 60.9259259vw;
	height: 60.9259259vw;
	max-height: 658px;
	background: url(../img/kv.jpg) no-repeat 50% 0;
	background-size: cover;
}
.kv h1 {
	font-feature-settings: "palt" 1;
}
.kv .btn_lang {
	position: absolute;
	top: 2.4074074vw;
	left: 1.8518518vw;
}
.kv .btn_lang a {
	position: relative;
	display: block;
	padding: 0.75em 1.09em 0.75em 36px;
	font-size: 1.4rem;
	font-weight: 700;
	background: #fff;
}
.kv .btn_lang a::before {
	position: absolute;
	top: 50%;
	left: 10px;
	content: '';
	width: 7px;
	height: 7px;
	border-top: 1px solid #003479;
	border-right: 1px solid #003479;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
}

@media screen and (min-width: 1081px) {
	.kv .inner {
		padding-top: 658px;
	}
	.kv .btn_lang {
		top: 26px;
		left: 20px;
	}
}

@media screen and (max-width: 767px) {
	.kv .inner {
		padding-top: 58.9333333vw;
		height: auto;
		max-height: 100%;
		background: url(../img/sp_kv.jpg) no-repeat 50% 0;
		background-size: contain;
	}
	.kv .btn_lang {
		top: 3.2vw;
		left: 3.2vw;
	}
	.kv .btn_lang a {
		padding-left: 5.6vw;
		font-size: 2.67vw;
	}
	.kv .btn_lang a::before {
		left: 0.8vw;
		width: 1.4vw;
		height: 1.4vw;
	}
}

/* ==============================================
  キービジュアル
============================================== */
.kv .title_name {
	position: absolute;
	top: 7.593vw;
	left: 56.852vw;
	display: inline-block;
	padding: 0.3em 0.6em 0.25em ;
	font-size: 2.1296296vw;
	background: #00a0df;
}
.kv .title_copy {
	position: absolute;
	top: 13.63vw;
	left: 56.852vw;
	font-size: 4.6296296vw;
	line-height: 1.4;
}
.kv .title_copy span {
	text-indent: -0.5em;
	display: inline-block;
}
.kv .kv_text {
	position: absolute;
	right: 3%;
	bottom: 2.3148148vw;
	width: 61.27777777vw;
	padding: 1em 1.25em;
	font-size: 1.666666vw;
	font-weight: 700;
	font-feature-settings: "palt" 1;
}

@media screen and (min-width: 1081px) {
	.kv .title_name {
		top: 80px;
		left: 57%;
		font-size: 2.3rem;
	}
	.kv .title_copy {
		top: 150px;
		left: 57%;
		font-size: 5.0rem;
	}
	.kv .kv_text {
		bottom: 25px;
		width: 700px;
		font-size: 1.8rem;
		margin-left: 0;
		padding: 1em 0 1em 1.25em;
	}
}

@media screen and (max-width: 767px) {
	.kv .title_name {
		top: 3.59vw;
		left: 55.2vw;
		padding: 0.3em 0.6em 0.25em ;
		font-size: 4.1vw;
		line-height: 1.4;
	}
	.kv .title_copy {
		top: 18.63vw;
		left: 55.2vw;
		font-size: 5.0vw;
	}
	.kv .kv_text {
		position: relative;
		top: auto;
		left: 0;
		bottom: auto;
		width: 100vw;
		font-size: 3.2vw;
		letter-spacing: 0.02em;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

/* ==============================================
  lead_message
============================================== */
.lead_message {
	padding: 50px 0;
}
.lead_message p {
	font-size: 2.4rem;
	line-height: 1.5;
}

@media screen and (max-width: 1080px) {
	.lead_message .inner {
		padding: 0 2vw;
	}
}

@media screen and (max-width: 767px) {
	.lead_message {
		padding: 4vw 0;
	}
	.lead_message .inner {
		padding: 0 4vw;
	}
	.lead_message p {
		font-size: 3.2vw;
	}
	.lead_message .line_box_jdb p {
		max-width: 100%;
	}
}

/* ==============================================
  lead_info
============================================== */
.lead_info {
/*	margin-bottom: 60px;*/
	padding: 30px 0;
	background: #1c75bc;
}
.lead_info .inner {
	padding: 0 2vw;
}
.lead_info .flex_box {
	-webkit-align-items: center;
	align-items: center;
}
.lead_info .image {
	width: 36.0185185vw;
	max-width: 389px;
}
.lead_info .text {
	margin-left: 3vw;
	font-size: 2.2222222vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fffbee;
}
.lead_info .text .note {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4814814vw;
	font-weight: 400;
}

@media screen and (min-width: 1081px) {
	.lead_info .inner {
		padding: 0;
	}
	.lead_info .image {
		margin-left: 0;
	}
	.lead_info .text {
		margin-left: 40px;
		font-size: 2.4rem;
	}
	.lead_info .text p {
		line-height: 1.5;
	}
	.lead_info .text .note {
		font-size: 1.6rem;
	}
	.lead_info .text .note01 {
		padding-top: 10px;
	}
}

@media screen and (max-width: 767px) {
	.lead_info {
		margin-bottom: 10vw;
		padding: 4vw 0;
	}
	.lead_info .inner {
		padding: 0 4vw;
	}
	.lead_info .flex_box {
		display: block;
	}
	.lead_info .image {
		width: 100%;
		max-width: 100%;
		margin-bottom: 2vw;
	}
	.lead_info .text {
		margin: 0;
		font-size: 3.2vw;
		letter-spacing: 0;
	}
	.lead_info .text p {
		line-height: 1.5;
	}
	.lead_info .text .note {
		font-size: 2.93vw;
	}
	.lead_info .text .note01 {
		padding-top: 10px;
	}
}


/* ==============================================
  優勝特典
============================================== */
#tokuten p {
	font-size: 1.8rem;
}
.tokuten_lead {
	margin-bottom: 20px;
	font-size: 3.3333333vw;
	font-weight: 700;
	text-align: center;
}
#tokuten .flex_box {
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-bottom: 25px;
}
#tokuten .flex_box img {
	width: 44vw;
	max-width: 480px;
	height: auto;
	margin: 0 2vw;
}
.tokuten_detail {
	margin-bottom: 30px;
}
.tokuten_detail_note {
	padding-top: 1em;
}
.tokuten_detail_note p {
	font-size: 1.4rem;
}

@media screen and (min-width: 1081px) {
	.tokuten_lead {
		font-size: 3.6rem;
	}
	#tokuten .flex_box img {
		width: 480px;
		margin: 0;
	}
}

@media screen and (max-width: 767px) {
	.tokuten_lead {
		margin-bottom: 4vw;
		font-size: 4.4vw;
		line-height: 1.5;
	}
	#tokuten .flex_box {
		margin-bottom: 4vw;
	}
	#tokuten .flex_box img {
		min-width: auto;
		height: 100%;
	}
	.tokuten_detail {
		margin-bottom: 6vw;
	}
	.tokuten_detail_note p {
		font-size: 2.67vw;
	}
}

/* ==============================================
  コンテスト概要
============================================== */
#outline p {
	font-size: 1.8rem;
}
.outline_table_outer {
	margin-top: 30px;
	border: 20px solid #1c75bc;
}
.outline_table * {
	font-size: 1.8rem;
	line-height: 1.75;
}
.outline_table th {
	padding: 1em 3.2em 0.8em;
	vertical-align: middle;
	white-space: nowrap;
	color: #003479;
	border-right: 1px solid #1c75bc;
	border-bottom: 1px solid #1c75bc;
}
.outline_table .ls_w2 {
	letter-spacing: 3.8em;
	margin-right: -3.8em;
}
.outline_table .ls_w4 {
	letter-spacing: 0.65em;
	margin-right: -0.65em;
}
.outline_table .ls_w5 {
	letter-spacing: 0.25em;
	margin-right: -0.25em;
}
.outline_table td {
	padding: 1em 1.5em 0.8em;
	border-bottom: 1px solid #1c75bc;
}
.outline_table .flow_date {
	display: block;
	font-weight: 700;
}
.outline_table .flow_detail {
	display: block;
	overflow: hidden;
}

@media screen and (min-width: 1081px) {
}

@media screen and (max-width: 767px) {
	.outline_table_outer {
		padding-top: 2vw;
		border: 2vw solid #1c75bc;
	}
	.outline_table * {
		font-size: 3.7vw;
	}
	.outline_table th {
		position: relative;
		display: block;
		padding: 0.6em 0;
		border-right: none;
		border-bottom: none;
		background: #fff;
	}
	.outline_table th::before {
		position: absolute;
		left: 1em;
		bottom: 0;
		content: '';
		width: calc(100% - 2em);
		height: 2px;
		background: #1c75bc;
	}
	.outline_table td {
		display: block;
		padding: 1em 2em 0.8em;
		border-bottom: none;
	}
	.outline_table .txt_bl:not(:last-child) .flow_detail {
		margin-bottom: 0.5em;
	}
}

/* ==============================================
  予選 / 本選
============================================== */
#yosen .list_circle li ,
#yosen p ,
#final .list_circle li {
	font-size: 1.8rem;
}
.list_circle li {
	position: relative;
	margin-bottom: 25px;
	padding-left: 25px;
}
.list_circle li a {
	text-decoration: underline;
	font-size: 1.8rem;
}
.list_circle li::before {
	position: absolute;
	top: 0.25em;
	left: 0;
	content: '';
	width: 10px;
	height: 10px;
	border: 3px solid #1c75bc;
	border-radius: 10px;
}
.modal_link {
	text-align: center;
	margin-top: 40px;
}
.modal_link a {
	position: relative;
	padding-left: 1.5em;
	font-weight: 700;
	font-size: 2rem;
	color: #00a0df;
}
.modal_link a::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: '';
	width: 16px;
	height: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-radius: 8px;
	background: #00a0df;
}
.modal_link a::after {
	position: absolute;
	top: 5px;
	left: 4px;
	content: '';
	width: 4px;
	height: 4px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
#final .line_box_jdb p {
	max-width: 92%;
	margin: 0 auto;
	font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
	.list_circle li {
		margin-bottom: 3.2vw;
		padding-left: 1.5em;
	}
	.list_circle li::before {
		top: 0.4em;
		width: 1.8vw;
		height: 1.8vw;
		border-radius: 1.8vw;
	}
	.modal_link a::before {
		width: 3.2vw;
		height: 3.2vw;
		border-radius: 1.6vw;
	}
	.modal_link a::after {
		top: 0.9vw;
		left: 0.8vw;
		width: 1vw;
		height: 1vw;
		border-top: 0.2vw solid #fff;
		border-right: 0.2vw solid #fff;
	}
	#final .line_box_jdb p {
		max-width: 100%;
	}
}



/* ==============================================
  審査員
============================================== */
.judge_box {
	margin-bottom: 50px;
}
.judge_box .image {
	width: 15%;
}
.judge_box .text {
	width: 85%;
	padding-left: 35px;
}
.judge_box .judge_name {
	font-size: 2.4rem;
	font-weight: 700;
	color: #002e73;
}
.judge_box .judge_name_dr {
	font-size: 2.0rem;
}
.judge_box .judge_career {
	font-size: 2.0rem;
	font-weight: 700;
	color: #002e73;
}
.judge_box .judge_ex {
	font-size: 1.8rem;
}
.judge_box .judge_ex span {
	display: inline-block;
	font-size: 1.8rem;
}

@media screen and (min-width: 1081px) {
}

@media screen and (max-width: 900px) {
	.judge_box .image {
		width: 210px;
	}
}

@media screen and (max-width: 767px) {
	.judge_box {
		margin: 0 auto 4vw;
	}
	.judge_box .image {
		width: 35vw;
		margin-bottom: 2vw;
	}
	.judge_box .text {
		width: calc(100% - 35vw);
		padding-left: 3vw;
	}
	.judge_box .judge_name {
		margin-bottom: 1.6vw;
		font-size: 4.8vw;
		line-height: 1;
	}
	.judge_box .judge_name_dr {
		font-size: 3.7vw;
	}
	.judge_box .judge_career {
		margin-bottom: 1.6vw;
		font-size: 3.4vw;
		line-height: 1.3;
	}
	.judge_box .judge_ex {
		font-size: 3.2vw;
		line-height: 1.4;
	}
	.judge_box .judge_ex span {
		display: inline-block;
		font-size: 3.2vw;
	}
}

/* ==============================================
  WWD事務局
============================================== */
#organizer .contact {
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#organizer .h_contact {
	font-size: 2.4rem;
	color: #002e73;
}
#organizer address {
	margin-left: 30px;
	padding: 15px 0 15px 30px;
	font-size: 2.0rem;
	font-style: normal;
	line-height: 1.75;
	border-left: 1px solid #003479;
}
#organizer address a {
	font-size: 2.0rem;
}

@media screen and (min-width: 1081px) {
}

@media screen and (max-width: 767px) {
	#organizer .contact {
		display: block;
	}
	#organizer .h_contact {
		font-size: 4.8vw;
		text-align: center;
	}
	#organizer address {
		margin-left: 0;
		padding: 4vw 0;
		font-size: 4.2vw;
		text-align: center;
		border-left: none;
	}
	#organizer address a {
		font-size: 4.2vw;
	}
}


/* ==============================================
  print
============================================== */
@media print and (-ms-high-contrast: none) {
	.kv .title_name {
		font-size: 1.2rem;
	}
	.kv .title_copy {
		font-size: 3.6rem;
	}
	.kv .kv_text {
		font-size: 1.1rem;
	}
	.lead_info .text {
		font-size: 1.4rem;
	}
	.lead_info .text .note {
		font-size: 1.2rem;
	}
}
