@charset "UTF-8";
/* CSS Document */

body {
	background-color:#fff;
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "游ゴシック", sans-serif;
	font-size: 20px;
	margin: 0;
	padding: 0;
}
h1, h2, h3, p, div, main, footer {
	margin: 0;
	padding: 0;
}
img {
	vertical-align: bottom;
}
a:link {
color: #054e21;
text-decoration: none;
}
a:visited {
color: #629162;
text-decoration: none;
}
a:hover {
color: #de5353;
text-decoration: none;
}

#wrapper {
width: 1000px;
margin: 0 auto;
line-height: 2.0;
position: relative;
background:#3354a4;
}
header p {
  text-align: right;
  padding: 2px 20px 10px;
}
#logo a {
  border-bottom: 0;
}
#logo {
position:absolute;
 top: 10px;
 right: 40px;
text-align: right;
 width: 400px;
}


.lang {
text-align: right;
line-height: 1;
padding: 100px 60px 0;
font-size: 1.5rem;
}

.cap1 {
position: absolute;
top:870px;
right: 30px;
font-size: 0.75em;
line-height: 1.6;
text-align: left;
color: #fff;
}

.lang a {
color: #fff;
}
.lang a:visited {
color: #fff;
}
.lang a:hover {
  color: #efcacd;
}


/* main */
main {
width: 1000px;
padding: 10px 0 0;
margin: 0 auto;
line-height: 1.9;
}
main p {
width: 820px;
padding: 0px;
text-align: justify;
}

div.gaiyo {
margin: 50px auto;
padding: 40px;
background: #efcacd;
width: 820px;
}

/* work */
.work {
width:900px;
margin: 100px auto 0;
padding:0;
display: flex;
position: relative;
justify-content: space-between;
flex-wrap: wrap;
}
.work div {
margin-bottom: 50px;
}
/*
.work01 {
position: absolute;
top:120px;
left: 160px;
}
.work02 {
position: absolute;
top:710px;
left: 540px;
}
.work03 {
position: absolute;
top:1050px;
left: 260px;
}
.work04 {
position: absolute;
top:1205px;
left: 700px;
}
*/
.cap {
position: absolute;
width: 920px;
margin: 0px auto;
top: 600px;
left: 545px;
color: #fff;

}
.cap p {
width: 920px;
line-height:1.6;
font-size: 0.85rem;
padding: 0 0 15px;

}
#mov {
margin: 80px auto ;
width: 700px;
text-align: center;
}
#mov p {
text-align: center;
font-size: 1.2rem;
line-height: 2.5;
padding: 0;
margin: 0;
width: 700px;
}

/* event以下 */
#evin {
  padding: 0px 0 30px;
  margin: 0 auto;
  width: 900px;
  line-height: 1.3;
  color: #fff;
}
#evin p, h3, #evin h4, .evinfo{
  width: 800px;
  margin: 0 auto;
}
h3 {
padding: 3em 0 0.8em;
font-family: serif;
font-weight: bold;
font-size: 1.8rem;
}
h4 {
font-weight: normal;
padding: 0.3em 0 1rem;
color: ;
font-size: 1.2rem;
font-weight: bold;
}
.event a{
color: #efcacd;
}
/* 普通の太さ */
.nom {
 font-weight: normal;
}

/* event */
.evinfo {
width: 900px;
margin: 0 auto;
line-height: 1.8;
position: relative;
/*padding: 3em 1em;*/
}

.chira {
position: absolute;
top: 400px;
left: 600px;
width: 250px;
}


.chira p {
font-size: 0.75rem;
line-height: 1.7;
padding-top: 0.5rem;
}
.chira img {
  border: 1px solid #ccc;
}

/* info */
p.toi {
padding-top: 2.5rem;
}
.toi2 {
padding-left: 9.5em;
}

.sst {
padding-top: 7em;
}

footer {
padding: 20px 0 20px;
text-align: center;
font-size: 0.85em;
background-color: #efcacd;
margin-top: 20px;
}

