@charset "utf-8";
/*------------------------------------------------------------
書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taleft { text-align: left !important; }
.tacenter { text-align: center !important; }
.taright { text-align: right !important; }

/* フォントの太さ */
.fwnormal { font-weight: normal !important; }
.fwbold { font-weight: bold !important; }

/* フォントサイズ */
.fs08{
	font-size: 0.9em;
}

/* 源ノ明朝　読み込み */
@font-face {
font-family: “源ノ明朝”;
src: url(“font/SourceHanSerifJP-Bold.otf”) format(“opentype”),url(“font/SourceHanSerifJP-Regular.otf”) format(“opentype”);
}

/*------------------------------------------------------------
微調整用
------------------------------------------------------------*/
/* 文中の特殊文字調整 */

.irgtx{
	font-weight:bold;
}
.ldquo{
	padding-right:3px;
}
.rdquo{
	padding-left:3px;
	padding-right:3px;
}
.times{
	font-weight:normal;
	font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

/* 余白 */
.mt00{ margin-top:0!important; }
.mt05{ margin-top:5px!important; }
.mt10{ margin-top:10px!important; }
.mt15{ margin-top:15px!important; }
.mt20{ margin-top:20px!important; }
.mt25{ margin-top:25px!important; }
.mt30{ margin-top:30px!important; }
.mt35{ margin-top:35px!important; }
.mt40{ margin-top:40px!important; }
.mt45{ margin-top:45px!important; }
.mt50{ margin-top:50px!important; }
.mt55{ margin-top:55px!important; }
.mt60{ margin-top:60px!important; }
.mt65{ margin-top:65px!important; }
.mt70{ margin-top:70px!important; }
.mt75{ margin-top:75px!important; }
.mt80{ margin-top:80px!important; }
.mt85{ margin-top:85px!important; }
.mt90{ margin-top:90px!important; }
.mt95{ margin-top:95px!important; }
.mt100{ margin-top:100px!important; }

.mr00{ margin-right:0!important; }
.mr05{ margin-right:5px!important; }
.mr10{ margin-right:10px!important; }
.mr15{ margin-right:15px!important; }
.mr20{ margin-right:20px!important; }
.mr25{ margin-right:25px!important; }
.mr30{ margin-right:30px!important; }
.mr35{ margin-right:35px!important; }
.mr40{ margin-right:40px!important; }
.mr45{ margin-right:45px!important; }
.mr50{ margin-right:50px!important; }
.mr55{ margin-right:55px!important; }
.mr60{ margin-right:60px!important; }
.mr65{ margin-right:65px!important; }
.mr70{ margin-right:70px!important; }
.mr75{ margin-right:75px!important; }
.mr80{ margin-right:80px!important; }
.mr85{ margin-right:85px!important; }
.mr90{ margin-right:90px!important; }
.mr95{ margin-right:95px!important; }
.mr100{ margin-right:100px!important; }

.mb00{ margin-bottom:0!important; }
.mb05{ margin-bottom:5px!important; }
.mb10{ margin-bottom:10px!important; }
.mb15{ margin-bottom:15px!important; }
.mb20{ margin-bottom:20px!important; }
.mb25{ margin-bottom:25px!important; }
.mb30{ margin-bottom:30px!important; }
.mb35{ margin-bottom:35px!important; }
.mb40{ margin-bottom:40px!important; }
.mb45{ margin-bottom:45px!important; }
.mb50{ margin-bottom:50px!important; }
.mb55{ margin-bottom:55px!important; }
.mb60{ margin-bottom:60px!important; }
.mb65{ margin-bottom:65px!important; }
.mb70{ margin-bottom:70px!important; }
.mb75{ margin-bottom:75px!important; }
.mb80{ margin-bottom:80px!important; }
.mb85{ margin-bottom:85px!important; }
.mb90{ margin-bottom:90px!important; }
.mb95{ margin-bottom:95px!important; }
.mb100{ margin-bottom:100px!important; }

.ml00{ margin-left:0!important; }
.ml05{ margin-left:5px!important; }
.ml10{ margin-left:10px!important; }
.ml15{ margin-left:15px!important; }
.ml20{ margin-left:20px!important; }
.ml25{ margin-left:25px!important; }
.ml30{ margin-left:30px!important; }
.ml35{ margin-left:35px!important; }
.ml40{ margin-left:40px!important; }
.ml45{ margin-left:45px!important; }
.ml50{ margin-left:50px!important; }
.ml55{ margin-left:55px!important; }
.ml60{ margin-left:60px!important; }
.ml65{ margin-left:65px!important; }
.ml70{ margin-left:70px!important; }
.ml75{ margin-left:75px!important; }
.ml80{ margin-left:80px!important; }
.ml85{ margin-left:85px!important; }
.ml90{ margin-left:90px!important; }
.ml95{ margin-left:95px!important; }
.ml100{ margin-left:100px!important; }

.pt00{ padding-top:0!important; }
.pt05{ padding-top:5px!important; }
.pt10{ padding-top:10px!important; }
.pt15{ padding-top:15px!important; }
.pt20{ padding-top:20px!important; }
.pt25{ padding-top:25px!important; }
.pt30{ padding-top:30px!important; }
.pt35{ padding-top:35px!important; }
.pt40{ padding-top:40px!important; }
.pt45{ padding-top:45px!important; }
.pt50{ padding-top:50px!important; }
.pt55{ padding-top:55px!important; }
.pt60{ padding-top:60px!important; }
.pt65{ padding-top:65px!important; }
.pt70{ padding-top:70px!important; }
.pt75{ padding-top:75px!important; }
.pt80{ padding-top:80px!important; }
.pt85{ padding-top:85px!important; }
.pt90{ padding-top:90px!important; }
.pt95{ padding-top:95px!important; }
.pt100{ padding-top:100px!important; }

.pr00{ padding-right:0!important; }
.pr05{ padding-right:5px!important; }
.pr10{ padding-right:10px!important; }
.pr15{ padding-right:15px!important; }
.pr20{ padding-right:20px!important; }
.pr25{ padding-right:25px!important; }
.pr30{ padding-right:30px!important; }
.pr35{ padding-right:35px!important; }
.pr40{ padding-right:40px!important; }
.pr45{ padding-right:45px!important; }
.pr50{ padding-right:50px!important; }
.pr55{ padding-right:55px!important; }
.pr60{ padding-right:60px!important; }
.pr65{ padding-right:65px!important; }
.pr70{ padding-right:70px!important; }
.pr75{ padding-right:75px!important; }
.pr80{ padding-right:80px!important; }
.pr85{ padding-right:85px!important; }
.pr90{ padding-right:90px!important; }
.pr95{ padding-right:95px!important; }
.pr100{ padding-right:100px!important; }

.pb00{ padding-bottom:0!important; }
.pb05{ padding-bottom:5px!important; }
.pb10{ padding-bottom:10px!important; }
.pb15{ padding-bottom:15px!important; }
.pb20{ padding-bottom:20px!important; }
.pb25{ padding-bottom:25px!important; }
.pb30{ padding-bottom:30px!important; }
.pb35{ padding-bottom:35px!important; }
.pb40{ padding-bottom:40px!important; }
.pb45{ padding-bottom:45px!important; }
.pb50{ padding-bottom:50px!important; }
.pb55{ padding-bottom:55px!important; }
.pb60{ padding-bottom:60px!important; }
.pb65{ padding-bottom:65px!important; }
.pb70{ padding-bottom:70px!important; }
.pb75{ padding-bottom:75px!important; }
.pb80{ padding-bottom:80px!important; }
.pb85{ padding-bottom:85px!important; }
.pb90{ padding-bottom:90px!important; }
.pb95{ padding-bottom:95px!important; }
.pb100{ padding-bottom:100px!important; }

.pl00{ padding-left:0!important; }
.pl05{ padding-left:5px!important; }
.pl10{ padding-left:10px!important; }
.pl15{ padding-left:15px!important; }
.pl20{ padding-left:20px!important; }
.pl25{ padding-left:25px!important; }
.pl30{ padding-left:30px!important; }
.pl35{ padding-left:35px!important; }
.pl40{ padding-left:40px!important; }
.pl45{ padding-left:45px!important; }
.pl50{ padding-left:50px!important; }
.pl55{ padding-left:55px!important; }
.pl60{ padding-left:60px!important; }
.pl65{ padding-left:65px!important; }
.pl70{ padding-left:70px!important; }
.pl75{ padding-left:75px!important; }
.pl80{ padding-left:80px!important; }
.pl85{ padding-left:85px!important; }
.pl90{ padding-left:90px!important; }
.pl95{ padding-left:95px!important; }
.pl100{ padding-left:100px!important; }

.alignCenter { text-align: center!important; }
.fl_l { float:left !important; }
.fl_r { float:right !important; }
.m0auto { margin: 0 auto !important; }
.w100 {width: 100%!important;}

/*------------------------------------------------------------
icon font
------------------------------------------------------------*/

@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?hh3nv2');
  src:  url('../fonts/icomoon.eot?hh3nv2#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?hh3nv2') format('truetype'),
    url('../fonts/icomoon.woff?hh3nv2') format('woff'),
    url('../fonts/icomoon.svg?hh3nv2#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon_arrow:before {
  content: "\e900";
}
.icon_blank:before {
  content: "\e901";
}
.icon_mail:before {
  content: "\e902";
}

.rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

/*------------------------------------------------------------
clearfix
------------------------------------------------------------*/
.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	outline: 0;
	font-size: 1em;
}

