@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

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

nav ul{
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:"";
    content:none;
}

a{
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* =====================
  font
===================== */

@font-face{
	font-family:'Noto Sans Japanese';
	font-style:normal;
	font-weight:200;
	src: url('../fonts/NotoSansJP-Light.eot');
	src: url('../fonts/NotoSansJP-Light.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansJP-Light.woff') format('woff'),
	url('../fonts/NotoSansJP-Light.ttf')  format('truetype');
	font-display:swap;
}

@font-face{
	font-family:'Noto Sans Japanese';
	font-style:normal;
	font-weight:700;
	src: url('../fonts/NotoSansJP-Bold.eot');
	src: url('../fonts/NotoSansJP-Bold.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansJP-Bold.woff') format('woff'),
	url('../fonts/NotoSansJP-Bold.ttf')  format('truetype');
	font-display:swap;
}

@font-face{
	font-family:'F+UD TsukuMin R';
	src:local('TsukuMin-R'),
	url('../fonts/F+UD-TsukuMin-R.eot'),
	url('../fonts/F+UD-TsukuMin-R.eot?#iefix') format('embedded-opentype'),
	url('../fonts/F+UD-TsukuMin-R.woff') format('woff'),
	url('../fonts/F+UD-TsukuMin-R.ttf')  format('truetype');
}

@font-face {
	font-family:'FontAwesome';
	font-weight:normal;
	font-style:normal;
	src: url('../fonts/fontawesome-webfont.eot');
	src: url('../fonts/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
	url('../fonts/fontawesome-webfont.woff2') format('woff2'),
	url('../fonts/fontawesome-webfont.woff') format('woff'),
	url('../fonts/fontawesome-webfont.ttf') format('truetype'),
	url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
	font-display:swap;
}

/*20230106追加修正分*/
@font-face {
  font-family: 'Bodoni Moda';
	font-weight: SemiBold;
  font-style: normal;
  src: url('../fonts/BodoniModa_9pt-SemiBold.ttf') format('truetype'),
	url('../fonts/BodoniModa_9pt-SemiBold.woff') format('woff');
	src: url('../fonts/BodoniModa_9pt-Regular.ttf') format('truetype'),
	 url('../fonts/BodoniModa_9pt-Regular.woff') format('woff');
  font-display: swap;
}


/*----------------------------------------
	Reset
-----------------------------------------*/
ol,ul {
	list-style:none;
}
address {
	font-style:normal;
	font-weight:normal;
}
em {
	font-style:normal;
}
h1, h2, h3, h4, h5, h6 {
	font-weight:normal;
}
th {
	text-align:left;
	font-weight:normal;
}
/*----------------------------------------
	Global
-----------------------------------------*/
*, *::before, *::after {
	-ms-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
html,body {
	height:100%;
	-webkit-text-size-adjust:100%;
}
html {
	overflow-y:scroll;
	font-size:62.5%;

}

body{
	height:100%;
	font-family:"Noto Sans Japanese";
	font-weight:200;
	font-size:15px;
	font-size:1.5rem;
	line-height:2;
	letter-spacing:0;
	color:#000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

 /* IE10以上 */
@media all and (-ms-high-contrast: none){

body{
	transform: rotate(0.001deg);
}

}


a {
	text-decoration:none;
	color:#000;
}
a:hover {
	color:#000;
}
a:active, a:focus, button {
	outline:none;
}
img {
	max-width:100%;
	vertical-align:bottom;
}

/*p {
	text-align:justify;
	text-justify:distribute;
}*/

table {
	line-height:1.8;
}



div:after,
ul:after,
ol:after,
dl:after{
    content:"";
    display:block;
    clear:both;
}


@media screen and (max-width:767px) {
body {
	font-size:13px;
	font-size:1.3rem;
	line-height:1.8;
}
}

/*----------------------------------------
	Common
-----------------------------------------*/
.clearfix::after {
	content:'';
	display:block;
	clear:both;
}
.opacity0 {
	opacity:0;
}
/*----------------------------------------
	Container
----------------------------------------*/
.container {
	max-width:1000px;
	margin:0 auto;
}

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

.container {
	max-width:96%;
}

}

@media screen and (max-width:767px) {
.container {
	width:100%;
	padding:0 10px;
}
}

/*----------------------------------------
	Header
----------------------------------------*/
.header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:160px;
	margin:0 auto;
	background-color:transparent;
	z-index:100;
	transition: all 0.5s ease;
}


@media screen and (max-width:767px) {
.header{
	position:relative;
	height:100px;
}

}


.site-logo{
	position:absolute;
	top:10px;
	left:0;
	right:0;
	width:100px;
	height:75px;
	margin-left:auto;
	margin-right:auto;
	z-index:1550;
	visibility:visible;
}

/*	Nav
----------------------------------------*/

.nav{
	opacity:0;
	width:100%;
	position:relative;
	z-index:20;
	transition:all 0.5s ease;
}

.header.display .nav{
	opacity:1;
}

.header-top.display{
	opacity:1;
	background-color:#fff;
}

@media screen and (min-width:768px) {

.header-top{
	visibility:hidden;
}

.header-top.display{
	visibility:inherit;
}

}

.nav .container{
	position:relative;
	opacity:1;
	-webkit-transition:all 0.5s ease;
	transition:all 0.5s ease;
}

.header-under .nav{
	opacity:1;
}

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

.nav {
	opacity:1;
}

}

.mean-nav ul{
	overflow:hidden;
}

.language{
	position:absolute;
	top:30px;
	left:0;
	font-weight:600;
}

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

.language{
	font-size:14px;
	font-size:1.4rem;
}

}

