/* compiled by scssphp v0.0.12 on Tue, 19 Aug 2025 19:46:11 +0000 (0.0784s) */

html, body, #wrap {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', sans-serif;
  height: 100%;
  background-color: #faf9f9; }

*, a, div {
  background-repeat: no-repeat; }

div {
  position: relative; }

div, a, button {
  background-repeat: no-repeat; }

.panel-grid.panel-has-style > .panel-row-style, .panel-grid.panel-no-style {
  flex-direction: column; }

#wrap {
  padding-top: 50px; }
  @media screen and (min-width: 600px) {
  #wrap {
    padding-top: 80px; } }

#navi {
  background-color: #fff;
  height: 60px;
  display: block;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(0, 0, 0, .1); }
  @media screen and (min-width: 860px) {
  #navi {
    height: 80px; } }
  #navi .inner {
    max-width: 1024px;
    padding: 0 30px;
    margin: 0 auto;
    text-align: right;
    height: 100%; }
  #navi .toggle {
    position: absolute;
    right: 30px;
    top: 10px;
    width: 40px;
    height: 40px;
    display: block; }
    @media screen and (min-width: 860px) {
  #navi .toggle {
    display: none; } }
    #navi .toggle div {
      width: 40px;
      height: 5px;
      position: absolute;
      left: 0;
      background-color: #183764;
      opacity: 1;
      transition: all 0.5s ease; }
      #navi .toggle div.d1 {
        top: 4px; }
      #navi .toggle div.d2 {
        top: 16px; }
      #navi .toggle div.d3 {
        top: 28px; }
  #navi .logo {
    display: inline-block;
    position: absolute;
    background-image: url(../img/logo.svg);
    background-size: 100% auto;
    width: 139px;
    height: 47px;
    left: 12px;
    top: 3px; }
    @media screen and (min-width: 860px) {
  #navi .logo {
    width: 179px;
    height: 65px;
    left: 32px;
    top: 4px; } }
    @media screen and (min-width: 1023px) {
  #navi .logo {
    width: 189px;
    height: 65px;
    left: 32px;
    top: 3px; } }
  #navi ul {
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0; }
  #navi li {
    text-transform: uppercase;
    display: block; }
    @media screen and (min-width: 860px) {
  #navi li {
    display: inline-block; } }
  #navi .itemswrap {
    position: absolute;
    right: 0;
    top: 70px;
    background-color: rgba(255, 255, 255, .85);
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    padding: 20px 10px;
    display: none; }
    @media screen and (min-width: 860px) {
  #navi .itemswrap {
    display: block;
    box-shadow: none;
    padding: 0;
    position: relative;
    right: auto;
    top: auto;
    background-color: transparent; } }
  #navi .items {
    height: 100%; }
    @media screen and (min-width: 860px) {
  #navi .items {
    position: relative;
    top: auto;
    right: auto; } }
    #navi .items li {
      line-height: 2.5em;
      font-size: 18px; }
      @media screen and (min-width: 860px) {
  #navi .items li {
    height: 2.5em;
    font-size: 14px;
    height: 100%;
    line-height: 80px; } }
      #navi .items a {
        text-decoration: none;
        color: #183764;
        font-family: 'Roboto', sans-serif;
        font-weight: 400;
        font-size: 22px;
        padding: 0 20px;
        display: block;
        position: relative; }
      @media screen and (min-width: 860px) {
  #navi .items a {
    font-size: 14px;
    font-weight: 300;
    padding: 0 14px; } }
      @media screen and (min-width: 1023px) {
  #navi .items a {
    padding: 0 20px; } }
    @media screen and (min-width: 860px) {
        #navi .items li.selected > a:after {
          content: '';
          display: block;
          position: absolute;
          bottom: 0;
          left: 0;
          background-color: #6a336c;
          height: 5px;
          width: 100%; } }
    #navi .items .children {
      background-color: #fff; }
      @media screen and (min-width: 860px) {
  #navi .items .children {
    display: none;
    position: absolute; } }
      #navi .items .children a {
        display: block; }
        #navi .items .children a:after {
          content: ' »';
          padding: 0 10px; }
          @media screen and (min-width: 860px) {
  #navi .items .children a:after {
    padding: 0;
    display: none; } }
    #navi .items li.active .children {
      display: block; }
  #navi .lang {
    display: block;
    padding-right: 10px; }
    @media screen and (min-width: 860px) {
  #navi .lang {
    position: absolute;
    right: 15px;
    background-color: #183764;
    display: block;
    padding-right: 0; } }
    @media screen and (min-width: 1023px) {
  #navi .lang {
    right: 20px; } }
    #navi .lang ul {
      padding: 0 10px; }
    #navi .lang li, #navi .lang a {
      display: inline-block;
      color: transparent; }
      @media screen and (min-width: 860px) {
  #navi .lang li, #navi .lang a {
    color: #ebe8f3; } }
    #navi .lang a {
      padding: 9px 10px;
      text-decoration: none;
      font-weight: 500;
      font-size: 22px;
      display: block;
      color: #183764; }
      @media screen and (min-width: 860px) {
  #navi .lang a {
    padding: 7px 4px;
    color: #ebe8f3;
    font-weight: 300;
    font-size: 14px; } }
    #navi .lang li.selected a {
      color: #183764;
      font-weight: 600; }
      @media screen and (min-width: 860px) {
  #navi .lang li.selected a {
    color: #fff; } }

body.navi #navi .toggle .d1 {
  transform: rotate(45deg) translateY(10px) translateX(10px); }
  body.navi #navi .toggle .d2 {
    transform: rotate(180deg);
    opacity: 0; }
  body.navi #navi .toggle .d3 {
    transform: rotate(135deg) translateY(7px) translateX(-7px); }