body,
table,
input, textarea, select, option {
	font-family: 'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-size: 1em;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	border: 0px;
}

/* Link */
a,
a:link {
	text-decoration: none;
	color: #FF6D60;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	cursor: pointer;
}

a:active {
	text-decoration: none;
}

div.anchor{
    display: block;
}

/* 外部リンクアイコンの付与 */
a.blank:after{
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	background-image: url(../img/icon_blank.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin: -3px 0 0 9px;
}
a.blank_b:after{
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin: -3px 0 0 9px;
}

body {
	font-size: 14px;
	line-height: 1.9em;
	color: #000;
	-webkit-text-size-adjust: none;
	background-color: #fff;
}

body .sp {
    display: none;
}
.m320,.m480{
		display:none ;
		visibility:hidden ;
		overflow:hidden ;
}
@media screen and (max-width: 320px){
	.m320{
		display:block;
		visibility:visible;
		overflow:visible;
	}
}
@media screen and (max-width: 480px){
	.m480{
		display:block;
		visibility:visible;
		overflow:visible;
	}
}


@media screen and (max-width:1023px) and (orientation: portrait){
	body {
		font-size: 15px;
		line-height: 1.6em;
	}
	body .pc {
    display: none;
	}
	body .sp {
    display: block;
	}
}


/*------------------------------------------------------------
base
------------------------------------------------------------*/


/*========= LoadingのためのCSS ===============*/
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}


#wrapper{
	width: 100%;
	min-width: 300px;
}

#container{
	width: 100%;
	margin: 0 auto;
}

#container img{
	width: 100%;
}

#container h2 {
    max-width: 100%;
    font-size: 35px;
    color: #FF6D60;
    padding-bottom: 10px;
    margin-bottom: 40px;
    border-bottom: 3px solid #FF6D60;
    display: inline-block;
	font-family: “源ノ明朝”;
}

/*fixed/scroll背景*/
#aboutus,#topics,#program,#member,#contentsmovie,#history,#partnership {
	padding: 7% 10%;
}

.fixed-background {
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#particle_topics,#particle_member{
    position: relative;
}

#particles-js01,#particles-js02{ 
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
}

.bg-03 {
/*    background-image: url("../img/bg-03.png");*/
}

.color-01,.color-02,.color-03 {
    background: #EFEFEF;
}

.color-04 {
    background: #fff;
}

@media screen and (max-width:1023px){
	#container{
		width: 100%;
		}

	#container h2 {
		font-size: 22px;
		border-bottom: 2px solid #FF6D60;
	}
	
	#aboutus {
		padding: 7% 10%;
	}
}

/*------------------------------------------------------------
header_load
------------------------------------------------------------*/

#cmn-header {
    z-index: 10;
    position: relative;
}

/*------------------------------------------------------------
header
------------------------------------------------------------*/

#header_index{
	width: 100%;
	font-size: 11px;
	background: #fff;
	height: auto;
	z-index: 999;
}

#header{
	width: 100%;
	font-size: 11px;
	background: #fff;
	z-index: 100;
    position: fixed;
    top: 0;
}

/*JSを使いfixedクラスが付与された際の設定*/
#header_index.fixed{
	position: fixed;/*fixedを設定して固定*/
	z-index: 999;/*最前面へ*/
	top:0;/*位置指定*/
	left:0;/*位置指定*/
}

#header_index p,#header p{
	text-align: left;
	margin-bottom: 5px;
}

#header_index h1,#header h1{
	width: 100px;
    margin: 10px 0px 0px 29px;
	float: left;
}

.sns_pc {
    float: right;
    margin: 10px 10px 0px;
}

.flowbtn9{
	display:inline-block;	
	font-size:40px;
	text-decoration:none;
	transition:.5s;
}

.flowbtn9 .fa-twitter-square{
	color:#55acee;
}

.flowbtn9 .fa-facebook-square{
	color:#3b5998;
}

ul.snsbtniti{
	width: 80px;
    margin: 10px auto 0px;
}

.snsbtniti{
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
}

.snsbtniti li{
	flex:0 0 33%;
	text-align:center!important;
}

.flowbtn9:hover{
	-webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
}

@media screen and (max-width:1023px){
	#header_index,#header{
		width: 98%;
		height: 60px;
		padding: 5px 0px 5px 2%;
		margin: 0;
		position: fixed;
		background: #fff;
		top:0;/*位置指定*/
		left:0;/*位置指定*/
	}
	
	#header_index h1,#header h1{
		width: 90px;
		margin: 6px 0px 0px 0px;
	}

	#cmn-header,#HENSEI2010-ABOUT_NIKKEI,#header p{
		display: none;
	}
}
	
@media screen and (max-width:1023px) and (orientation: landscape){
	#header_index {
		display: none;
	}
	
	#header_index.fixed{
		display: block;
	}
}


/*------------------------------------------------------------
gnav_pc
------------------------------------------------------------*/
#gnav_pc{
    font-size: 15px;
    float: right;
    text-align: center;
    margin: 10px 0px 0px;
}

#gnav_pc ul{
	margin: 0 ;
	padding: 0 ;
}

#gnav_pc li{
	list-style: none;
	display: inline-block;
}

#gnav_pc #menu{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

#gnav_pc #menu li a{
    display: block;
    padding:10px 15px;
    text-decoration: none;
    color: #333;
}

#gnav_pc #menu li{
    margin-bottom:20px;
}

#gnav_pc #menu li a{
	position: relative;
}

#gnav_pc #menu li a.active,
#gnav_pc #menu li a:hover{
  color:#FF6D60;
}

#gnav_pc #menu li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    border-radius: 50%;
    background:#FF6D60;
    transition: all .3s;
    transform: scale(0.04, 1);
    transform-origin:center bottom;
}

#gnav_pc #menu li a.active::after,
#gnav_pc #menu li a:hover::after {
    height: 2px;
    border-radius: 0;
    transform: scale(0.8, 1);
}

@media screen and (max-width:1023px){
	#gnav_pc{
		display: none;
	}
	
	.sns_pc {
		margin: 0px 80px 0px 0px;
		}
}

/*------------------------------------------------------------
gnav_sp
------------------------------------------------------------*/

