@charset "utf-8";

@import "reset.css";
@import "utility.css";
@import "vha-webfont-ver2.css";
@import "exvalidation.css";
@import "animations.css";
@import "animate.css";
@import "skins/flat/red.css";

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * html/body
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

html {
	font-size: 62.5%; /* font-sizeは10px */
}

@media screen and (min-width: 1920px) {
    html {
        font-size: 75%; /* font-sizeは12px */
    }
}

*, *:after, *:before {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/* リンクなどの要素をタップした時の色を消す */
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* 行頭禁則文字 */
* {
	word-break: break-word;
	word-wrap: break-word;
}

body {
	position: relative;
	z-index: 0;
	width: 100%;
	min-width: 1024px;
	margin: 0;
	padding: 0;
	background: #ffffff;
	line-height: 1.5;
	font-family: "YuGothic", "游ゴシック","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","Meiryo","ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	font-style: normal;
	color: #35404f;
}

.is-ie body {
	/*font-family: "a-otf-gothic-bbb-pr6n","a-otf-futo-go-b101-pr6n-n5","Meiryo","ＭＳ Ｐゴシック","MS PGothic", sans-serif;*/
	font-family: "Meiryo","ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	min-width: auto;
	overflow-x: hidden;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * display
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.disp {
	display: block !important;
}

.disp-none {
	display: none !important;
}

.disp-table {
	display: table !important;
}

.disp-inline {
	display: inline !important;
}

.disp-inline-block {
	display: inline-block !important;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * visibility
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.visibility-hidden {
	visibility: hidden !important;
}

.visibility-visibile {
	visibility: visible !important;
}

/*-------------------------  main-visual ------------------------- */

.main-visual {
	overflow: hidden;
	position: relative;
	z-index: 0;
	width: 100%;
	height: -webkit-calc(90vh + 40rem);
	height: calc(90vh + 40rem);
	background: #ffffff;
}

.main-visual-loader-jump {
	position: fixed;;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	display: table;
	width: 35.1rem;
	height: 10rem;
	margin: auto;
}

.main-visual-loader-jump span {
	display: table-cell;
	width: 33.33%;
	vertical-align: middle;
}

.main-visual-loader-jump .mv-loader1 {
	text-align: left;
	-webkit-animation: mv-loader-bounce 1.5s infinite;
	animation: mv-loader-bounce 1.5s infinite;
	-webkit-transform-origin: center bottom;
  	transform-origin: center bottom;
}

.main-visual-loader-jump .mv-loader1 img {
	width: 11.3rem;
}

.main-visual-loader-jump .mv-loader2 {
	text-align: center;
	-webkit-animation: mv-loader-bounce 1.5s infinite;
	animation: mv-loader-bounce 1.5s infinite;
	-webkit-transform-origin: center bottom;
  	transform-origin: center bottom;
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}

.main-visual-loader-jump .mv-loader2 img {
	width: 10rem;
}

.main-visual-loader-jump .mv-loader3 {
	text-align: right;
	-webkit-animation: mv-loader-bounce 1.5s infinite;
	animation: mv-loader-bounce 1.5s infinite;
	-webkit-transform-origin: center bottom;
  	transform-origin: center bottom;
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}

.main-visual-loader-jump .mv-loader3 img {
	width: 11.3rem;
}

@-webkit-keyframes mv-loader-bounce {
  from, 6.6%, 17.6%, 26.6%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  13.3%, 14.3% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  23.3% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  33.3% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
  
 100% {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }
}

@keyframes mv-loader-bounce {
  from, 6.6%, 17.6%, 26.6%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  13.3%, 14.3% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  23.3% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  33.3% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
  100% {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }
}

.main-visual-upper {
	position: relative ;
	z-index: 2;
	width: 100%;
	height: 90vh;
	background: #ffffff;
}

.main-visual-copy-reveal-wrap {
	position: absolute;
	top: 50%;
	left: 10%;
	z-index: 3;
	width: 65.1rem;
	height: 29rem;
	margin-top: -14.5rem;
    overflow: hidden;
}

.main-visual-copy-reveal {
	display: block;
    position: relative;
    overflow: hidden;
}

/* 最初は消しておく */
.main-visual-copy {
	width: 65.1rem;
	height: 29rem;
	margin-bottom: 0;
	text-align: left;
	opacity: 0;
}

@media screen and (max-width: 1152px) {
	.main-visual-copy-reveal-wrap {
		width: 50rem;
		height: 22.3rem;
		margin-top: -11.1rem;
	}
	
	.main-visual-copy {
		width: 50rem;
		height: 22.3rem;
	}
}

.main-visual-copy img {
	width: 100%;
	height: 100%;
}

/* revealActiveクラスが追加されて.3s後に表示する */
.revealActive .main-visual-copy {
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
	opacity: 1;
}

/* before擬似要素の黒いblockにanimationをつけておく */
.main-visual-copy-reveal.revealActive:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(92,40,240);
	-webkit-animation: hideFromLeft 0.7s forwards, showFromLeft .3s forwards .3s;
	animation: hideFromLeft 0.7s forwards, showFromLeft .3s forwards .3s;
}

/* before擬似要素を左から右にスライドイン */
@-webkit-keyframes hideFromLeft {
    0% {
        -webkit-transform: translateX(-100%);
    }
    100% {
       -webkit-transform: translateX(110%);
    }
}
@keyframes hideFromLeft {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(110%);
    }
}

.main-visual-subcopy {
	display: none;
	position: absolute;
	z-index: 10;
	top: 50%;
	right: 10rem;
	width: 3rem;
	height: 41.2rem;
	margin-top: -20.6rem;
	animation-name: mVsubcopy;
	-webkit-animation-name: mVsubcopy;	
	animation-duration: 1s;	
	-webkit-animation-duration: 1s;
}

.main-visual-subcopy img {
	width: 100%;
	height: 100%;
}

@-webkit-keyframes mVsubcopy {
	0% {
		top: 45%;
		right: 10rem;
		opacity: 0;
	}
	100% {
		top: 50%;
		right: 10rem;
		opacity: 1;
	}	
}

@keyframes mVsubcopy {
	0% {
		top: 45%;
		right: 10rem;
		opacity: 0;
	}
	100% {
		top: 50%;
		right: 10rem;
		opacity: 1;
	}	
}

.main-visual-bottom {
	position: relative;
	margin-left: 10%;
	z-index: 1;
	overflow: hidden;
	width: 90%;
	height: 400px;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
}

#main-visual-movie {
	overflow: hidden;
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	min-width:100%;
	min-height:100%;
	width:auto;
	height:auto;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background: #ffffff;
}

.main-visual-movie-overlay {
	display: none;
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background: rgba(92,40,242,0.6);
}

.main-visual-movie-overlay2 {
	display: none;
	position: absolute;
	z-index: 4;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background: url('../images/pattern.png') 0 0 repeat;
}

.main-visual-scroll-arrow-text {
	display: none;
	position: absolute;
	z-index: 6;
	top: 10px;
	left: 130px;
	margin: 0;
	letter-spacing: 1px;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	text-align: end;
	color: #ffffff;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-o-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

.main-visual-scroll-arrow {
	display: none;
	overflow: hidden;
	position: absolute;
	z-index: 6;
	top: 0;
	left: 100px;
	width: 1px;
	height: 110px;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.5);
}

.main-visual-scroll-arrow::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 110px;
	margin: 0 auto;
	background-color: #ffffff;
	animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}

@-webkit-keyframes sdl {
	0% {
		-webkit-transform: scale(1, 0);
		-webkit-transform-origin: 0 0;
	}
	35% {
		-webkit-transform: scale(1, 1);
		-webkit-transform-origin: 0 0;
	}
	35.1% {
		-webkit-transform: scale(1, 1);
		-webkit-transform-origin: 0 100%;
	}
	70%, 100% {
		-webkit-transform: scale(1, 0);
		-webkit-transform-origin: 0 100%;
	}
}

