@charset "utf-8";
.fv {
		margin-top: 90px;
}
.fv img {
		width: 100%;
		height: auto;
}
@media(max-width: 960px) {
		.fv {
				margin-top: 80px;
		}
}
@media(max-width: 767px) {
		.fv {
				margin-top: 59px;
		}
}
.hr {
		height: 1px;
		max-width: 1140px;
		margin: 0 auto;
		position: relative;
		padding: 0 30px;
}
.hr.upper {
		z-index: 10;
		background: #094da4;
		margin-top: -2px;
}
.hr::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 30px;
		width: calc(100% - 60px);
		height: 1px;
		background: #094da4;
}
.hr.wht::after {
		background: #ECF3FB;
}
.contest_section {
		background: #fff;
}
@media(max-width: 767px) {
		.hr::after {
				left: 20px;
				width: calc(100% - 40px);
		}
}
/* ============= */
.news_line {
		background: #fff;
		padding: 25px 40px;
}
.news_line_inner {
		max-width: 1000px;
		margin: 0 auto;
}
.news_line_inner dl {
		display: flex;
		align-items: center;
}
.news_line_inner dt {
		font-family: 'Roboto', sans-serif;
		display: flex;
		align-items: center;
		line-height: 1.8;
}
.news_hd {
		padding-right: 15px;
		margin-right: 15px;
		position: relative;
}
.news_hd::after {
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		right: -1px;
		width: 1px;
		height: 15px;
		background: #094DA4;
}
.news_line_inner dd {
		flex: 1;
		line-height: 1.8;
}
.news_line_inner dt .date {
		font-family: 'Roboto', sans-serif;
		margin-right: 20px;
}
.news_line_inner dd a {
		color: #094DA4;
		text-decoration: underline;
		position: relative;
		top: -2px
}
@media (hover: hover) {
		.news_line_inner dd a:hover {
				color: #094DA4;
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.news_line {
				padding: 20px;
		}
		.news_line_inner dl {
				display: block;
		}
		.news_line_inner dt {
				margin: 0 0 5px
		}
}
.reason_inner {
		position: relative;
		max-width: 1180px;
		margin: 0 auto;
}
.reason_inner::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 150px;
		left: -400px;
		width: 1624px;
		height: 566px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/reason_bg2_pc.png");
		mix-blend-mode: multiply;
}
.reason_cont {
		max-width: 680px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
}
.reason_cont::before {
		content: '';
		display: block;
		position: absolute;
		top: 20px;
		left: -240px;
		width: 85px;
		height: 385px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 85px;
		background-image: url("../images/reason_hd_pc.png")
}
.reason_cont:lang(en)::before {
		background-image: url("../images/en_reason_hd_pc.png?2505")
}
.reason_catch {
		font-size: 42px;
		font-weight: 700;
		line-height: 1.7;
		margin-block: calc((1em - 1lh) / 2);
		margin-bottom: 60px;
}
.reason_catch:lang(en) {
		font-weight: 600;
		line-height: 1.4;
}
.reason_cont p {
		line-height: 2.4;
		margin: 0 0 2.5em;
}
@media(max-width: 1200px) {
		.reason_cont::before {
				left: -160px;
		}
}
@media(max-width: 1050px) {
		.reason_cont {
				padding-left: 180px;
		}
		.reason_cont::before {
				left: 40px;
		}
}
@media(max-width: 960px) {
		.reason_catch {
				font-size: 32px;
				margin-bottom: 40px;
		}
}
@media(max-width: 767px) {
		.reason_cont {
				padding-left: 20px;
				padding-right: 20px;
		}
		.reason_cont::before {
				display: none
		}
		.reason_hd {
				text-align: left;
				margin: 0 0 60px;
				display: flex;
				flex-direction: column-reverse;
		}
		.reason_hd .jp {
				font-size: 18px;
				font-weight: 400;
				line-height: 1;
				margin: 0;
		}
		.reason_hd .en {
				font-family: 'Roboto', sans-serif;
				font-size: 32px;
				font-weight: 200;
				margin: 0 0 5px;
		}
		.reason_catch {
				font-size: 24px;
				margin-bottom: 30px;
		}
		.reason_cont p {
				line-height: 2;
				margin: 0;
		}
		.reason_inner::before {
				top: 40px;
				left: inherit;
				right: -1px;
				width: 230px;
				height: 990px;
				background-image: url("../images/reason_bg_sp2.png");
				mix-blend-mode: multiply;
		}
}
/* ================ */
/* ================ */
.theme_inner {
		color: #fff;
		position: relative;
		z-index: 5;
		text-align: center;
}
.theme_inner .section_title {
		margin-bottom: 60px;
}
.theme_inner p {
		line-height: 2.2;
		margin: 0 0 1.5em;
}
.theme_inner p:last-child {
		margin-bottom: 0;
}
.theme_catch {
		width: 265px;
		margin: 0 auto 60px;
}
.theme_catch:lang(en) {
		max-width: 760px;
		width: inherit;
}
.theme_catch img {
		width: 100%;
		height: auto;
}
.theme_section .hr {
		margin: 0px auto 80px;
		position: relative;
		z-index: 10
}
.theme_caption {
		width: 760px;
		margin: 0 auto;
		position: relative;
}
.section_title, .theme_caption .theme_catch, .theme_caption p {
		position: relative;
		z-index: 10
}
.theme_caption::before, .theme_caption::after {
		content: '';
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		z-index: 0;
		pointer-events: none;
}
.theme_caption::before {
		background-image: url("../images/theme_bg1_pc.png");
		width: 400px;
		height: 655px;
		right: -400px;
		top: -260px;
}
.theme_caption::after {
		background-image: url("../images/theme_bg2_pc.png");
		width: 500px;
		height: 690px;
		left: -420px;
		bottom: -600px;
}
@media(max-width: 767px) {
		.theme_inner .section_title {
				margin-bottom: 45px;
		}
		.theme_caption {
				width: 100%;
				box-sizing: border-box;
		}
		.theme_catch {
				width: 220px;
				margin: 0 auto 40px;
		}
		.theme_catch:lang(en) {
				max-width: inherit;
				width: 225px;
		}
		.theme_inner p {
				line-height: 2.0;
				margin: 0 0 1.5em;
				font-size: 14px;
				position: relative;
				z-index: 10
		}
		.theme_section .hr {
				margin: 0px 0 60px;
				z-index: 10
		}
		.theme_caption::before {
				background-image: url(../images/theme_bg1_sp.png);
				width: 185px;
				height: 380px;
				right: -2px;
				top: -170px;
		}
		.theme_caption::after {
				background-image: url(../images/theme_bg2_sp.png);
				width: 180px;
				height: 380px;
				left: -2px;
				bottom: -320px;
		}
}
/* ================ */
.exam_inner {
		max-width: 1140px;
		margin: 0 auto;
		position: relative;
		z-index: 21
}
.exam_caption {
		line-height: 2.0;
		text-align: center;
		margin: 0 0 60px
}
.exam_center {
		line-height: 2.0;
		text-align: center;
}
.exam_center p.small {
		margin-top: 1em;
		font-size: 85%;
}
.exam_flex {
		max-width: 1130px;
		display: flex;
		justify-content: space-between;
}
.exam_item {
		width: 200px;
}
.exam_pict {
		margin: 0 0 20px;
}
.exam_pict img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.exam_item p {
		line-height: 1.8;
		padding: 0 5px
}
.schedule_figure {
		max-width: 1010px;
		margin: 0 auto 60px;
		padding: 0 20px;
}
.schedule_figure:lang(en) {
		max-width: 1085px;
}
.schedule_figure img {
		width: 100%;
		height: auto;
}
.exam_upper, .exam_bottom {
		position: relative;
		padding-left: 30px;
		padding-right: 30px;
}
.exam_upper::before, .exam_bottom::before {
		content: '';
		display: block;
		position: absolute;
		z-index: 0;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
}
.exam_bottom {
		max-width: 1140px;
		margin: 0 auto;
}
.exam_bottom::before {
		background-image: url("../images/exam_bg-2_pc2.png");
		mix-blend-mode: multiply;
		width: 300px;
		height: 908px;
		top: -50px;
		left: -100px;
		z-index: 10;
}
@media(max-width: 1200px) {
		.exam_item {
				width: calc(calc(100% - 60px) / 5);
		}
		.exam_item p {
				padding: 0;
				font-size: 14px;
		}
}
@media(max-width: 767px) {
		.exam_upper, .exam_bottom {
				padding-left: 20px;
				padding-right: 20px;
		}
		.exam_upper {
				padding-bottom: 0;
		}
		.exam_caption {
				line-height: 1.8;
				margin: 0 0 40px;
		}
		.exam_flex {
				display: block;
				padding-bottom: 20px;
		}
		.exam_item {
				width: 100%;
				display: flex;
				align-items: center;
				margin: 0 0 20px;
		}
		.exam_flex .exam_item:last-child {
				margin-bottom: 0;
		}
		.exam_pict {
				width: 120px;
				margin: 0 10px 0 0;
		}
		.exam_item p {
				line-height: 1.6;
				flex: 1
		}
		.exam_bottom::before {
				background-image: url("../images/exam_bg-2_sp2.png");
				mix-blend-mode: multiply;
				width: 210px;
				height: 620px;
				top: inherit;
				left: inherit;
				right: 20px;
				bottom: -110px;
		}
}
/* ================ */
.theme_section .section_title, .entry_section .section_title, .term_section .section_title {
		color: #fff;
}
.entry_inner {
		max-width: 920px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
}
.entry_caption {
		text-align: center;
		line-height: 2.0;
		color: #fff;
		margin: 0 0 60px;
}
@media(max-width: 767px) {
		.entry_section .section_title {
				margin-bottom: 45px;
		}
		.entry_caption {
				padding: 0;
				margin: 0 0 50px;
				text-align: left;
				line-height: 1.8;
		}
}
/* ================ */
.application_inner {
		max-width: 920px;
		margin: 0 auto;
		position: relative;
		z-index: 10
}
.application_inner .section_title {
		color: #fff;
}
/* ================ */
.movie_figure {
		position: relative;
		z-index: 10
}
.movie_figure img {
		width: 100%;
		height: auto
}
/* ================ */
.term_inner {
		max-width: 920px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
		padding: 0 20px;
		padding-top: 200px;
}
.term_gr {
		background: #fff;
		margin: 0 0 20px;
}
.term_hd {
		position: relative;
		height: 80px;
		display: flex;
		align-items: center;
		padding: 0 0 0 30px;
		font-size: 24px;
		font-weight: 600;
		cursor: pointer;
}
.term_hd .term_trigger {
		position: absolute;
		width: 30px;
		height: 30px;
		top: 25px;
		right: 23px
}
.term_trigger::before, .term_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 14.5px;
		left: 0;
		width: 30px;
		height: 1px;
		background: #094DA4;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.term_trigger::after {
		transform: rotate(90deg)
}
.isOpen .term_trigger::before {
		opacity: 0
}
.isOpen .term_trigger::after {
		transform: rotate(180deg)
}
.term_cont {
		padding: 30px 30px 60px;
		border-top: 1px solid #094DA4;
		display: none
}
.term_cont a {
		color: #094DA4;
		text-decoration: underline;
}
@media (hover: hover) {
		.term_cont a:hover {
				color: #094DA4;
				text-decoration: none;
		}
}
.term_cont h4 {
		font-size: 130%;
		font-weight: 600;
		margin: 0 0 30px
}
.term_cont h5:first-child {
		margin-top: 0;
}

