@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:500&subset=japanese");
@media only screen and (max-width: 767px) {
  .u-pcOnly {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .u-spOnly {
    display: none;
  }
}

html {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.04em;
  overflow-y: scroll;
}

html, body, h1, h2, h3, h4, h5, h6, figure,
blockquote, p, ul, ol, dl, dt, dd, form {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

html {
  font-size: 62.5%;
}

body {
  color: #333;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  -webkit-font-smoothing: antialiased;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  color: #000;
}

@media only screen and (min-width: 768px) {
  body {
    min-width: 1200px;
  }
}

@media only screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}

main {
  display: block;
}

ul, ol {
  list-style-type: none;
}

img {
  border: none;
  font-size: 0;
  line-height: 0;
  width: 100%;
  vertical-align: middle;
}

strong {
  font-weight: bold;
}

a {
  text-decoration: none;
  border-style: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.c-header {
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  z-index: 2000;
  -webkit-transition: padding 1s cubic-bezier(0.19, 1, 0.22, 1), 2s opacity cubic-bezier(0.77, 0, 0.175, 1), 2s -webkit-transform cubic-bezier(0.77, 0, 0.175, 1), -webkit-box-shadow 0.5s;
  transition: padding 1s cubic-bezier(0.19, 1, 0.22, 1), 2s opacity cubic-bezier(0.77, 0, 0.175, 1), 2s -webkit-transform cubic-bezier(0.77, 0, 0.175, 1), -webkit-box-shadow 0.5s;
  transition: padding 1s cubic-bezier(0.19, 1, 0.22, 1), 2s opacity cubic-bezier(0.77, 0, 0.175, 1), 2s transform cubic-bezier(0.77, 0, 0.175, 1), box-shadow 0.5s;
  transition: padding 1s cubic-bezier(0.19, 1, 0.22, 1), 2s opacity cubic-bezier(0.77, 0, 0.175, 1), 2s transform cubic-bezier(0.77, 0, 0.175, 1), box-shadow 0.5s, 2s -webkit-transform cubic-bezier(0.77, 0, 0.175, 1), -webkit-box-shadow 0.5s;
  opacity: 0;
}

@media only screen and (min-width: 768px) {
  .c-header {
    position: fixed;
    padding: 37px 0;
    min-width: 1200px;
    background: #fff;
  }
  .c-header.-scroll {
    padding: 20px 0;
    -webkit-box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.06);
            box-shadow: 0px 5px 12px 0px rgba(0, 0, 0, 0.06);
  }
  .c-header.-scroll .c-header-logo {
    -webkit-transform: scale(0.86);
            transform: scale(0.86);
  }
  .c-header.-scroll .c-header-nav {
    -webkit-transform: scale(0.86);
            transform: scale(0.86);
  }
  .c-header.-scroll .c-header-lang {
    -webkit-transform: scale(0.86);
            transform: scale(0.86);
  }
}

@media only screen and (max-width: 767px) {
  .c-header {
    position: absolute;
    padding: 3.75vw 0;
    background: transparent;
  }
}

.c-header .c-header-logo {
  margin-right: calc(100% - 1087px);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
  padding-left: 51px;
}

@media only screen and (max-width: 767px) {
  .c-header .c-header-logo {
    padding-left: 3.125vw;
  }
}

@media only screen and (min-width: 768px) {
  .c-header .c-header-logo img {
    width: 354px;
  }
}

@media only screen and (max-width: 767px) {
  .c-header .c-header-logo img {
    width: 44.21875vw;
  }
}

.c-header .c-header-nav {
  margin-right: 35px;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform-origin: right;
          transform-origin: right;
}

.c-header .c-header-lang {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform-origin: right;
          transform-origin: right;
}

@media only screen and (min-width: 768px) {
  .c-header .c-header-lang {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media only screen and (max-width: 767px) {
  .c-header .c-header-lang {
    position: absolute;
    top: 0px;
    right: 3.4375vw;
    z-index: 2001;
  }
}

.-subpage .c-header {
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .-subpage .c-header .c-header-lang {
    display: none;
  }
}

.c-header.-on {
  opacity: 1;
}

.c-subpageContent {
  position: relative;
}

@media only screen and (min-width: 768px) {
  .c-subpageContent {
    width: 1000px;
    margin: 0 auto 70px;
    line-height: 2.1;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageContent {
    width: 87.5vw;
    margin: 0 auto 11.71875vw;
  }
}

@media only screen and (min-width: 768px) {
  .c-subpageContent .c-subpageContent-inner {
    padding-top: 50px;
    width: 800px;
    margin-left: 200px;
    margin-bottom: 100px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageContent .c-subpageContent-inner {
    padding-top: 12.5vw;
    width: 75vw;
    margin-left: 14.0625vw;
    margin-bottom: 14.0625vw;
  }
}

.c-subpageContent .c-subpageContent-section {
  margin-bottom: 70px;
}

@media only screen and (min-width: 768px) {
  .c-subpageMain {
    padding-top: 290px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageMain {
    padding-top: 50vw;
  }
}

.c-subpageHeading {
  position: relative;
  z-index: 1000;
  background-color: #f4f2ec;
}

@media only screen and (min-width: 768px) {
  .c-subpageHeading {
    width: calc(100% - 200px);
    height: 160px;
    margin-bottom: 60px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageHeading {
    width: 96.875vw;
    height: 25vw;
    margin-bottom: 12.5vw;
  }
}

.c-subpageHeading img {
  position: absolute;
}

@media only screen and (min-width: 768px) {
  .c-subpageHeading img {
    left: 50%;
    margin-left: -400px;
    bottom: -20px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageHeading img {
    margin-left: 7.03125vw;
    bottom: -3.125vw;
  }
}

@media only screen and (min-width: 768px) {
  .c-subpageHeading img.-indication {
    width: 448px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageHeading img.-indication {
    width: 73.75vw;
  }
}

@media only screen and (min-width: 768px) {
  .c-subpageHeading img.-invitation {
    width: 212px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageHeading img.-invitation {
    width: 34.6875vw;
  }
}

@media only screen and (min-width: 768px) {
  .c-subpageHeading img.-adr {
    width: 430px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageHeading img.-adr {
    width: 70.78125vw;
  }
}

@media only screen and (min-width: 768px) {
  .c-subpageHeading img.-antisocial {
    width: 495px;
  }
}

@media only screen and (max-width: 767px) {
  .c-subpageHeading img.-antisocial {
    width: 81.5625vw;
  }
}

.m-dotList .m-dotList-item {
  text-indent: -1em;
  padding-left: 1em;
}

.m-dotList .m-dotList-item::before {
  content: '・';
}

@media only screen and (min-width: 768px) {
  .m-dotList .m-dotList-item {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .m-dotList .m-dotList-item {
    font-size: 3.75vw;
    margin-bottom: 3.125vw;
  }
}

.m-gnav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.m-gnav .m-gnav-item {
  margin-left: 28px;
}

.m-gnav .m-gnav-item:nth-child(1) .m-gnav-img {
  width: 29px;
}

.m-gnav .m-gnav-item:nth-child(2) .m-gnav-img {
  width: 54px;
}

.m-gnav .m-gnav-item:nth-child(3) .m-gnav-img {
  width: 63px;
}

.m-gnav .m-gnav-item:nth-child(4) .m-gnav-img {
  width: 82px;
}

.m-gnav .m-gnav-item:nth-child(5) .m-gnav-img {
  width: 59px;
}

.m-gnav .m-gnav-item:nth-child(6) .m-gnav-img {
  width: 69px;
}

.m-gnav .m-gnav-link {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

@media only screen and (min-width: 768px) {
  .m-gnav .m-gnav-link:hover {
    opacity: 0.5;
  }
}

.m-lang .m-lang-btn {
  position: relative;
  display: block;
}

@media only screen and (min-width: 768px) {
  .m-lang .m-lang-btn {
    width: 30px;
    height: 30px;
    border-radius: 15px;
    margin-right: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .m-lang .m-lang-btn {
    width: 7.03125vw;
    height: 7.03125vw;
    border-radius: 3.51562vw;
    margin-top: 3.125vw;
  }
}

.m-lang .m-lang-btn img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

@media only screen and (min-width: 768px) {
  .m-lang .m-lang-btn:nth-child(1) img {
    width: 16px;
  }
}

@media only screen and (max-width: 767px) {
  .m-lang .m-lang-btn:nth-child(1) img {
    width: 3.28125vw;
  }
}

@media only screen and (min-width: 768px) {
  .m-lang .m-lang-btn:nth-child(2) img {
    width: 21px;
  }
}

@media only screen and (max-width: 767px) {
  .m-lang .m-lang-btn:nth-child(2) img {
    width: 4.84375vw;
  }
}

.m-lang .m-lang-btn.-current {
  pointer-events: none;
  border: 1px solid #aea47f;
}

.m-ol {
  position: relative;
  list-style-type: decimal;
}

@media only screen and (min-width: 768px) {
  .m-ol {
    padding-left: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .m-ol {
    padding-left: 6.25vw;
  }
}

@media only screen and (min-width: 768px) {
  .m-ol .m-ol-item {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .m-ol .m-ol-item {
    font-size: 3.75vw;
    line-height: 2;
    margin-bottom: 3.125vw;
  }
}

.p-topBtn {
  font-size: 1.6rem;
  color: #69582a;
  padding-bottom: 5px;
  border-bottom: 1px solid #69582a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

@media only screen and (min-width: 768px) {
  .p-topBtn:hover {
    opacity: 0.5;
  }
}

.p-topBtn img {
  width: 22px;
  margin-right: 10px;
}

.p-ttl {
  font-weight: bold;
}

@media only screen and (min-width: 768px) {
  .p-ttl {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .p-ttl {
    font-size: 4.375vw;
    margin-bottom: 4.6875vw;
  }
}

@media only screen and (min-width: 768px) {
  .p-txt {
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 767px) {
  .p-txt {
    font-size: 4.0625vw;
  }
}