@keyframes sdl {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	35% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	35.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	70%, 100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * nav
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.nav {
	display: none;
	position: absolute;
	z-index: 3;
	top: 3rem;
	right: 3rem;
	width: auto;
	height: 3.8rem;
	margin: 0 auto;
	padding: 0;
	line-height: 3.8rem;
}

@media screen and (max-width: 1152px) {
	.nav {
		top: 8rem;
		left: 0;
		right: 0;
	}
}

.nav.page {
	display: block;
}

.nav ul {
	position: relative;
	width: auto;
	height: 3.8rem;
	margin: 0 auto;
	padding: 0px;
	padding-left: 1rem;
	text-align: left;
	line-height: 3.8rem;
	font-size: 0; /*これだけでOK！*/
}

.nav ul li {
	position: relative;
	display: inline-block;
	height: 100%;
	margin: 0 2rem;
	padding: 0;
	list-style-type: none;
	text-align: center;
	vertical-align: middle;
	font-size: 1.4rem; /* フォントサイズ0になっているので指定する */
}

.nav ul li.home-icon {
	display: none;
}

.nav ul li a {
	position: relative;
	display: block;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
	font-weight: bold;
	color: #223140;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

/*
.nav ul li.page-entry a {
	position: relative;
	display: block;
	padding: 0 1.5rem;
	border-radius: 3rem;
	background: #5c28f0;
	color: #ffffff;
}
*/

.nav ul li.current_on a,
.nav ul li a:hover {
	position: relative;
	text-decoration: none;
	color: #5c28f0;
}

/*
.nav ul li.page-entry a:hover {
	position: relative;
	text-decoration: none;
	color: #ffffff;
	opacity: 0.7;
}
*/

/*
.nav ul li.page-entry.current_on a {
	text-decoration: none;
	color: #ffffff;
}
*/

.nav ul li a:before {
	content: "";
	position: absolute;
	bottom: 3px;
	left: 50%;
	height: 1px;
	width: 100%;
	margin-left: -50%;
	background: #5c28f0;
    -moz-transition: all .15s ease-in-out 0s;
    -webkit-transition: all .15s ease-in-out 0s;
    -ms-transition: all .15s ease-in-out 0s;
    -o-transition: all .15s ease-in-out 0s;
    transition: all .15s ease-in-out 0s;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
  	-ms-transform: scaleX(0);
	-o-transform: scaleX(0);
  	transform: scaleX(0);
}

/*
.nav ul li.page-entry a:before {
	display: none;
}
*/

.nav ul li.current_on a:before,
.nav ul li a:hover:before {
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	-o-transform: scaleX(1);
	transform: scaleX(1);
}

.nav.fixed {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 5rem;
	margin: 0 auto;
	background: rgba(250,250,250,0.9);
	box-shadow: 0 0 1px #cccccc;
	padding: 0;
	line-height: 5rem;
}

.nav.fixed ul {
	height: 5rem;
	margin: 0 auto;
	padding: 0;
	line-height: 5rem;
	text-align: center;
}

@media screen and (max-width: 1152px) {
	.nav.fixed ul {
		margin: 0;
		padding-left: 2rem;
	}
}

@media screen and (max-width: 1151px) {
/* 1151pxまでの幅の場合に適応される */
	.nav.fixed ul li {
		margin: 0 1.5rem;
	}
}

.nav.fixed li {
	height: 5rem;
	padding-top: 0.5rem;
	line-height: 5rem;
}

.nav.fixed li a {
	height: 4rem;
	line-height: 4rem;
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * header
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 10rem;
}

.header.page {
	position: relative;
}

.header-logo {
	display: none;
	position: absolute;
	z-index: 3;
	top: 3rem;
	left: 3rem;
	width: 34.7rem;
	height: 4rem;
}

.header-logo.page {
	display: block;
}

@media screen and (max-width: 1152px) {
	.header-logo {
		top: 2.6rem;
		width: 33.3rem;
		height: 2.3rem;
	}
}

.header-logo img {
	width: 100%;
}

.header-page {
	position: relative;
	z-index: 100;
	width: 100%;
	height: 7.5rem;
}

.header-page-logo {
	position: absolute;
	z-index: 3;
	top: 3rem;
	left: 3rem;
	width: 34.7rem;
	height: 4rem;
}

@media screen and (max-width: 1152px) {
	.header-page-logo {
		top: 2.6rem;
		width: 18rem;
		height: 2.3rem;
	}
}

.header-page-logo img {
	width: 100%;
	height: 100%;
}

.header-page-vmark {
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 60rem;
}

.header-page-vmark img {
	width: auto;
	height: 100%;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * footer
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.fixed-entry-wrap {
    display: none;
	position: fixed;
    top: 50%;
	right: 0;
	z-index: 10;
	width: 70px;
    height: 360px;
	margin: 0;
}

.fixed-entry {
	position: relative;
	display : -webkit-inline-box;
	display : -ms-inline-flexbox;
	display : -webkit-inline-flex;
	display : inline-flex;
	width: 100%;
    height: 100%;
}

.fixed-entry-btn {
	position: relative;
    display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 200px 0 0;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background: #5d10f4;
    text-align: center;
    color: #ffffff;
	transition: all 0.3s;
}

.fixed-entry-btn:before {
    content: "";
	position: absolute;
	top: 15px;
	left: 50%;
	width: 12px;
	height: 10px;
    margin-left: -6px;
	background: url('../images/triangle-lightblue.svg') 0 0 no-repeat;
	background-size: 12px 10px;
}

.fixed-entry-btn:after {
    content: "PRE-ENTRY";
	position: absolute;
	top: 37px;
	left: 80%;
    text-align: left;
    white-space: nowrap;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
    font-style: normal;
	font-size: 28px;
    -moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-o-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

.fixed-entry-btn:hover {
    box-shadow: 0 0 10px 0 rgba(255,255,255,0.5);
    color: #ffffff;
}

.fixed-entry-btn .ja {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

footer {
	position: relative;
	width: 100%;
	background: #223140;
	padding: 10rem 15rem 0;
	color: #ffffff;
}

@media screen and (max-width: 1152px) {
/* 1151pxまでの幅の場合に適応される */
	footer {
		padding: 10rem 5rem 0;
	}
}

footer a {
	color: #ffffff;
}

footer a:hover {
	color: #ffffff;
}

.footer-to-top {
	position: absolute;
	top: 0;
	right: 0;
	width: 6rem;
	height: 100%;
}

.footer-to-top a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: #00e3bd;
}

.footer-to-top a span {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 4rem;
	width: 15rem;
	height: 2rem;
	margin-top: -5rem;
	line-height: 2rem;
	text-align: center;
	letter-spacing: 0.5rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 1.2rem;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-o-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

.footer-to-top a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.2rem;
	height: 3.7rem;
	margin-top: -9rem;
	margin-left: -0.3rem;
	background: url('../images/to-top-arrow.svg') 0 0 no-repeat;
	background-size: cover;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.footer-to-top a:hover:before {
	margin-top: -10rem;
}

.footer-contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.footer-logo {
	width: 50%;
	padding: 0 5rem 5rem 0;
}

.footer-sitemap {
	width: 50%;
	padding: 0 5rem 5rem 0;
}

.footer-logo-1col {
	margin: 0;
	margin-bottom: 3rem;
	padding: 3rem 0;
	text-align: center;
}

.footer-logo-1col img {
	width: 40%;
	height: auto;
}

.footer-logo-2col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.footer-logo-2col p {
	width: 50%;
	margin-bottom: 0;
	padding: 3rem 0;
	text-align: center;
}

.footer-sitemap-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
	margin: 0 auto 1rem;
}

.footer-sitemap-link {
	display: block;
	width: 50%;
	padding: 1.5rem 2rem;
	border-bottom: 1px solid #454d55;
	font-size: 1.2rem;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.footer-sitemap-link.bt {
	border-top: 1px solid #454d55;
}

.footer-sitemap-link span {
	letter-spacing: -0.03rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 2rem;
}

.footer-sitemap-link:hover {
	background: rgba(255,255,255,0.1);
}

.footer-sitemap-sublink {
	margin-bottom: 0;
	text-align: right;
}

.footer-sitemap-sublink a {
	margin-left: 2rem;
	line-height: 1;
	font-size: 1.2rem;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.footer-sitemap-sublink a:hover {
	opacity: 0.7;
}

.footer-sns {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.footer-sns-title {
	text-align: center;
	line-height: 0.95;
	letter-spacing: -0.03rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 2rem;
}

.footer-sns-btn {
	margin-bottom: 2rem;
	text-align: center;
	line-height: 1;
}

.footer-sns-btn a {
	position: relative;
	display: inline-block;
	width: 5rem;
	height: 5rem;
	margin-left: 2rem;
	border-radius: 50%;
	background: rgba(255,255,255,0.5);
	text-decoration: none;
	line-height: 5rem;
	text-align: center;
	font-size: 2rem;
	color: #223140;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.footer-sns-btn a.first {
	margin-left: 0;
}

.footer-sns-btn a:hover {
	background: #5c28f0;
	color: #ffffff;
}

.copyright {
	position: relative;
	padding: 2rem 0;
	width: 100%;
	text-align: center;
}

.copyright small {
	line-height: 1;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 400;
	font-size: 1.2rem;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * article/section
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

article {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: #ffffff;
}

section {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

section p {
	line-height: 2.5;
	font-size: 1.7rem;
}

section ul li {
	font-size: 1.7rem;
}

section img {
	/*max-width: 80rem;*/
}

section a {
	color: #5c28f2;
}

section a:hover {
	text-decoration: underline;
}

.section-inner-15rem {
	position: relative;
	margin: 0 15rem;
	padding: 0;
}

@media screen and (max-width: 1152px) {
	.section-inner-15rem {
		margin: 0 10rem;
	}
}

.section-inner-left-10rem {
	position: relative;
	margin: 0 0 0 10rem;
	padding: 0;
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * heading
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.top-h2 {
	position: relative;
	margin-bottom: 0;
	padding-top: 4rem;
	line-height: 1.5;
	font-size: 2.5rem;
	font-weight: bold;
}

.top-h2.black {
	color: #35404f;
}

.top-h2.white {
	color: #ffffff;
}

.top-h2 .eng {
	display: inline-block;
	position: relative;
	z-index: 0;
	margin-bottom: 10px;
	line-height: .95;
	letter-spacing: -0.1rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 6rem;
}

.top-h2:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 1px;
	background: #5c28f2;
}

.top-h2.black:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 1px;
	background: #35404f;
}

.top-h2.white:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 1px;
	background: #ffffff;
}

.top-h3 {
	position: relative;
	margin-bottom: 10px;
	line-height: 1.5;
	font-size: 22px;
	font-weight: bold;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * common parts
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

hr {
	display: block;
	width: 100%;
	height: 1px;
	margin: 20px auto;
	background-color: rgba(255,255,255,0.2);
	border: 0;  /*デフォルトデザインでは線がある場合があるので、消しておく。*/
}

.link-btn {
	position: relative;
	display: inline-block;
	height: 60px;
	margin: 0;
	padding: 0 75px 0 90px;
	border-radius: 60px;
	border: 1px solid #35404f;
	background: #ffffff;
	line-height: 60px;
	color: #35404f;
	transition: all 300ms linear;
}

.link-btn:before {
	content: "\E826";
	position: absolute;
	top: 15px;
	left: 10px;
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-family: 'vha-webfont-ver2', sans-serif;
	font-size: 1em;
	transition: all 300ms linear;
}

.link-btn:hover {
	text-decoration: none;
	opacity: 0.7;
}

.link-btn:hover:before {
	left: 15px;
}

.link-btn-gradation.small {
	height: 40px;
	margin: 0;
	padding: 0 25px 0 40px;
	line-height: 40px;
	font-size: 1.4rem;
}

.link-btn-gradation.small:before {
	top: 5px;
	left: 10px;
}

.link-btn-white {
	position: relative;
	display: inline-block;
	height: 60px;
	margin: 0;
	padding: 0 75px 0 90px;
	border-radius: 60px;
	background: #ffffff;
	line-height: 60px;
	color: #5c28f2;
	transition: all 300ms linear;
}

.link-btn-white:before {
	content: "\E826";
	position: absolute;
	top: 15px;
	left: 10px;
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-family: 'vha-webfont-ver2', sans-serif;
	font-size: 1em;
	transition: all 300ms linear;
}

.link-btn-white:hover {
	text-decoration: none;
	background: rgb(255,2255,255,0.7);
}

.link-btn-white:hover:before {
	left: 15px;
}

.link-btn-url {
	position: relative;
	padding: 1rem 3rem 1rem 2.5rem;
	border: 1px solid rgba(0,227,189,0.7);
	text-decoration: none;
	font-size: 1.4rem;
	color: #00e3bd;
}

.link-btn-url:hover {
	border: 1px solid rgba(0,227,189,1);
	background: rgba(0,227,189,0.2);
	text-decoration: none;
}

.link-btn-url.black {
	position: relative;
	padding: 1rem 3rem 1rem 2.5rem;
	border: 1px solid rgba(0,0,0,1);
	text-decoration: none;
	font-size: 1.4rem;
	color: #000000;
}

.link-btn-url.black:hover {
	border: 1px solid rgba(0,0,0,1);
	background: #f7f7f7;
	text-decoration: none;
}

blockquote {
	width: 90%;
	margin: 20px auto;
	padding: 30px;
	background: #fafafa;
	line-height: 1.5em;
	border: 3px solid #dddddd;
	border-radius: 6px;
}

.note {
	margin: 20px auto;
	line-height: 1.5em;
	font-size: 14px;
}

.note dt {
	position: relative;
}

.note dt span {
	position: absolute;
}

.note dd {
	padding-left: 1em;
	padding-bottom: 10px;
}

.atten {
	width: 90%;
	margin: 20px auto;
	padding: 30px;
	background: #fafafa;
	line-height: 1.5em;
	border: 1px solid #dddddd;
    box-shadow: 0 0 0 3px #f7f7f7;
	border-radius: 6px;
}

/*-------------------------  modal ------------------------- */

.lock {
    overflow: hidden;
}

.modal-overlay {
    z-index: 10000;
    position: fixed;
    left: 0;
    bottom: 100%;
    width: 100%;
    height: 120%;
	background: rgba(92,40,242,0.9);
	opacity: 0;
}

.is-ie .modal-overlay,
.is-edge .modal-overlay {
	background: #000000;
	opacity: 1 !important;
}

.modal-wrap {
    z-index: 10001;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
	/*background: rgba(255,0,0,0.5);*/
}

.modal-content {
    display: none;
	position: relative;
	z-index: 10002;
    width: 50%;
	max-width: 70rem;
    margin: 5rem 0;
	color: #ffffff;
}

.modal-close {
	display: block;
	position: fixed;
	top: 5rem;
	right: 20%;
	width: 5rem;
	height: 5rem;
	line-height: 5rem;
	text-align: center;
	font-size: 5rem;
	cursor: pointer;
}

.modal-pic {
	position: relative;
	width: 30rem;
	height: 30rem;
	margin: 2rem auto 3rem;
}

.modal-pic img {
	width: 100%;
	height: 100%;
	border-radius: 10px;
}

.modal-name-eng {
	margin: 0 auto 2rem;
	text-align: center;
	line-height: 0.95;
	letter-spacing: -0.03rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 4.5rem;
	/*color: #00f4cb;*/
	color: #ffffff;
}

.modal-name {
	margin: 0 auto 1rem;
	text-align: center;
	line-height: 1.2;
	font-size: 2rem;
	font-weight: bold;
	color: #ffffff;
}

.modal-name .small {
	font-size: 1.4rem;
	font-weight: lighter;
}

.modal-cat {
	margin: 0 auto 2rem;
	text-align: center;
}

.modal-cat span {
	display: inline-block;
	height: 2rem;
	padding: 0 1.5rem;
	margin-right: 0.5rem;
	border: 1px solid #ffffff;
	border-radius: 3rem;
	line-height: 1.8rem;
	font-size: 1.4rem;
	font-weight: bold;
	color: #ffffff;
}

.modal-profile {
	line-height: 1.8;
	font-size: 1.6rem;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 *top page
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------  top-wrapper ------------------------- */

.top-wrapper {
	overflow: hidden;
	position: relative;
	background: #ffffff;
}

.top-content {
	position: relative;
	width: 100%;
	height: 100%;
}

/*-------------------------  section about ------------------------- */

#section-top-about {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	z-index: 0;
	width: 100%;
	margin: 0 auto;
	padding-top: 11rem;
    padding-bottom: 15rem;
	background: #ffffff url('../images/bg-section-top-about.svg') center no-repeat;
	background-size: contain;
	background-attachment: fixed;
}

@media screen and (max-width: 1280px) {
/* 1280pxまでの幅の場合に適応される */
	#section-top-about {
		background: #ffffff url('../images/bg-section-top-about.svg') center no-repeat;
		background-size: contain;
		background-attachment: scroll;
	}
}

.top-h2-about .eng {
	font-size: 7.5rem;
}

.top-h2-about:before {
	background: #5c28f2;
}

.top-about-description {
	position: relative;
	z-index: 2;
	width: 45%;
	margin: 0 auto;
}

@media screen and (max-width: 1280px) {
/* 1280pxまでの幅の場合に適応される */
	.top-about-description {
		width: 80%;
	}
}

.top-about-image {
	position: relative;
	z-index: 2;
	width: 47%;
	text-align: right;
}

.top-about-image img {
	box-shadow: 0 0 1.5rem #cccccc;
}

.top-about-logo-wrap {
	display: table;
	margin: 0 auto 10rem;
	text-align: center;
	width: 80%;
}

.top-about-logo {
	display: table-cell;
	width: 50%;
	text-align: center;
	vertical-align: middle;
}

.top-about-bn {
	width: auto;
	margin-left: -10rem;
	margin-right: -10rem;
	margin-bottom: 10rem;
	background: #f7f7f7;
	text-align: center;
}

.top-about-bn img {
	width: auto;
}

/*-------------------------  section support ------------------------- */

#section-top-support {
	position: relative;
	z-index: 0;
	width: 100%;
	margin: 0 auto;
	background: #ffffff;
}

.top-support-header {
	position: relative;
	z-index: 1;
	width: 100%;
    height: auto;
	background: url('../images/bg-section-top-support-revise.jpg') center center no-repeat;
	background-size: cover;
}

.top-support-header:before {
	content: "";
	position: relative;
	z-index: 2;
    display: block;
    padding-top: 30.28%;
}

.top-support-header:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	/*background: rgba(255,224,51,0.7);*/
	background: rgba(0,0,0,0.3);
}

.top-support-header-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
 	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	width: 100%;
	height: 100%;
	padding: 0 15rem 7rem;
	/*background: rgba(0,0,0,0.3);*/
}

@media screen and (max-width: 1152px) {
	.top-support-header-inner {
		padding: 0 5rem 7rem;
	}
}

.top-support-contents {
	position: relative;
	z-index: 4;
	margin: -7rem 15rem 0;
	padding: 5rem 0 15rem;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	background: #ffffff;
}

@media screen and (max-width: 1152px) {
	.top-support-contents {
		margin: -7rem 5rem 0;
	}
}

.top-support-detail-title {
	margin: 4rem auto;
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
}

.top-support-detail-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10rem;
	padding: 5rem;
	border: 1px solid #e3e3e3;
	border-radius: 20px;
	box-shadow: 3px 3px 0 #f7f7f7;
}

.top-support-detail {
	position: relative;
	z-index: 0;
	width: 50%;
	padding: 5rem;
}

@media screen and (max-width: 1152px) {
	.top-support-detail {
		padding: 0 2rem 5rem;
	}
}

.top-support-detail:nth-child(1),
.top-support-detail:nth-child(3) {
	border-right: 1px solid #e3e3e3;
}

.top-support-detail:nth-child(1),
.top-support-detail:nth-child(2) {
	border-bottom: 1px solid #e3e3e3;
}

/*
.top-support-detail:after {
	content: "";
	position: absolute;
	bottom: -1rem;
	right: 1rem;
	z-index: 1;
	line-height: .95;
	font-family: 'Inter', sans-serif;
	font-weight: 100;
	font-size: 15rem;
	color: #00f4cb;
	opacity: 0.3;
}

.top-support-detail:nth-child(1):after {
	content: "1";
}

.top-support-detail:nth-child(2):after {
	content: "2";
}

.top-support-detail:nth-child(3):after {
	content: "3";
}

.top-support-detail:nth-child(4):after {
	content: "4";
}
*/

.top-support-icon {
	position: relative;
	z-index: 2;
	width: 30%;
	margin: 0 auto 2rem;
	text-align: center;
}

.top-support-icon img {
	width: 100%;
	height: auto;
}

.top-support-title {
	position: relative;
	z-index: 2;
	margin-bottom: 2rem;
	text-align: center;
	line-height: 1.2;
	font-size: 2rem;
	font-weight: bold;
}

.top-support-title span {
	display: inline-block;
	vertical-align: -3px;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 3rem;
	font-style: normal;
}

.top-support-desc {
	position: relative;
	z-index: 2;
	margin-bottom: 0;
	line-height: 1.8;
	font-size: 1.4rem;
}

/*-------------------------  section judges ------------------------- */

#section-top-judges {
	position: relative;
	padding: 0 0 15rem 15rem;
	background: #ffffff;
}

@media screen and (max-width: 1152px) {
	#section-top-judges {
		padding: 0 0 0 5rem;
	}
}

.top-judges-contents {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background: url('../images/bg-section-top-judges-new.jpg') left top no-repeat;
	background-size: cover;
}

.top-judges-contents:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background: rgba(15,225,187,0.8);
}

