@charset "UTF-8";
/* CSS Document */
body {
 font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
 font-size: 18px;
 line-height: 1.6em;
 margin-top: 0px;
 padding-top: 0px;
 padding-right: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 overflow-x: hidden;
}
a.btn_ext {
 display: flex;
 justify-content: center;
 align-items: center;
 max-width: 700px;
 height: auto;
 position: relative;
 background-color: #DD0000;
 border: 1px solid #DD0000;
 border-radius: 100px;
 box-sizing: border-box;
 padding: 20px 45px 20px 25px;
 color: #fff;
 font-size: 20px;
 font-weight: bold;
 line-height: 1.3;
 text-align: center;
 text-decoration: none;
 transition-duration: 0.3s;
 margin: 10px 20px 40px 20px;
}
a.btn_ext:before {
 content: '';
 width: 8px;
 height: 8px;
 border: 0;
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 25px;
 margin-top: -6px;
}
a.btn_ext:hover {
 background: #fff;
 color: #DF0000;
}
a.btn_ext:hover:before {
 border-top: 2px solid #DD0000;
 border-right: 2px solid #DD0000;
}
p {
 margin-bottom: 1.5em;
 padding-top: 0px;
 padding-right: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 margin-top: 0px;
}
section {
 width: 100%;
 display: block;
 margin-top: 0px;
}
.separater_b {
 text-align: center;
 height: 250px;
 background-image: url(../images/img_b.jpg);
 background-repeat: no-repeat;
 background-position: center center;
 background-size: 61px auto;
}
/*テキストボックス共通*/
section h1 {
 display: block;
 padding: 3px;
 text-align: center;
 margin-bottom: 1em;
}
section h1 span {
 display: block;
 border-top: 1px solid #DD0000;
 border-bottom: 1px solid #DD0000;
 padding-top: 5px;
 padding-right: 5px;
 padding-left: 5px;
 padding-bottom: 5px;
}
.textbox-sd {
 max-width: 700px;
 margin-left: auto;
 margin-right: auto;
 text-align: left;
}
.textbox-sd p {
 padding: 0 1em;
}
.sp_only {
 display: none;
 margin: 0;
}
article h2 {
 text-align: center;
 background-image: url(../images/img_h3_bg.png);
 background-size: contain;
 height: 4em;
 font-size: 1.2em;
 max-width: 700px;
 margin-left: auto;
 margin-right: auto;
 display: block;
 background-repeat: no-repeat;
 background-position: center center;
 margin-bottom: 20px;
}
article h2 span {
 background-color: #FFFFFF;
 padding-top: 0.6em;
 padding-right: 0.5em;
 padding-bottom: 1.5em;
 padding-left: 0.5em;
 display: inline-block;
}
/*画像ボックス共通*/
.imagebox_outer {
 background-color: #DBDBDB;
 text-align: center;
 margin-bottom: 4em;
}
.imagebox_inner_single {
 background-color: #DBDBDB;
 max-width: 1000px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 5em;
 display: block;
 padding-bottom: 20px;
}
.imagebox_inner_single img {
 width: 100%;
 height: auto;
}
.imagebox_outer span {
 display: block;
 font-size: 14px;
 color: #FFFFFF;
 padding-top: 5px;
 position: absolute;
 margin-top: 0px;
 bottom: 10px;
 left: 10px;
 text-shadow: 1px 2px 3px #000;
 text-align: left;
}
.imagebox_inner_double {
 background-color: #DBDBDB;
 max-width: 495px;
 margin-left: auto;
 margin-right: auto;
 vertical-align: top;
 display: inline-block;
 margin-bottom: 20px;
}
.imagebox_outer .withcap {
 position: relative;
}
.imagebox_inner_double img {
 width: 100%;
 height: auto;
}
.imgcap {
 font-size: 15px;
 max-width: 1000px;
 margin-left: auto;
 margin-right: auto;
 text-align: left;
 padding-top: 5px;
 padding-right: 10px;
 line-height: 1.2em;
 padding-left: 10px;
}
.twincap {
 margin-top: -10px;
 padding-bottom: 10px;
}
/*ヘッダー　カルーセル部*/
header {
 border-top: solid 5px red;
 width: 100%;
 padding-top: 0px;
 position: relative;
 margin-bottom: -70px;
 overflow: hidden;
 height: auto;
}
header h1 {
 max-width: 1000Px;
 margin: 0 auto;
 position: relative;
}
img.maintitle {
 width: 100%;
 height: auto;
 position: absolute;
 top: -500px;
}
header ul {
 max-width: 1000px;
 margin: 0 auto;
}
header ul img {
 width: 100%;
 height: auto;
}
/*リード文*/
#leadcontents {
 margin-bottom: 60px;
}
#leadcontents h4 {
 max-width: 700px;
 margin-left: auto;
 margin-right: auto;
 font-weight: bold;
 color: #DD0000;
 font-size: 20px;
 background-repeat: repeat-x;
}
/*ブラームス　地図部*/
#first01 {
 background-image: url(../images/img_map_bg30per.jpg);
 background-repeat: no-repeat;
 background-size: cover;
 background-position: center center;
 margin-bottom: 80px;
}
#first01 article {
 max-width: 1000px;
 margin-right: auto;
 margin-left: auto;
 margin-bottom: 0;
 text-align: center;
 padding-top: 5px;
}
#first01 article h3 {
 margin-top: 40px;
 display: block;
 margin-bottom: 20px;
}
#first01 article .leftcontent {
 display: inline-block;
 margin-right: 20px;
 position: relative;
 text-align: center;
 vertical-align: top;
 margin-left: 20px;
}
#first01 article .leftcontent span {
 display: block;
 font-size: 12px;
 text-align: center;
 color: #FFFFFF;
 padding-top: 5px;
 position: absolute;
 margin-top: 0px;
 bottom: 10px;
 left: 10px;
 text-shadow: 1px 2px 3px #000;
 text-align: left;
}
#first01 article .rightcontent {
 display: inline-block;
 text-align: left;
 max-width: 460px;
 vertical-align: top;
 font-size: 0.9em;
 margin: 0 20px;
}
/*Youtube部*/
#fourth04 {
 background-image: url(../images/img_map_bg30per.jpg);
 background-position: center bottom;
 text-align: center;
 padding: 12px 0 30px 0;
}
#fourth04 h2 img {
 max-width: 580px;
 width: 100%;
 height: auto;
 margin-bottom: 10px;
}
#fourth04 h2 {
 background-image: url(../images/img_music.png);
 background-repeat: repeat-x;
 margin-top: 20px;
 padding-top: 80px;
 padding-bottom: 30px;
 background-size: 50% auto;
 background-position: center top;
}
.youtube {
 position: relative;
 width: 100%;
 padding-top: none;
 max-width: 700px;
 height: 394px;
 margin: 0 auto;
}
.youtube iframe {
 position: absolute;
 top: 0;
 right: 0;
 width: 100%;
 height: 100%;
}
/*フッター*/
footer {
 display: block;
 background-color: #DD0000;
 text-align: center;
 color: #FFFFFF;
 padding-top: 10px;
 margin: 0;
}
footer div {
 border-top: 5px solid #FFFFFF;
 height: 130px;
 line-height: 180px;
 background-color: #DD0000;
}
p.austria_gov {
 font-weight: bold;
 display: block;
 text-align: center;
 border: solid 1px #999;
 padding: 10px 5px 10px 5px;
 border-radius: 10px;
 margin: 10px;
 font-size: 1.1em;
 line-height: 1em;
 vertical-align: middle;
 background-color: white;
}
p.austria_gov a {
 color: #d00;
}
p.austria_gov img {
 width: 25%;
 height: auto;
 vertical-align: middle;
 margin: 0 10px;
}
@media screen and (max-width:599px) {
 .sp_only {
  display: inline;
  margin: 0;
 }
 img.maintitle {
  width: 180%;
  height: auto;
  position: absolute;
  top: -410px;
 }
 #leadcontents h4 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
  font-weight: normal;
  color: #DD0000;
  font-size: 16px;
  background-repeat: repeat-x;
 }
 .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  max-width: 700px;
  max-height: auto;
  height: auto;
  margin: 0 auto;
 }
 #fourth04 h2 {
  background-size: 100% auto;
 }
}