
@import url(//db.onlinewebfonts.com/c/364d488301b62c1e63c04c545eb32315?family=Franklin+Gothic+Demi+Cond);

input,textarea,select {
    font-family:"NSK-TSR-W-Light","メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
    font-size:calc(14px);
    line-height:1
}
@font-face {
    font-family:"NSK-TSR-W-ExtraLight";
    font-style:normal;
    font-weight:200;
    src:url("../webfonts/NSK-TSR-W-ExtraLight.otf") format("opentype");
    font-display:swap
}
@font-face {
    font-family:"NSK-TSR-W-Light";
    font-style:normal;
    font-weight:300;
    src:url("../webfonts/NSK-TSR-W-Light.otf") format("opentype");
    font-display:swap
}
@font-face {
    font-family:"NSK-TSR-W-Regular";
    font-style:normal;
    font-weight:400;
    src:url("../webfonts/NSK-TSR-W-Regular.otf") format("opentype");
    font-display:swap
}
@font-face {
    font-family:"NSK-TSR-W-Medium";
    font-style:normal;
    font-weight:700;
    src:url("../webfonts/NSK-TSR-W-Medium.otf") format("opentype");
    font-display:swap
}
@font-face {
    font-family:"NSK-TSR-W-Bold";
    font-style:normal;
    font-weight:900;
    src:url("../webfonts/NSK-TSR-W-Bold.otf") format("opentype");
    font-display:swap
}
/*font-family:"NSK-TSR-W-ExtraLight";*/
/*font-family:"NSK-TSR-W-Light";*/
/*font-family:"NSK-TSR-W-Regular";*/
/*font-family:"NSK-TSR-W-Medium";*/
/*font-family:"NSK-TSR-W-Bold";*/





body {
    font-size:14px;
    font-family:"NSK-TSR-W-Light","メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
    line-height:1.571;
    color:#333;
    -webkit-text-size-adjust:100%;
    background:fixed url(../img/bk_world.svg) no-repeat center top 115px;
}
a{
	font-family: "NSK-TSR-W-Light","メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	transition:all 0.3s linear;
}
a:link   {color:#0d295d;text-decoration:none;}
a:visited{color:#0d295d;text-decoration:none;}
a:hover  {color:#003c96;text-decoration:none;}
a:active {color:#0d295d;text-decoration:none;}

a.btn, input[type="button"].btn {
	max-width: 360px!important;
	padding: 15px!important;
	text-decoration: none!important;
}

/* ==================================================
   Header
================================================== */
header {
	width:100vw;
	position:fixed;
	top:0;
	display:flex;
	align-items:center;
	padding:0 60px;
	background:#0d295d;
	z-index:2;
}

header h1#site_ttl{
	width:12em;
	display:inherit;
	padding:35px 0;
	text-align:left;
}

header h1#site_ttl a{
	width:300px;
	display:block;
	color:#9ea9be;
	font-family:"NSK-TSR-W-Medium";
	font-size:14px;
	text-decoration:none;
}

header #gnavi{
	width:calc(100% - 0em);
}

header #gnavi ul{
	text-align:right;
}

header #gnavi ul li{
	margin:0 0 0 30px;
}

header #gnavi ul li a{
	display:block;
	margin:10px 0 0;
	color:#fff;
	font-size:14px;
	text-decoration:none;
}

header #gnavi ul li a:hover{
	opacity:0.5;
}

