@charset "UTF-8";


/* screens smaller than 690---------------------------------------------------------- */
@media only screen and (max-width:690px) {



body {
	width: 100%;
	min-width: 100%;
}

a:hover {
	color: #03599e;
}
a[href^="tel:"] {
	pointer-events: auto;
	color: #333;
	text-decoration: none;
}





#container {
	display: block;
	width: 100%;
	padding: 6% 0 10% 0;
}

#main__contents {
	width: 100%;
	padding: 0 2%;
}

#side_contents {
	width: 100%;
	padding: 8%;
}
#side_contents > div+div {
	margin-top: 20px;
}





/* header */
/*------------------------------------------------------------------------------*/
header {
	height: auto;
	padding: 10px 2%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
#header_main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
#header_main h1 {
	width: 75%;
	position: static;
	-webkit-transform: translateY(0%) translateX(0%);
	transform: translateY(0%) translateX(0%);
}
#header_main h1 a {
	width: 100%;
}
#header_main h1 img {
	max-width: 100%;
	max-height: 100%;
}
#header_info_area {
	display: none;
}

#sp_nav_btn {
	width: 9.375%;
	padding-top: 9.375%;
	position: relative;
}
#sp_nav_btn #btn_nav {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #009143;
	position: absolute;
	top: 0;
	left: 0;
}
#sp_nav_btn .menu-trigger {
	display: block;
	width: 66.66%;
	height: 48%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}
#sp_nav_btn .menu-trigger > span {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #fff;
	position: absolute;
	transition: all .3s;
}
#sp_nav_btn .menu-trigger > span.bar:nth-of-type(1) {
	top: 0;
}
#sp_nav_btn .menu-trigger > span.bar:nth-of-type(2) {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#sp_nav_btn .menu-trigger > span.bar:nth-of-type(3) {
	bottom: 0;
}
#sp_nav_btn .menu-trigger.active span.bar:nth-of-type(1) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
}
#sp_nav_btn .menu-trigger.active span.bar:nth-of-type(2) {
	opacity: 0;
}
#sp_nav_btn .menu-trigger.active span.bar:nth-of-type(3) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}



#blank_page_tpl #sp_nav_btn {
	display: none;
}





/* footer */
/*------------------------------------------------------------------------------*/
footer > .footer_banner_area > .inner {
	width: 100%;
	padding: 6% 8%;
}
footer > .footer_banner_area > .inner > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}
footer > .footer_banner_area > .inner > ul > li {
	width: 44%;
	padding: 0;
}
footer > .footer_banner_area > .inner > ul > li:nth-of-type(n+3) {
	margin-top: 4%;
}
footer > .footer_banner_area > .inner > ul > li > a {
	display: block;
}
footer > .footer_banner_area > .inner > ul > li > a:hover {
	opacity: .7;
}
footer > .footer_banner_area > .inner > ul > li > a > img {
	width: 100%;
	height: auto;
}
footer > .footer_banner_area > .inner > ul > li.border > a {
	border: 1px solid #eee;
}

footer > .footer_main {
	display: block;
	width: 100%;
	padding: 6% 2% 3% 2%;
}
footer .inner_main h2 {
	font-size: 6vw;
	margin-bottom: .9em;
}
footer .inner_main h2 span {
	display: block;
	text-align: center;
}
footer .inner_main h2 span+span {
	font-size: 5vw;
	margin-top: .2em;
	padding-left: 0;
}
footer .inner_main li {
	font-size: 4vw;
	line-height: 1.4;
}
footer .inner_main li+li {
	margin-top: .8em;
}
footer .inner_main li > span {
	display: block;
	text-align: center;
}
footer .inner_main li a {
	color: #fff;
}
footer .inner_main li a:hover {
	color: #fff;
}
footer .inner_sub {
	display: block;
	margin-top: 20px;
}
footer .inner_sub > div {
	text-align: center;
}
footer .inner_sub .youtube a {
	font-size: 5.2vw;
}
footer .inner_sub .youtube a:hover {
	color: #fff;
}
footer .inner_sub small {
	font-size: 2.8vw;
	padding-top: .8em;
}


#pagetop {
	width: 30px;
	height: 30px;
	font-size: 1.2em;
}