#gnav_sp {
	display: none;
}


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

	#gnav_sp{
		position: absolute;
		top: 70px;
		left: 0px;
		width: 100%;
		text-align: center;
		background: #fff;
		font-size: 15px;
	}

	#gnav_sp li a{
		display: block;
		padding:15px 0;
		border-bottom: 1px solid #000;
		color: #000;
	}

	#gnav_sp li a.active{
		color:#FFF;
		background-color:#FF6D60;
	}

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

	#gnav_sp li:first-child a{
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
	}

	#gnavi-overlay{
		display:none;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:120%;
		background-color:rgb(255, 109, 96, 0.4);
	}

	.menubtnarea {
		position: absolute;
		top: 25px;
		right: 5%;
		z-index: 5000;
	}
	.menu-btn,.menu-btn span {
		display: inline-block;
		transition: all .5s;
		box-sizing: border-box;
		z-index: 1000;
	}
	.menu-btn {
		position: relative;
		width: 30px;
		height: 24px;
	}
	.menu-btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #000;
	}

	.menu-btn span:nth-of-type(1) {
		top: 0;
	}
	.menu-btn span:nth-of-type(2) {
		top: 10px;
	}
	.menu-btn span:nth-of-type(3) {
		bottom: 0;
	}

	.menu-btn.active span:nth-of-type(1) {
		-webkit-transform: translateY(12px) rotate(-45deg);
		transform: translateY(12px) rotate(-45deg);
		background: #000;
	}
	.menu-btn.active span:nth-of-type(2) {
		opacity: 0;
		background: #000;
	}
	.menu-btn.active span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
		background: #000;
	}


}

/*------------------------------------------------------------
footer_pc
------------------------------------------------------------*/

.pagetop{
	max-width: 960px;
	margin:0 auto;
}

.pagetop .btn a{
	width: 180px;
	margin-left: auto;
	padding:7px 0;
	background: url(../img/icon_arrow-up_white.png) right 10px top 14px no-repeat;
	background-size: 14px;
	background-color: #FF6D60;
	text-align: center;
	display: block;
	color: #fff;
}

.pagetop .btn a:hover{
	text-decoration: none;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	transition: 0.4s ;
}

#footer_pc{
	width: 100%;
	background: #EFEFEF;
	padding:40px 0 15px 0;
	font-size: 13px
}

#footer_pc a{
	color: #000;
}

.footer_container{
	width: 960px;
	margin:0 auto;
}

#footer_pc .cont1{
	width: 960px;
	margin-bottom: 30px;
}

#footer_pc .cont1 li{
	float: left;
	margin-right: 30px;
}

#footer_pc .cont1 > ul > li:first-child{
	text-indent: 0;
}

#footer_pc .cont1 > ul > li li{
	float: none;
}

#footer_pc .cont2{
	width: 960px;
}

#footer_pc .cont2 ul{

}

#footer_pc .cont2 ul.ct1{
	width: 25%;
}

#footer_pc .cont2 ul.ct2{
	width: 35%;
}

#footer_pc .cont2 ul.ct3{
	width: 40%;
}

#footer_pc .cont2 li{
	float: left;
	margin-right: 20px;
}

#footer_pc .cont2 li:first-child{
	text-indent: 0;
	font-weight: bold;
}

#footer_pc .cont3{
	text-align:center;
	margin-top:50px;
}


#footer_pc h4{
	font-weight: bold;
	padding-bottom: 2px;
	border-bottom: 2px solid #a2a2a2;
	margin-bottom: 8px;
}



@media screen and (max-width:1023px){
	#footer_pc{
		display: none;
	}

	.pagetop{
	width: 100%;
}

	.pagetop .btn a{
		width: 50%;
		margin-left: auto;
		padding:15px 0;
		background: url(../img/icon_arrow-up_white.png) right 4% top 22px no-repeat;
		background-size: 14px;
		background-color: #FF6D60;
		text-align: center;
		display: block;
		color: #fff;
	}

}


/*------------------------------------------------------------
footer_sp
------------------------------------------------------------*/

#footer_sp{
	display: none;
}

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

	#footer_sp{
		display: block;
		width: 100%;
		overflow: hidden;
	}
	#footer_sp > ul > li{
		padding:0;
		border-bottom: 1px solid #5f5f5f;
	}
	#footer_sp li > a{
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 15px;
		color: #000;
		position: relative;
	}
	#footer_sp li a:after{
		position: absolute;
		top: 25px;
		right: 20px;
	}
	#footer_sp li a:hover{
		text-decoration: none;
	}
	#footer_sp > ul.aply > li{
		display:inline-block;
		float:left;
		width:calc(50% - 1px)
	}

	#footer_sp > ul.aply > li > a{
		width:100%;
	}

	#footer_sp > ul.aply li:first-child{
		width: 100%;
		float: none;
		box-sizing: border-box;
	}
	
	#footer_sp > ul.aply{
		border-bottom: 1px solid #5f5f5f;
	}
	#footer_sp > ul.aply > li:nth-child(even){
		border-right: 1px solid #5f5f5f;
	}
	#footer_sp > ul.aply > li:last-child{
		border-bottom: none !important;
	}



	#footer_sp li.ttl{
		display: block;
		width: 100%;
		font-weight: bold;
		background: #EFEFEF;
		padding:15px;
		border-bottom: 1px solid #5f5f5f;
		box-sizing: border-box;
	}

	#footer_sp ul.etc li a{
		width: 50%;
		float: left;

		text-align: center;
	}

	#footer_sp li.blank{
		background: url(../img/icon_blank.png) right 10px top 20px no-repeat;
		background-size: 16px;
	}

	#footer_sp li.nolink{
		display: block;
		width: 100%;
		border-bottom: 1px solid #5f5f5f;
		box-sizing: border-box;
		padding:15px;
		color: #000;
	}
	
	#footer_sp .cont3{

		text-align:center;
		padding: 50px 0 10px 0;
		font-size: 0.9em;
	}

	#footer_sp li.ttl + li > h5{
		margin:15px 0 0 15px;
		padding-bottom: 0;
	}

}

/*------------------------------------------------------------
cmn_footer_sp
------------------------------------------------------------*/

#cmn_footer_sp{
	display: none;
}

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

#cmn_footer_sp{
	display: block;
	width: 100%;
	background: #effaff;
	padding: 10px 0 10px 0;
	font-size: 11px;
	overflow: hidden!important;
}

#cmn_footer_sp li{
	float: left;
	margin-right: 8px;
	line-height: 0;
}

#cmn_footer_sp li:first-child{
	padding-left:5px;
}

#cmn_footer_sp li:last-child{
	padding-top: 8px;
}

#cmn_footer_sp li img{
	width: 65px;
}

}



/*------------------------------------------------------------
--------------------------------------------------------------

toppage

--------------------------------------------------------------
------------------------------------------------------------*/

.top_view {
	min-height: 100vh;
	min-height: calc(var(--vh, 1vh) * 100);
}

/*------------------------------------------------------------
main-v / aboutus
------------------------------------------------------------*/

.main-v{
	max-height: calc(100vh - 110px);
	max-height: calc(var(--vh, 1vh) * 100 - 110px);
	height: -webkit-fill-available;
}

.main-v .base{
	height: -webkit-fill-available;
}

.main-v .base img {
	max-height: calc(100vh - 110px);
	max-height: calc(var(--vh, 1vh) * 100 - 110px);
	height: -webkit-fill-available;
	}
	
.main-v .pnl{
	position: absolute;
	z-index: 500;
	top:25%;
	left: 3%;
	}

.main-v .pnl img{
	width: 65%!important;
    max-height: 100%!important;
	}
	
.main-v_under {
    position: absolute;
    width: 100%;
	bottom: -10px;
    background-color: #fff;
}
	
#aboutus {
	}

.aboutus_box {
    max-width: 900px;
    display: block;
    margin: 60px auto 0px;
    text-align: center;
}

.pc_sdgs{
    max-width: 800px;
	height: auto;
	margin: 60px 0 0;
	}

.sp_sdgs{
	display: none;
}


@media screen and (max-width:1023px){
	.main-v{
		display: block;
		width: 100%;
		position: absolute;
		top: 70px;
	}

	.main-v .pnl{
		top:12%;
		left: 5%;
		height: -webkit-fill-available
	}
	
	.aboutus_box {
		margin: 0px auto;
		}
	
	.pc_sdgs{
		display: none;
		}

	.sp_sdgs{
		display: block;
		margin: 50px 0 10px;
		}
		
	@media screen and (orientation: landscape){
		.main-v{
			top: 0px;
		}
		.main-v .pnl{
			top:30%;
		}
		
	}
	
}