.language a:hover{
	text-decoration:underline;
}

.utility{
	position:absolute;
	top:20px;
	right:0;
}

.utility li{
	display:inline-block;
	margin-left:10px;
}

.utility a:hover{
	opacity:0.5;
}

.sns{
	position:relative;
	font-size:24px;
	font-size:2.4rem;
	line-height:1;
	vertical-align:top;
	top:7px;
}

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

.language,
.utility{
	display:none;
}

}


/*----------------------------------------
	SP Nav
----------------------------------------*/

.sp_accessibility,
.sp_language{
	display:none;
}

.sp_language > a{
	display:block;
	border-radius:2px;
	padding:5px;
	color:#fff;
	background-color:#fff;
	background-color:#000;
	width:100%;
	text-align:center;
	font-weight:400;

}
.sp_language-select {
	position:absolute;
	display:none;
	background-color:rgba(0,0,0,0.65);
	border-radius:2px;
	top:30px;
	left:0;
	width:100%;
}
.sp_language-select li{
	display:block;
	padding:5px;
	font-size:12px;
	font-size:1.2rem;
	text-align:center;


}
.sp_language-select a{
	color:#fff;

}
.sp_language-open + .sp_language-select{
	display:block;
}

.sp_nav .sns {
	display:inline-block;
	padding:5px;
}


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

.sp_accessibility,
.sp_language{
	width:80px;
	height:32px;
	position:relative;
	display:block;
	z-index:1000;
	margin:5px;
}

.fixed .sp_accessibility,
.fixed .sp_language{
	z-index:1;
}

}


.inner{
	position:relative;
	max-width:1000px;
	margin:0 auto;
}

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

.inner{
	max-width:94%;
}

}

.page-ttl{
	position:relative;
	margin-bottom:30px;
	padding:50px 0 60px;
	font-family:'F+UD TsukuMin R';
	font-size:60px;
	font-size:6rem;
	text-align:center;
	letter-spacing:10px;
	line-height:1.2;
}

.lang-cn .page-ttl,
.lang-tw .page-ttl{
	font-family:'SimSun','MS UI Gothic','Hei','sans-serif';
}

.page-ttl::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	display:block;
	background-image:url(../images/access/wd.svg);
	background-repeat:no-repeat;
	background-size:16px 19px;
	width:16px;
	height:19px;
}

.page-ttl.second-ttl{
	margin-top:100px;
}


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

.page-ttl{
	margin-bottom:30px;
	padding:50px 0;
	font-size:46px;
	font-size:4.6rem;
	letter-spacing:5px;
}

}

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

.page-ttl{
	margin-bottom:30px;
	padding:10px 0 50px;
	font-size:28px;
	font-size:2.8rem;
	letter-spacing:2px;
}

.page-ttl.second-ttl{
	margin-top:50px;
}

}


.path{
	margin:10px auto 0;
	max-width:1000px;
}

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

.path{
	max-width:94%;
}

}

.path li{
	display:inline-block;
	font-size:12px;
	line-height:1;
	color:#666;
}

.path li::before{
    content:"〉";
    display:inline-block;
    padding:0 10px;
	color:#000;
    line-height:1;
}

.path li:first-child::before{
    content:none;
}

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

.path{
	margin:1em auto;
	max-width:94%;
}

}


#gNav{
    position:absolute;
    clear:both;
    text-align:center;
    font-size:18px;
    font-size:1.8rem;
    top:108px;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
}

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

#gNav{
    font-size:14px;
    font-size:1.4rem;
}

}

.fixed{
	position:fixed;
	width:100%;
	height:100%;
	z-index:1;
}