/* english */
#eng {
 /*text-align: justify;*/
 font-size: 18px;
 font-family: Arial, Helvetica, sans-serif;
 line-height: 1.7;
}
.wor {
  font-style: italic;
}
#eng .cap {
font-size: 0.7em;
text-align: left;
left: 540px;
}
.cap2  {
width: 200px;
line-height:1.7;
font-size: 0.7rem;
text-align: left;
padding: 10px 0;
position: absolute;
top:170px;
right: 120px;
color: #fff;
}



/*　レスポンシブ　*/

@media screen and (max-width: 640px){
body {
width: 100%;
}
#wrapper {
width: 100%;
margin: 0 auto;
font-size: 16px;
position: relative;
}
#logo {
position:absolute;
top: -17px;
right: 10px;*/
text-align: right;
padding: 0;
margin: 0;
}
#logo img {
width: 30%;
}
.lang {
text-align: right;
line-height: 1;
padding: 10px 20px 0;
font-size: 0.8em;
}
p.cap1 {
position: relative;
top:0;
right:10px;
padding-left: 2em;
font-size: 10px;
line-height: 1.6;
text-align: right;
}
header img {
width: 100%;
}
header h1 {
width: 100%;
}

main {
width:  100%;
padding: 0;
margin: 0 auto;
line-height: 2;
}
main p {
width: 90%;
margin: 0 auto;
padding: 0px 0;
text-align: justify;
}
div.gaiyo {
margin: 40px auto;
padding: 20px 10px;
width: 85%;
line-height: 1.7;
}

/* work */
.work {
width:100%;
margin: 70px auto 0;
padding:0;
position: relative;
background: none;
text-align: center;
}
.work img {
width: 70%;
height: auto;
}
.work01 {
position: relative;
padding: 10px 0;
margin: 0 auto;
}
.work02 {
position: relative;
padding: 10px 0;
margin: 0 auto;
}

.work03 {
position: relative;
padding: 10px 0;
margin: 0 auto;
}

.work04 {
position: relative;
padding: 10px 0;
margin: 10px auto;
}

.cap {
position: relative;
width: 70%;
margin: 0 auto;
top: 0;
left: 0;
color: #fff;
}
.cap p {
width: 100%;
line-height:1.6;
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
#mov{
width: 90%;
text-align: center;
padding-top: 30px;
margin: 30px auto;
position: relative;
}
#mov p, #mov iframe {
width: 100%;
}

/* event以下 */
#evin {
position: relative;
padding: 0;
margin: 0 auto;
line-height: 1.3;
width:95%;
}
#evin p {
width: 87%;
}
/* event */
.evinfo {
width: 90%;
margin: 0 auto;
line-height: 2;
position: relative;
padding: 0;
}
h3 {
padding-top: 2em;
margin-bottom: 0em;
}
h3 img {
width: 9rem;
}
#evin h4 {
width: 100%;
padding-left: 1em;
font-weight: normal;
line-height: 1.5;
margin: 0;
font-size: 1.1em;
font-weight: bold;
}

/* 普通の太さ */
.nom {
 font-weight: normal;
}


.chira {
position: relative;
width: 90%;
margin: 50px auto 20px;
padding-left: 0;
line-height: 1.7;
font-size: 0.75em;
left: 0;
top: 0;
}
.toi2 {
padding-left: 0;
padding-bottom: 10px;
}
.sst {
padding: 2em 0;
}
footer {
width: 90%;
padding: 15px 5% 10px;
text-align: center;
font-size: 0.8em;
margin: 20px auto 0;
line-height: 1.5;
}

/* 英語ページ　スマホ版 */
#eng p{
line-height: 1.7;
text-align: left;
}
#eng .lang {
text-align: right;
padding-right: 20px;
}
#eng #logo {
text-align: right;
position:absolute;
top: -10px;
right: 10px;
text-align: right;
padding: 0;
margin: 0;
}
#eng header p {
padding-right: 10px;
}
#eng .cap1 {
text-align: right;
}
#eng .cap {
position: relative;
width: 70%;
margin: 0 auto;
top: 0;
left: 0;
color: #fff;
line-height: 1.5;
}