.top-h2-judges {
	position: absolute;
	top: 20rem;
	left: 25rem;
	z-index: 2;
	padding: 0;
	letter-spacing: 0.5rem;
    white-space: nowrap;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-o-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

@media screen and (max-width: 1152px) {
	.top-h2-judges {
		left: 20rem;
	}
}

.top-h2-judges span {
	display: inline;
	letter-spacing: 0;
}

.top-h2-judges:before {
	display: none;
}

.top-h2-judges:after {
	content: "";
	position: absolute;
	top: 6rem;
	left: -20rem;
	width: 140px;
	height: 1px;
	background: #ffffff;
}

.top-h2-judges .eng {
	font-size: 11rem;
}

.top-judges-wrapper {
	overflow: hidden;
	position: relative;
	z-index: 2;
	height: 100%;
	margin-left: 40rem;
	padding: 15rem 0 15rem;
	color: #ffffff;
}

@media screen and (max-width: 1152px) {
	.top-judges-wrapper {
		margin-left: 25rem;
	}
}

.top-judges-inner {
	position: relative;
	z-index: 2;
	height: auto;
	margin: 0 auto 5rem;
	padding: 0;
}

.top-judges {
	position: relative;
	width: 100%;
	height: auto;
}

.top-judge {
	width: 39rem;
	height: auto;
	padding-right: 3rem;
	outline: none !important;
}

.top-judge-pic {
	position: relative;
	z-index: 0;
	width: 36rem;
	height: 36rem;
	outline: none !important;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-judge-pic:hover {
	-moz-transform: scale(0.98,0.98);
	-webkit-transform: scale(0.98,0.98);
	-o-transform: scale(0.98,0.98);
	-ms-transform: scale(0.98,0.98);
	transform: scale(0.98,0.98);
}

.top-judge-pic a {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
	outline: none !important;
}

.top-judge-pic a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background: rgba(0,0,0,0);
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-judge-pic a:hover:after {
	background: rgba(0,0,0,0.5);
}

.top-judge-pic img {
	position: relative;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.top-judge-modal-button {
	display: block;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 3;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	border: 1px solid #ffffff;
	background: rgba(0,0,0,0.1);
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-judge-modal-button:before {
	content: "\E8BC";
	position: absolute;
	top: 0;
	left: 0;
	width: 6rem;
	height: 6rem;
	line-height: 6rem;
	text-align: center;
	font-family: 'vha-webfont-ver2', sans-serif;
	font-size: 3rem;
	color: #ffffff;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-judge-pic a:hover .top-judge-modal-button {
	border: 1px solid #00e3bd;
}

.top-judge-pic a:hover .top-judge-modal-button:before {
	color: #00e3bd;
	-webkit-transform-origin: center;
	transform-origin: center;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.top-judge-name-eng {
	margin-bottom: 1rem;
	line-height: 1;
	letter-spacing: -0.05rem;
	font-family: "neue-haas-grotesk-display", sans-serif;
	font-weight: 600;
	font-size: 4.5rem;
}

.top-judge-name {
	margin-bottom: 1rem;
	line-height: 1;
	font-weight: bold;
	font-size: 2rem;
}

.top-judge-name span {
	font-size: 1.7rem;
}

.top-judge-status {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	font-size: 1.4rem;
}

.top-judge-cat {
	margin-bottom: 0;
}

.top-judge-cat span {
	display: inline-block;
	height: 2rem;
	padding: 0 1.5rem;
	margin-right: 0.5rem;
	border: 1px solid #ffffff;
	border-radius: 3rem;
	line-height: 1.8rem;
	font-size: 1.4rem;
	font-weight: bold;
	color: #ffffff;
}

.top-judges > .slick-prev,
.top-judges > .slick-next
{
	top: auto;
	bottom: -11.5rem;
    display: block;
    width: 7rem;
    height: 7rem;
	margin-top: 0;
	background: none;
	line-height: 7rem;
	-webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

.top-judges > .slick-prev {
    left: auto;
	right: 22rem;
	background-image: url('../images/arrow-prev.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.top-judges > .slick-next {
    right: 5rem;
	background-image: url('../images/arrow-next.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.top-judges > .slick-prev:hover {
	background: none;
	background-image: url('../images/arrow-prev.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.7;
}

.top-judges > .slick-next:hover {
	background: none;
	background-image: url('../images/arrow-next.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.7;
}

/*-------------------------  section supporters ------------------------- */

#section-top-supporters {
	position: relative;
	width: 100%;
	padding: 11rem 15rem 15rem;
}

@media screen and (max-width: 1152px) {
	#section-top-supporters {
		padding: 11rem 5rem 15rem;
	}
}

.top-h2-supporters {
	text-align: center;
}

.top-h2-supporters .eng {
	line-height: 1.2;
}

.top-h2-supporters:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50% !important;
	margin-left: -70px;
}

.supporter-divide-line {
	margin: 10rem auto;
	height: 1px;
	width: 100%;
	background: #e3e3e3;
}

.supporter-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.supporter {
	position: relative;
	width: 33.33%;
	padding: 3rem 0;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
}

.supporter.col2 {
	width: 50%;
}

.supporter p.supporter-logo {
	margin-bottom: 1.5rem;
	text-align: center;
}

.supporter p.supporter-logo a {
	display: block;
	width: 16rem;
	margin: 0 auto;
}

.supporter.col2 p.supporter-logo a {
	display: block;
	width: 20rem;
	margin: 0 auto;
}

.supporter img {
	width: 16rem;
}

.supporter.col2 img {
	width: 20rem;
}

.supporter-name {
	margin-bottom: 0;
	text-align: center;
	font-size: 1.4rem;
	font-weight: bold;
}

/*-------------------------  section mentors ------------------------- */

#section-top-mentors {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 11rem 0 15rem;
	background: rgb(0,244,203);
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwZjRjYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2MDAxZDEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(left,  rgba(0,244,203,1) 0%, rgba(96,1,209,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(0,244,203,1) 0%,rgba(96,1,209,1) 100%);
	background: linear-gradient(to right,  rgba(0,244,203,1) 0%,rgba(96,1,209,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f4cb', endColorstr='#5c28f0',GradientType=1 );
	color: #ffffff;
}

.top-mentors-desc {
	position: absolute;
	top: 4rem;
	left: 30rem;
	margin-bottom: 0;
	line-height: 1.5;
}

.top-mentors-desc span {
	font-size: 1.2rem;
}

@media screen and (max-width: 1299px) {
/* 1299pxまでの幅の場合に適応される */
	.top-mentors-res-none {
		display: none;
	}
}

@media screen and (max-width: 1279px) {
/* 1279pxまでの幅の場合に適応される */
	.top-mentors-desc {
		line-height: 1.8;
	}
}

/*親要素*/
.top-mentors {
	position: relative;
	z-index: 0;
	margin-top: 5rem;
	margin-left: -1.5rem;
	margin-right: -1.5rem;
	max-width: 144rem;
}

@media screen and (min-width: 1920px) {
	.top-mentors {
		margin-left: auto;
		margin-right: auto;
	}
}

.top-mentor {
	position: relative;
	z-index: 1;
	width: auto;
	height: auto;
	outline: none;
}

/*中要素*/
.slick-list {
	overflow: hidden;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

/*子要素 = .top-mentor */
.slick-slide {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.top-mentor-pic {
	position: relative;
	z-index: 0;
	width: 100%;
	margin-bottom: 2rem;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-mentor-pic:hover {
	-moz-transform: scale(0.98,0.98);
	-webkit-transform: scale(0.98,0.98);
	-o-transform: scale(0.98,0.98);
	-ms-transform: scale(0.98,0.98);
	transform: scale(0.98,0.98);
}

.top-mentor-pic a {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
	outline: none !important;
}

.top-mentor-pic a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-mentor-pic a:hover:after {
	background: rgba(0,0,0,0.5);
}

.top-mentor-pic img {
	position: relative;
	width: 100%;
}

.top-mentor-modal-button {
	display: block;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 3;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	border: 1px solid #ffffff;
	background: rgba(0,0,0,0.1);
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-mentor-modal-button:before {
	content: "\E8BC";
	position: absolute;
	top: 0;
	left: 0;
	width: 6rem;
	height: 6rem;
	line-height: 6rem;
	text-align: center;
	font-family: 'vha-webfont-ver2', sans-serif;
	font-size: 3rem;
	color: #ffffff;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.top-mentor-pic a:hover .top-mentor-modal-button {
	border: 1px solid #00f4cb;
}

.top-mentor-pic a:hover .top-mentor-modal-button:before {
	-webkit-transform-origin: center;
	transform-origin: center;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	color: #00f4cb;
}

.top-mentor-name-eng {
	margin-bottom: 1rem;
	line-height: 0.95;
	letter-spacing: -0.05rem;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 4.5rem;
}

.top-mentor-name {
	margin-bottom: 1rem;
	line-height: 1;
	font-weight: bold;
	font-size: 2rem;
}

.top-mentor-name span {
	font-size: 1.7rem;
}

.top-mentor-status {
	margin-bottom: 0;
	line-height: 1.5;
	font-size: 1.4rem;
}

.top-mentors .slick-prev,
.top-mentors .slick-next
{
	z-index: 10;
    position: absolute;
    top: 50%;
    display: block;
    width: 7rem;
    height: 7rem;
    padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255,255,255,0.7);
	text-align: center;
	text-indent: -9999px;
	line-height: 49px;
    font-size: 10px;
    color: #ffffff;
	color: rgba(23,255,44,1);
    cursor: pointer;
    outline: none;
	-webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);	
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.top-mentors .slick-prev {
    left: -7rem;
	background-image: url('../images/allow-simple-prev.png');
	background-position: center left 46%;
	background-repeat: no-repeat;
	background-size: 1.5rem 2.7rem;
}

.top-mentors .slick-next {
    right: -7rem;
	background-image: url('../images/allow-simple-next.png');
	background-position: center right 46%;
	background-repeat: no-repeat;
	background-size: 1.5rem 2.7rem;
}

.top-mentors .slick-prev:hover {
	background: rgba(255,255,255,1);
	background-image: url('../images/allow-simple-prev.png');
	background-position: center left 46%;
	background-repeat: no-repeat;
	background-size: 1.5rem 2.7rem;
}

.top-mentors .slick-next:hover {
	background: rgba(255,255,255,1);
	background-image: url('../images/allow-simple-next.png');
	background-position: center right 46%;
	background-repeat: no-repeat;
	background-size: 1.5rem 2.7rem;
}

/*-------------------------  section news ------------------------- */

#section-top-news {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	z-index: 0;
	width: 100%;
	margin: 0 auto;
	background: #ffe033;
	min-height: 600px;
}

.top-news-mv {
	position: relative;
	width: 20%;
	background-image: url('../images/bg-section-top-news-new.jpg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.top-news-content {
	position: relative;
	width: 80%;
	padding: 15rem 15rem 15rem 20rem;
}

@media screen and (max-width: 1152px) {
	.top-news-content {
		padding: 15rem 5rem 15rem 20rem;
	}
}

.top-h2-news {
	position: absolute;
	top: 16rem;
	left: 15rem;
	z-index: 2;
	padding: 0;
	letter-spacing: 0.5rem;
	font-size: 2rem;
    white-space: nowrap;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-o-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

.top-h2-news .eng {
	display: inline;
	letter-spacing: 0;
	font-size: 7.2rem;
}

.is-ie .top-h2-news .eng {
	background: none;
  	-webkit-background-clip: unset;
  	-webkit-text-fill-color: unset;
}

.top-h2-news:before {
	display: none;
}

.top-h2-news:after {
	content: "";
	position: absolute;
	top: 6rem;
	left: -16rem;
	width: 140px;
	height: 1px;
	background: #5c28f0;
}

.top-news-title {
	margin-bottom: 3rem;
}

.top-news-title dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0;
	border-bottom: 1px solid #354050;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.top-news-title dl:nth-child(1) {
	border-top: 1px solid #354050;
}

.top-news-title dl:hover {
	background: rgba(255,255,255,0.2);
}

.top-news-title dl dt {
	width: 15%;
	padding: 2rem 0 3rem;
	line-height: 0.95;
	letter-spacing: -0.1rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 2.8rem;
	color: #5c28f0;
}

.top-news-title dl dt span {
	font-size: 1.5rem;
	font-weight: 400;
}

.top-news-title dl dd {
	width: 85%;
	padding: 2rem 0;
	line-height: 1.5;
}

.top-news-title dl dd a {
	font-size: 1.6rem;
	color: #354050;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.top-news-title dl:hover a {
	color: #5c28f0;
}

.top-news-title dl dd a:hover {
	text-decoration: none;
}

.top-news-cat {
	display: inline-block;
	width: 12rem;
	height: 2rem;
	line-height: 2rem;
	text-align: center;
	font-size: 1.2rem;
	color: #ffffff;
}

.top-news-cat.info {
	background: #5c28f0;
}

.top-news-cat.media {
	background: #0fe1bb;
}

.top-news-cat.repo {
	background: #526177;
}

@media screen and (max-width: 1279px) {
/* 1279pxまでの幅の場合に適応される */
	.top-news-title dl dt {
		width: 20%;
	}
	
	.top-news-title dl dd {
		width: 80%;
	}
}

/*-------------------------  section reports ------------------------- */

#section-top-reports {
	position: relative;
	width: 100%;
	padding: 11rem 15rem 11rem;
	background: #fafafa;
}

@media screen and (max-width: 1152px) {
	#section-top-reports {
		padding: 11rem 5rem 15rem;
	}
}

.reports-wrap {
	width: 90rem;
	height: auto;
	margin: 0 auto;
}

/*-------------------------  section sns ------------------------- */

#section-top-sns {
	position: relative;
	width: 100%;
	padding: 11rem 15rem 15rem;
}

@media screen and (max-width: 1152px) {
	#section-top-sns {
		padding: 11rem 5rem 15rem;
	}
}

.top-h2-sns {
	text-align: center;
}

.top-h2-sns .eng {
	line-height: 1.2;
}

.top-h2-sns:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50% !important;
	margin-left: -70px;
}

.top-sns-wrap {
	width: 90rem;
	margin: 0 auto;
}

.top-sns {
	width: 40rem;
	float: left;
}

.top-sns.first {
	margin-right: 10rem;
}

@media screen and (max-width: 1280px) {
	.top-sns-wrap {
		width: 100%;
	}
	
	.top-sns {
		width: 40%;
		float: right;
	}
	
	.top-sns.first {
		margin-right: 0;
		float: left;
	}
}

.fb-page {
	box-shadow: 0 0 0 3px #f5f6f7;
}

.top-timeline-tw {
    height: 500px;
	border: 1px solid #e9eaed;
	box-shadow: 0 0 0 3px #f5f6f7;
	background: #ffffff;
    overflow: hidden;
}

.top-sns-title {
	margin-bottom: 1rem;
	text-align: center;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 3rem;
}

/*-------------------------  section relation ------------------------- */

#section-top-relation {
	position: relative;
	width: 100%;
	padding: 11rem 15rem 11rem;
	background: #fafafa;
}

@media screen and (max-width: 1152px) {
	#section-top-relation {
		padding: 11rem 5rem 15rem;
	}
}

.relation-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap; /* 画面幅に合わせてカラム落ちさせる */
	flex-wrap: wrap; /* 画面幅に合わせてカラム落ちさせる */
	width: 100%;
	height: auto;
	margin: 0 auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.relation {
	width: 30%;
	height: auto;
	padding: 3rem 0;
	text-align: center;
}

.relation img {
	width: 50%;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.relation img:hover {
	opacity: 0.7;
}

/*-------------------------  section news ------------------------- */

#section-top-action {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	z-index: 0;
	width: 100%;
	margin: 0 auto;
	background: #ffffff;
}

.top-action {
	/*width: 50%;*/
    width: 100%;
	padding: 7rem 0;
	color: #ffffff;
}

.top-action.entry {
	background: #522cec;
}

.top-action.contact {
	/*background: #454d55;*/
    background: #522cec;
}

.top-action-title {
	margin-bottom: 2rem;
	text-align: center;
	line-height: 0.95;
	letter-spacing: -0.1rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 4.5rem;
}

.top-action-desc {
	margin: 0 auto 2rem;
	line-height: 1.8;
	text-align: center;
	font-size: 1.6rem;
}

.top-action-btn {
	margin-bottom: 0;
	text-align: center;
}

.top-action-btn a {
	display: block;
	position: relative;
	width: 40%;
	height: 5rem;
	margin: 0 auto;
	border: 1px solid #ffffff;
	text-align: center;
	line-height: 4.8rem;
	font-size: 1.6rem;
	font-weight: bold;
	color: #ffffff;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

@media screen and (max-width: 1279px) {
/* 1279pxまでの幅の場合に適応される */
	.top-action-btn a {
		width: 50%;
	}
}

.top-action-btn a:after {
	content: "";
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 2rem;
	height: 2rem;
	background-image: url('../images/arrow-next.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.top-action-btn a:hover {
	background: rgba(255,255,255,0.2);
	text-decoration: none;
}

.top-action-btn a:hover:after {
	right: 1.2rem;
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 *page
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------  Common parts ------------------------- */

.section-header {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 30rem;
	margin-bottom: 6em;
}

.tatenaga .section-header {
	height: 15rem;
}

.page-heading {
	position: absolute;
	bottom: -1.5rem;
	left: 0;
	width: 100%;
	font-size: 3rem;
	font-weight: bold;
	animation-name: pageHeading;
	-webkit-animation-name: pageHeading;	
	animation-duration: 1s;	
	-webkit-animation-duration: 1s;
}

.page-heading.lh12 {
	bottom: -3.9rem;
}

.page-heading.small {
	bottom: -2rem;
}


@media screen and (max-width: 1152px) {
	.page-heading {
		bottom: -1.1rem;
	}
	
	.page-heading.lh12 {
		bottom: -2.7rem;
	}
	
	.page-heading.small {
		bottom: -2.3rem;
	}
}

@keyframes pageHeading {
	0% {
		left: 100px;
		opacity: 0;
	}
	100% {
		left: 0;
		opacity: 1;
	}	
}

@-webkit-keyframes pageHeading {
	0% {
		left: 100px;
		opacity: 0;
	}
	100% {
		left: 0;
		opacity: 1;
	}	
}

.page-heading span {
	margin-right: 4rem;
	line-height: 0.95;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 14rem;
}

.page-heading.lh12 span {
	line-height: 1.2;
}

.page-heading.small span {
	font-size: 12rem;
}

@media screen and (max-width: 1152px) {
	.page-heading span {
		font-size: 12rem;
	}
	
	.page-heading.small span {
		font-size: 10rem;
	}
}

.page-heading-picture-band {
	position: relative;
	z-index: 1;
	width: 90%;
	height: 25rem;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	background: #f7f7f7;
}

/*
.page-heading-picture-band:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
*/

.page-contents {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 15rem 15rem 0;
}

@media screen and (max-width: 1152px) {
	.page-contents {
		padding: 15rem 10rem 0;
	}
}

.page-contents-pic-left {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 15rem 0 0 15rem;
}

@media screen and (max-width: 1152px) {
	.page-contents-pic-left {
		padding: 15rem 0 0 10rem;
	}
}

.page-centering {
	position: relative;
	width: 80%;
	margin: 0 auto;
}

.page-centering.narrow {
	width: 65%;
}

@media screen and (max-width: 1152px) {
	.page-centering {
		width: 100%;
	}
	
	.page-centering.narrow {
		width: 100%;
	}
}

.page-centering-2col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 80%;
	margin: 0 auto;
	padding: 10rem 0;
	border-bottom: 1px solid #e3e3e3;
}

@media screen and (max-width: 1279px) {
	.page-centering-2col {
		width: 100%;
	}
}

.page-centering-2col.first {
	border-top: 1px solid #e3e3e3;
}

.page-centering-2col p {
	line-height: 1.8;
}

.page-centering-2col .ut-bura dl {
	line-height: 1.5;
}

.page-centering-2col .ut-bura dl.ml20 {
	margin-left: 2rem;
}

.page-centering-2col-left {
	position: relative;
	width: 30%;
	padding-right: 5rem;
}

.page-centering-2col-right {
	position: relative;
	width: 70%;
}

.page-contents-pic-left-text {
	position: relative;
	width: 53%;
	padding-right: 12.5rem;
}

@media screen and (max-width: 1280px) {
/* 1280pxまでの幅の場合に適応される */
	.page-contents-pic-left-text {
		padding-right: 5rem;
	}
}

.page-contents-pic-left-pic {
	position: relative;
	width: 47%;
	text-align: center;
}

.page-contents-pic-left-pic img {
	/*box-shadow: 0 0 1.5rem #cccccc;*/
}

.page-h2 {
	position: relative;
	padding-top: 4rem;
	line-height: 1.5;
	font-size: 2.5rem;
	font-weight: bold;
}

.page-h2.center {
	text-align: center;
}

.page-h2 .eng {
	display: inline-block;
	position: relative;
	z-index: 0;
	margin-bottom: 1rem;
	line-height: 0.95;
	letter-spacing: -0.1rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 7rem;
}

.page-h2 .eng.lh12 {
	line-height: 1.2;
}

.page-h2:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 1px;
	background: #5c28f0;
}

.page-h2.center:before {
	left: 50%;
	margin-left: -70px;
}

.page-h3 {
	position: relative;
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 2.5rem;
	font-weight: bold;
}

.page-h3.med {
	margin-bottom: 4rem;
	font-size: 3.5rem;
}

.page-h3.big {
	margin-bottom: 5rem;
	font-size: 4.5rem;
}

.page-h3.border {
	display: inline-block;
	position: relative;
	margin-bottom: 0;
	padding: 1rem 3rem;
	background: #454d55;
	line-height: 1;
	font-size: 2.5rem;
	font-weight: bold;
	color: #ffffff;
}

.body-copy {
	margin-bottom: 5rem;
	font-size: 2rem;
	text-shadow: 
       1px  1px 1px #ffffff,
      -1px  1px 1px #ffffff,
       1px -1px 1px #ffffff,
      -1px -1px 1px #ffffff,
       1px  0px 1px #ffffff,
       0px  1px 1px #ffffff,
      -1px  0px 1px #ffffff,
       0px -1px 1px #ffffff;
}

.body-copy.big {
	letter-spacing: 0.15rem;
	font-size: 3.3rem;
	font-size: 3.3rem;
}

.em1 {
	margin-bottom: 1rem;
	line-height: 1.8;
	font-size: 2.5rem;
	font-weight: bold;
}

.em2 {
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: bold;
}

.weaken {
	font-size: 1.5rem;
}

.lh18 {
	line-height: 1.5;
}

.purple-color {
	color: #5c28f2;
}

.remarks-wrap {
	width: 90%;
	max-width: 700px;
	margin: 4rem auto;
	padding: 2rem;
	border: 1px solid #e3e3e3;
	border-radius: 6px;
}

.remarks-wrap.wide {
	width: 100%;
	max-width: 100%;
	padding: 4rem;
}

table {
	border-collapse : collapse ;
	position: relative;
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #e3e3e3;
	font-size: 1.6rem;
}

table.bnone {
	border-top: none;
}

.left-td {
	position: relative;
	width: 30%;
	padding: 3rem 1rem;
	border-bottom: 1px solid #e3e3e3;
	vertical-align: middle;
	font-weight: bold;
}

.left-td.bnone {
	border-bottom: none;
	background: none;
}

.right-td {
	position: relative;
	width: 70%;
	padding: 3rem 1rem;
	border-bottom: 1px solid #e3e3e3;
	vertical-align: middle;
}

.right-td.bnone {
	border-bottom: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=password] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 2rem;
	outline: none;
	border: none;
	background: #f0f4f7;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

input.short {
	width: 15rem;
}

input.med {
	width: 30rem;
}

label {
	display: inline-block;
	vertical-align: 0.2rem;
	padding-left: 0.7rem;
	cursor: pointer;
}

textarea {
	width: 100%;
	margin: 0;
	padding: 2rem;
	resize: none;
	outline: none;
	border: none;
  	background: #f0f4f7;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}
 
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus {
	box-shadow: 0 0 0 1px #5c28f0;
	background: #ffffff;
}

.is-touch-media input[type=text]:focus,
.is-touch-media input[type=tel]:focus,
.is-touch-media input[type=email]:focus,
.is-touch-media input[type=password]:focus,
.is-touch-media textarea:focus {
		border: 1px solid #5c28f0;
		box-shadow: none;
}

:placeholder-shown { color: #999999; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder { color: #999999; }

/* Firefox 18- */
:-moz-placeholder { color: #999999; }

/* Firefox 19+ */
::-moz-placeholder { color: #999999; }

/* IE 10+ */
:-ms-input-placeholder { color: #999999; }

select {
	-moz-appearance: none;
  	-webkit-appearance: none;
  	appearance: none;
	width: 30rem;
	height: auto;
	padding: 2rem;
	border: none;
	border-radius: 0;
	outline: none;
	background: #f0f4f7;
}

button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	display: inline-block;
	outline: none;
	border: none;	
	line-height: 1;
	vertical-align: middle;
	font-family: "YuGothic", "游ゴシック","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","Meiryo","ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	cursor: pointer;
}

.button {
	outline:none;
	width: 80%;
	height: 8rem;
	border: none;
	background: #5c646f;
	font-size: 1.8rem;
	font-weight: bold;
	color: #ffffff;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.button:hover {
	background: #454b53;
}

.button:disabled {
	background: #5c646f;
	color: #7c8693;
}

.check-submit-wrap {
	margin: 40px 0;
	text-align: center;
}

.check-submit {
    display: inline;
}

.check-submit-final {
    display: inline;
}

.check-submit button {
	outline: none;
	width: 150px;
	height: 40px;
	margin: 0 20px;
	border-radius: 3px;
	border: none;
	background: #5c646f;
	font-size: 16px;
	font-weight: bold;
	color: #ffffff;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.check-submit button:hover {
	background: #454b53;
}

.check-submit button:disabled {
	background: #5c646f;
	color: #7c8693;
}

.check-submit-final .button.final-event-btn {
	height: 54px;
	padding: 0 80px;
	border-radius: 3px;
	background: rgba(10,232,246,0.2);
	border: 1px solid #07bac6;
	font-size: 16px;
	font-weight: bold;
	color: #0ae8f6;
}

.check-submit-final .button.final-event-btn:hover {
	background: rgba(10,232,246,0.4);
	box-shadow: 0 0 10px #0ae8f6;
	color: #0ae8f6;
}

.form-required {
	color: #ff00b0;
	font-weight: lighter;
}

.form-required2 {
	color: #be00be;
	font-weight: lighter;
}

.str-count-wrap {
	position: relative;
	width: 100%;
	margin-bottom: 0;
	text-align: right;
}

.str-count-wrap.short {
	display: inline-block;
	width: auto;
	margin-bottom: 0;
}

.str-count {
	margin-left: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #cccccc;
}

.str-count-subscript {
	font-size: 12px;
	color: #cccccc;
}

.tablenav {
	clear: both;
	height: 4rem;
	margin: 4rem auto 0;
	padding: 0;
	text-align: center;
	color: #ffffff;
}

.page-numbers,
.tablenav .current,
.tablenav .next,
.tablenav .prev {
	display: inline-block;
	width: 4rem;
	height: 4rem;
	margin: 0 0.3rem;
	line-height: 3.8rem;
	border: 1px solid #5c28f0;
	text-align: center;
	text-decoration: none;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	color: #5c28f0;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.tablenav .next {
	font-size: 1.6rem;
}

.tablenav .prev {
	font-size: 1.6rem;
}

.page-numbers:hover {
	background: #f7f7f7;
	text-decoration: none;
}

.tablenav .next:hover {
	background: #f7f7f7;
}

.tablenav .prev:hover {
	background: #f7f7f7;
}

.tablenav .current {
	background: #5c28f0;
	text-decoration: none;
	color: #ffffff;
}

/*------------------------- about page ------------------------- */

#phpb-about01 {
	background: url('../images/bg-phpb-about01-new.jpg');
	background-position: center;
	background-size: cover;
}

.page-about01-vmark {
	position: absolute;
	top: 35rem;
	right: -4rem;
	width: 50%;
	max-width: 80rem;
	height: auto;
}

.page-about01-vmark img {
	width: 100%;
	height: auto;
	opacity: 0.7;
}

.page-about-logo-wrap {
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
	width: 100%;
	margin: 0 auto;
    padding: 2rem 0;
    border-top: 1px solid #dddddd;
}

.page-about-logo-wrap.bb {
    border-bottom: 1px solid #dddddd;
}

.page-about-logo {
	width: 30%;
    margin-bottom: 0;
}

.page-about-logo img {
	width: 80%;
	height: auto;
}

.page-about-logo-disc {
    width: 70%;
    margin-bottom: 0;
    line-height: 1.8;
}

/*------------------------- support page ------------------------- */

#phpb-support01 {
	background: url('../images/bg-page-support01-new.jpg');
	background-position: center;
	background-size: cover;
}

#page-support01 {
	z-index: 0;
	width: auto;
	margin-top: 5rem;
	margin-left: 3%;
	margin-right: 3%;
	padding: 15rem 0 15rem;
	background: url('../images/bg-page-support01.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

#page-support01:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	height: 100%;
	/*background: rgba(204,230,243,0.8);*/
	background: rgba(255,255,255,0.8);
}

#page-centering-support01 {
	z-index: 2;
}

#page-h2-support01 {
	text-align: center;
	color: #5c28f0;
}

#page-h2-support01 .eng {
	background: none;
	background-clip: unset;
  	-webkit-background-clip: unset;
  	-webkit-text-fill-color: unset;
	color: #5c28f0;
}

#page-h2-support01:before {
	background: #5c28f0;
}

#page-h2-support01 .eng.visible:after {
	display: none;
}

.page-support01-desc {
	position: relative;
	width: auto;
	margin: 4rem 15rem;
	padding: 4rem 0;
}

.page-support01-desc:before,
.page-support01-desc:after {
    content: "";
    position: absolute;
    top: -2px;
    bottom: -2px;
    z-index: 1;
    width: 10px;
    border: 1px solid #223140;
}

.page-support01-desc:before {
    left: -2px;
    border-right:none;
}

.page-support01-desc:after {
    right: -2px;
    border-left:none;
}

.page-support01-intro {
	position: relative;
	width: 50rem;
	margin: 0 auto 10rem;
	padding: 2rem 0;
	text-align: center;
	line-height: 1.8;
}

.page-support01-intro:before,
.page-support01-intro:after {
    content: "";
    position: absolute;
    top: -2px;
    bottom: -2px;
    z-index: 1;
    width: 10px;
    border: 1px solid #223140;
}

.page-support01-intro:before {
    left: -2px;
    border-right:none;
}

.page-support01-intro:after {
    right: -2px;
    border-left:none;
}

.page-support-prize-title {
	margin-bottom: 1rem;
	text-align: center;
	line-height: 1;
	font-size: 3.5rem;
	font-weight: bold;
}

.page-support02-intro {
    width: 80%;
    margin: 0 auto 2rem;
}

@media screen and (max-width: 1200px) {
	.page-support02-intro {
		width: 100%;
	}
}

.page-support-detail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	width: 100%;
	padding: 3rem 3rem;
	border-bottom: 1px solid #e3e3e3;
}

.page-support-detail.first {
	border-top: 1px solid #e3e3e3;
}

.page-support-icon {
	position: relative;
	width: 25%;
	text-align: center;
}

.page-support-icon img {
	position: relative;
	width: 50%;
}

.page-support-icon:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	margin-top: -7.5rem;
	line-height: .95;
	font-family: 'Inter', sans-serif;
	font-weight: 100;
	font-size: 15rem;
	color: #00f4cb;
	opacity: 0.3;
}

.page-support-text {
	position: relative;
	width: 75%;
}

.page-support-title {
	position: relative;
	margin-bottom: 2rem;
	line-height: 1.2;
	font-size: 2.5rem;
	font-weight: bold;
	color: #5c28f0;
}

.page-support-desc {
	line-height: 1.8;
	font-size: 1.6rem;
}

.page-support03-intro {
	margin-bottom: 4rem;
	text-align: center;
}

.page-support03-intro span {
	font-size: 1.2rem;
	font-weight: lighter;
}

@media screen and (max-width: 1152px) {
	.page-support03-intro {
		text-align: left;
	}

	.page-support03-intro br.none {
		display: none;
	}
}

.page-support-mentors {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
	width: 100%;
	max-width: 120rem;
	margin: 0 auto;
}

.page-support-mentor {
	position: relative;
	z-index: 1;
	width: 30%;
	height: auto;
	margin-bottom: 6.6%;
	outline: none;
}

.page-support-mentor-pic {
	position: relative;
	z-index: 0;
	width: 100%;
	margin-bottom: 2rem;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.page-support-mentor-pic:hover {
	-moz-transform: scale(0.98,0.98);
	-webkit-transform: scale(0.98,0.98);
	-o-transform: scale(0.98,0.98);
	-ms-transform: scale(0.98,0.98);
	transform: scale(0.98,0.98);
}

.page-support-mentor-pic a {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
	outline: none !important;
}

.page-support-mentor-pic a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background: rgba(0,0,0,0);
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.page-support-mentor-pic a:hover:after {
	background: rgba(0,0,0,0.5);
}

.page-support-mentor-pic img {
	position: relative;
	width: 100%;
	border-radius: 20px;
}

.page-support-mentor-modal-button {
	display: block;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 3;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	border: 1px solid #ffffff;
	background: rgba(0,0,0,0.1);
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.page-support-mentor-modal-button:before {
	content: "\E8BC";
	position: absolute;
	top: 0;
	left: 0;
	width: 6rem;
	height: 6rem;
	line-height: 6rem;
	text-align: center;
	font-family: 'vha-webfont-ver2', sans-serif;
	font-size: 3rem;
	color: #ffffff;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.page-support-mentor-pic a:hover .page-support-mentor-modal-button {
	border: 1px solid #0fe1bb;
}

.page-support-mentor-pic a:hover .page-support-mentor-modal-button:before {
	color: #0fe1bb;
	-webkit-transform-origin: center;
	transform-origin: center;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.page-support-mentor-name-eng {
	margin-bottom: 1rem;
	line-height: 1;
	letter-spacing: -0.05rem;
	font-family: 'neue-haas-grotesk-display', sans-serif;
	font-weight: 600;
	font-size: 4.5rem;
	color: #5c28f0;
}

@media screen and (max-width: 1152px) {
	.page-support-mentor-name-eng {
		font-size: 3.5rem;
	}
}

.page-support-mentor-name {
	margin-bottom: 1rem;
	line-height: 1;
	font-weight: bold;
	font-size: 2rem;
}

.page-support-mentor-name span {
	font-size: 1.7rem;
}

.page-support-mentor-status {
	margin-bottom: 1.5rem;
	line-height: 1.5;
	font-size: 1.4rem;
}

.page-support-mentor-cat {
	margin-bottom: 0;
}

.page-support-mentor-cat span {
	display: inline-block;
	height: 2rem;
	padding: 0 1.5rem;
	margin-right: 0.5rem;
	border: 1px solid #5c28f0;
	border-radius: 3rem;
	line-height: 1.8rem;
	font-size: 1.4rem;
	font-weight: bold;
	color: #5c28f0;
}

/*------------------------- page adopted member ------------------------- */

#phpb-adopted01 {
	background: url('../images/bg-phpb-adopted01.jpg');
	background-position: center;
	background-size: cover;
}

.page-adopted-members {
	position: relative;
	width: 100%;
	max-width: 120rem;
	margin: 0 auto;
}

.tab-radius {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

.tab-radius:after {
    position: absolute;
    content: "";
    width: 100%;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #e3e3e3;
    z-index: 1;
}

.tab-radius li {
	display: inline-block;
	position: relative;
	z-index: 0;
	width: 200px;
	height: 60px;
	margin: 0 20px 0 0;
	border: 1px solid #e3e3e3;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	background: #eceeef;
	box-shadow: 1px 1px -2px #f5f6f7;
	line-height: 59px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: #a1a8b2;
	cursor: pointer;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.tab-radius li.active {
	z-index: 2;
	border-bottom-color: #ffffff;
	background: #ffffff;
	color: #454b53;
}

.tab-radius:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	border-bottom: 1px solid #e3e3e3;
}

.tab-radius li:before,
.tab-radius li:after {
	content: "";
	position: absolute;
	bottom: -1px;
	width: 6px;
	height: 6px;
	border: 1px solid #e3e3e3;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.tab-radius li:before {
	left: -6px;
	border-bottom-right-radius: 6px;
	border-width: 0 1px 1px 0;
	box-shadow: 2px 2px 0 #eceeef;
}

.tab-radius li:after {
	right: -6px;
	border-bottom-left-radius: 6px;
	border-width: 0 0 1px 1px;
	box-shadow: -2px 2px 0 #eceeef;
}

.tab-radius li.active:before {
	box-shadow: 2px 2px 0 #ffffff;
}

.tab-radius li.active:after {
	box-shadow: -2px 2px 0 #ffffff;
}

.tab-radius-contents {
	clear: both;
	overflow: hidden;
	width: 100%;
    margin: 0 auto;
	padding: 20px;
}

.tab-radius-box {
	display: none;
}

.page-adopted-wrap {
	display: table;
	width: 100%;
	margin-bottom: 4rem;
    padding-top: 4rem;
}

.page-adopted-wrap.bt {
	border-top: 1px solid #e3e3e3;
}

.page-adopted-pic {
	display: table-cell;
	width: 30%;
	vertical-align: top;
}

.page-adopted-pic img {
	width: 85%;
	border-radius: 20px;
}

.page-adopted-text {
	display: table-cell;
	width: 70%;
	vertical-align: top;
}

.page-adopted-title {
	margin-bottom: 1rem;
	line-height: 1.5;
	font-weight: 600;
	font-size: 2.4rem;
	color: #5c28f0;
}

.page-adopted-name {
	margin-bottom: 1rem;
	line-height: 1.5;
	font-weight: 600;
	font-size: 2rem;
}

.page-adopted-name span {
	font-weight: 600;
	font-size: 1.6rem;
}

.page-adopted-profile {
	margin-bottom: 0;
	line-height: 1.8;
}

.page-adopted-link {
	margin-top: 2rem;
	margin-bottom: 0;
}

.page-adopted-link a {
	display: inline-block;
	height: 3rem;
	padding: 0 5px;
	border-radius: 4px;
	background: #5c28f0;
	text-decoration: none;
	line-height: 3rem;
	color: #ffffff;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.page-adopted-link a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/*------------------------- application page ------------------------- */
#phpb-application01 {
	background: url('../images/bg-phpb-application01-new.jpg');
	background-position: center;
	background-size: cover;
}

/*------------------------- entry page ------------------------- */
#phpb-entry01 {
	background: url('../images/bg-phpb-entry01-new.jpg');
	background-position: center;
	background-size: cover;
}

/*------------------------- entry page ------------------------- */
#phpb-contact01 {
	background: url('../images/bg-phpb-contact01-new.jpg');
	background-position: center;
	background-size: cover;
}

/*------------------------- briefing page ------------------------- */
#phpb-briefing01 {
	background: url('../images/bg-phpb-briefing01.jpg');
	background-position: center;
	background-size: cover;
}

/*------------------------- sitemap page ------------------------- */
#phpb-sitemap01 {
	background: url('../images/bg-phpb-sitemap01.jpg');
	background-position: center;
	background-size: cover;
}