/*------------------------------------------------------------
topics
------------------------------------------------------------*/


.finalistbox1 {
	width: 68%;
    margin: 10% auto 0%;
    padding: 20px 20px;
    background: #ffdede;
    border: solid 3px #d03f06;
	text-align: center;
}

.finalistbox1 h3 {
    font-size: 1.5em;
	line-height: 1.5em;
	margin: 15px 0px;
}

p.finalisttxt {
    margin: 20px 0;
}

.newsbox {
	position: relative;
    width: 600px;
    margin: 120px auto 0px;
    padding: 30px 20px;
    font-size: 2em;
    text-align: center;
    text-decoration: none;
    color: #398D8A;
	background: #FFF;
    border: solid 4px #398D8A;
    transition: .4s;
	line-height: 40px;
}

.newsbox a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.newsbox:hover {
    background: #398D8A;
    color: white;
}

.stapibanner {
    padding: 10%;
    text-align: center;
}

.stapibanner p:first-child {
	text-decoration: underline;
	}

.stapibanner p:nth-child(2) {
	font-size: 0.8em;
    line-height: 1.8em;
    padding-bottom: 1em;
}

.pc_stapi {
    max-width: 90%;
}

.sp_stapi {
	display: none;
}		

#topics{
}

#topics h2 {
    width: 110px;
    float: left;
}

#topics a{
	color: #000;
}

#topics a:hover{
	text-decoration: underline;
}

#topics ul{
    margin-left: 200px;
    padding: 10px 0px;
}

#topics li{
	float: left;
	width: 80%;
}

#topics li.date{
	width: 120px;
}

@media screen and (max-width:1023px){
	.finalistbox1 {
		width: 60%;
		}

	.finalistbox1 h3 {
		font-size: 1.2em;
		}

	.newsbox {
    	width: 70%;
   		font-size: 1.3em;
   		padding: 10px;
   		margin: 60px auto 0px;
	}
	
	.stapibanner p:nth-child(2) {
    line-height: 1.5em;
    padding-bottom: 0.5em;
	}

	.pc_stapi {
		display: none;
	}
		
	.sp_stapi {
		display: block;
		margin: 0 auto;
		max-width: 90%;
		}

	#topics h2 {
		float: none;
		}

	#topics ul {
		margin: 0px;
		padding: 30px 0px 0px 0px;
		height: auto;
	}

	#topics li {
		float: none;
		width: auto;
		}

}

/*------------------------------------------------------------
movieArea
------------------------------------------------------------*/

.movieArea {
    position: relative;
    overflow: hidden;
	width: 90% !important;
	height: 90% !important;
    padding: 0;
	margin: 0px auto 100px;
}

.movieArea .movie-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25% !important;
	margin: 0 auto 0 -2px;
	overflow: hidden;
	}
	  
.movieArea .movie-container .video-js {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	}

.movieArea .movie-container .video-js:focus {
	outline-style: none;
	}

.movieArea .movie-container .video-js video {
	width: 100%;
	height: auto;
	}
	
.movieArea .movie-container .movie-cover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.01);
	}
	
.movieArea .movie-container .movie-cover:hover {
	cursor: pointer;
	}
	
.movieArea .movie-container #movie_prs {
	display: block;
	}

		
@media screen and (max-width:1023px){
	.movieArea {
		width: 90% !important;
		height: 90% !important;
		margin: 0px auto 60px;
	}

    .movieArea .movie-container {
		position: relative;
		width: 100%;
		height: 0;
		padding-bottom: 56.25% !important;
		margin: 0 auto 0 -2px;
		overflow: hidden;
	}
}


/*------------------------------------------------------------
Program
------------------------------------------------------------*/

#program {
}

#program p {
    padding: 20px 20px 5px 0px;
}

#program h4 {
    font-size: 1.2em;
    color: #FF6D60;
	margin: -40px 0px 0px;
	font-family: “源ノ明朝”;
}

.pc_program{
	margin: 50px 5% 100px;
    max-width: 90%;
}

.sp_program{
    display: none;
}

.program_box {
    max-width: 900px;
    display: block;
    margin: 0 auto;
    text-align: center;
}

.program_left {
    margin: 30px;
	}

img.program_left {
    max-width: 300px;
}

.program_right {
    margin: 30px;
}

img.program_right {
    max-width: 300px;
}

.detailbtn,.applybtn {
	display: inline-block;
    position: relative;
    width: 280px;
    margin: 0px 50px;
    padding: 20px 0px;
    font-size: 1.5em;
	font-weight: bold;
    text-align: center;
    background-color: #98D8AA;
    border: solid 4px #87c499;
    transition: .4s;
	color: #FFF !important;
}

.detailbtn a,.applybtn a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.applybtn.end{
	background-color: #b2b2b2;
	color: #e5e5e5;
    border: solid 4px #a3a3a3;
}

.applybtn.end{
	text-decoration: none;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	transition: 0.4s ;
}

.detailbtn:hover .applybtn:hover {
	text-decoration: none;
    opacity: 0.8;
    transition: 0.4s;
}


@media screen and (max-width:1023px){
	#program p {
		padding-bottom: 20px;
		padding-left: 0px;
	}
	
	.pc_program{
		display: none;
	}
	
	.sp_program{
		display: block;
		margin: 30px 0;
	}

	.program_right {
    margin: 30px auto;
}

	.program_left {
    margin: 30px auto;
}
	
	.detailbtn, .applybtn {
    	width: 80%;
   		font-size: 1.3em;
		padding: 15px 10px;
		margin: 25px auto 10px;
	}
}

/*------------------------------------------------------------
Member
------------------------------------------------------------*/

#member {
}

#member h2 {
	}

#member h3 {
    max-width: 100%;
    font-size: 20px;
    color: #FF6D60;
    margin: 40px 20px 20px;
	font-family: “源ノ明朝”;
}

#member h4 {
    font-size: 1.2em;
    color: #FF6D60;
	margin: -40px 0px 0px;
    font-family: “源ノ明朝”;
}

.exam,.adv {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
}

.memberunit {
    width: 42%;
    background-color: #EFEFEF;
    padding: 20px 20px 30px;
    margin: 0px 0px 5px 5px;
	border: solid 2px #EFEFEF;
	}

.memberunit .ph{
    width: 150px;
    float: left;
    margin-right: 30px;
}

.memberunit .ph img{
	width: 100%;
}

.memberunit .txt{
}

.exam div:nth-child(3),.exam div:nth-child(6),.adv div:nth-child(1) ,.adv div:nth-child(4),.adv div:nth-child(5),.adv div:nth-child(8),.adv div:nth-child(9){
    background-color: #fff;
}

.memberunit .txt p:nth-child(1){
	font-size: 1.4em;
	font-weight: bold;
    text-align: left;
    padding: 20px 0px 20px;
}

.memberunit .txt p:nth-child(2){
    font-size: 0.9em;
    line-height: 1.8em;
    text-align: left;
	overflow: hidden;
}

.memberunit .txt p:nth-child(3){
	margin-top: 35px;
    padding-top: 10px;
    font-size: 0.8em;
    line-height: 1.8em;
    border-top: 2px solid #FF6D60;
}

.memberunit .morebtn{
	display: none;
}



@media screen and (max-width:1023px){
	.memberunit {
		width: 100%;
		margin: 5px 0px;
		background-color: #fff;
		border: solid 5px #EFEFEF;
		}

	.memberunit .ph{
		width: 50%;
		float: none;
		text-align: center;
		margin:0 auto 20px;
	}

	.memberunit .ph img{
		width: 100%;
	}

	.memberunit .txt{
		max-width: 100%;
		float: none;
	}

	.memberunit .txt p:nth-child(1){
		text-align: center;
		padding: 0px 10px 10px;
	}

	.memberunit .txt p:nth-child(2){
		font-weight: normal;
		text-align: center;
		line-height: 1.6em;
	}

	.memberunit .txt p:nth-child(3){
		margin-bottom: 20px;
		margin-top: 0px;
	}

	.memberunit .morebtn{
		display: block;
		width: 80%;
		padding: 15px 0;
		font-size: 1em;
		color: #000 !important;
		text-align: center;
		border: 1px solid #000 !important;
		margin: 20px auto 0;
		background: url(../img/icon_arrow-down_black.png) right 15px top 22px no-repeat;
		background-size: 15px;
	}

	.memberunit .closebtn{
		width: 80%;
		padding: 15px 0;
		font-size: 16px;
		color: #000;
		text-align: center;
		border: 1px solid #000;
		background: url(../img/icon_arrow-up_black.png) right 15px top 22px no-repeat;
		background-size: 15px;
		}

}