@media screen and (min-width:768px) {

nav .sub-menu.walk-nav{
	background:#e0f7fd;
}

nav .sub-menu.exhibition-nav{
	background:#FFF0F7;
}

}

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

.mean-nav .mask{
	display:block !important;
	position:absolute;
	top:-100%;
	left:0;
	background:url(../img/common/sp_nav_bg.png) repeat-x 0% 100%;
	width:100%;
	height:100%;
	text-align:center;
	color:#fff;
	z-index:98;
	transition:all 0.5s ease;
}

.fixed .mask{
	top:0;
}

#gNav .nav{
	overflow-y:auto;
	height:100vh;
	z-index:2;
  }

.mean-nav .container{
	padding: 0;
}
  .nav .sub-menu li:last-child {
    border-bottom: none;
  }
}

.mean-container .mean-nav ul li.sns{
	padding-left:10%;
}

.mean-container .mean-nav ul li.sns a{
	display:inline-block !important;
	width:20%;
	padding:20px 0;
	text-align:center;
}


@media screen and (min-width:768px) {

#gNav ul{
	position:relative;
	display:flex;
	justify-content: center;
}

#gNav li{
	position:relative;
	/* width:28%; */
	letter-spacing:1px;
	margin-right: 2.39%;
}

/*20230125--osawa*/
#gNav li {
	position: relative;
	/* width: 28%; */
	letter-spacing: 1px;
	margin-right: 3.5%;
}
/**/

#gNav li:nth-child(6) {
	margin-right: 0;
}
/*20230125--osawa*/
#gNav li.gnav7 {
	margin-right: 0;
}
/**/
/* #gNav li.gnav4{
	width:28%;
} */


#gNav .sub-menu{
	visibility:hidden;
	opacity:1;
	z-index:-1000;
	display:block;
	position:absolute;
	top:96px;
	width:350px;
	padding:25px 0;
	border-radius:0 0 10px 10px;
	-webkit-transition:all .2s ease;
	transition:all .2s ease;
}

#gNav .top-nav .sub-menu{
	top:52px;
}


#gNav .sub-menu a{
	display:block;
}

#gNav .sub-menu li{
	display:block;
	width:100%;
	margin:0;
	font-size:15px;
	font-size:1.5rem;
	text-align:left;
}

#gNav .sub-menu li:last-child{
	border-bottom:none;
}

#gNav ul > li:hover{
	-webkit-transition:all .5s;
	transition:all .5s;
}

#gNav li:hover ul.sub-menu{
	top:96px;
	visibility:visible;
	opacity:1;
	z-index:9999;
}

#gNav .top-nav li:hover ul.sub-menu{
	top:52px;
}


#gNav .contact_btn a:hover {
	color:#fff;
}

#gNav li.gnav6,
#gNav li.sns{
	display:none;
}

}





























#gNav li.gnav1 > a:hover::before,
#gNav li.gnav1 > a:hover::after,
#gNav li.gnav1 > a.active::before,
#gNav li.gnav1 > a.active::after,
#gNav li.gnav2 > a:hover::before,
#gNav li.gnav2 > a:hover::after,
#gNav li.gnav2 > a.active::before,
#gNav li.gnav2 > a.active::after,
#gNav li.gnav3 > a:hover::before,
#gNav li.gnav3 > a:hover::after,
#gNav li.gnav3 > a.active::before,
#gNav li.gnav3 > a.active::after,
#gNav li.gnav4 > a:hover::before,
#gNav li.gnav4 > a:hover::after,
#gNav li.gnav4 > a.active::before,
#gNav li.gnav4 > a.active::after,
#gNav li.gnav5 > a:hover::before,
#gNav li.gnav5 > a:hover::after,
#gNav li.gnav5 > a.active::before,
#gNav li.gnav5 > a.active::after,
#gNav li.gnav7 > a:hover::before,
#gNav li.gnav7 > a:hover::after,
#gNav li.gnav7 > a.active::before,
#gNav li.gnav7 > a.active::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	display:block;
	background-repeat:no-repeat;
	background-size:16px 19px;
	width:16px;
	height:19px;
}

#gNav li.gnav1 > a::before,
#gNav li.gnav1 > a::after{
	background-image:url(../img/common/drop-green.svg);
}

#gNav li.gnav2 > a::before,
#gNav li.gnav2 > a::after{
	background-image:url(../img/common/drop-blue.svg);
}

#gNav li.gnav3 > a::before,
#gNav li.gnav3 > a::after{
	background-image:url(../img/common/drop-orange.svg);
}

#gNav li.gnav4 > a::before,
#gNav li.gnav4 > a::after{
	background-image:url(../img/common/drop-pink.svg);
}

#gNav li.gnav5 > a::before,
#gNav li.gnav5 > a::after{
	background-image:url(../img/common/drop-purple.svg);
}