/*------------------------- news page ------------------------- */
#phpb-news01 {
	background: url('../images/bg-phpb-news01.jpg');
	background-position: center;
	background-size: cover;
}

.news-all-wrap {
	position: relative;
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width: 1152px) {
	.news-all-wrap {
		width: 100%;
	}
}

.news-all-list {
	position: relative;
	padding: 3rem 5rem 3rem 2rem;
	border-bottom: 1px solid #e3e3e3;
	cursor: pointer;
	-webkit-transition: all 300ms linear;
	-moz-transition: all 300ms linear;
	-o-transition: all 300ms linear;
	-ms-transition: all 300ms linear;
	transition: all 300ms linear;
}

.news-all-list:before {
	content: "\E842";
	position: absolute;
	top: 50%;
	right: 3rem;
	width: auto;
	height: 3rem;
	margin-top: -1.5rem;
	line-height: 1;
	font-family: 'vha-webfont-ver2', sans-serif;
	font-size: 3rem;
	color: #5c28f0;
	-webkit-transition: all 300ms linear;
	-moz-transition: all 300ms linear;
	-o-transition: all 300ms linear;
	-ms-transition: all 300ms linear;
	transition: all 300ms linear;
}

.news-all-list:nth-of-type(1) {
	border-top: 1px solid #e3e3e3;
}

