@charset "UTF-8";


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



body {
	width: 100%;
	min-width: 100%;
	padding-top: 0;
}

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





#app {
	width: 100%;
	height: 0;
	opacity: 0.5;
	padding-top: 50%;
}


.common #main__contents {
	padding: 0 3% 14% 3%;
}





/* header */
/*------------------------------------------------------------------------------*/
header {
	display: block;
	width: 100%;
	min-width: inherit;
	min-height: 48px;
	padding: 2% 2%;
	/*position: fixed;
	top: 0;
	left: 0;
	z-index: 100;*/
}
header h1 {
	width: 48%;
	height: auto;
	padding: 0;
}
header h1 a img {
	width: 100%;
	height: auto;
}
header .header_info_main,
header .btn {
	display: none;
}


header h1.ex {
	width: 90%;
	min-height: 100%;
	margin: 0;
	position: absolute;
	top: 50%;
	left: 3%;
	transform: translateY(-50%);
}
header h1.ex .logix {
	width: 26%;
}
header h1.ex .matex {
	width: 34%;
}

/*header .login {
	height: auto;
	padding: 0;
	position: absolute;
	top: 50%;
	right: 13%;
	-webkit-transform: translateY(-50%) translateX(0%);
	   -moz-transform: translateY(-50%) translateX(0%);
	    -ms-transform: translateY(-50%) translateX(0%);
	     -o-transform: translateY(-50%) translateX(0%);
	        transform: translateY(-50%) translateX(0%);
}
header .login a {
	display: inline-flex;
	flex-wrap: wrap-reverse;
	align-items: center;
	align-content: center;
	width: auto;
	height: auto;
	padding: .5em 0;
}
header .login a > span {
	width: 100%;
}
header .login a > span.text {
	font-size: 2.8vw;
	font-weight: normal;
	margin-bottom: 0;
}
header .login a > span.icon {
	font-size: 3.6vw;
}
header .login a:hover {
	background-color: #eb4e0c;
}*/


header .login {
	height: 70%;
	padding: 0;
	position: absolute;
	top: 50%;
	right: 13%;
	-webkit-transform: translateY(-50%) translateX(0%);
	   -moz-transform: translateY(-50%) translateX(0%);
	    -ms-transform: translateY(-50%) translateX(0%);
	     -o-transform: translateY(-50%) translateX(0%);
	        transform: translateY(-50%) translateX(0%);
}
header .login a.icon__img {
	flex-direction: column-reverse;
	font-size: 2.8vw;
	border-radius: .2em;
	padding: 0 5px;
}
header .login a.icon__img:hover {
	background-color: #eb4e0c;
}
header .login a.icon__img > span.text {
	align-items: center;
	height: 45%;
	font-size: .9em;
	font-weight: 600;
	padding-bottom: 0;
}
header .login a.icon__img > span.icon {
	height: 55%;
	padding: 7px 0 2px;
}


#sp_nav_btn {
	display: block;
	width: 7%;
	height: 0;
	padding-top: 5%;
	position: absolute;
	top: 50%;
	right: 3%;
	-webkit-transform: translateY(-50%) translateX(0%);
	   -moz-transform: translateY(-50%) translateX(0%);
	    -ms-transform: translateY(-50%) translateX(0%);
	     -o-transform: translateY(-50%) translateX(0%);
	        transform: translateY(-50%) translateX(0%);
}
#sp_nav_btn .menu-trigger {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#sp_nav_btn .menu-trigger > span {
	display: block;
	width: 100%;
	height: 2px;
/*	background-color: #003a94;*/
/*	background-color: #eb4e0c;*/
	background-color: #000;
	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.active .menu-trigger span.bar:nth-of-type(1) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
}
#sp_nav_btn.active .menu-trigger span.bar:nth-of-type(2) {
	opacity: 0;
}
#sp_nav_btn.active .menu-trigger span.bar:nth-of-type(3) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}


header .banner__mirai {
	display: none;
}





/* nav */
/*------------------------------------------------------------------------------*/
nav {
	display: none;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	position: fixed;
	left: 0;
	z-index: 1000;
}
nav > ul {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 2%;
	padding-top: 2%;
}
nav > ul > li {
	display: block;
	height: auto;
	padding: 0 2%;
}

nav > ul > li > a {
	width: 80%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	position: relative;
}
nav > ul > li > a::after {
	display: none;
}
nav > ul > li > a > span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-size: 4vw;
	color: #000;
	line-height: 1;
	border-left: 0;
	padding: 4% 0;
	position: relative;
	z-index: 5;
	transition: all .2s;
}
nav > ul > li > a > span:hover {
	color: #000;
}
nav > ul > li:last-of-type > a > span {
	border-right: 0;
}