#gNav li.gnav7 > a::before,
#gNav li.gnav7 > a::after{
	background-image:url(../img/common/drop-yallow.svg);
}

#gNav .top-nav li.gnav1 > a::before,
#gNav .top-nav li.gnav1 > a::after,
#gNav .top-nav li.gnav2 > a::before,
#gNav .top-nav li.gnav2 > a::after,
#gNav .top-nav li.gnav3 > a::before,
#gNav .top-nav li.gnav3 > a::after,
#gNav .top-nav li.gnav4 > a::before,
#gNav .top-nav li.gnav4 > a::after,
#gNav .top-nav li.gnav5 > a::before,
#gNav .top-nav li.gnav5 > a::after,
#gNav .top-nav li.gnav7 > a::before,
#gNav .top-nav li.gnav7 > a::after{
	display:none;
}


#gNav li.gnav1 > a::before,
#gNav li.gnav2 > a::before,
#gNav li.gnav3 > a::before,
#gNav li.gnav4 > a::before,
#gNav li.gnav5 > a::before,
#gNav li.gnav7 > a::before{
	bottom:-25px;
}

#gNav li.gnav1 > a::after,
#gNav li.gnav2 > a::after,
#gNav li.gnav3 > a::after,
#gNav li.gnav4 > a::after,
#gNav li.gnav5 > a::after,
#gNav li.gnav7 > a::after{
	bottom:-48px;
}


#gNav li a{
	display:block;
	position:relative;
}

#gNav li a span{
	position:relative;
	background-repeat:no-repeat;
	background-position:50% 100%;
	line-height:1;
	padding-bottom:6px;
}

/*Chromeだけ*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
#gNav li a span{
	padding-bottom:11px;
}
}

#gNav li a span::after{
	content:"";
	background-repeat:repeat-x;
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:7px;
	opacity:0;
	transition:opacity 0.5s ease;
}

#gNav li.gnav1 > a span::after {
	background-image:url(../img/common/nav-global1_bg.svg);
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}

#gNav li.gnav2 > a span::after{
	background-image:url(../img/common/nav-global2_bg.svg);
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}
#gNav li.gnav3 > a span::after {
	background-image:url(../img/common/nav-global3_bg.svg);
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}
#gNav li.gnav4 > a span::after {
	background-image:url(../img/common/nav-global4_bg.svg);
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}
#gNav li.gnav5 > a span::after {
	background-image:url(../img/common/nav-global5_bg.svg);
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}
#gNav li.gnav7 > a span::after {
	background-image:url(../img/common/nav-global7_bg.svg);
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}

#gNav li a span:hover::after,
#gNav li a.active span::after{
	opacity:1;
}

#gNav li a.active span::after{
	-webkit-animation:none;
	animation:none;
}

#gNav li a.active span:hover::after{
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}

#gNav .sub-menu.walk-nav li:nth-child(1){
	position:relative;
	margin-bottom:25px;
	padding:0 25px;
	font-family:'F+UD TsukuMin R';
	font-size:15px;
	font-weight:700;
	line-height:1.4;
}

#gNav .sub-menu.walk-nav li:nth-child(1)::after{
	content:"";
	position:absolute;
	top:0;
	right:15px;
	display:block;
	width:50px;
	height:80px;
	background-image:url(../img/common/nav-character.png);
	background-repeat:no-repeat;
	background-size:50px 80px;
}

#gNav .sub-menu.walk-nav a{
	position:relative;
}

#gNav .sub-menu.walk-nav a:hover{
	background:#32cbf3;
	color:#fff;
}

#gNav .sub-menu.walk-nav a:hover::before{
	content:"";
	position:absolute;
	top:-3px;
	left:0;
	width:100%;
	height:3px;
	background-image:url(../img/common/nav-walk-top.svg);
	background-repeat:repeat-x;
}

#gNav .sub-menu.walk-nav a:hover::after{
	content:"";
	position:absolute;
	bottom:-3px;
	left:0;
	width:100%;
	height:3px;
	background-image:url(../img/common/nav-walk-bottom.svg);
	background-repeat:repeat-x;
}

#gNav .sub-menu li a span{
	display:block;
	padding:8px 25px 10px;
}


#gNav .sub-menu.walk-nav li:nth-child(3) a span,
#gNav .sub-menu.walk-nav li:nth-child(5) a span,
#gNav .sub-menu.walk-nav li:nth-child(7) a span{
	padding-left:45px;
}

#gNav .sub-menu.walk-nav li a span::before{
	content:"\f105";
	margin-right:5px;
	font-family:FontAwesome;
	font-size:20px;
	color:#32cbf3;
	line-height:1;
}

#gNav .sub-menu.exhibition-nav li a span::before{
	content:"\f105";
	margin-right:5px;
	font-family:FontAwesome;
	font-size:20px;
	color:#ff98cb;
	line-height:1;
}


#gNav .sub-menu.walk-nav li:nth-child(3) a span::before,
#gNav .sub-menu.walk-nav li:nth-child(5) a span::before,
#gNav .sub-menu.walk-nav li:nth-child(7) a span::before{
	color:#808080;
}


#gNav .sub-menu.walk-nav li a:hover span::before,
#gNav .sub-menu.exhibition-nav li a:hover span::before{
	color:#fff;
}

.mean-nav .sub-menu.walk-nav li:nth-child(1){
	display:none;
}















#gNav .sub-menu.exhibition-nav a:hover{
	background:#ff98cb;
	color:#fff;
}

#gNav .sub-menu.exhibition-nav a:hover::before{
	content:"";
	position:absolute;
	top:-3px;
	left:0;
	width:100%;
	height:3px;
	background-image:url(../img/common/nav-exhibition-top.svg);
	background-repeat:repeat-x;
}

#gNav .sub-menu.exhibition-nav a:hover::after{
	content:"";
	position:absolute;
	bottom:-3px;
	left:0;
	width:100%;
	height:3px;
	background-image:url(../img/common/nav-exhibition-bottom.svg);
	background-repeat:repeat-x;
}





.header-under{
	position:relative;
	height:207px;
}

.header-under .nav{
	opacity:1;
}

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

.wave{
	z-index:1 !important;
}

.header-under{
	height:105px;
}

}


/*----------------------------------------
	Pagetop
----------------------------------------*/