.term_cont h5 {
		font-size: 110%;
		font-weight: 600;
		margin: 35px 0 10px;
}
.term_cont p {
		line-height: 1.8;
		margin: 0 0 1em;
}
.term_cont p:lang(en) {
		line-height: 1.6;
}
ul.dot, .attention {
		margin-left: 1em;
}
.term_cont li {
		line-height: 1.8;
		margin: 0 0 6px;
		position: relative;
}
.term_cont li:lang(en) {
		line-height: 1.6;
		margin: 0 0 8px;
}
.term_cont ul li {
		list-style: none;
}
ul.dot li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
ul.attention {
		margin-left: 1em;
}
ul.attention li .mark {
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.term_gr.last {
		margin: 0;
}
.term_cont ol {
		padding-left: 2em;
}
.term_inner .link_btn_center {
		margin-top: 80px;
}
@media(max-width: 767px) {
		.term_inner {
				position: relative;
				z-index: 1;
				padding-top: 0;
		}
		.term_hd {
				height: 60px;
				padding: 0 0 0 20px;
				font-size: 20px;
		}
		.term_hd .term_trigger {
				width: 20px;
				height: 20px;
				top: 20px;
				right: 20px
		}
		.term_trigger::before, .term_trigger::after {
				top: 9.5px;
				width: 20px;
		}
		.term_cont {
				padding: 30px 15px 30px;
		}
		.term_inner .link_btn_center {
				margin-top: 60px;
		}
}
/* ================ */
.award_section {
		padding-bottom: 100px;
}
.hr.award, .hr.exam {
		margin-top: 120px;
		margin-bottom: 120px;
}
@media(max-width: 767px) {
		.hr.exam {
				margin: 60px 0
		}
		.hr.award {
				margin: 60px 0
		}
}
.award_title {
		width: 330px;
		height: 106px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto 60px;
		text-align: center;
		position: relative;
}
.award_title.extra {
		width: 430px;
}
.award_title div {
		position: relative;
		top: -5px;
}
.award_title.extra:lang(en) {
		width: 560px;
}
.award_title.mid:lang(en) {
		width: 480px;
}
.award_title::before, .award_title::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 31px;
		height: 106px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
}
.award_title::before {
		background-image: url("../images/award_l_pc.png");
		left: 0;
}
.award_title::after {
		background-image: url("../images/award_r_pc.png");
		right: 0
}
.award_title .en {
		font-family: 'Roboto', sans-serif;
		font-size: 14px;
		margin: 0 0 10px;
}
.award_hd {
		text-align: center;
		font-size: 32px;
		font-weight: 600;
		margin: 90px 0 60px
}
.award_title .award_name {
		font-size: 48px;
		font-weight: 700;
}
.award_lead_wrap {
		display: flex;
		justify-content: center;
		max-width: 910px;
		margin-left: auto;
		margin-right: auto;
}
.award_lead {
		text-align: center;
		line-height: 2.0;
		font-weight: 700;
		margin: 0 0 50px
}
.award_title .award_name:lang(en), .award_lead:lang(en) {
		font-weight: 500;
}
.award_lead strong {
		font-size: 160%;
}
.award_single {
		display: flex;
		justify-content: center;
		margin: 0;
		position: relative;
		z-index: 10
}
.award_flex {
		display: flex;
		justify-content: space-between;
		max-width: 1140px;
		margin: 0 auto;
		padding: 0 30px;
}
.award_item {
		width: 560px;
}
.award_item img {
		width: 100%;
		height: auto;
}
@media(max-width: 1200px) {
		.award_item {
				width: calc(50% - 10px);
		}
}
.award_bg-1 {
		position: relative;
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 30px;
		z-index: 20
}
.award_bg-1::before, .award_bg-2::before, .award_bg-3::before, .award_bg-4::before, .award_bg-5::before {
		content: '';
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		z-index: 0;
		pointer-events: none
}
.award_bg-1::before {
		background-image: url("../images/award_bg1_pc2.png");
		mix-blend-mode: multiply;
		width: 570px;
		height: 890px;
		top: -400px;
		right: -70px;
}
.award_grid {
		position: relative;
}
.award_bg-2 {
		position: relative;
		max-width: 1200px;
		margin: 0 auto;
		z-index: 0
}
.award_bg-2::before {
		background-image: url("../images/award_bg2_pc2.png");
		mix-blend-mode: multiply;
		width: 590px;
		height: 625px;
		top: -360px;
		right: -300px;
}
.award_bg-3 {
		max-width: 1140px;
		margin: 0 auto;
		position: relative;
}
.award_bg-3::before {
		background-image: url("../images/award_bg3_pc2.png");
		mix-blend-mode: multiply;
		width: 490px;
		height: 990px;
		top: -80px;
		left: -250px;
}
.award_bg-4::before {
		background-image: url("../images/award_bg4_pc2.png");
		mix-blend-mode: multiply;
		width: 340px;
		height: 530px;
		top: 0px;
		left: -150px;
		z-index: -1
}
.award_bg-5 {
		max-width: 1140px;
		margin: 0 auto;
		position: relative;
}
.award_bg-5::before {
		background-image: url("../images/award_bg5-1_pc2.png");
		mix-blend-mode: multiply;
		width: 570px;
		height: 1130px;
		bottom: -150px;
		right: 0px;
}
@media(max-width: 960px) {
		.award_bg-1::before {
				width: 460px;
				height: 720px;
				top: -340px;
				right: -70px;
		}
		.award_bg-5::before {
				width: 460px;
				height: 912px;
				bottom: -150px;
				right: -100px;
		}
}
@media(max-width: 767px) {
		.award_section {
				padding-bottom: 60px;
		}
		.award_bg-4::before {
				display: none
		}
		.award_title {
				width: 250px;
				height: 80px;
				margin: 0 auto 40px;
		}
		.award_title div {
				position: relative;
				top: -5px;
		}
		.award_title.extra {
				width: 290px;
		}
		.award_title.extra:lang(en) {
				width: 300px;
		}
		.award_title.mid:lang(en) {
				width: 300px;
		}
		.award_title::before, .award_title::after {
				top: 0;
				width: 23px;
				height: 80px;
		}
		.award_title .en {
				font-size: 11px;
				margin: 0 0 7px;
		}
		.award_hd {
				font-size: 32px;
				margin: 90px 0 60px
		}
		.award_title .award_name {
				font-size: 34px;
		}
		.award_lead {
				text-align: center;
				line-height: 1.8;
				margin: 0 0 40px
		}
		.award_lead strong {
				font-size: 150%;
		}
		.award_flex {
				display: block;
				padding: 0 20px;
		}
		.award_flex .award_item:first-child {
				margin: 0 0 20px;
		}
		.award_item {
				width: 100%;
		}
		.award_single {
				padding: 0 20px;
		}
		.award_bg-1::before {
				background-image: url("../images/award_bg1_sp2.png");
				mix-blend-mode: multiply;
				width: 210px;
				height: 485px;
				background-size: 100%;
				top: -230px;
				right: 0;
		}
		.award_bg-2::before {
				background-image: url(../images/award_bg2_sp2.png);
				mix-blend-mode: multiply;
				width: 240px;
				height: 360px;
				top: -240px;
				right: 0;
		}
		.award_bg-3::before {
				background-image: url(../images/award_bg3_sp.png);
				background-image: url(../images/award_bg3_sp2.png);
				mix-blend-mode: multiply;
				width: 205px;
				height: 595px;
				top: -10px;
				left: 0;
		}
}
/* ================ */
.about_section {
		padding-top: 200px;
}
.about_inner {
		max-width: 915px;
		margin: 0 auto;
		position: relative;
		z-index: 5;
		padding: 0 30px;
}
.about_flex {
		display: flex;
		justify-content: space-between;
		margin: 0 0 15px;
}
.about_tile {
		width: 445px;
}
.about_tile img {
		width: 100%;
		height: auto;
}
.about_caption_hd {
		font-size: 24px;
		font-weight: 700;
		margin: 0 0 20px;
}
.about_caption_hd:lang(en) {
		font-weight: 600;
}
.about_caption p {
		line-height: 1.8;
}
.about_caption {
		margin: 0 0 60px;
}
.about_caption ul {
		margin-left: 1em;
}
.about_caption ul li {
		list-style: none;
		position: relative;
		line-height: 1.8;
		margin: 0 0 5px;
}
.about_caption ul li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
@media(max-width: 960px) {
		.about_tile {
				width: calc(50% - 10px);
		}
}
@media(max-width: 767px) {
		.about_section {
				padding-top: 80px;
		}
		.about_inner {
				padding: 0 20px;
		}
		.about_flex {
				display: block;
				margin: 0 0 30px;
		}
		.about_tile {
				width: 100%;
				margin: 0 0 15px;
		}
		.about_caption_hd {
				font-size: 22px;
				margin: 0 0 20px;
				line-height: 1.6;
		}
		.award_bg-5::before {
				background-image: url("../images/award_bg5-1_sp2.png");
				width: 235px;
				height: 855px;
				bottom: 270px;
				right: 0px;
		}
}
/* ============= */
.support_section {
		text-align: center;
		padding-bottom: 120px;
}
.support_hd {
		font-size: 32px;
		font-weight: 600;
		text-align: center;
		margin: 0 0 40px;
}
.support_caption {
		line-height: 1.8;
		text-align: center;
}
@media(max-width: 767px) {
		.support_section {
				padding-bottom: 80px;
		}
		.support_hd {
				font-size: 22px;
				margin: 0 0 40px;
		}
		.award_hd {
				font-size: 20px;
				margin: 60px 0 35px
		}
		.award_bg-5 {
				padding: 0 20px;
		}
		.support_caption {
				text-align: left;
		}
}
dd .noLink {
		transform: translateY(-2px);
		display: inline-block
}