/*------------------------------------------------------------
contentsmovie
------------------------------------------------------------*/

#contentsmovie {
	}

#contentsmovie h4 {
    font-size: 1.2em;
    color: #FF6D60;
    margin: 80px 20px 10px;
}

.cmunitfirst {
    margin-top: 0px !important;
}

.cmunit{
    padding: 0px 10px;
    width: 95% !important;
    height: 95% !important;
    max-width: 900px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}

.cm_left{
	position: relative;
    width: 48%;
    height: 0;
    padding-top: 27% !important;
	margin: auto 30px auto 0px;
    overflow: hidden;
	}

.cm_right{
	width: 48%;
	margin: auto 0px;
}

.cm_right p:nth-child(1){
font-size: 1.8em;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    padding: 10px 0px;
}

.cm_right p:nth-child(2){
    padding: 0px 0px 10px
}

.cm_right p:nth-child(3){
	font-size: 0.7em;
    line-height: 1.7em;
	padding-left: 2%;
}

.cm_morebtn {
    width: 200px;
    margin: 10% auto 0px;
    padding: 15px 0px;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    background-color: #98D8AA;
    border: solid 4px #87c499;
    transition: .4s;
    color: #FFF !important;
}

.cm_closebtn{
    width: 200px;
    margin: 10% auto 0px;
    padding: 15px 0px;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    background-color: #98D8AA;
    border: solid 4px #87c499;
    transition: .4s;
    color: #FFF !important;
}


@media screen and (max-width:1023px){
	.cm_left {
		width: 100%;
		padding-top: 56.2% !important;
		margin: 0px 0px 0px 0px;
		}
	
	.cm_right {
    width: 100%;
	}
	
	.cm_right p:nth-child(1) {
    font-size: 1.5em;
	}
}

/*------------------------------------------------------------
history
------------------------------------------------------------*/

#history {
}

#history h3 {
    max-width: 100%;
    font-size: 20px;
    color: #FF6D60;
    margin: 40px 20px 20px;
    border-bottom: 1px dashed #FF6D60;
	font-family: “源ノ明朝”;
}

#history h4 {
    font-size: 1.2em;
    color: #FF6D60;
	margin: -40px 0px 0px;
    font-family: “源ノ明朝”;
}

#history p {
    margin: 20px 20px 50px;
}

#history li {
	float: left;
    padding: 0px 30px 30px;
}

#history a {
    color: #000;
}


/*------------------------------------------------------------
partnership
------------------------------------------------------------*/


#partnership {
}


#partnership h3{
	width: 100%;
	text-align: center;
	font-size: 20px;
	margin:60px 0 30px 0;
}

.sp_partner {
    display: flex;
    justify-content: center;
}

#partnership .corp01, #partnership .corp02{
	text-align: center;
    margin: 10px 5% 60px;
    width: 350px;
}

#partnership ul {
    list-style: none;
    display: flex;
    justify-content: center;
}
	
#partnership li{
	float: left;
}

#partnership li.corp03{
    padding-top: 0px;
    margin: 0px 40px 60px 40px;
	width: 250px;
}

#partnership p{
	width: 100%;
	text-align: center;
    margin-bottom: 100px;
}

@media screen and (max-width:1023px){
	.sp_partner {
		display: block;
		margin: 50px 0px 120px;
	}

	#partnership .corp01, #partnership .corp02 {
		width: 80%;
		margin: 50px auto;
		float: none;
		}

	#partnership ul{
		width: 100%;
		display: block;
		text-align: center;
	}

	#partnership li{
		float: none;
		margin-bottom: 40px;
	}

	#partnership li.corp03{
		margin: 0 auto 60px ;
		padding-top: 0;
		width: 50%;
	}
}



/*------------------------------------------------------------
--------------------------------------------------------------

about

--------------------------------------------------------------
------------------------------------------------------------*/


/*------------------------------------------------------------
intro
------------------------------------------------------------*/

#program_ttl {
    display: block;
    position: relative;
    padding: 5% 10%;
    background-color: #fff;
}

#program_ttl h2 {
    margin-bottom: 0;
	font-family: “源ノ明朝”;
}


#program_detail {
	padding: 0% 10%;
}

#program_detail h3 {
    max-width: 100%;
    font-size: 20px;
    color: #FF6D60;
    margin: 40px 0px 20px;
	border-bottom: 1px dashed #FF6D60;
    font-family: “源ノ明朝”;
}

#program_detail .contunit{
    margin-bottom: 100px;
}

#ct1 .contbox{
	font-weight: bold;
	font-size: 1.5em;
	padding:20px; 
	margin-bottom: 10px;
	border: 5px solid #e9e9e9;
	box-sizing: border-box;
	text-align: center;
}

#ct1 .underintroArea{
	max-width: 100%;
	padding: 30px;
	background: #f8f7f7;
	border: 8px solid #e9e9e9;
	box-sizing: border-box;
}

#ct1 .underintroArea .ttl{
	width: 100%;
	margin-bottom: 30px;
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
}

#ct1 .underintroArea .ttl br{
	display: none;
}

#ct1 .underintroArea ul {
    text-align: center;
}

#ct1 .underintroArea li{
	display: inline-block;
}

#ct1 .underintroArea li:nth-child(1){
	margin: 20px 0px;
	width: 30%;
}

#ct1 .underintroArea li:nth-child(2){
	margin: 20px 10px;
	width: 30%;
}

#ct1 .underintroArea li:nth-child(3){
	margin: 20px 0px;
	width: 30%;
}

#ct1 .underintroArea li:nth-child(4){
    margin: 30px 10px 0px;
}

#ct1 .underintroArea li img {
	width: 100%;
    vertical-align: bottom;
}

#ct1 .introtxt_pc{
	margin-top: -60px!important;
}

#ct1 .introtxt_pc p {
    margin-bottom: 1em;
}

#ct1 .introtxt_sp{
	display: none;
}

#ct3 p:nth-child(2) {
    font-weight: bold;
	text-decoration: underline;
}

#ct3 p:nth-child(3) {
	margin-bottom: 1em;
}

#ct3 p:nth-child(4) {
    font-weight: bold;
	margin-bottom: 2.5em;
	text-decoration: underline;
}

#ct3 .dlbtn{
    width: 50%;
    padding: 20px 0;
    margin: 40px auto;
    font-weight: bold;
    font-size: 1.5em;
	color: #fff;
    text-align: center;
    background-color: #98D8AA;
    border: solid 4px #87c499;
    display: block;
	}

#ct3 .dlbtn:hover {
    text-decoration: none;
    opacity: 0.8;
    transition: 0.4s;
}

#ct3 .dlbtn.end {
	width: 50%;
    padding: 20px 0;
    margin: 10px auto 40px;
    font-weight: bold;
    font-size: 1.5em;
	text-align: center;
	background-color: #b2b2b2;
	border: solid 4px #a3a3a3;
	color: #e5e5e5;
	display: block;
}

#ct3 .dlbtn.end:hover {
    text-decoration: none;
    opacity: 1;
    transition: none;
}

#ct6 .contbox {
    margin-bottom: 2em;
}

#ct8 .contbox {
    margin-top: 1em;
}

#ct8 .padleft{
	padding-left: 15px;
}

#ct9 table{
	width: 100%;
	margin-bottom: 20px;
	border-collapse: collapse;
}

#ct9 th{
	width: 240px;
    padding: 20px;
    background: #FF6D60;
	border: 3px solid #FF6D60;
    font-size: 1.2em;
    color: #fff;
    vertical-align: middle;
    text-align: left;
}