.pagetop-box{
	position:relative;
	background:#fff;
	z-index:30;
	padding-top:60px;
}

.pagetop{
	position:relative;
	text-align:center;
	width:68px;
	height:68px;
	margin-left:auto;
	margin-right:auto;
}

.pagetop a{
	display:block;
}

.pagetop-inner{
	position:relative;
	width:68px;
	height:68px;
	background-image:url(../img/common/pagetop-bg.svg);
	background-repeat:repeat-x;
	border-radius:68px;
	-webkit-animation:bgmove 1s ease-in-out infinite alternate;
	animation:bgmove 1s ease-in-out infinite alternate;
}
a:hover .pagetop-inner {
	-webkit-animation:none;
	animation:none;
}
@-webkit-keyframes bgmove {
	0% {
		background-position:0 0;
	}
	100% {
		background-position:12px 0;
	}
}
@keyframes bgmove {
	0% {
		background-position:0 0;
	}
	100% {
		background-position:12px 0;
	}
}
.pagetop-drop1 {
	position:absolute;
	top:17px;
	left:34px;
	-webkit-animation:drop1move 1s 1s ease-out infinite alternate;
	animation:drop1move 1s 1s ease-out infinite alternate;
}
a:hover .pagetop-drop1 {
	-webkit-animation:none;
	animation:none;
}
.pagetop-drop2 {
	position:absolute;
	top:25px;
	left:21px;
	-webkit-animation:drop2move 1s 0.5s ease-out infinite alternate;
	animation:drop2move 1s 0.5s ease-out infinite alternate;
}
a:hover .pagetop-drop2 {
	-webkit-animation:none;
	animation:none;
}
.pagetop-drop3 {
	position:absolute;
	top:35px;
	left:31px;
	-webkit-animation:drop3move 1s 0 ease-out infinite alternate;
	animation:drop3move 1s 0 ease-out infinite alternate;
}
a:hover .pagetop-drop3 {
	-webkit-animation:none;
	animation:none;
}
@-webkit-keyframes drop1move {
	0% {
		opacity:1;
		-webkit-transform:translate(0px, 0px);
		-webkit-transform:scale(1, 1);
	}
	100% {
		opacity:0;
		-webkit-transform:translate(-8px, 20px);
		-webkit-transform:scale(0.5, 0.5);
	}
}
@keyframes drop1move {
	0% {
		opacity:1;
		transform:translate(0px, 0px);
		transform:scale(1, 1);
	}
	100% {
		opacity:0;
		transform:translate(-8px, 20px);
		transform:scale(0.5, 0.5);
	}
}
@-webkit-keyframes drop2move {
	0% {
		opacity:1;
		-webkit-transform:translate(0px, 0px);
		-webkit-transform:scale(1, 1);
	}
	100% {
		opacity:0;
		-webkit-transform:translate(8px, 20px);
		-webkit-transform:scale(0.5, 0.5);
	}
}
@keyframes drop2move {
	0% {
		opacity:1;
		transform:translate(0px, 0px);
		transform:scale(1, 1);
	}
	100% {
		opacity:0;
		transform:translate(8px, 20px);
		transform:scale(0.5, 0.5);
	}
}
@-webkit-keyframes drop3move {
	0% {
		opacity:1;
		-webkit-transform:translate(0px, 0px);
		-webkit-transform:scale(1, 1);
	}
	100% {
		opacity:0;
		-webkit-transform:translate(-8px, 20px);
		-webkit-transform:scale(0.5, 0.5);
	}
}
@keyframes drop3move {
	0% {
		opacity:1;
		transform:translate(0px, 0px);
		transform:scale(1, 1);
	}
	100% {
		opacity:0;
		transform:translate(-8px, 20px);
		transform:scale(0.5, 0.5);
	}
}