body.navi #navi .itemswrap {
  display: block; }

.top-intro {
  display: block;
  text-align: center;
  padding: 0 20px 49px; }
  .top-intro .animation {
    width: 570px;
    height: 240px;
    margin-top: -10px;
    display: none; }
    @media screen and (min-width: 860px) {
  .top-intro .animation {
    display: inline-block; } }
  .top-intro h1 {
    color: #742677;
    font-family: 'Playfair Display', serif;
    font-size: 35px;
    font-weight: 700;
    margin: 15px 0;
    hyphens: auto; }
    @media screen and (min-width: 450px) {
  .top-intro h1 {
    font-size: 40px; } }
    @media screen and (min-width: 600px) {
  .top-intro h1 {
    font-size: 54px; } }
  .top-intro p {
    font-family: 'Georgia', serif;
    font-size: 20px;
    max-width: 740px;
    margin: 31px auto;
    line-height: 1.35em; }

.top-news {
  display: block;
  background-color: #6a336c;
  padding: 30px 15px; }
  .top-news .inner {
    max-width: 1024px;
    margin: 0 auto;
    text-align: center; }
    @media screen and (min-width: 710px) {
  .top-news .inner {
    text-align: left;
    width: 680px;
    margin: 0 auto; } }
    @media screen and (min-width: 1050px) {
  .top-news .inner {
    width: 1020px; } }
  .top-news .item {
    position: relative;
    height: 360px;
    text-decoration: none;
    background-color: #fff;
    padding: 120px 20px 20px;
    box-sizing: border-box;
    vertical-align: top;
    width: 100%;
    max-width: 320px;
    margin-bottom: 20px;
    display: block;
    margin: 0 auto 20px; }
    @media screen and (min-width: 700px) {
  .top-news .item {
    display: inline-block;
    margin: 0 10px 20px; } }
    .top-news .item .image {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 120px;
      background-position: center center;
      background-size: cover; }
      .top-news .item .image .tag {
        width: 160px;
        height: 40px;
        background-color: #183764;
        color: #fff;
        text-transform: uppercase;
        text-align: center;
        line-height: 40px;
        font-size: 14px;
        font-weight: 300; }
    .top-news .item h2 {
      color: #742677;
      font-family: 'Playfair Display', serif;
      font-size: 22px;
      line-height: 1.25em;
      margin: 0.65em 0; }
    .top-news .item p {
      font-family: 'Georgia', serif;
      font-size: 16px;
      color: #1c2327;
      line-height: 1.36em;
      height: 64px;
      overflow: hidden;
      text-overflow: ellipsis;
      margin: 1.2em 0 1.1em;
      padding: 0; }

