@charset "utf-8";

main img {
	width: 100%;
}

/* ==============================================
	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: 21.7592592vw;
	left: 1.8518518vw;
	display: inline-block;
	width: 42.5925925vw;
	max-width: 460px;
	padding: 0.3em 0.6em 0.25em ;
	font-size: 1.6666666vw;
	background: #00a0df;
}
.kv .title_copy {
	position: absolute;
	top: 27.7777777vw;
	left: 1.8518518vw;
	width: 42.5925925vw;
	max-width: 460px;
	font-size: 3.7037037vw;
	line-height: 1.4;

}
.kv .kv_text {
	position: absolute;
	left: 50%;
	bottom: 2.3148148vw;
	width: 42.5925925vw;
	max-width: 460px;
	padding: 1em 1.25em;
	font-size: 1.666666vw;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	-webkit-transform: translateX(-48.181481vw);
	transform: translateX(-48.181481vw);
}
.kv .kv_info {
	position: absolute;
	left: 47.5%;
	bottom: 2.3148148vw;
	width: 50.92592vw;
	font-size: 1.666666vw;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	color: #00a0df;
}
.kv .kv_info a {
	color: #00a0df;
	position: relative;
}
.kv .kv_info a::after {
	content: "";
	position: absolute;
	left: 0;
	height: 1px;
	width: 100%;
	background:#00a0df;
	bottom: -2px;
}
.kv .kv_info a:hover {
	opacity: 1;
}
.kv .kv_info a:hover::after {
	opacity: 0;
}

@media screen and (min-width: 1081px) {
	.kv .title_name {
		top: 235px;
		left: 20px;
		font-size: 1.8rem;
	}
	.kv .title_copy {
		top: 300px;
		left: 20px;
		font-size: 4.0rem;
	}
	.kv .kv_text {
		bottom: 25px;
		width: 655px;
		font-size: 1.8rem;
		-webkit-transform: translateX(-520px);
		transform: translateX(-520px);
	}
	.kv .kv_info {
		bottom: 25px;
		width: 550px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 767px) {
	.kv .title_name {
		top: 22.59vw;
		left: 3.2vw;
		padding: 0.3em 0.6em 0.35em;
		width: 44vw;
		font-size: 2.96vw;
		line-height: 1.4;
	}
	.kv .title_copy {
		top: 36.86vw;
		left: 3.2vw;
		width: 43vw;
		font-size: 4.0vw;
	}
	.kv .kv_text {
		position: relative;
		top: auto;
		left: 0;
		bottom: auto;
		width: 100vw;
		max-width: 100%;
		font-size: 3.2vw;
		letter-spacing: 0.02em;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.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 .kv_info {
		position: relative;
		top: 0;
		left: 0;
		bottom: 0;
		width: auto;
		padding: 1em 1.25em;
		color: #003479;
		font-size: 3.2vw;
	}
	.kv .kv_info a {
		color: #003479;
		border-bottom: 0.2667vw solid #003479;
	}
	.kv .kv_info a::after {
		content: none;
	}
}


/* ==============================================
	lead_message
============================================== */
.lead_message {
	padding: 40px 0 30px;
}
.lead_message p {
	margin-top: 20px;
	font-size: 2.1rem;
	line-height: 1.43;
}
.lead_message_images {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 800px;
	margin: 0 auto;
}
.lead_message_images img {
	width: 46.875%;
}
@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_images {
		width: 100%;
	}
	.lead_message_images img {
		width: 100%;
	}
	.lead_message_images img + img {
		margin-top: 5.333vw;
	}
	.lead_message p {
		margin-top: 5.333vw;
		font-size: 3.2vw;
	}
	.lead_message .line_box_jdb p {
		max-width: 100%;
	}
}