/*----------------------------------------
	Footer
----------------------------------------*/


.footer{
	position:relative;
	background-color:#fff;
	border-top:1px solid #000;
	padding:20px 0;
	z-index:30;
}

.footer .footer-nav ul{
	float:left;
	margin-right:2%;
}

.footer .footer-nav ul:last-of-type {
	margin-right: 0;
}

.footer ul li{
	line-height:1.5;
}

.footer ul li a{
	padding-left:15px;
	color:#666;
	font-size:12px;
	background-image:url(../img/common/drop-gray.svg);
	background-repeat:no-repeat;
	background-size:10px 13px;
	background-position:0 50%;
}

.footer ul li a:hover{
	text-decoration:underline;
}

.footer ul li:nth-child(n+2){
	margin-left:1.2em;
}

.footer ul li:nth-child(n+2) a{
	padding-left:10px;
	background-size:5px 8px;
}

.footer ul li:first-child a{
	font-size:13px;
	font-size:1.3rem;
}


/* フッター修正分 大澤追加*/
.footer .footer-nav.foot02 {
	float:left;
	margin-right:2%;
	margin-top: 25px;
	display: flex;
	flex-direction: column;
	/* position: absolute; */
	/* width: 100%; */
	top: 70px;
	white-space: nowrap
}




/* .footer .address{
	display:flex;
	margin-top:75px;
} */

.footer .address{
	display:flex;
	margin-top:100px;
}

.footer .address address{
	margin-right:auto;
	line-height:1.6;
}

.footer .address .copyright{
	display:block;
	line-height:1.6;
	text-align:right;
	align-self:flex-end;
}

.footer .address .copyright small{
	font-size:12px;
	font-size:1.2rem;
}

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

.footer .footer-nav ul{
	float:left;
	width:25%;
	margin-right:0;
}

.footer .footer-nav.foot02 ul{
	float:left;
	width:100%;
	margin-right:0;
}

}

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

.footer .footer-nav{
	display:none;
}
.footer .footer-nav.foot02 {
	display: none;
}
.footer .address{
	display:block;
	margin-top:0;
	text-align:center;
}

.footer .address .copyright{
	margin-top:20px;
	text-align:center;
}

}







.icon-pdf::after{
    content:"";
    display:inline-block;
    margin-left: 10px;
    background: url(../img/common/icon-pdf.png);
    background-repeat: no-repeat;
    width:20px;
    height:20px;
    background-size:20px 20px;
    vertical-align: middle;
}





/* =====================
  menu
===================== */




a.meanmenu-reveal{
	display:none;
}

.mean-container .mean-bar{
	/*width:100%;*/
	width:65px;
	position:fixed;
	background:none;
	min-height:58px;
	z-index:1550;
	top:0;
	right:0;
}

.mean-container.open .mean-bar{
	width:100%;
	position:fixed;
	background:none;
	min-height:58px;
	z-index:1550;
	top:0;
	left:0;
}


.mean-container a.meanmenu-reveal{
	width:65px;
	height:65px;
	position:absolute;
	top:0;
	right:0;
	cursor:pointer;
	color:#838daa;
	text-decoration:none;
	font-size:16px;
	line-height:22px;
	font-size:1px;
	display:block;
	font-family:Arial, Helvetica, sans-serif;
	-webkit-transition:0s;
	-moz-transition:0s;
	-o-transition:0s;
	transition:0s;
	padding-top:7px;
	box-sizing:border-box;
	z-index:1600;
	padding-top:11px;
	background:url(../img/common/sp_nav-menu_bg.png) no-repeat;
	background-size:100%;
}

.mean-container a.meanmenu-reveal span {
	display: block;
	background: #00aaff;
	height: 4px;
	border-radius:1px;
	margin-top: 5px;
	margin-right: 20px;
	margin-left: 20px;
}
.mean-container a.meanmenu-reveal.meanclose {
	color: #00aaff;
	font-size: 50px;
	font-weight: normal;
	padding-top: 18px;
	text-indent: -9999em;
}