.top-text {
  padding: 0 15px; }
  .top-text .inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 39px 0 41px;
    text-align: center; }
    .top-text .inner h2 {
      color: #742677;
      font-family: 'Playfair Display', serif;
      font-size: 32px;
      font-weight: 700;
      padding: 0;
      margin: 1em auto;
      max-width: 610px; }
    .top-text .inner p {
      font-family: 'Georgia', serif;
      font-size: 16px;
      line-height: 1.35em;
      max-width: 610px;
      margin: 0 auto; }
    .top-text .inner .button {
      margin: 40px 0; }

.top-carousel {
  background-color: #f3efee; }
  .top-carousel .inner {
    margin: 0 auto;
    text-align: center;
    padding: 70px 0 29px;
    max-width: 300px; }
    @media screen and (min-width: 860px) {
  .top-carousel .inner {
    max-width: 700px; } }
    @media screen and (min-width: 1200px) {
  .top-carousel .inner {
    max-width: 1200px; } }
  .top-carousel .slick {
    display: inline-block;
    position: relative; }
    .top-carousel .slick .slick-list {
      width: 320px; }
      @media screen and (min-width: 860px) {
  .top-carousel .slick .slick-list {
    width: 680px; } }
      @media screen and (min-width: 1200px) {
  .top-carousel .slick .slick-list {
    width: 1020px; } }
    .top-carousel .slick .item {
      background-position: center center;
      border-radius: 50%;
      background-size: cover;
      margin: 0 20px;
      position: relative;
      overflow: hidden;
      color: #fff;
      padding: 70px 60px;
      box-sizing: border-box;
      cursor: pointer;
      width: 300px;
      height: 300px;
      height: 280px; }
      @media screen and (min-width: 860px) {
  .top-carousel .slick .item {
    width: 300px;
    height: 300px; } }
      @media screen and (min-width: 1200px) {
  .top-carousel .slick .item {
    width: 300px;
    height: 300px; } }
      .top-carousel .slick .item:focus {
        outline: none; }
      .top-carousel .slick .item h2, .top-carousel .slick .item p {
        position: relative; }
      .top-carousel .slick .item .arrow {
        font-size: 47px;
        transition: transform 0.5s ease 0s; }
      .top-carousel .slick .item:hover .arrow {
        transform: translateX(5px); }
    .top-carousel .slick .veil {
      background-color: rgba(116, 38, 119, 0.7);
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
  .top-carousel .slick-next, .top-carousel .slick-prev {
    position: absolute;
    top: 120px;
    width: 50px;
    height: 50px;
    font-size: 55px;
    color: #742677;
    background: none;
    padding: 0;
    line-height: 1em;
    border: 0;
    z-index: 100;
    cursor: pointer; }
    .top-carousel .slick-next:focus, .top-carousel .slick-prev:focus {
      outline: none; }
    .top-carousel .slick-next span, .top-carousel .slick-prev span {
      transition: transform 0.3s ease 0s; }
  .top-carousel .slick-next {
    right: -75px;
    padding-right: 5px; }
    .top-carousel .slick-next span:hover {
      transform: translateX(5px); }
  .top-carousel .slick-prev {
    left: -75px;
    padding-left: 5px;
    text-align: right; }
    .top-carousel .slick-prev span:hover {
      transform: translateX(-5px); }
  .top-carousel .slick-dots {
    display: inline-block;
    list-style: none;
    padding: 0;
    border: 0;
    margin: 20px 0 0; }
    .top-carousel .slick-dots li {
      display: inline-block; }
    .top-carousel .slick-dots button {
      border-radius: 50%;
      background-color: #d3cbc2;
      font-size: 0;
      width: 12px;
      height: 12px;
      padding: 0;
      margin: 0 5px;
      transition: background-color 0.5s ease 0.5s; }
      .top-carousel .slick-dots button:focus {
        outline: none; }
  .top-carousel .slick-active button {
    background-color: #742677;
    transition: background-color 0.5s ease 0s; }

.top-newsletter {
  text-align: center;
  background-color: #424874;
  color: #fff;
  padding: 37px 30px 68px; }
  .top-newsletter .inner {
    max-width: 710px;
    margin: 0 auto; }
  .top-newsletter h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1.43em;
    margin: 1em 0 1.1em; }
  .top-newsletter p {
    font-family: 'Georgia', serif;
    font-size: 16px;
    line-height: 21px; }
  .top-newsletter form {
    padding: 22px 0; }
  .top-newsletter input, .top-newsletter #mce-EMAIL {
    border: 1px solid #fff;
    border-radius: 0;
    padding: 14px 20px;
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.14em;
    background-color: transparent;
    height: 50px;
    color: #fff;
    margin: 0 auto 10px;
    display: block;
    text-align: center;
    width: 250px; }
    @media screen and (min-width: 500px) {
  .top-newsletter input, .top-newsletter #mce-EMAIL {
    width: 320px;
    text-align: left;
    display: inline;
    margin: 0; } }
    .top-newsletter input:focus, .top-newsletter #mce-EMAIL:focus {
      outline: none;
      border-color: 1px solid #fff; }
  .top-newsletter input::-webkit-input-placeholder {
    color: #d0d0d0; }
  .top-newsletter input:-moz-placeholder {
    color: #d0d0d0;
    opacity: 1; }
  .top-newsletter input::-moz-placeholder {
    color: #d0d0d0;
    opacity: 1; }
  .top-newsletter input:-ms-input-placeholder {
    color: #d0d0d0; }
  .top-newsletter input::-ms-input-placeholder {
    color: #d0d0d0; }
  .top-newsletter input::placeholder {
    color: #d0d0d0; }
  .top-newsletter .button {
    width: 70px;
    margin-left: 10px;
    padding: 9px 10px 12px; }
  .top-newsletter #mc_embed_signup {
    text-align: center; }
    .top-newsletter #mc_embed_signup label {
      display: none; }
    .top-newsletter #mc_embed_signup input.button#mc-embedded-subscribe {
      margin-left: auto;
      margin-right: auto;
      border: 0;
      box-sizing: border-box;
      text-align: center;
      display: inline-block;
      height: 17px;
      text-transform: uppercase;
      border-radius: 0;
      padding: 0.64em 0;
      font-size: 14px;
      line-height: 1.2em;
      height: 50px;
      background-color: transparent;
      color: #fff;
      width: 100px;
      margin-left: 10px;
      border: 1px solid #fff; }
      .top-newsletter #mc_embed_signup input.button#mc-embedded-subscribe:focus {
        outline: none; }
    .top-newsletter #mc_embed_signup input.email {
      margin: 0 auto 20px;
      display: block;
      text-align: center;
      width: 100%;
      max-width: 300px;
      box-sizing: border-box; }
      @media screen and (min-width: 550px) {
  .top-newsletter #mc_embed_signup input.email {
    text-align: left;
    margin: 0 10px 10px 0;
    display: inline-block; } }
    .top-newsletter #mc_embed_signup input:focus {
      border-color: #fff; }
  .top-newsletter #mc_embed_signup .clear {
    position: relative;
    vertical-align: top; }
  .top-newsletter #mc_embed_signup_scroll {
    text-align: center; }