/* ==============================================
	lead_info
============================================== */
.lead_info {
	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 .note {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 767px) {
	.lead_info {
		margin: 5.333vw 0 0;
		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 .note {
		font-size: 2.93vw;
	}
}


/* ==============================================
	優勝特典
============================================== */
.tokuten_lead {
	margin-bottom: 20px;
	font-size: 3.3333333vw;
	font-weight: 700;
	text-align: center;
}
#tokuten {
	padding: 50px 0 0;
}
#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 {
		padding: 8vw 0 10vw;
	}
	#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_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;
	}
}



/* ==============================================
	予選 / 本選
============================================== */
.list_circle li {
	position: relative;
	margin-bottom: 25px;
	padding-left: 25px;
}
.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;
}
.modal_link a {
	position: relative;
	padding-left: 1.5em;
	font-weight: 700;
	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;
}

@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: 258px;
}
.judge_box .text {
	width: calc(100% - 258px);
	max-width: 770px;
	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;
	}
}

/* ==============================================
=================================================
	2020.01.30追記
=================================================
============================================== */

/* ==============================================
	.sec
============================================== */
.sec {
	padding: 50px 2vw 45px;
}
.sec_title {
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}
.sec_text {
	margin-top: 30px;
	font-size: 1.6rem;
}
.sec_title--white {
	color: #fff;
}
.sec_title--navy {
	color: #003479;
}
.sec_lead {
	margin-top: 30px;
}