.mean-container .mean-nav{
	float:left;
	width:100%;
	padding-bottom:100px;
	max-height:100vh;
	overflow-y:auto;
	z-index:99;
	margin-top:-100px;
}

.mean-container.open .mean-nav{
	margin-top:0;
	padding-top:105px;
}


.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
	overflow-y: scroll;
	position: relative;
	z-index: 99;
	max-height: 100vh;
}

.mean-container .mean-nav ul ul {
	padding-bottom: 0;
	margin-bottom: 0;
}

.mean-container .mean-nav ul li {
	position: relative;
	float: left;
	width: 100%;
}

.mean-container .mean-nav ul li a{
	display:block;
	float:left;
	width:100%;
	padding:15px;
	margin:0;
	text-align:left;
	text-decoration:none;
	text-transform:uppercase;
	color:#fff;
	font-weight:600;
	border-bottom:1px solid rgba(255,255,255,0.2);
}

.mean-container .mean-nav ul li li a{
	width:80%;
	padding:15px 10%;
	border:none;
	text-shadow: none !important;
	visibility: visible;
	border-bottom:1px dashed rgba(255,255,255,0.2);
}

.mean-container .mean-nav ul li .walk-nav li:nth-child(even) a{
	padding-bottom:0;
	border-bottom:none;
}

.mean-container .mean-nav ul li .walk-nav li:nth-child(odd) a{
	padding-left:45px;
}


.mean-container .mean-nav ul li li:last-child a{
	border-bottom:1px solid rgba(255,255,255,0.2);
}

.mean-container .mean-nav ul li.mean-last a {
	border-bottom: none;
	margin-bottom: 0;
}

.mean-container .mean-nav ul li li li a {
	width: 70%;
	padding: 1em 15%;
}

.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}

.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}

.mean-container .mean-nav ul li a.mean-expand {
	position:absolute;
	top:6px;
	right:15px;
	width:40px;
	hight:40px;
	line-height:40px;
	text-align:center;
	z-index:2;
	background: #fff;
	border:none;
	color:#00aaff;
	font-size: 24px;
	padding:0;
	border-radius:50%;
}

.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}

.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.mean-remove {
	display: none !important;
}



















/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */

html.remodal-is-locked {
  overflow: hidden;

  -ms-touch-action: none;
  touch-action: none;
}

/* Anti FOUC */

.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */

.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;

  display: none;
}

/* Necessary styles of the wrapper */

.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  display: none;
  overflow: auto;

  text-align: center;

  -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
  display: inline-block;

  height: 100%;
  margin-left: -0.05em;

  content: "";
}

/* Fix iPad, iPhone glitches */

.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */

.remodal {
  position: relative;

  outline: none;

  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}



/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
	-webkit-filter: blur(3px);
	filter: blur(3px);
}

.remodal-overlay {
  background: rgba(0, 170, 255, 0.9);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes;
}

.remodal-wrapper {
  padding: 10px 10px 0;
}

.remodal{
	width:100%;
	padding: 35px;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	background:#fff;
	border-radius:.3em;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes;
}

.remodal,
.remodal-wrapper:after{
	vertical-align:middle;
}

.remodal-close{
	position:absolute;
	top:5px;
	left:5px;
	display:block;
	overflow:visible;
	width:25px;
	height:25px;
	margin:0;
	padding:0;
	cursor:pointer;
	-webkit-transition:color 0.2s;
	transition:color 0.2s;
	text-decoration: none;
	color:#fff;
	border:1px solid #555;
	border-radius:50%;
	outline:0;
	background:#555;
}

.remodal-close:hover,
.remodal-close:focus{
	background:#00aaff;
	border:1px solid #00aaff;
	color:#fff;
}

.remodal-close:before{
	content:"\00d7";
	display:block;
	font-family:Arial, sans-serif !important;
	font-size:25px;
	font-size:25px;
	line-height:22px;
	text-align:center;
}

@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;

    opacity: 1;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;

    opacity: 1;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);

    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);

    opacity: 0;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);

    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);

    opacity: 0;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.lt-ie9 .remodal-overlay{
	background:#2b2e38;
}

.lt-ie9 .remodal{
	width:900px;
}

@media screen and (min-width:768px) {

.remodal{
	max-width:900px;
}

}














.icon-mail a{
	position:relative;
	padding-left:21px;
	text-decoration:underline;
	line-height:1;
}


.icon-mail a::before{
	content:"";
	position:absolute;
    top:0;
	bottom:0;
	margin-top:auto;
	margin-bottom:auto;
	left:0;
	display:block;
	background-image:url(../img/common/icon-mail.svg);
	background-repeat:no-repeat;
	background-size:16px 12px;
	width:16px;
	height:12px;
}