@media screen and (max-width:960px){

	header{
		width:100vw;
		max-height:100vh;
		position:fixed;
		top:0;
		display:block;
		padding:0 30px;
		z-index:99;
		overflow-x:auto;
	}

	header h1#site_ttl{
		width:300px;
		padding:0;
		overflow:hidden;
	}

	header h1#site_ttl a{
		display:block;
		margin:15px auto;
	}

	header #gnavi{
		width:100vw;
		display:none;
		margin:0 -30px;
		text-align:left;
		background:#0d295d;
		z-index:99999;
	}

	header #gnavi ul{
		display:block;
	}

	header #gnavi ul li{
		width:100vw;
		display:block;
		margin:0;
		padding:0 30px;
		transition:.5s;
	}

	header #gnavi ul li a{
		position:relative;
		display:block;
		margin:0 auto;
		padding:15px 0;
		font-size:16px;
		color:#fff;
		font-family:"NSK-TSR-W-Medium";
		text-decoration:none;
		text-align:left;
		border-bottom:1px solid #86b3e0;
	}

	#gnavi ul li a:hover{
		text-decoration:none;
	}

	#gnavi ul li a:before{
		position:absolute;
		right:10px;
		top:16px;
		color:#fff;
		font-size:16px;
		font-weight:normal;
	}

	#gnavi ul li a[href="#"]:before{
		display:inline-block;
		font-family:"Font Awesome 6 Free";
		font-style:normal;
		font-weight:900;
		line-height:1;
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
		content:"+";
		-webkit-transition:.4s;
		-moz-transition:.4s;
		-ms-transition:.4s;
		-o-transition:.4s;
		transition:.4s;
	}

	#gnavi ul li.active a[href="#"]:before{
		display:inline-block;
		font-family:"Font Awesome 6 Free";
		font-style:normal;
		font-weight:900;
		line-height:1;
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
		content:"";
		-webkit-transform:rotate(180deg);
		-o-transform:rotate(180deg);
		-moz-transform:rotate(180deg);
		transform:rotate(180deg);
	}

	#gnavi ul li ul{
		display:none;
		padding:10px 0 15px;
		border-bottom:1px solid #86b3e0;
	}

	#gnavi ul li ul li:first-child a{
		border-top:none;
	}

	#gnavi ul li ul li a{
		padding:10px 0 0 15px;
		font-size:14px;
		border:none;
	}

	#gnavi ul li ul li a:after{
		position:absolute;
		left:0;
		top:14px;
		color:#fff;
		font-size:14px;
		display:inline-block;
		font-family:"Font Awesome 6 Free";
		font-style:normal;
		font-weight:900;
		line-height:1;
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
		content:"";
	}

	#gnavi ul li.nav03.active{
		color:#fff;
		background:#232d83;
	}

	#gnavi ul li.nav04.active{
		color:#fff;
		background:#da8c2e;
	}

	#gnavi ul li.nav05.active{
		color:#fff;
		background:#9ec34b;
	}

}
@media screen and (max-width: 440px) {
	header {
		height:82px;
		padding: 0 20px;
		overflow-x: visible;
	}
	header h1#site_ttl img {
			width: calc(100vw - 120px);
	}
}

/* ==================================================
   Btn_menu
================================================== */
.btn_menu {
    display:none;
    position:absolute;
    top: 19px;
	right: 15px;
    color:#fff;
    cursor:pointer
}
.btn_menu .menu-trigger,.btn_menu .menu-trigger span {
    display:inline-block;
    transition:all .4s;
    box-sizing:border-box
}
.btn_menu .menu-trigger {
    position:relative;
    width:40px;
    height:30px
}
.btn_menu .menu-trigger span {
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    background-color:#fff
}
.btn_menu .menu-trigger span:nth-of-type(1) {
    top:0
}
.btn_menu .menu-trigger span:nth-of-type(2) {
    top:14px
}
.btn_menu .menu-trigger span:nth-of-type(3) {
    bottom:0
}
.btn_menu .menu-trigger.active {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg)
}
.btn_menu .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform:translateY(14px) rotate(-45deg);
    transform:translateY(14px) rotate(-45deg)
}
.btn_menu .menu-trigger.active span:nth-of-type(2) {
    -webkit-transform:translateY(0) rotate(45deg);
    transform:translateY(0) rotate(45deg)
}
.btn_menu .menu-trigger.active span:nth-of-type(3) {
    opacity:0
}
@media screen and (max-width: 960px) {
    .btn_menu {
        display:inline-block
    }
}
.btn_menu i {
    font-size:34px;
}
.btn_menu .menu {
    display:block;
    font-size:10px;
    text-align:center
}

/* ==================================================
   contents
================================================== */
#contents{
	padding:150px 120px 0;
}

#contents div.inner{
	margin:0 0 120px;
	text-align:center;
}

#contents div.inner *{
	text-align:left;
}

#contents h2.sttl{
	width:auto;
	min-width:300px;
	display:inline-block;
	margin-bottom:30px;
	padding:10px 15px;
	color:#fff;
	font-size:32px;
	text-align:center;
	letter-spacing:0.05em;
	background-color:#0d295d;
}

#contents h3.sttl{
	margin-bottom:15px;
	font-size:24px;
	text-align:center;
	letter-spacing:0.05em;
}

#contents p.outline{
	margin:0 auto 60px;
}

div#contents h2.ttl_main{
	width:100%;
	margin:0 auto 90px;
	color:#55698c;
	font-family:"NSK-TSR-W-Medium";
	font-size:50px;
	text-align:center;
	letter-spacing:-0.05em;
}