.news-all-list:hover {
	background: #fafafa;
}

.news-all-list:hover:before {
	right: 2rem;
}

.news-all-list dt {
	height: 2rem;
	margin-bottom: 2rem;
	line-height: 2rem;
	font-size: 1.2rem;
}

.news-all-list dt .date {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
}

.news-all-list dd {
	margin-bottom: 0;
	line-height: 1.5em;
	font-size: 2rem;
	font-weight: bold;
}

.news-all-list a,
.news-all-list a:hover {
	text-decoration: none;
	color: #5c28f0;
}

.news-all-cat {
	display: inline-block;
	width: 12rem;
	height: 2rem;
	margin-right: 1rem;
	line-height: 2rem;
	text-align: center;
	font-size: 1.2rem;
	color: #ffffff;
}

.news-all-cat.info {
	background: #5c28f0;
}

.news-all-cat.media {
	background: #298ace;
}

.news-all-cat.repo {
	background: #454d55;
}

/*------------------------- reports page ------------------------- */
#phpb-reports01 {
	background: url('../images/bg-phpb-reports01.jpg');
	background-position: center;
	background-size: cover;
}

/*------------------------- page sitemap ------------------------- */

.sitemap,
.sitemap ul {
    sitemap-style-type: none;
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style: none;
}