/* nav */
/*------------------------------------------------------------------------------*/
nav {
	display: none;
	width: 100%;
	height: 120vh;
	background-color: #fff;
	position: fixed;
	left: 0;
	z-index: 1000;
}
nav > ul {
	display: block;
	width: 100%;
	height: 100%;
	border-top: 2px solid #009143;
}
nav > ul > li {
	width: 100%;
	height: auto;
	position: relative;
}
nav > ul > li+li {
	border-top: 1px solid #c3ccc8;
}
nav > ul > li+li:before {
	display: none;
}
nav > ul > li > a {
	display: block;
	font-size: 3.8vw;
	background-color: #fff;
	padding: 2.5% 0;
}
nav > ul > li > a:after {
	display: none;
}
nav > ul > li > a span {
	display: block;
	text-align: center;
}
nav > ul > li > a span.icon {
	font-size: 1.4em;
	margin-right: 0;
	padding-bottom: 1%;
}
nav > ul > li.about > a > span.icon { color: #f2a266; }
nav > ul > li.event > a > span.icon { color: #009143; }
nav > ul > li.company > a > span.icon { color: #0888d1; }
nav > ul > li.program > a > span.icon { color: #d3a840; }
nav > ul > li.business > a > span.icon { color: #e4679f; }
nav > ul > li > a:hover {
	color: #222;
}
nav > ul > li.about:hover > a { background-color: #fff; }
nav > ul > li.event:hover > a { background-color: #fff; }
nav > ul > li.company:hover > a { background-color: #fff; }
nav > ul > li.program:hover > a { background-color: #fff; }
nav > ul > li.business:hover > a { background-color: #fff; }
nav > ul > li:hover > a:after {
	opacity: 1;
}

nav > ul > li > ul {
	display: none;
	width: 100%;
	background-color: #f2faf6;
	border-bottom-right-radius : 0;
	-webkit-border-bottom-right-radius: 0;
	-moz-border-radius-bottomright: 0;
	border-bottom-left-radius : 0;
	-webkit-border-bottom-left-radius: 0;
	-moz-border-radius-bottomleft: 0;
	box-shadow: none;
	padding: 0 5px;
	visibility: visible;
	opacity: 1;
	position: static;
	transition: none;
}
nav > ul > li > ul li {
	border-top: 1px solid #c5d2cb;
	padding: .2em 0;
}
nav > ul > li > ul a {
	display: flex;
	align-items: center;
	font-size: 3.6vw;
	font-weight: bold;
	color: #222;
	line-height: 1.2;
	text-decoration: none;
	border-radius: .3em;
	padding: .6em 0 .6em .5em;
}
nav > ul > li > ul a > span {
	display: inline-flex;
	align-items: center;
}
nav > ul > li > ul a:hover {
	color: #222;
	background-color: #f2faf6;
}

nav > ul > li > ul a.noLink {
	color: #ccc;
}
nav > ul > li > ul a.noLink > span:before {
	background-color: #ccc;
}


nav > ul > li.myPage {
	display: block;
	border-bottom: 1px solid #c3ccc8;
}
nav > ul > li.myPage > a {
	color: #fff;
	background-color: #009143;
}
nav > ul > li.myPage > a.noLink {
	color: #ccc;
	background-color: #fff;
}


.nav_sp_sub_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 15%;
	height: 100%;
	font-size: 4vw;
	color: #79a28c;
	line-height: 1;
	background-color: #f2faf6;
	border-left: 1px solid #c5d2cb;
	position: absolute;
	top: 0;
	right: 0;
}
.nav_sp_sub_btn i {
	transition: all .2s;
}
.nav_sp_sub_btn.active i {
	transform:rotate(180deg);
}





#sp_lang {
	display: block;
}
#sp_lang ul {
	display: flex;
	justify-content: center;
	background-color: #eee;
	margin: 0;
	padding: 2% 3%;
}
#sp_lang ul li {
	width: 30%;
	border: none;
	margin: 0;
	padding: 0 2%;
}
#sp_lang ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-size: 3.6vw;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	background-color: #03599e;
	border-radius: .2em;
	padding: .4em 0;
}





/* side_exhibit_area */
/*------------------------------------------------------------------------------*/
#side_exhibit_area {
	background-size: cover;
	padding: 6% 6% 3% 6%;
}
#side_exhibit_area h2 {
	font-size: 7vw;
}
#side_exhibit_area p {
	font-size: 3.6vw;
}
#side_exhibit_area a {
	font-size: 4.6vw;
	padding: .8em 0;
}
#side_exhibit_area:hover {
	opacity: 1;
}
#side_exhibit_area:hover a {
	color: #fff;
	background-color: #e52525;
}





/* side_youtube_area */
/*------------------------------------------------------------------------------*/
#side_youtube_area a {
	padding: 6% 0 5% 0;
}
#side_youtube_area a > .icon_box {
	font-size: 7vw;
}
#side_youtube_area a > .icon_box > .icon {
	font-size: 1.6em;
}
#side_youtube_area a > .text_box {
	font-size: 3.6vw;
}
#side_youtube_area a:hover {
	opacity: 1;
}