div#contents h2.ttl_main strong{
	display:block;
	margin-top:-5px;
	padding:10px 0 0;
	font-family:"NSK-TSR-W-Light";
	font-size:14px;
	font-weight:normal;
	text-align:center;
	letter-spacing:normal;
	/*border-top:1px #ccc solid;*/
}

.page div#contents div.inner{
	max-width:1280px;
	margin:0 auto 180px;
}

.page div#contents ul.no li:before{
	color:#55698c;
	font-size:84px;
	line-height:1.4;
}

.page div#contents ul.no li:nth-child(1):before{
	content:"01";
}

.page div#contents ul.no li:nth-child(2):before{
	content:"02";
}

.page div#contents ul.no li:nth-child(3):before{
	content:"03";
}

.page div#contents ul.no li:nth-child(4):before{
	content:"04";
}

@media screen and (max-width:960px){
	#contents{
		padding:120px 90px 0;
	}

	#contents h2.sttl{
		font-size:28px;
	}

	.page div#contents div.inner{
		margin:0 auto 150px;
	}

	.page div#contents h2.ttl_main{
		font-size:42px;
	}

	.page div#contents p.outline{
		margin-bottom:45px;
	}
}

@media screen and (max-width:820px){
	#contents{
		padding:90px 60px 0;
	}

	.page div#contents h2.ttl_main{
		font-size:38px;
	}

	#contents h3.sttl{
		font-size:22px;
	}
}

@media screen and (max-width:540px){
	.page div.inner{
		margin:0 0 90px;
	}

	.page div#contents h2.ttl_main{
		font-size:36px;
	}

	.page div#contents p.outline{
		margin-bottom:30px;
	}
}

@media screen and (max-width:540px){
	#contents{
		padding:45px 30px;
	}

	#contents h2.sttl{
		width:100vw;
		margin-left:-30px !important;
		font-size:22px;
	}

	#contents h3.sttl{
		text-align:left;
		font-size:20px;
	}

	#contents h3.sttl br{
		display:none;
	}
}

@media screen and (max-width:420px){

	#contents h2.sttl{
		font-size:20px;
	}

	#contents h3.sttl{
		text-align:left;
		font-size:18px;
	}

}

/* ==================================================
   Visual
================================================== */
#visual{
	position:relative;
	margin:115px auto 0;
	padding:60px 120px;
	background:#0d295d url(../img/bk_ripple.svg) no-repeat right top calc(-17vw * 0.9) / calc(60% * 0.9) auto;
}

#visual h1.prize_name{
	margin-bottom:30px;
	color:#fff;
	font-family:"NSK-TSR-W-Light";
	font-size:60px;
	line-height:1;
	letter-spacing:0.03em;
}

#visual h1.prize_name img{
	max-width:calc(750px * 0.9);
	filter:
		drop-shadow(20px 0 10px rgba(13,41,93,1))
		drop-shadow(-20px 0 10px rgba(13,41,93,1))
		drop-shadow(20px 0 10px rgba(13,41,93,1))
		drop-shadow(-20px 0 10px rgba(13,41,93,1));
}

#visual h1.prize_name strong{
	font-family:"NSK-TSR-W-Light";
}

#visual p.copy{
	color:#adb8c8;
	font-size:20px;
	letter-spacing:0.1em;
}

#visual p.copy img{
	max-width:calc(750px * 0.9);
	filter:
		drop-shadow(10px 0 3px rgba(13,41,93,1))
		drop-shadow(-10px 0 3px rgba(13,41,93,1))
		drop-shadow(10px 0 3px rgba(13,41,93,1))
		drop-shadow(-10px 0 3px rgba(13,41,93,1));
}

#visual ul{
	display:none;
}

@media screen and (max-width:960px){
	#visual{
		margin-top:80px;
	}
}