.sitemap ul {
    position: relative;
    margin-left: 4rem;
}

.sitemap ul:before {
    content: "";
    display: block;
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0;
    border-left: 1px solid #e3e3e3;
}

.sitemap li {
    list-style-type:none;
    position: relative;
    margin: 0;
    padding: 0.3rem 0 0.3rem 6rem;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 4rem;
    font-weight: bold;
    font-size: 1.6rem;
}

.sitemap li a {
    position:relative;
    padding: 0.5rem 2rem;
	border: 1px solid #5c28f0;
    border-radius: 0.3rem;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 2rem;
    font-weight: bold;  
	color: #5c28f0;
    -webkit-transition: all 200ms linear;
    -moz-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    -ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.sitemap li ul li ul li a {
    padding: 0;
    border: none;
    font-size: 1.6rem;
	color: #223140;
}

.sitemap li a:hover {
	border: 1px solid #5c28f0;
    background: rgba(96,1,209,0.1);
    color: #5c28f0;
}

.sitemap li ul li ul li a:hover {
	border: none;
    background: none;
    text-decoration:underline;
    color: #5c28f0;
}

.sitemap li ul li ul li a:hover {
	color: #5c28f0;
}

.sitemap ul li:before {
    content: "";
    display: block;
	position: absolute;
    top: 2.3rem;
    left: 0;
    width: 5.5rem;
    height: 0;
    border-top: 1px solid #e3e3e3;
}

.sitemap ul li:last-child:before {
	top: 2.3rem;
    bottom: 0;
    background: #ffffff;
    height: auto;
}

/*-------------------------404 page ------------------------- */

.not-found-message {
	margin: 15rem auto;
	width: 100%;
	text-align: center;
	color: #555555;
}

.not-found-num {
	line-height: 1;
	letter-spacing: -2rem;
	text-align: center;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 30rem;
}

.not-found-message a {
	margin: 0 20px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #ffffff;
}

.not-found-message a:hover {
	text-decoration: underline;
}

/*------------------------- single ------------------------- */

.single-h2 {
	padding: 0 0 3rem;
	text-align: left;
	line-height: 1.5;
	font-size: 4rem;
	font-weight: bold;
	word-break: normal;
    word-wrap: break-word;
}

.single-date {
	padding-bottom: 3rem;
	border-bottom: 1px solid #e3e3e3;
	line-height: 2rem;
}

.single-date .date {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
}

.single-date .news-all-cat {
	width: 14rem;
	height: 2.5rem;
	line-height: 2.5rem;
	font-size: 1.5rem;
}

.single-contents img {
	display: block;
    max-width: 100%;
    height: auto;
    margin: 2rem auto;
	border-radius: 6px;
    clear: both;
}

.single-contents h2 {
	margin: 2rem 0;
	font-size: 1.8rem;
	font-weight: bold;
}

.single-contents h3 {
	margin: 1rem 0;
	font-size: 1.6rem;
	font-weight: bold;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
	margin-bottom: 20px;
    height: 0;
/*  overflow: hidden; */
}
  
.video-container iframe,  
.video-container object,  
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 *Wordpress Settings
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.alignnone {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.aligncenter {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.alignleft {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.alignright {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.wp-caption-text {
	font-size: 10px;
	margin-top: 0;
	margin-bottom: 20px;
	text-align: center;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 *Google reCAPTCHA
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.g-recaptcha {
	margin: 40px auto 0;
	width: 300px;
}