/* ドロップダウン */
nav > ul > li.drop_nav {
	width: 100%;
	position: relative;
}
nav > ul > li.drop_nav > .drop_inner {
	display: none;
	width: 100%;
	height: auto;
	background-color: #f2f2f2;
	box-shadow: none;
	padding: 5px;
	visibility: visible;
	opacity: 1;
	position: static;
	transition: none;
}
nav > ul > li.drop_nav:hover > .drop_inner {
	height: auto;
	top: 0;
	visibility: visible;
	opacity: 1;
}
nav > ul > li.drop_nav > .drop_inner > ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0 7px;
}
nav > ul > li.drop_nav > .drop_inner > ul > li {
	justify-content: center;
	width: 100%;
}
nav > ul > li.drop_nav > .drop_inner > ul > li+li {
	margin-left: 0;
}
nav > ul > li.drop_nav > .drop_inner > ul > li > a {
	font-size: 3.2vw;
}


nav > ul > li.drop_nav > .sp_drop_btn {
	display: block;
	width: 6.5vw;
	height: 6.5vw;
	color: #fff;
	background-color: #eb4f0c;
	border: 1px solid #eb4f0c;
	border-radius: 100%;
	line-height: 1;
	position: absolute;
	top: .8em;
	right: 2%;
	z-index: 10;
}
nav > ul > li.drop_nav > .sp_drop_btn > span {
	display: inline-block;
	font-size: .9em;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-48%) translateX(-50%);
	transform: translateY(-48%) translateX(-50%);
}
nav > ul > li.drop_nav > .sp_drop_btn.active {
	border: 1px solid #eba10c;
	background-color: #eba10c;
	transform: rotate(-180deg);
}

nav .sp_nav_info {
	display: block;
	margin-bottom: 6%;
	padding: 0 3%;
}
nav .sp_nav_info li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	line-height: 1;
}
nav .sp_nav_info li+li {
	margin-top: .5em;
}
nav .sp_nav_info li > span.title {
	font-size: 3.4vw;
	font-weight: bold;
	color: #fff;
	line-height: 1.3;
	text-align: center;
	background-color: #eb4f0c;
	margin-right: .5em;
	padding: .1em 1.5em;
}
nav .sp_nav_info li > span.text {
	display: flex;
	align-items: center;
	font-size: 3.8vw;
	font-weight: bold;
	line-height: 1.3;
}
nav .sp_nav_info li > span.text > a {
	font-size: .8em;
	font-weight: bold;
	color: #eb4f0c;
	line-height: 1;
	text-decoration: none;
	border: 1px solid #eb4f0c;
	margin-left: .5em;
	padding: .2em .5em;
}


nav .nav_request {
	display: block;
	padding: 0 5%;
}
nav .nav_request a {
	display: block;
}
nav .nav_request a img {
	width: 100%;
	height: auto;
}


nav > ul > li > a.noLink {
	background-color: rgba(0,0,0,0);
}





/* footer */
/*------------------------------------------------------------------------------*/
footer .section_main {
	padding: 8% 6% 10% 6%;
}
footer .section_main .main_inner {
	display: block;
	margin-bottom: 18%;
}

footer .section_main .main_inner a:hover {
	text-decoration: none;
}
footer .section_main .main_inner > div {
	padding: 0;
}
footer .section_main .main_inner .contact {
	width: 100%;
	margin-bottom: 12%;
}
footer .section_main .main_inner .sub_nav01 {
	width: 100%;
	margin-bottom: 6%;
}
footer .section_main .main_inner .sub_nav02 {
	width: 100%;
}
footer .section_main .main_inner .sub_nav {
	border-left: 0;
	padding-left: 0;
}
footer .section_main .main_inner .sub_nav:last-of-type {
	border-right: 0;
}

footer .section_main .main_inner h2,
footer .section_main .main_inner > div > dl {
	font-size: 3.6vw;
	line-height: 1.4;
}

footer .section_main .main_inner h2 {
	margin-bottom: .6em;
}
footer .section_main .main_inner .sub_nav > dl+dl {
	margin-top: 6%;
}

footer .copyright small {
	font-size: 2.8vw;
}


footer .login {
	width: 80%;
	margin: 8% auto 0 auto;
}
/*footer .login a {
	display: flex;
}
footer .login a > span.text {
	font-size: 3.4vw;
}
footer .login a > span.icon {
	font-size: 4.6vw;
}
footer .login a:hover {
	background-color: #114eaf;
}*/


footer .login a.icon__img {
	display: flex;
	font-size: 3.4vw;
}
footer .login a.icon__img:hover {
	background-color: #eb4e0c;
}


footer .banner__mirai {
	margin-bottom: 15%;
}
footer .banner__mirai a {
	width: 100%;
}
footer .banner__mirai a:hover img {
	opacity: 1;
}


#topcontrol {
	bottom: 20vw!important;
}
#pagetop {
	width: 10vw;
	height: 10vw;
	font-size: 4vw;
}





header.after202311 .header__request__block {
	display: none;
}
/* 言語切替 */
.common__lang__select.btn_sp {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
.common__lang__select.btn_sp .btn__lang {
	font-size: 3.4vw;
}
.common__lang__select .btn__lang > span {
	border-radius: 0vh;
}

nav .header__request__block {
	display: flex;
}


.header__request__block a.exhibit:hover {
	background-color: #eb4e0c;
}
.header__request__block a.exhibit:hover .icon {
	color: #eb4e0c;
}
.header__request__block a.visitor:hover {
	background-color: #e91e63;
}
.header__request__block a.visitor:hover .icon {
	color: #e91e63;
}




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









