
@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;
	& h1#site_ttl{
		width:12em;
		display: inherit;
		padding:35px 0;
		text-align:left;
		& a{
			width:300px;
			display:block;
			color:#9ea9be;
			font-family:"NSK-TSR-W-Medium";
			font-size:14px;
			text-decoration:none;
		}
	}
	& #gnavi{
		width:calc(100% - 0em);
		& ul{
			text-align:right;
			& li{
				margin:0 0 0 30px;
				& a{
					display: block;
					margin: 10px 0 0;
					color:#fff;
					font-size:14px;
					text-decoration:none;
					&:hover{
						opacity:0.5;
					}
				}
			}
		}
	}
}
@media screen and (max-width: 960px) {
	header{
		width: 100vw;
		max-height:100vh;
		position:fixed;
		display:block;
		top:0;
		padding:0 30px;    
		z-index: 99;
		overflow-x:auto;
		& h1#site_ttl{
			width:300px;
			padding:0;
			overflow:hidden;
			& a{
				display:block;
				margin:15px auto;
			}
		}
	}
	header #gnavi {
		width:100vw;
		display:none;
		margin:0 -30px;
		text-align:left;
		background:#0d295d;
		z-index:99999;
		& ul {
			display:block;
			& 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;
		& 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;
    & div.inner{
    	margin:0 0 120px;
    	text-align:center;
    	& *{text-align:left;}
    }
	& h1.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;
	}
	& h2.sttl{
		margin-bottom:15px;
		font-size:24px;
		text-align:center;
		letter-spacing:0.05em;
	}
	& p.outline{
		margin:0 auto 60px;
	}
}
div#contents h1.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;
	& strong{
		display:block;
		margin-top:-5px;
		padding:10px 0 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;
	}
	& ul.no{
		& li:before{
			color:#55698c;
			font-size:84px;
			line-height: 1.4;
		}
		& li:nth-child(1):before{content:"01";}
		& li:nth-child(2):before{content:"02";}
		& li:nth-child(3):before{content:"03";}
		& li:nth-child(4):before{content:"04";}
	}
}

@media screen and (max-width:960px){
	#contents{
		padding: 120px 90px 0;
		& h1.sttl{
			font-size:28px;
		}
	}
	.page div#contents{
		& div.inner{
			margin:0 auto 150px;
		}
	}
	.page div#contents h1.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 h1.ttl_main{
		font-size: 38px;
	}
	& h2.sttl{
		font-size:22px;
	}
}
@media screen and (max-width:540px){
	.page{
		& div.inner{
			margin:0 0 90px;
		}
	}
	.page div#contents h1.ttl_main{
		font-size: 36px;
	}
	.page div#contents p.outline{
		margin-bottom:30px;
	}
}
@media screen and (max-width:540px){
	#contents{
		padding:45px 30px;
		& h1.sttl{
			width:100vw;
			margin-left:-30px!important;
			font-size:22px;
		}
		& h2.sttl{
			text-align:left;
			font-size:20px;
		}
		& h2.sttl br{
			display:none;
		}
	}
}
@media screen and (max-width:420px){
	#contents{
		& h1.sttl{
			font-size:20px;
		}
		& h2.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;
	& h1.prize_name{
		margin-bottom:30px;
		color:#fff;
		font-family:"NSK-TSR-W-Light";
		font-size:60px;
		line-height:1;
		letter-spacing:0.03em;
		& img{
			max-width:calc(750px*0.9);
			filter: drop-shadow(20px 0 10px rgba(13,41,93,1)) drop-shadow(-20px 0px 10px rgba(13,41,93,1)) drop-shadow(20px 0 10px rgba(13,41,93,1)) drop-shadow(-20px 0px 10px rgba(13,41,93,1));
		}
		& strong{
			font-family:"NSK-TSR-W-Light";
		}
	}
	& p.copy{
		color:#adb8c8;
		font-size:20px;
		letter-spacing:0.1em;
		& img{
			max-width:calc(750px*0.9);
			filter: drop-shadow(10px 0 3px rgba(13,41,93,1)) drop-shadow(-10px 0px 3px rgba(13,41,93,1)) drop-shadow(10px 0 3px rgba(13,41,93,1)) drop-shadow(-10px 0px 3px rgba(13,41,93,1));
		}
	}
	& 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;
    }
}