#ct9 td{
    padding: 20px;
    background: #fff;
    vertical-align: middle;
    border: 3px solid #FF6D60;
}

#ct9 .triangle {
    width: 0;
    height: 0;
    border-left: 142px solid transparent;
    border-right: 142px solid transparent;
    border-top: 60px solid #FF6D60;
    margin: -20px 1px 0px;
}

#ct10 span{
	display: block;
	text-indent:-3em;
 	padding-left:3em;
}

#ct11 table{
	width: 100%;
	border: 1px solid #e5e5e5;
	margin-bottom: 20px;
	text-align: left;
	table-layout: fixed;
	border-collapse:collapse;
	box-sizing: border-box;
}

#ct11 th{
	width: 100%;
	padding:12px;
	background: #e5e5e5;
	text-align: left;
	display: block;
	box-sizing: border-box;
}

#ct11 td{
	padding:12px;
	display: block;
	box-sizing: border-box;
}

#ct11 p {
    font-size: 0.8em;
}

#ct12 a{
	color: #000;
}

#ct12 li{
	text-indent:-1em;
	padding-left:1em;
}

#ct12 p:nth-child(2) {
    margin-bottom: 2em;
}

@media screen and (max-width:1023px){
	#program_ttl {
		margin: 100px 0 0;
	}

	#program_ttl h2 {
	    font-size: 2em;
	}

	#ct1 .introtxt_pc{
		display: none;
	}

	#ct1 .introtxt_sp{
		display: block;
		width: 95%;
		margin:-80px auto 40px;
	}
	
	#ct1 .introtxt_sp p {
		margin-bottom: 1em;
	}

	#ct1 .underintroArea{
		padding: 15px;
		background: #f8f7f7;
		border: 8px solid #e9e9e9;
		box-sizing: border-box;
	}

	#ct1 .underintroArea .ttl{
		margin: 10px 0px;
	}

	#ct1 .underintroArea .ttl br{
		display: block;
	}

	#ct1 .underintroArea li:nth-child(1){
	}

	#ct1 .underintroArea li:nth-child(2){
		margin: 0 2%;
	}

	#ct1 .underintroArea li:nth-child(3){
	}
	
	#ct1 .underintroArea li img {
		width: 100%;
	}
	
	#ct3 .dlbtn{
		width: 90%;
		padding: 20px 10px;
		margin: 40px auto;
	}
	
	#ct3 .dlbtn.end{
		width: 90%;
		padding: 20px 10px;
		margin: 10px auto 40px;
	}

	#ct9 table{
		margin-bottom: 10px;
	}

	#ct9 th{
		width: 92%;
		padding: 4%;
		font-size: 1.2em;
		display: block;
	}

	#ct9 td{
		width: 92%;
		padding: 4%;
		display: block;
	}
	
	#ct9 .triangle {
		border-left: 100px solid transparent;
		border-right: 100px solid transparent;
		border-top: 50px solid #FF6D60;
		margin: 20px auto;
	}

	#ct11 .q_a table{
		width: 100%;
	}

	#ct11 th{
		width: 100%;
	}

	#ct11 td{
		width: 100%;
	}
}


/*------------------------------------------------------------
--------------------------------------------------------------

Sponsor

--------------------------------------------------------------
------------------------------------------------------------*/

#sponsors_base{
	width: 100%;
    position: relative;
    min-height: 80vh;
    background: url("../img/pc_sponsor.jpg") center center / cover no-repeat;
	}
	
#sponsors_base img{
	width: 100%;
	}

#sponsors_ttl {
    position: absolute;
    z-index: 10;
    display: block;
    top: 30px;
    margin: 100px 0 0;
    padding: 5% 10%;
}

#sponsors_ttl .pnl h2 {
    margin-bottom: 0;
    font-family: “源ノ明朝”;
}

#sponsors_detail {
	padding: 0% 10%;
	margin-bottom: 120px;
}

#sponsors_detail h3 {
    max-width: 100%;
    font-size: 20px;
    color: #FF6D60;
    margin: 40px 0px 20px;
	border-bottom: 1px dashed #FF6D60;
    font-family: “源ノ明朝”;
}

#sponsors_detail .contbox{
    padding: 20px 20px;
}

#sponsors_detail .contbox dt{
	font-weight: bold;
    font-size: 18px;
}

#sponsors_detail .contbox dd {
	display: inline-block;
    margin: 10px 30px 40px;
}

#sponsors_detail .contbox dd a {
	color: #000;
}

#sponsors_detail img.corp01_logo{
    height: 90px;
    width: auto;
}

#sponsors_detail img.corp02_logo{
    height: 100px;
    width: auto;
}

#sponsors_detail img.corp03_logo{
    height: 40px;
    width: auto;
}

#sponsors_detail .corp_boxs{
	margin-top: 80px;
}
#sponsors_detail .corp_box{
    margin-top: 50px;
    padding: 30px;
    border: 8px solid #e9e9e9;
	overflow: hidden;
}

#sponsors_detail .corp_box h5{
	font-size: 24px;
	line-height: 100%;
    margin: 10px 0px 30px;
	display: inline-block;
}

#sponsors_detail .corp_box h6{
	margin: 20px 0 10px;
    display: inline-block;
    border-bottom: solid #FF6D60 2px;
}

#sponsors_detail h6 img {
    width: 25px;
	}

#sponsors_detail .csite_box {
    margin: 0px 0px 15px;
}

#sponsors_detail .ttl_csite{
	padding: 5px 8px;
	margin-right: 8px;
	background-color: #FF6D60;
	font-size: 0.8em;
	color: #ffffff;
}

#sponsors_detail .corp_imgbox{
	float: right;
}

#sponsors_detail .corp_img{
    margin: 0px 0px 0px 15px;
}

#corp01 .corp_logo{
    width: auto;
    height: 100px;
    display: block;
    margin: 0px 0px 10px 103px;
}

#corp01 .corp_img{
	width:230px;
    display: block;
}

#corp02 .corp_logo{
	width: 200px;
    height: auto;
    display: block;
    margin: 0px 0px 30px 30px;
}

#corp02 .corp_img{
	width:230px;
}

#corp03 .corp_logo{
	width: 200px;
    height: auto;
    display: block;
    margin: 0px 0px 30px 30px;
}

#corp03 .corp_img{
	width:230px;
}



@media screen and (max-width:1023px){
	#sponsors_base{
		min-height: 40vh;
	}

	#sponsors_ttl {
		margin: 60px 0 0;
	}
	
	#sponsors_detail img.corp01_logo{
		height: auto;
		width: 100%;
		}

	#sponsors_detail img.corp02_logo{
		height: auto;
		width: 100%;
		}

	#sponsors_detail img.corp03_logo{
		height: auto;
		width: 70%;
		padding: 0% 15%;
		}
	
	#sponsors_detail .corp_imgbox {
		float: none;
	}

	#corp01 .corp_logo {
		margin: 10px auto;
	}

	#corp01 .corp_img {
		width: 100%;
		margin: 0px 0px 20px;
	}
	
	#corp02 .corp_logo {
		margin: 10px auto 30px;
	}
	
	#corp02 .corp_img {
		width: 100%;
		margin: 0px 0px 20px;
	}
	
	#corp03 .corp_logo {
		margin: 10px auto 30px;
	}
	
	#corp03 .corp_img {
		width: 100%;
		margin: 0px 0px 20px;
	}
}

@media screen and (max-width: 480px){
	#sponsors_detail .corp_box h5{
		width: 100%;
		text-align:center;
	}
	
	#sponsors_detail .corpttl_box > img{
		float: none;
	}

	#sponsors_detail .csite_box a{
		word-break: break-all;
	}
	
	#sponsors_detail .corp_box{
		margin:0 auto 40px;
	}
	
	#sponsors_detail .contbox dd{
    	display: block;
		margin: 10px 30px 10px;
	}
}



@media screen and (max-width: 320px){
	#sponsors_detail .contbox{
		padding: 20px 10px 0;
	}
}




/*------------------------------------------------------------
--------------------------------------------------------------

final

--------------------------------------------------------------
------------------------------------------------------------*/