/* ==============================================
	#abstract
============================================== */
#abstract {
	background: #5986d7;
	color: #fff;
}
/* ==============================================
	#highlight
============================================== */
#digest {
	background: #87d8fd;
}
/* ==============================================
	#comment
============================================== */
#comment {
	background: #c5dfff;
}
/* ==============================================
	.target
============================================== */
.target {
	font-size: 2.1rem;
}
.target_title {
	font-size: 100%;
	font-weight: 600;
	line-height: 1;
}
.target_list {
	margin-top: 10px;
	font-size: 100%;
}
.target_item {
	position: relative;
	font-size: 100%;
	line-height: 1;
	padding-left: 30px;
}
.target_item + .target_item {
	margin-top: 8px;
}
.target_item::before {
	content: "";
	position: absolute;
	left: 1px;
	top: 0;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 10px;
}
.target_text {
	margin-top: 30px;
	font-size: 100%;
	line-height: 1.43;
}
/* ==============================================
	.flex-box
============================================== */
.flex-box {
	display: flex;
	justify-content: center;
	margin-top: 30px;
	padding: 30px 50px 25px;
	background: #003479;
}
.flex-box_item + .flex-box_item {
	margin-left: 60px;
}
.flex-box_title {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
}
.flex-box_date {
	display: inline-block;
	margin-left: 8px;
	padding: 0 5px;
	font-size: 1.6rem;
	line-height: 1.5;
	background: #ff9c00;
	box-sizing: border-box;
	vertical-align: bottom;
}
.flex-box_text {
	margin-top: 12px;
	font-size: 1.8rem;
}
.flex-box_text--second {
	font-size: 1.6rem;
}
.flex-box_text-bold {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 1.8rem;
	font-weight: 600;
}
.flex-box_text-small {
	margin-top: 5px;
	display: inline-block;
	font-size: 1.4rem;
}
.flex-box_text-small a {
	color: #fff;
	font-size: 1.4rem;
	text-decoration: underline;
}
.flex-box_text-small a:hover {
	text-decoration: none;
	opacity: 1;
}
/* ==============================================
	.program-table
============================================== */
.program-table {
	max-width: 1080px;
	margin: 50px auto 45px;
	padding: 30px 50px;
	background: #fff;
	color: #003479;
	border: 5px solid #003479;
}
.program-table_title {
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}
.program-table_title-small {
	margin-left: 10px;
	font-size: 1.4rem;
}
.program-table_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
}
.program-table_time {
	width: 200px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
}
.program-table_time:nth-of-type(n + 2){
	margin-top: 20px;
}
.program-table_content {
	width: calc(100% - 200px);
	font-size: 1.8rem;
	line-height: 1.5;
}
.program-table_content:nth-of-type(n + 2){
	margin-top: 20px;
}
/* ==============================================
	.scene
============================================== */
.scene {
	margin-top: 60px;
}
.scene_title {
	margin-bottom: 30px;
	padding-bottom: 18px;
	box-sizing: border-box;
	border-bottom: 1px solid #003479;
	color: #003479;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}
.scene_text {
	font-size: 1.6rem;
	line-height: 1.6875;
}
.scene_unit {
	margin-top: 30px;
}
/* ==============================================
	.person
============================================== */
.person {
	margin-top: 60px;
}
.person_list {
	display: flex;
	justify-content: space-between;
}
.person_item {
	width: 23.14814%;
}
/* ==============================================
	.gallery
============================================== */
.gallery {}
.gallery_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gallery .gallery_item {
	margin-top: 20px;
	width: 49%;
}
/* ==============================================
	.award
============================================== */
.award {
	margin-top: 30px;
}
.award_textarea {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.award_text {
	width: 520px;
}
.award_bold {
	font-weight: 600;
}
/* ==============================================
	.img-group
============================================== */
.img-group {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}
.img-group_single {
	width: 31.4815%;
}
.img-group_double {
	width: 65.74074%;
}
.img-group_double .img-group_single {
	width: 47.88732%
}
/* ==============================================
	.video
============================================== */
.video {
	margin-top: 30px;
}
.video video {
	width: 100%;
}
/* ==============================================
	.cap-img
============================================== */
.cap-img {
	position: relative;
}
.cap-img_wrap {
	display: flex;
	justify-content: space-between;
}
.cap-img_caption {
	display: block;
	margin-top: 12px;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
}
/* ==============================================
	.media
============================================== */
.media {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px;
}
.media_text {
	width: calc(100% - 340px);
	padding-right: 100px;
	box-sizing: border-box;
}
.media_img {
	width: 340px;
}
/* ==============================================
	.note
============================================== */
.note {
	position: relative;
	margin-top: 8px;
}
.note_text {
	font-size: 1.4rem;
	text-align: center;
}

@media screen and (max-width: 767px) {
	/* ==============================================
		.sec
	============================================== */
	.sec {
		padding: 8vw 0 10vw;
	}
	.sec .inner {
		padding: 0 4vw;
	}
	.sec_lead {
		margin-top: 5.333vw;
	}
	.sec_title {
		font-size: 4.8vw;
		line-height: 1.5;
	}
	.sec_text {
		margin-top: 5.333vw;
		font-size: 3.2vw;
	}
	/* ==============================================
	#abstract
	============================================== */
	#abstract {
	}
	/* ==============================================
		#digest
	============================================== */
	#digest {
		margin-top: 10vw;
	}
	/* ==============================================
		#comment
	============================================== */
	#comment {
	}
	/* ==============================================
		.target
	============================================== */
	.target {
		font-size: 3.2vw;
	}
	.target_title {
		font-size: 100%;
		font-weight: 600;
	}
	.target_list {
		margin-top: 10px;
		font-size: 100%;
	}
	.target_item {
		position: relative;
		font-size: 100%;
		padding-left: 6vw;
		line-height: 1.7;
	}
	.target_item + .target_item {
		margin-top: 8px;
	}
	.target_item::before {
		content: "";
		position: absolute;
		top: 1.333vw;
		left: 0;
		width: 3.333vw;
		height: 3.333vw;
		background: #fff;
		border-radius: 2vw;
	}
	.target_text {
		margin-top: 2.677vw;
		font-size: 100%;
	}
	/* ==============================================
		.flex-box
	============================================== */
	.flex-box {
		display: block;
		margin-top: 5.333vw;
		padding: 2em;
		background: #003479;
	}
	.flex-box_item + .flex-box_item {
		margin: 5.333vw 0 0;
	}
	.flex-box_title {
		display: inline-block;
		font-size: 4.8vw;
	}
	.flex-box_date {
		display: inline-block;
		margin-left: 8px;
		padding: 0 2.667vw;
		font-size: 3.7vw;
		line-height: 4.8vw;
	}
	.flex-box_text {
		margin-top: 3.333vw;
		font-size: 3.2vw;
	}
	.flex-box_text-bold {
		display: inline-block;
		margin-bottom: 2.667vw;
		font-size: 3.7vw;
		font-weight: 600;
	}
	.flex-box_text-small {
		margin-top: 2.667vw;
		font-size: 3.2vw;
	}
	.flex-box_text-small a {
		display: inline;
		color: #fff;
		font-size: 3.2vw;
		text-decoration: underline;
	}
	/* ==============================================
		.program-table
	============================================== */
	.program-table {
		margin: 8vw 4vw 0;
		padding: 2em;
		border: 2px solid #003479;
	}
	.program-table_title {
		font-size: 4.8vw;
	}
	.program-table_title-small {
		margin-left: 2.667vw;
		font-size: 3.2vw;
	}
	.program-table_list {
		display: block;
		margin-top: 8vw;
	}
	.program-table_time {
		width: 100%;
		font-size: 3.7vw;
		text-align: center;
		padding: 0 0 0.6em;
		border-bottom: 1px solid #003479;
	}
	.program-table_time:nth-of-type(n + 1){
		margin-top: 8vw;
	}
	.program-table_content:nth-of-type(n + 1) {
		width: 100%;
		font-size: 3.2vw;
		margin-top: 4vw;
	}
	/* ==============================================
		.scene
	============================================== */
	.scene {
		margin-top: 10vw;
	}
	.scene_title {
		margin-bottom: 5.333vw;
		padding-bottom: 2.667vw;
		box-sizing: border-box;
		border-bottom: 2px solid #003479;
		font-size: 4.8vw;
		line-height: 1.2;
	}
	.scene_text {
		font-size: 3.2vw;
	}
	.scene_unit {
		margin-top: 5.333vw;
	}
	/* ==============================================
		.person
	============================================== */
	.person {
		margin-top: 5.333vw;
	}
	.person_list {
		flex-wrap: wrap;
	}
	.person_item {
		width: 48%;
	}
	.person_item:nth-of-type(n + 3){
		margin-top: 4vw;
	}
	/* ==============================================
		.gallery
	============================================== */
	.gallery {}
	.gallery_list {
		display: block;
	}
	.gallery .gallery_item {
		margin-top: 3.333vw;
		width: 100%;
	}
	/* ==============================================
		.award
	============================================== */
	.award {
		margin-top: 5.333vw;
	}
	.award_textarea {
		display: block;
		margin-top: 5.333vw;
	}
	.award_text {
		width: 100%;
	}
	.award_text +	.award_text {
		margin-top: 3.333vw;
	}
	.award_bold {
		font-weight: 600;
	}
	/* ==============================================
		.img-group
	============================================== */
	.img-group {
		display: block;
		margin-top: 5.333vw;
	}
	.img-group_single {
		width: 100%;
	}
	.img-group_double {
		width: 100%;
		margin-top: 3.333vw;
	}
	.img-group_double .img-group_single {
		width: 48%;
	}
	/* ==============================================
		.video
	============================================== */
	.video {
		margin-top: 5.33vw;
	}
	/* ==============================================
		.cap-img
	============================================== */
	.cap-img {
		position: relative;
	}
	.cap-img_wrap {
		display: flex;
	}
	.cap-img_caption {
		display: block;
		margin-top: 2.667vw;
		font-size: 2.93vw;
	}
	/* ==============================================
		.media
	============================================== */
	.media {
		display: block;
		margin-top: 5.333vw;
	}
	.media_text {
		width: 100%;
		padding-right: 0;
		box-sizing: border-box;
	}
	.media_img {
		margin-top: 4vw;
		width: 100%;
	}
	/* ==============================================
		.note
	============================================== */
	.note {
		position: relative;
		margin-top: 8px;
	}
	.note_text {
		font-size: 3.2vw;
		text-align: left;
	}
}