/* side_movie_area */
/*------------------------------------------------------------------------------*/
#side_movie_area {
	display: none;
}
/* side_movie_area_sp */
/*------------------------------------------------------------------------------*/
#side_movie_area_sp {
	display: block;
}
#side_movie_area_sp .movie_main {
	position:relative;
	width: 100%;
	padding-top:56.25%;
}
#side_movie_area_sp .movie_main+.movie_main {
	margin-top: 20px;
}
#side_movie_area_sp .movie_main iframe {
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}





/* side_banner_area */
/*------------------------------------------------------------------------------*/
#side_banner_area {
	display: none;
}





/* common_exhibit_area */
/*------------------------------------------------------------------------------*/
#common_exhibit_area {
	width: 100%;
	margin: 12% auto 0 auto;
	padding: 6% 6% 3% 6%;
}
#common_exhibit_area h2 {
	font-size: 7vw;
}
#common_exhibit_area p {
	font-size: 3.6vw;
}
#common_exhibit_area a {
	font-size: 4.6vw;
}
#common_exhibit_area:hover {
	opacity: 1;
}
#common_exhibit_area:hover a {
	color: #fff;
	background-color: #e52525;
}


#top #common_exhibit_area {
	display: none;
}


#common_exhibit_area02 .inner {
	margin-bottom: 3%;
	padding: 6% 3%;
}
#common_exhibit_area02 .inner > p {
	font-size: 4.2vw;
}
#common_exhibit_area02 .btn_box {
	padding-top: 3%;
}
#common_exhibit_area02 a {
	display: flex;
	font-size: 4.4vw;
	padding: .8em 0;
}
#common_exhibit_area02 a:hover {
	color: #fff;
	background-color: #e52525;
}





/* common_contents_banner */
/*------------------------------------------------------------------------------*/
.common_contents_banner {
	display: block;
	padding: 6% 2% 0 2%;
}
.common_contents_banner > ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.common_contents_banner > ul > li {
	width: 32%;
}
.common_contents_banner > ul > li a {
	display: block;
	color: #fff;
	text-decoration: none;
	background-color: #fcc;
	border-radius: .5em;
	overflow: hidden;
}
.common_contents_banner > ul > li a > span {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.2;
}
.common_contents_banner > ul > li a > span.icon {
	align-items: flex-end;
	font-size: 8vw;
	height: 1.5em;
}
.common_contents_banner > ul > li a > span.title {
	font-size: 3.6vw;
	font-weight: bold;
	height: 2rem;
	text-align: center;
}
.common_contents_banner > ul > li a > span.link {
	font-size: 2.4vw;
	padding: .3em 0 .5em 0;
}

.common_contents_banner > ul > li.company a {
	background-color: #0888d1;
	border: 2px solid #006ca9;
}
.common_contents_banner > ul > li.supporter a {
	background-color: #ffab3d;
	border: 2px solid #e6a418;
}
.common_contents_banner > ul > li.business a {
	background-color: #e4679f;
	border: 2px solid #d14483;
}
.common_contents_banner > ul > li.business a > span.title {
	font-size: 2.8vw;
}





/* common__page__title */
/*------------------------------------------------------------------------------*/
#common__page__title {
	padding: 10% 0;
}
#common__page__title h1 {
	width: 100%;
	font-size: 4.6vw;
}
#common__page__title h1 > span {
	width: 90%;
	padding: 1em 0;
}





/* subtitle */
/*------------------------------------------------------------------------------*/
.subtitle01 {
	font-size: 4vw;
	background: url(../images/icon01.png) no-repeat .5em 50% #03599e;
	background-size: 6%;
	margin-bottom: 4%;
	padding: .5em 0 .5em 2.4em;
}

.subtitle02 {
	font-size: 3.8vw;
	margin-bottom: 3%;
	padding: .3em 0 .3em .5em;
}

.subtitle03 {
	font-size: 3.7vw;
}





.section+.section {
	margin-top: 12%;
}
.section_main {
	line-height: 1.8;
	padding: 0 .5em;
}
.section_main p {
	font-size: 3.4vw;
}
.section_main p+p {
	margin-top: 1em;
}





.table_type01 th,
.table_type01 td {
	padding: .8em .5em;
}
.table_type01 th {
	border-bottom: 2px solid #ccc;
}
.table_type01 td {
	border-bottom: 2px solid #03599e;
}





}
/* ---------------------------------------------------------------------------------- */