#final_ttl {
    z-index: 10;
    display: block;
    top: 30px;
    margin: 100px 0 0;
	padding: 5% 10% 2%;
}

.final_contunit {
    padding: 0 10%;
    text-align: center;
}

.prisebtn, .finalbtn {
    display: inline-block;
    position: relative;
    width: 280px;
    margin: 20px 50px;
    padding: 15px 0px;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    background: #FFF;
    color: #FF6D60;
    border: solid 4px #FF6D60;
    transition: .4s;
}

.prisebtn:hover, .finalbtn:hover {
    background: #FF6D60;
    color: white;
    text-decoration: none;
}

#final_ct1 {
    margin: 100px 0px 0px;
    padding: 0 10%;
    display: flex;
}

#final_ct1 img.prisecup {
    width: 80px;
    height: 80px;
}

#final_ct1 h3 {
    width: 100%;
    font-size: 20px;
    color: #FF6D60;
	margin: 25px 0px;
    border-bottom: 1px dashed #FF6D60;
    font-family: “源ノ明朝”;
}

#final_ct2 {
    padding: 0 10%;
}

#final_ct2 h3 {
    max-width: 100%;
    font-size: 20px;
    color: #FF6D60;
    margin: 40px 0px 20px;
    border-bottom: 1px dashed #FF6D60;
    font-family: “源ノ明朝”;
}


#final {
    padding: 0% 10%;
    margin-bottom: 100px;
}

.prise_box.blue {
    border: 5px solid #0696d0;
    margin: 40px 0px 50px;
	text-align: center;
}

.idea_detail h6 {
    font-size: 1em !important;
    border-bottom: 1px dashed #0696d0;
    margin: 0px 0px 5px;
}

.prise_box.pink {
    border: 5px solid #FF6D60;
    margin: 40px 0px 50px;
	text-align: center;
}

.idea_detail.pink h6 {
    font-size: 1em !important;
    border-bottom: 1px dashed #FF6D60;
    margin: 0px 0px 5px;
}

#prise {
    padding: 0% 10%;
    margin-bottom: 100px;
}

.prise_box.red {
    border: 5px solid #de5151;
    margin-top: 20px;
}

.prise_box.yellow {
    border: 5px solid #efd12e;
    margin-top: 60px;
}

.prise_box.green {
    border: 5px solid #38a678;
    margin-top: 60px;
}

.prise_box.yellow2 {
    border: 5px solid #E6C244;
    margin-top: 60px;
}

.prise_box.green2 {
    border: 5px solid #99C774;
    margin-top: 60px;
}

.prise_box.blue2 {
    border: 5px solid #6D9ACC;
    margin-top: 60px;
}

.prise_box.orange {
    border: 5px solid #ff9933;
    margin-top: 60px;
}

/*第７回は、大賞#E6C244、優秀賞#99C774、学生#6D9ACC、特別賞#ff9933*/


.idea_info {
    display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	padding: 30px 50px 20px;
	text-align: left;
}

.idea_info1 {
    width: 40%;
	padding: 30px 0px 0px 20px;
	max-width: 400px;
}

.idea_info2 {
    width: 60%;
    float: left;
}

.idea_info .pc_priseimg {
    width: 100px !important;
    float: left;
	padding-right: 20px;
    margin-left: -20px;
}

.sp_priseimg {
    display: none;
}

.idea_info h4 {
    font-size: 1.5em;
    height: 100px;
    padding-left: 30px;
    display: table-cell;
    vertical-align: middle;
	line-height: 1.4em;
}

#final .idea_info h4 {
	padding: 30px 0px;
}

#prise .idea_info h4 {
	padding: 30px 0px;
}

.idea_info h5 {
    font-size: 1.2em;
}

.idea_info p {
    padding-left: 0px 0px 0px 50px;
    font-size: 0.7em;
}

.idea_info a {
    font-size: 1em;
	word-break: break-all;
}

.idea_detail {
    padding: 30px 50px 0px;
	text-align: left;
}

.idea_detail h6 {
    font-size: 1em !important;
    margin: 0px 0px 5px;
}

.idea_detail.red h6 {
    border-bottom: 1px dashed #de5151;
}

.idea_detail.yellow h6 {
    border-bottom: 1px dashed #efd12e;
}

.idea_detail.green h6 {
    border-bottom: 1px dashed #38a678;
}

.idea_detail.yellow2 h6 {
    border-bottom: 1px dashed #E6C244;
}

.idea_detail.green2 h6 {
    border-bottom: 1px dashed #99C774;
}

.idea_detail.blue2 h6 {
    border-bottom: 1px dashed #6D9ACC;
}

.idea_detail.orange h6 {
    border-bottom: 1px dashed #ff9933;
}

/*第７回は、大賞#E6C244、優秀賞#99C774、学生#6D9ACC、特別賞#ff9933*/


.idea_detail p {
    font-size: 1em !important;
    margin-bottom: 50px;
}

/*第６回メインカラーに変更*/
.blue2022h2 {
    color: #0696d0 !important;
	border-bottom: 3px solid #0696d0 !important;
	}

.blue2022h3 {
    color: #0696d0 !important;
	border-bottom: 1px dashed #0696d0 !important;
	}
	
/*第７回メインカラーに変更*/
.pink2023h2 {
    color: #FF6D60 !important;
	border-bottom: 3px solid #FF6D60 !important;
	}

.pink2023h3 {
    color: #FF6D60 !important;
	border-bottom: 1px dashed #FF6D60 !important;
	}	

.prisebtn2022, .finalbtn2022 {
    display: inline-block;
    position: relative;
    width: 280px;
    margin: 20px 50px;
    padding: 15px 0px;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    background: #FFF;
	color: #0696d0 !important;
    border: solid 4px #0696d0 !important;
    transition: .4s;
}

.prisebtn2022:hover, .finalbtn2022:hover {
    background: #0696d0;
    color: white  !important;
    text-decoration: none;
}

.prisebtn2023, .finalbtn2023 {
    display: inline-block;
    position: relative;
    width: 280px;
    margin: 20px 50px;
    padding: 15px 0px;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    background: #FFF;
	color: #FF6D60 !important;
    border: solid 4px #FF6D60 !important;
    transition: .4s;
}

.prisebtn2023:hover, .finalbtn2023:hover {
    background: #FF6D60;
    color: white  !important;
    text-decoration: none;
}


@media screen and (max-width:1023px){
	.prisebtn, .finalbtn {
		width: 70%;
		font-size: 1.3em;
   		padding: 10px;
   		margin: 15px auto;
		}
	
	.prisebtn2022, .finalbtn2022 {
		width: 70%;
		font-size: 1.3em;
   		padding: 10px;
   		margin: 15px auto;
		}
		
	.prisebtn2023, .finalbtn2023 {
		width: 70%;
		font-size: 1.3em;
   		padding: 10px;
   		margin: 15px auto;
		}
		   
	#final_ct1 {
		padding: 0 10% 0 5%;
		}

	#prise {
		text-align: center;
		}

	.prise_box.red {
		margin: 10px 0px 50px;
		}

	.prise_box.yellow {
		margin: 10px 0px 50px;
		}

	.prise_box.green {
		margin: 10px 0px 50px;
		}

	.prise_box.yellow2 {
		margin: 10px 0px 50px;
		}

	.prise_box.green2 {
		margin: 10px 0px 50px;
		}

	.prise_box.blue2 {
		margin: 10px 0px 50px;
		}
		
	.prise_box.orange {
		margin: 10px 0px 50px;
		}

	.idea_info {
		display: inline-block;
		padding: 0px 20px;
		}

	.idea_info1 {
		width: 100%;
		padding: 0;
		text-align: center;
		margin: 30px auto 0px;
		}

	.idea_info2 {
		width: 100%;
		padding: 0px;
		text-align: center;
		}

	.idea_info .pc_priseimg {
		display: none;
	}

	.sp_priseimg {
		width: 100px !important;
		display: inline-block;
		margin: 30px auto 0px;
		}

	.idea_info h4 {
		font-size: 1.3em;
		height: auto;
		padding: 30px 0px;
		text-align: center;
		display: block;
		}

	.idea_detail {
		padding: 40px 20px 0px;
	}
	
	.idea_detail h6 {
		text-align: left;
	}
	
	.idea_detail p {
		text-align: left;
		}
}