/* ==================================================
   Footer
================================================== */
footer .pagetop {
    display:none;
    right: 15px;
}
footer .f-top .f-goto {
    display:block;
    background:#e0e2ea;
    padding:30px 10px 0;
    text-align:right;
    color:#333;
    font-size:14px;
    letter-spacing:.05em
}
footer .f-top .f-goto img {
    width:10px;
    height:auto;
    display:inline;
    vertical-align:middle;
    margin-left:5px
}
footer .f-top .f-goto:hover {
    opacity:.7
}
@media screen and (max-width: 640px) {
    footer .f-top .f-goto {
        padding-top:10px;
        font-size:10px;
    }
}
footer .f-top .f-logo {
    position:relative;
    overflow:hidden;
    background:#e0e2ea;
    text-align:left;
    padding:20px
}
footer .f-top .f-logo::before {
    content:"";
    position:absolute;
    top:1px;
    left:0;
    width:100%;
    height:100%;
    background:#0d295d;
    clip-path:polygon(70% 0, 100% 0, 100% 100%, calc(70% - 115px) 100%);
    pointer-events:none
}
footer .f-top .f-logo .f-inner {
    position:relative;
    z-index:1;
    max-width:1000px;
    margin:0 0 0 60px;
}
@media screen and (max-width: 768px) {
	footer .f-top .f-logo .f-inner {
	    margin:0;
	}
}
footer .f-top .f-logo img {
    max-width:300px;
    height:auto
}
@media screen and (max-width: 768px) {
    footer .f-top .f-logo::before {
        clip-path:polygon(70% 0, 100% 0, 100% 100%, calc(70% - 68px) 100%)
    }
    footer .f-top .f-logo img {
        width:150px
    }
}
footer .f-body {
    background:#0d295d;
    padding:50px 40px 30px
}
footer .f-body .f-inner {
    max-width:1000px;
    margin:0 0 0 60px;
}
@media screen and (max-width: 768px) {
	footer .f-body .f-inner {
	    margin:0;
	}
}
footer .f-body .f-nav {
    display:-webkit-flex;
    display:flex;
    gap:20px;
    padding-bottom:30px;
    margin-bottom:20px;
    border-bottom:1px solid hsla(0,0%,100%,.2)
}
footer .f-body .f-nav-col {
    flex:1
}
footer .f-body .f-nav-col h3 {
    color:#fff;
    font-size:12px;
    font-family:"NSK-TSR-W-Medium";
    padding-bottom:12px;
    margin-bottom:12px;
    border-bottom:1px solid hsla(0,0%,100%,.4);
    text-align:center;
    letter-spacing:.05em
}
footer .f-body .f-nav-col>ul>li {
    padding:6px 0
}
footer .f-body .f-nav-col>ul>li>a {
    color:#fff;
    font-size:12px;
    text-decoration:none;
    display:-webkit-flex;
    display:flex;
    -ms-align-items:center;
    align-items:center;
    gap:8px
}
footer .f-body .f-nav-col>ul>li>a img {
    width:14px;
    flex-shrink:0
}
footer .f-body .f-nav-col>ul>li>a:hover {
    opacity:0.5;
}
footer .f-body .f-nav-col>ul>li.f-nav-sub {
    padding:3px 0 3px 22px
}
footer .f-body .f-nav-col>ul>li.f-nav-sub>a {
    font-size:10px;
    gap:5px
}
footer .f-body .f-nav-col>ul>li.f-nav-sub>a::before {
    content:"──";
    font-size:10px;
    letter-spacing:-0.2em
}
footer .f-body .f-links {
    margin-bottom:20px;
    padding-bottom:20px;
    border-bottom:1px solid hsla(0,0%,100%,.2)
}
footer .f-body .f-links ul {
    display:-webkit-flex;
    display:flex;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:8px 30px
}
footer .f-body .f-links ul li a {
    color:#fff;
    font-size:12px;
    text-decoration:none;
    display:-webkit-flex;
    display:flex;
    -ms-align-items:center;
    align-items:center;
    gap:8px
}
footer .f-body .f-links ul li a img {
    width:14px
}
footer .f-body .f-links ul li a:hover {
    opacity:0.5;
}
@media screen and (max-width: 768px) {
    footer .f-body {
        padding:40px 30px 25px
    }
    footer .f-body .f-nav .f-nav-col {
        flex:1
    }
}
@media screen and (max-width: 640px) {
    footer .f-body {
        padding:30px 20px 20px
    }
    footer .f-body .f-nav {
        -webkit-flex-direction:column;
        flex-direction:column;
        gap:15px
    }
    footer .f-body .f-nav .f-nav-col {
        width:100%
    }
    footer .f-body .f-links ul {
        gap:8px 15px
    }
    /*財団HP版修正*/
    footer .f-body .f-links ul li a {
        /*font-size:12px;*/
        /*font-size:1.2rem*/
    }
}
footer .f-copyright {
    position:relative;
    width:100%;
    padding:10px;
    background:#e0e2ea;
    overflow:hidden;
    text-align:center;
    font-size:10px;
    color:#333
}
footer .f-copyright::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#0d295d;
    clip-path:polygon(0 0, 10% 0, calc(10% - 38px) 100%, 0 100%)
}
footer .f-copyright small {
    position:relative;
    z-index:1
}
@media screen and (max-width: 640px) {
    footer .f-copyright {
    	font-size:10px;
    }
}



