/* common
********************************************** */
h1, h2, h3 {
  margin: 0;
  font: 16px/1.875 serif;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: .1em;
  font-feature-settings: "palt";
  *font-size: small;
  *font: x-small;
  color: #333;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
    height: auto;
  }
}

/* layout
********************************************** */
.inner {
  width: 90%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .inner {
    width: 84%;
    max-width: none;
  }
}

/* header
********************************************** */
.header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  background-color: rgba(255,255,255,.92);
}
.header--logo {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

/* --- header--btm --- */
.header--btm {
  position: relative;
  width: 100%;
  padding-left: 24px;
  transition: .4s ease-out;
}
.header--logo a {
  display: block;
  padding-top: 8px;
  padding-bottom: 8px;
}
.logo-lead {
  font-family: A1明朝, serif;
  display: block;
  font-size: 70%;
  line-height: 1;
}
.header--anniversary {
  font-family: A1明朝, serif;
  margin-left: 20px;
  letter-spacing: .21em;
}
.header--anniversary span {
  font-size: 125%;
}

@media screen and (max-width: 1300px) and (min-width: 768px) {
  .header--anniversary {
    display: none;
  }
}
@media screen and (max-width: 1140px) {
  .header--logo img {
    width: 130px;
  }
}
@media screen and (max-width: 767px) {
  .header--logo img {
    width: 104px;
  }
  .header--anniversary {
    margin-left: 8px;
    font-size: 70%;
  }

  /* --- header--btm --- */
  .header--btm {
    height: 64px;
    padding-left: 16px;
  }
}

/* ttl
********************************************** */
/* --- page_ttl --- */
.page_ttl {
  text-align: center;
  position: relative;
  z-index: 10;
  overflow: hidden;
  margin-bottom: 40px;
  padding-top: 150px;
  padding-bottom: 110px;
  background-color: #3d8db9;
  background-position: center;
  background-size: cover;
}
.page_ttl-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-image: url(/wp/wp-content/uploads/2020/11/page_ttl.jpg);
  background-position: center;
  background-size: cover;
}
.page_ttl::after {
  content: '';
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  bottom: -1px;
  height: 45px;
  background: url(../images/common/page_ttl-btm.svg) center bottom no-repeat;
}
.page_ttl-jp {
  display: block;
  color: #fff;
  font-size: 250%;
  font-family: A1明朝, serif;
  line-height: 1;
  letter-spacing: .1em;
  text-shadow: 0 0 7px rgba(0,0,0,.5);
}
@media screen and (max-height: 700px) {
  .page_ttl {
    padding-top: 170px;
    padding-bottom: 122px;
  }
}
@media screen and (max-width: 767px) {
  /* --- page_ttl --- */
  .page_ttl {
    padding-top: 124px;
    padding-bottom: 60px;
  }
  .page_ttl::after {
    height: 9px;
    background-size: 100% auto;
  }
  .page_ttl-jp {
    font-size: 200%;
  }
}