/*------------------------------------------------------------
--------------------------------------------------------------

report

--------------------------------------------------------------
------------------------------------------------------------*/

#report_ttl {
    display: block;
    position: relative;
	margin: 100px 0 0;
    padding: 5% 10%;
    background-color: #fff;
	}

#report_ttl h2 {
    margin-bottom: 0;
	font-family: “源ノ明朝”;
	}

#report_txt {
	padding: 0% 10%;
    margin-bottom: 100px;
	}

#report_detail {
	padding: 0% 10%;
	}

#report_detail h3 {
    max-width: 100%;
    font-size: 20px;
	line-height: 1.5em;
    color: #FF6D60;
    margin-top: 100px;
	border-bottom: 1px dashed #FF6D60;
    font-family: “源ノ明朝”;
	}

#report_detail h4 {
	font-weight: bold;
	}

#report_detail p{
    text-indent: 1em;
	}
	
#report_detail ul{
    text-indent: 1em;
	}

.report_mv1 {
    position: relative;
    overflow: hidden;
    width: 80%;
    height: 0;
    padding-top: 44.46% !important;
    margin: 40px 0px;
	}
	
.report_mv2 {
    position: relative;
    overflow: hidden;
    width: 80%;
    height: 0;
    padding-top: 44.6% !important;
    margin: 40px 0px;
	}

.report_mv3 {
    position: relative;
    overflow: hidden;
    width: 80%;
    height: 0;
    padding-top: 44.6% !important;
    margin: 80px 0px 40px;
	}

/*第６回メインカラーに変更*/
.blue2022h2 {
    color: #0696d0 !important;
	border-bottom: 3px solid #0696d0 !important;
	}

.blue2022h3 {
    color: #0696d0 !important;
	border-bottom: 1px dashed #0696d0 !important;
	}
	
/*第７回メインカラーに変更*/
.pink2023h2 {
    color: #FF6D60 !important;
	border-bottom: 3px solid #FF6D60 !important;
	}

.pink2023h3 {
    color: #FF6D60 !important;
	border-bottom: 1px dashed #FF6D60 !important;
	}
	
@media screen and (max-width:1023px){
	.report_mv1,.report_mv2,.report_mv3 {
		width: 100%;
		height: 0;
		padding-top: 55.67% !important;
	}
	
	#report_detail h4 {
		margin-bottom: 10px;
	}
	
	#report_detail p {
		font-size: 0.8em;
		line-height: 1.5em;
	}
	
	#report_detail ul {
		font-size: 0.8em;
		line-height: 1.5em;
	}
}

/*------------------------------------------------------------
--------------------------------------------------------------

report 20180314　20220318更新

--------------------------------------------------------------
------------------------------------------------------------*/
.report_gal {
    width: 960px;
}
.gal li {
    float: left;
    padding: 0 5px 5px 0;
	width:187px;
}
#report .contunit {
    margin-bottom: 60px;
}

.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
	 margin-bottom:-200px;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 60%;
     height: 60%;
}

.movieArea_ac {
    position: relative;
    overflow: hidden;
    margin: 20px auto -200px;
    width: 100%;
    height: 540px;
    padding: 0; }
	.movieArea_ac .movie-container_ac {
      position: absolute;
      top: 0;
      width: 60%;
      height: 60%;
      padding-top: 0; }
		.movieArea_ac .movie-container_ac .video-js {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        }
		.movieArea_ac .movie-container_ac .video-js:focus {
          outline-style: none;
          }
		.movieArea_ac .movie-container_ac .video-js video {
          width: 100%;
          height: auto; }
		.movieArea_ac .movie-container_ac .movie-cover {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.01); }
		.movieArea_ac .movie-container_ac .movie-cover:hover {
          cursor: pointer; }
		.movieArea_ac .movie-container_ac #movie_prs {
        display: block; } 

.movieArea_mu {
    position: relative;
    overflow: hidden;
    margin: 20px auto -200px;
    width: 100%;
    height: 540px;
    padding: 0; }
	.movieArea_mu .movie-container_mu {
      position: absolute;
      top: 0;
      width: 60%;
      height: 60%;
      padding-top: 0; }
		.movieArea_mu .movie-container_mu .video-js {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        }
		.movieArea_mu .movie-container_mu .video-js:focus {
          outline-style: none;
          }
		.movieArea_mu .movie-container_mu .video-js video {
          width: 100%;
          height: auto; }
		.movieArea_mu .movie-container_mu .movie-cover {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.01); }
		.movieArea_mu .movie-container_mu .movie-cover:hover {
          cursor: pointer; }
		.movieArea_mu .movie-container_mu #movie_prs {
        display: block; } 

.report-thumbnail {
	width: 60%;
	margin: 0 0 10pt 0;
}

	
@media screen and (max-width:1023px){
	.report_gal {
    width: 100%;
}
	.gal li {
	width:48%;
	padding:0 1%;
	float:left;
	margin-bottom:2%;
}

	#lightbox img{ 
	width:100%!important;
	height:100%!important;
}
	.lb-outerContainer{ 
	width:90%!important; 
	height:100%!important; 
}
	.lb-dataContainer, .lb-details{
		width:90%!important;
}
.lb-data{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
}

.lb-closeContainer{
	width:7%!important;
}
 .lb-close{
	 width:100%!important;
	}
.lb-prev {
	opacity :0.5!important;
  background: url(../../img/lightbox/prev.png) left 48% no-repeat!important;
  background-size:30px!important;
}

.lb-next {
	opacity :0.5!important;
  background: url(../../img/lightbox/next.png) right 48% no-repeat!important;
  background-size:30px!important;
}

.movie-wrap {
	 margin-bottom:0;
	 margin-left:5%;
}

.movie-wrap iframe {
     width: 94%;
     height: 90%;
}

.movieArea_ac {
	padding: 0px 5% 20px;
	width: 89% !important;
	height: 90% !important;
	max-width: 800px;
    margin: auto;
	}

	.movieArea_ac .movie-container_ac {
		position: relative;
		width: 100%;
		height: 0;
		padding-bottom: 56.25% !important;
		margin: 0 auto;
		overflow: hidden;
	}

.movieArea_mu {
	padding: 0px 5% 20px;
	width: 89% !important;
	height: 90% !important;
	max-width: 800px;
    margin: auto;
	}

	.movieArea_mu .movie-container_mu {
		position: relative;
		width: 100%;
		height: 0;
		padding-bottom: 56.25% !important;
		margin: 0 auto;
		overflow: hidden;
	}

.report-thumbnail {
	width: 90%;
	margin-bottom: 10pt;
	margin-left: 5%;
}

}

/*------------------------------------------------------------
--------------------------------------------------------------

animated.css × jquery.inview（アニメーション）

--------------------------------------------------------------
------------------------------------------------------------*/

.pnl,.fadeInUpTrigger,.fadeInUpTriggerOnce{
	opacity: 0;
}

.change-time{  
  animation-duration: 4.5s;/*この数字を変化させたい時間に変更*/
}



.gheader{
	padding: 15px 30px;
	display: flex;
	justify-content: space-between;

}

.toppage_firstview{
	padding: 70px 0 0;
	text-align: center;
	p {
		font-size: 16px;
		font-weight: bold;
	}
	img{
		width: 320px !important;
		margin-top: 20px;

	}
}

#container{
.gfooter {
	margin-top: 60px;
	background-color: #F8F8F8;
	ul{
		padding: 10px;
		display: flex;
		justify-content: center;
		gap: 20px;
		font-size: 14px;
		@media screen and (max-width:1023px){
			flex-wrap: wrap;
		}
	}
	.gfooter_rights{
		padding: 10px;
		gap: 10px;
		color: #fff;
		background-color: #0a3e6f;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		@media screen and (max-width:1023px){
			flex-wrap: wrap;
		}
		img{
			width: 60px;
		}
		p{
			font-size: 11px;
		}
	}
}
}