.icon-mail a:hover{
	text-decoration:none;
}



.icon-txt{
	margin-top: 30px;
	font-size: 14px;
}

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

	.icon-txt{
		margin-top: 30px;
		font-size: 12px;
		text-align: left;
	}
	
	}
	



.wave{
	position:absolute;
	bottom:0;
	width:100%;
	height:8px;
	background-repeat:repeat-x;
	z-index:100;
}

.page-ttl::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	display:block;
	background-repeat:no-repeat;
	background-size:16px 19px;
	width:16px;
	height:19px;
}

.page-about .wave{
	background-image:url(../img/common/wave-green.svg);
}

.page-about .page-ttl::after{
	background-image:url(../img/common/drop-green.svg);
}

.page-access .wave{
	background-image:url(../img/common/wave-purple.svg);
}

.page-exhibition .wave{
	background-image:url(../img/common/wave-pink.svg);
}

.page-exhibition .page-ttl::after{
	background-image:url(../img/common/drop-pink.svg);
}

.page-museum .wave{
	background-image:url(../img/common/wave-orange.svg);
}

.page-museum .page-ttl::after{
	background-image:url(../img/common/drop-orange.svg);
}

.page-walk .wave{
	background-image:url(../img/common/wave-blue.svg);
}

.page-walk .page-ttl::after{
	background-image:url(../img/common/drop-blue.svg);
}

.page-access .page-ttl::after{
	background-image:url(../img/common/drop-purple.svg);
}

.page-news .wave,
.page-privacy .wave{
	background-image:url(../img/common/wave-gray.svg);
}

.page-privacy .page-ttl::after{
	background-image:url(../img/common/drop-gray.svg);
}

.page-archives .wave{
	background-image:url(../img/common/wave-yallow.svg);
}

.page-archives .page-ttl::after{
	background-image:url(../img/common/drop-yallow.svg);
}

.guard{
	position:relative;
    display:block;
    width:100%;
    height:100%;
	margin:0;
	padding:0
}

.img-guard{
	position:absolute;
    display:block;
    width:100%;
    height:100%;
	background:url(../img/common/spacer.gif);
}


/* =====================
  lang en
===================== */

.lang-en .page-ttl{
	font-size:5.5rem;
	letter-spacing:2px;
}

@media screen and (min-width:768px) {

.lang-en #gNav ul{
	display:block;
}

.lang-en #gNav li.gnav1,
.lang-en #gNav li.gnav2,
.lang-en #gNav li.gnav3,
.lang-en #gNav li.gnav4,
.lang-en #gNav li.gnav5{
	width:auto;
	display:inline-block;
	padding:0 15px;
	margin-right: 0;
}

}


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

.lang-en .page-ttl{
	font-size:4.5rem;
}

.lang-en #gNav{
    font-size:15px;
    font-size:1.5rem;
}

}

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

.lang-en .page-ttl{
	font-size:2.5rem;
	letter-spacing:0;
}


.lang-en #gNav{
    font-size:14px;
    font-size:1.4rem;
}

.lang-en #gNav li.gnav1,
.lang-en #gNav li.gnav2,
.lang-en #gNav li.gnav3,
.lang-en #gNav li.gnav4,
.lang-en #gNav li.gnav5{
	padding:0 8px;
}

}

.lang-en #gNav li{
	letter-spacing:0;
}

.lang-en #gNav li.gnav1{
	padding-left:0;
}

.lang-en #gNav li.gnav5{
	padding-right:0;
}

.lang-en #gNav .sub-menu.walk-nav li:nth-child(1){
	position:relative;
	margin-bottom:25px;
	padding:0 65px 0 25px;
	font-family:'F+UD TsukuMin R';
	font-size:15px;
	font-weight:700;
	line-height:1.4;
}

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

.lang-en .footer .footer-nav ul:nth-child(5){
	float:none;
	clear:both;
	width:100%;
}

}

/* =====================
  lang cn
===================== */

.lang-cn #gNav .sub-menu.walk-nav li:nth-child(1),
.lang-tw #gNav .sub-menu.walk-nav li:nth-child(1){
	font-family:'SimSun','MS UI Gothic','Hei','sans-serif';
	padding-right:65px;
}













/*.language,
.sp_language{
	display:none !important;
}
*/



/*.language{
	color:#fff;
}

.language a{
	display:none;
}

.language a:first-child{
	display:inherit !important;
}

.sp_language-select li:nth-child(n+2){
	display:none;
}*/


#gNav li:lang(ja) {
		font-size: 85%;
	}