.top-footer {
  background-color: #2d232e;
  padding: 0 15px 64px; }
  .top-footer .inner {
    max-width: 1000px;
    margin: 0 auto;
    color: #fff; }
  .top-footer .col {
    display: inline-block;
    vertical-align: top;
    padding-top: 34px;
    text-align: center; }
    @media screen and (min-width: 1200px) {
  .top-footer .col {
    text-align: left; } }
    .top-footer .col.sitemap {
      width: 100%; }
      @media screen and (min-width: 600px) {
  .top-footer .col.sitemap {
    width: 50%; } }
      @media screen and (min-width: 1200px) {
  .top-footer .col.sitemap {
    width: 24.6%; } }
      .top-footer .col.sitemap a {
        display: block;
        text-transform: uppercase;
        color: #fff;
        text-decoration: none;
        font-family: 'Roboto', sans-serif;
        font-size: 14px;
        font-weight: 300;
        line-height: 1.9em; }
    .top-footer .col.contact {
      width: 100%; }
      @media screen and (min-width: 600px) {
  .top-footer .col.contact {
    width: 50%; } }
      @media screen and (min-width: 1200px) {
  .top-footer .col.contact {
    width: 27.5%; } }
      .top-footer .col.contact p {
        margin: 0 0 1em;
        font-family: 'Roboto', sans-serif;
        font-size: 14px;
        line-height: 1.6em; }
      .top-footer .col.contact a {
        color: #fff;
        text-decoration: none; }
    .top-footer .col.partners {
      width: 100%; }
      @media screen and (min-width: 600px) {
  .top-footer .col.partners {
    width: 50%; } }
      @media screen and (min-width: 1200px) {
  .top-footer .col.partners {
    width: 27.1%; } }
      .top-footer .col.partners h2 {
        margin-bottom: 1.1em; }
      .top-footer .col.partners a {
        display: block;
        background-size: 100% auto;
        border: 0;
        margin: 0 auto 17px;
        font-size: 0;
        overflow: hidden;
        text-indent: -1000px;
        width: 202px;
        height: 77px; }
        @media screen and (min-width: 1200px) {
  .top-footer .col.partners a {
    margin: 0 0 10px; } }
    .top-footer .col.feedback {
      width: 100%; }
      @media screen and (min-width: 600px) {
  .top-footer .col.feedback {
    width: 50%; } }
      @media screen and (min-width: 1200px) {
  .top-footer .col.feedback {
    width: 20.5%; } }
      .top-footer .col.feedback h2 {
        margin-bottom: 1.6em; }
      .top-footer .col.feedback .button {
        width: 167px; }
  .top-footer h2 {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 27px;
    color: #fff;
    margin-bottom: 1.3em; }
  .top-footer .some {
    display: flex;
    flex-direction: row;
    padding-top: 40px;
    justify-content: center;
    flex-wrap: wrap; }
    .top-footer .some h2 {
      flex: 0 0 100%;
      text-align: center; }
    .top-footer .some a {
      flex: 0 0 auto;
      color: #fff;
      margin: 0 20px;
      font-size: 0;
      color: transparent; }
      .top-footer .some a::after {
        color: #fff;
        font-size: 3rem;
        content: "";
        font-family: FontAwesome; }
    .top-footer .some .facebook::after {
      content: "\f082"; }
    .top-footer .some .linkedin::after {
      content: "\f08c"; }

@keyframes dash {
  to {
    stroke-dashoffset: 0; } }

.top-intro circle, .top-intro-sub circle {
  opacity: 0;
  transform: scale(0.1);
  transition: transform 0.5s ease, opacity 0.5s ease; }
  .top-intro circle.visible, .top-intro-sub circle.visible {
    opacity: 1;
    transform: scale(1); }
  .top-intro line, .top-intro-sub line {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    /*  }*/ }
  .top-intro line.visible, .top-intro-sub line.visible {
    animation: dash 5s linear forwards; }

.top-newslist {
  display: block; }
  .top-newslist .inner {
    padding: 1em 30px;
    max-width: 800px;
    margin: 0 auto; }
  .top-newslist .item {
    line-height: 1.34em; }
  .top-newslist .item > a > h2 {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    line-height: 46px;
    margin: 0.8em 0 0.1em;
    color: #742677; }
  .top-newslist .item .date {
    font-size: 14px; }
  .top-newslist .item img {
    max-width: 100%;
    height: auto; }
    @media screen and (min-width: 768px) {
    .top-newslist .item img {
      width: auto;
      max-width: 400px;
      float: left;
      margin: 0 20px 20px 0; } }
  .top-newslist .item a {
    text-decoration: none;
    color: #183764; }
  .top-newslist .more {
    padding: 20px 0;
    clear: both; }
  .top-newslist .spacer {
    border-bottom: 1px solid #ccc;
    padding: 20px 0 30px;
    clear: both; }

.top-intro-sub {
  display: block;
  text-align: center;
  padding: 0 20px 15px; }
  @media screen and (min-width: 600px) {
  .top-intro-sub {
    padding: 0 30px 35px; } }
  .top-intro-sub .animation {
    display: none;
    width: 570px;
    height: 150px;
    margin-top: -10px; }
  @media screen and (min-width: 860px) {
    .top-intro-sub .animation {
      display: inline-block; } }
  .top-intro-sub h1 {
    color: #742677;
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 700;
    margin: 9px 0; }

.top-basic {
  padding: 0 15px; }
  .top-basic .inner {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center; }
  .top-basic .content, .top-basic .subnavi, .top-basic .sidebar {
    text-align: left;
    display: inline-block;
    vertical-align: top; }
  .top-basic .content {
    max-width: 700px;
    width: 100%;
    box-sizing: border-box;
    color: #742677;
    padding: 10px 0 28px 0;
    margin: 0 auto;
    display: block; }
  @media screen and (min-width: 1030px) {
    .top-basic .content {
      display: inline-block;
      padding: 10px 35px 68px 0;
      margin: 0; } }
  .top-basic .content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    line-height: 46px;
    margin: 0.8em 0 0.2em; }
  .top-basic .content .date {
    font-size: 14px;
    margin: 0.8em 0 1em;
    color: #000; }
  .top-basic .content p {
    font-family: 'Georgia', serif;
    font-size: 16px;
    line-height: 1.35em;
    color: #000;
    margin-bottom: 1.25em; }
    .top-basic .content p.ingress {
      font-size: 18px;
      line-height: 1.33em;
      margin: 1em 0; }
  .top-basic .content .imagewrap {
    width: 100%;
    display: block;
    padding-bottom: 7px;
    max-width: 600px;
    margin: 0 auto; }
    @media screen and (min-width: 1030px) {
    .top-basic .content .imagewrap {
      max-width: 700px;
      margin: 0; } }
    .top-basic .content .imagewrap .description {
      text-align: right;
      display: block;
      color: #742677;
      font-family: 'Georgia', serif;
      font-size: 14px;
      line-height: 1.8em;
      font-style: italic;
      padding-right: 2px; }
  .top-basic .content .wp-caption, .top-basic .content .wp-caption p {
    /* display: none; */
    width: 100%;
    position: relative;
    max-width: 100%; }
    @media screen and (min-width: 600px) {
    .top-basic .content .wp-caption, .top-basic .content .wp-caption p {
      display: block;
      text-align: right;
      color: #742677;
      font-family: 'Georgia', serif;
      font-size: 14px;
      line-height: 1.8em;
      font-style: italic;
      padding-right: 2px; } }
  .top-basic .content .wp-caption p {
    margin: 0; }
  .top-basic .content .wp-caption img {
    margin-bottom: 0; }
  .top-basic .content .imagewrap img, .top-basic .content .wp-caption img, .top-basic .content img {
    width: 100%;
    height: auto; }
  .top-basic .sidebar {
    padding-top: 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 700px;
    margin: 0 auto; }
  @media screen and (min-width: 1030px) {
    .top-basic .sidebar {
      width: 300px;
      display: inline-block; } }
  .top-basic .sidebar > div {
    box-sizing: border-box;
    flex: 0 0 100%;
    margin: 0 0 20px; }
    @media screen and (min-width: 1030px) {
    .top-basic .sidebar > div {
      flex: 0 0 300px;
      display: block; } }
    .top-basic .sidebar > div h3 {
      font-family: 'Playfair Display', serif;
      font-size: 22px;
      line-height: 1.23em;
      margin: 0 0 0.55em;
      word-wrap: break-word; }
    .top-basic .sidebar > div a {
      word-wrap: break-word; }
  .top-basic .sidebar h2 {
    display: none; }
  .top-basic .subnavi {
    display: none;
    width: 300px;
    padding-top: 50px;
    background-color: #742677;
    padding: 25px 39px 48px 44px;
    box-sizing: border-box; }
  @media screen and (min-width: 1030px) {
    .top-basic .subnavi {
      display: inline-block; } }
  .top-basic .subnavi h3 {
    color: #fff; }
  .top-basic .subnavi a {
    color: #fff;
    text-decoration: none;
    display: block;
    font-family: 'Georgia', serif;
    font-size: 16px;
    line-height: 21px;
    text-decoration: none;
    padding: 10px 0 12px;
    border-bottom: 1px solid #fff; }
    .top-basic .subnavi a.current {
      font-weight: 600; }
  .top-basic .subnavi.mobile {
    display: block;
    padding: 15px 19px 18px 14px;
    background-color: transparent; }
    @media screen and (min-width: 1030px) {
    .top-basic .subnavi.mobile {
      display: none; } }
    .top-basic .subnavi.mobile select {
      width: 100%;
      max-width: 300px;
      border: 1px solid #ccc;
      padding: 2px 5px;
      box-sizing: border-box; }
  .top-basic .newslinks {
    background-color: #f3efee;
    padding: 37px 39px 48px 44px; }
  .top-basic .newslinks h3 {
    color: #742677; }
  .top-basic .newslinks .link {
    color: #000;
    font-family: 'Georgia', serif;
    border-bottom: 1px solid #000;
    font-size: 16px;
    line-height: 1.31em;
    display: block;
    padding: 13px 0 11px;
    text-decoration: none; }
  .top-basic .newslinks .button {
    color: #742677;
    border: 1px solid #742677;
    margin: 21px 0 0; }
  .top-basic .citylinks {
    background-color: #742677;
    padding: 25px 39px 48px 44px; }
  .top-basic .citylinks h3 {
    color: #fff; }
  .top-basic .citylinks a {
    color: #fff;
    text-decoration: none;
    display: block;
    font-family: 'Georgia', serif;
    font-size: 16px;
    line-height: 21px;
    text-decoration: none;
    padding: 10px 0 12px;
    border-bottom: 1px solid #fff; }
  .top-basic .follow {
    background-color: #424874;
    margin: 0 0 25px;
    padding: 25px 39px 48px 44px; }
  .top-basic .follow h3 {
    color: #fff; }
  .top-basic .follow a {
    color: #fff;
    text-decoration: none;
    display: block;
    font-family: 'Georgia', serif;
    font-size: 16px;
    line-height: 21px;
    padding: 10px 0 12px;
    border-bottom: 1px solid #fff; }

.top-personnel {
  background-color: #f3efee;
  padding: 56px 15px 30px; }
  .top-personnel .inner {
    margin: 0 auto;
    text-align: center;
    padding: 0;
    max-width: 550px; }
  @media screen and (min-width: 570px) {
    .top-personnel .inner {
      padding: 0 15px; } }
  @media screen and (min-width: 768px) {
    .top-personnel .inner {
      max-width: none; } }
  @media screen and (min-width: 1100px) {
    .top-personnel .inner {
      max-width: 1020px; } }
  .top-personnel h2 {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    line-height: 46px;
    color: #742677;
    font-weight: 600;
    margin: 0 0 0.95em; }
  .top-personnel .personwrap {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    padding: 0 10px 20px;
    width: 290px; }
  @media screen and (min-width: 570px) {
    .top-personnel .personwrap {
      width: 100%; } }
  @media screen and (min-width: 768px) {
    .top-personnel .personwrap {
      width: 50%; } }
  @media screen and (min-width: 1000px) {
    .top-personnel .personwrap {
      width: 33.3%; } }
  @media screen and (min-width: 1100px) {
    .top-personnel .personwrap {
      width: 50%; } }
  .top-personnel .person {
    border: 1px solid #fff;
    padding: 17px 17px 17px 19px;
    text-align: left; }
  .top-personnel .image, .top-personnel .info {
    margin: 0 auto;
    display: block; }
  @media screen and (min-width: 570px) {
    .top-personnel .image, .top-personnel .info {
      display: inline-block;
      vertical-align: top; } }
  @media screen and (min-width: 768px) {
    .top-personnel .image, .top-personnel .info {
      display: block; } }
  @media screen and (min-width: 1100px) {
    .top-personnel .image, .top-personnel .info {
      display: inline-block; } }
  .top-personnel .image {
    background-position: center center;
    background-size: cover;
    border: 1px solid #742677;
    border-radius: 50%;
    width: 160px;
    height: 160px; }
  @media screen and (min-width: 1100px) {
    .top-personnel .image {
      width: 160px;
      height: 160px; } }
  .top-personnel .info {
    box-sizing: border-box;
    font-family: 'Georgia', serif;
    font-size: 16px;
    line-height: 1.4em;
    width: 280px;
    padding: 29px 0 10px 0; }
  @media screen and (min-width: 570px) {
    .top-personnel .info {
      padding: 29px 0 10px 30px; } }
  @media screen and (min-width: 768px) {
    .top-personnel .info {
      width: 100%;
      padding: 29px 0 10px 10px; } }
  @media screen and (min-width: 1100px) {
    .top-personnel .info {
      padding: 29px 0 10px 30px;
      width: 280px; } }
  .top-personnel .info .name {
    min-height: 4em;
    display: block; }
  .top-personnel .info a {
    display: block;
    color: #742677;
    text-decoration: none; }

.top-basic form.ajaxform .thanks {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background-color: rgba(250, 249, 249, .8); }
  .top-basic form.ajaxform .thanks p {
    color: #000;
    font-size: 22px;
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    padding: 0 30px;
    box-sizing: border-box; }
  .top-basic form.ajaxform label {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #000;
    line-height: 1.5em; }
  .top-basic form.ajaxform input, .top-basic form.ajaxform textarea {
    border: 1px solid #424874;
    padding: 3px 5px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box; }
  .top-basic form.ajaxform input.invalid, .top-basic form.ajaxform textarea.invalid {
    border: 1px solid #f00; }
    .top-basic form.ajaxform input.invalid:focus, .top-basic form.ajaxform textarea.invalid:focus {
      outline: #f00 auto 5px; }
  .top-basic form.ajaxform input {
    max-width: 330px; }
  .top-basic form.ajaxform textarea {
    max-width: 490px;
    min-height: 100px; }
  .top-basic form.ajaxform button {
    margin-top: 20px;
    color: #fff;
    background-color: #742677;
    width: 190px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 300;
    border: 0; }

a.button, div.button {
  text-align: center;
  line-height: 30px;
  border: 1px solid #742677;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 48px;
  color: #742677;
  display: inline-block;
  max-width: 280px;
  width: 100%;
  text-decoration: none; }
  a.button.white, div.button.white {
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff; }
