* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #232323;
}

html,
body {
  font-family: "Noto Serif JP", serif, "Yu Mincho", YuMincho, "Hiragino Mincho Pro";
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-weight: 400;
}

a {
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

p,
li,
a,
h1,
h2,
h3,
span {
  font-size: 1rem;
  letter-spacing: 0.1em;
  font-weight: normal;
  line-height: 1.8;
}

ul,
li {
  list-style: none;
}

img {
  vertical-align: middle;
  width: 100%;
}

.sp-only {
  display: block;
}
@media (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

.pc-only {
  display: none;
}
@media (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .header__list {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 50px;
    height: 140px;
    z-index: 9999;
  }
}
.header__inner {
  margin: 0 auto;
  position: static;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  z-index: 9999;
}
@media (min-width: 768px) {
  .header__inner {
    position: static;
  }
}
.header__bg {
  position: relative;
}
@media (max-width: 767px) {
  .header__logo.active {
    z-index: 9999;
  }
}
.header__logo img {
  max-width: 80px;
  padding: 16px;
}
@media (min-width: 768px) {
  .header__logo img {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-width: 90px;
    padding: 0;
  }
}
.header__menu {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.6s all linear;
  transition: 0.6s all linear;
}
@media (min-width: 768px) {
  .header__menu {
    visibility: visible;
    opacity: 1;
    display: block;
    margin-left: auto;
  }
}
.header__menu.active {
  display: block;
  visibility: visible;
  opacity: 1;
  z-index: 2;
}
.header__menu ul {
  position: fixed;
  background: #34322F;
  z-index: 999;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #B79F75;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 60px 0px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media (min-width: 768px) {
  .header__menu ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    background: none;
    position: static;
    padding: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.header__menu ul li {
  margin-top: 15px;
  border-top: 1px solid #B79F75;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .header__menu ul li:nth-child(6) {
    border-bottom: 1px solid #B79F75;
  }
}
@media (min-width: 768px) {
  .header__menu ul li {
    margin-left: 14px;
    position: relative;
    padding-bottom: 0;
    border-top: 0;
    width: auto;
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .header__menu ul li {
    margin-left: 30px;
  }
}
@media (min-width: 992px) {
  .header__menu ul li {
    margin-left: 50px;
  }
}
.header__menu ul li a {
  white-space: nowrap;
  font-size: 1rem;
  display: block;
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
}
@media (max-width: 767px) {
  .header__menu ul li a {
    margin: 0 auto;
    max-width: 80%;
  }
}
.header__menu ul li a.header-contact {
  padding: 12px 30px;
  border: 1px solid #fff;
  position: relative;
}
.header__menu ul li a.header-contact::before {
  right: 16px;
  content: "";
  position: absolute;
  top: 50%;
  width: 4px;
  height: 4px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}
@media (max-width: 767px) {
  .header__menu ul li a.header-contact {
    margin-top: 60px;
  }
}
@media (min-width: 992px) {
  .header__menu ul li a.header-contact {
    padding: 12px 60px;
  }
}
@media (min-width: 768px) {
  .header__menu ul li a {
    font-size: 0.9375rem;
  }
}
@media (min-width: 992px) {
  .header__menu ul li a {
    font-size: 1rem;
  }
}
.header__menu ul li a:hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7;
}
@media (min-width: 768px) {
  .header__menu ul li a:hover {
    opacity: 1;
  }
}
.header__menu ul li a:active {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .header__menu ul li a:active {
    opacity: 1;
  }
}
.header__icon {
  position: absolute;
  top: 0;
  right: 6px;
  width: 60px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  position: fixed;
  z-index: 1000;
}
@media (min-width: 768px) {
  .header__icon {
    display: none;
  }
}
.header__icon span {
  display: block;
  width: 32px;
  height: 0;
  border-top: 1px #fff solid;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__icon span:nth-child(1) {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
.header__icon span:nth-child(3) {
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}
.header__icon.active span:nth-child(1) {
  -webkit-transform: translateY(1px) rotate(45deg);
          transform: translateY(1px) rotate(45deg);
}
.header__icon.active span:nth-child(3) {
  -webkit-transform: translateY(-1px) rotate(-45deg);
          transform: translateY(-1px) rotate(-45deg);
}
.header__icon.active span:nth-child(2) {
  opacity: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.header__contact {
  z-index: 9999;
  text-align: center;
}
@media (min-width: 768px) {
  .header__contact {
    display: none;
  }
}
@media (min-width: 1200px) {
  .header__contact {
    padding-left: 20px;
    display: block;
  }
}
@media (max-width: 767px) {
  .header__contact {
    padding-left: 60px;
    position: absolute;
    top: 50%;
    left: 160px;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
  }
}
.header__contact > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: initial;
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #B79F75;
  width: 100%;
  height: 26px;
  font-size: 1.25rem;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .header__contact > a {
    width: 217px;
    height: 35px;
    font-size: 1.6875rem;
  }
}
.header__contact > a img {
  max-width: 26px;
  border-style: none;
  vertical-align: middle;
}
@media (min-width: 992px) {
  .header__contact > a img {
    max-width: 39px;
  }
}
@media (max-width: 767px) {
  .header__contact > a img {
    margin-right: 6px;
  }
}
.header__contact > p {
  display: none;
}
@media (min-width: 992px) {
  .header__contact > p {
    display: block;
    font-size: 0.8125rem;
    padding-top: 4px;
  }
}

.scrolldown {
  color: #B79F75;
  font-size: 13px;
  position: absolute;
  bottom: 46px;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
@media (min-width: 768px) {
  .scrolldown {
    bottom: 60px;
  }
}
@media (min-width: 992px) {
  .scrolldown {
    bottom: 100px;
  }
}
@media (min-width: 1400px) {
  .scrolldown {
    bottom: 200px;
  }
}
.scrolldown::after {
  content: "";
  display: block;
  position: absolute;
  right: 50%;
  bottom: -60px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 1px;
  height: 40px;
  background-color: #B79F75;
  -webkit-animation: scroll 3s cubic-bezier(1, 0, 0, 1) infinite;
          animation: scroll 3s cubic-bezier(1, 0, 0, 1) infinite;
}
@media (min-width: 768px) {
  .scrolldown::after {
    height: 90px;
    bottom: -110px;
  }
}
.scrolldown p {
  color: #B79F75;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
.footer__inner {
  padding: 60px 15px;
}
@media (min-width: 768px) {
  .footer__inner {
    max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 40px;
  }
}
.footer__flex {
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .footer__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.footer__flex div {
  text-align: center;
}
.footer__flex div img {
  max-width: 132px;
  width: 100%;
}
@media (max-width: 767px) {
  .footer__flex div img {
    margin-bottom: 20px;
  }
}
.footer__flex div p {
  text-align: left;
  font-size: 0.75rem;
  color: #fff;
}
@media (min-width: 768px) {
  .footer__flex div p {
    font-size: 0.875rem;
  }
}
.footer__nav {
  display: none;
}
@media (min-width: 768px) {
  .footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 20px;
  }
}
.footer__nav li a {
  color: #fff;
  padding: 30px;
}
.footer__nav li + li {
  border-left: 1px solid #AFAEAB;
}
.footer__copy p {
  text-align: center;
  color: #6A6A6A;
  font-size: 0.625rem;
  padding: 60px 15px 0;
  border-top: 1px solid #6A6A6A;
}
@media (min-width: 768px) {
  .footer__copy p {
    font-size: 0.75rem;
    padding-top: 40px;
  }
}

.h2-ttl p:nth-child(1) {
  font-size: 2.5rem;
  color: #B79F75;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .h2-ttl p:nth-child(1) {
    font-size: 3.75rem;
  }
}
.h2-ttl p:nth-child(2) {
  font-size: 0.875rem;
  color: #fff;
}
@media (min-width: 768px) {
  .h2-ttl p:nth-child(2) {
    font-size: 1.25rem;
  }
}

.bg-gray {
  background-color: #F6F6F6;
}
@media (min-width: 768px) {
  .bg-gray {
    padding: 140px 0;
  }
}

.about {
  background: #474542;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .about {
    margin-bottom: 210px;
  }
}
.about__inner {
  padding: 60px 15px;
  width: 100%;
}
@media (min-width: 768px) {
  .about__inner {
    max-width: 1080px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 768px) {
  .about__inner div {
    width: 50%;
    margin-left: auto;
  }
}
.about__inner div.text p {
  color: #fff;
  padding-top: 30px;
}
@media (min-width: 768px) {
  .about__inner div.text p {
    margin-left: auto;
    line-height: 2;
    padding-top: 0;
  }
}
.about__swiper div div img {
  width: 100%;
  max-width: 154px;
}
@media (min-width: 768px) {
  .about__swiper div div img {
    max-width: 272px;
  }
}

.sample-slider, .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.greeting {
  background-color: #34322F;
}
.greeting__inner {
  position: relative;
  padding: 0 15px 60px;
}
@media (min-width: 768px) {
  .greeting__inner {
    max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 140px;
  }
}
.greeting__inner h2 {
  position: absolute;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
}
@media (min-width: 768px) {
  .greeting__inner h2 {
    top: -50px;
  }
}
.greeting__flex {
  padding-top: 74px;
}
@media (min-width: 768px) {
  .greeting__flex {
    padding-top: 147px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.greeting__flex div.img {
  width: 100%;
}
@media (min-width: 768px) {
  .greeting__flex div.img {
    max-width: 326px;
  }
}
.greeting__flex div.text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 30px;
}
@media (min-width: 768px) {
  .greeting__flex div.text {
    padding-top: 0;
    padding-left: 60px;
  }
}
.greeting__flex div.text p {
  color: #fff;
}
.greeting__flex div.text p:nth-child(1) {
  line-height: 2;
}
.greeting__flex div.text p:nth-child(2) {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 1.25rem;
  padding-top: 10px;
}
@media (min-width: 768px) {
  .greeting__flex div.text p:nth-child(2) {
    font-size: 1.5rem;
    padding-top: 20px;
  }
}
.greeting__flex div.text p:nth-child(2) span {
  color: #B8B8B8;
  font-size: 0.875rem;
}
@media (min-width: 768px) {
  .greeting__flex div.text p:nth-child(2) span {
    font-size: 1rem;
  }
}

.system__inner {
  padding: 0 15px;
}
@media (min-width: 768px) {
  .system__inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 15px 140px;
  }
}
.system__inner h2 {
  text-align: center;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .system__inner h2 {
    padding-bottom: 60px;
  }
}
.system__inner h2 p:last-child {
  color: #34322F;
}
.system__area {
  background: #fff;
  border: 1px solid #34322F;
}
@media (min-width: 768px) {
  .system__area {
    margin-top: 60px;
    width: 600px;
    margin: 0 auto;
  }
}
.system__area p.head {
  background: #474542;
  color: #fff;
  text-align: center;
  padding: 4px 0;
}
@media (min-width: 768px) {
  .system__area p.head {
    padding: 10px 0;
  }
}
.system__area div.img {
  padding: 15px;
  text-align: center;
}
@media (min-width: 768px) {
  .system__area div.img {
    padding: 30px 60px;
  }
}
.system__area div.img img {
  width: 66%;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .system__area div.img img {
    margin: 0 auto;
    width: 100%;
    max-width: 300px;
    padding-bottom: 20px;
  }
}
.system__area div.img p {
  color: #534a3b;
  font-size: 0.625rem;
}
@media (min-width: 768px) {
  .system__area div.img p {
    font-size: 0.875rem;
  }
}

.access__inner {
  position: relative;
}
@media (max-width: 767px) {
  .access__inner {
    padding-top: 60px;
  }
}
.access h2 {
  text-align: center;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .access h2 {
    padding-bottom: 60px;
  }
}
.access h2 p:last-child {
  color: #34322F;
}
.access div.text {
  text-align: center;
  padding: 4px 15px;
}
.access div.text p {
  font-size: 0.875rem;
  text-align: left;
}
@media (min-width: 768px) {
  .access div.text p {
    font-size: 1rem;
    text-align: center;
  }
}
.access div.map {
  width: 100%;
  height: 294px;
}
@media (min-width: 768px) {
  .access div.map {
    height: 417px;
  }
}
.access div.map iframe {
  width: 100%;
  height: 100%;
}
.access div.flex {
  padding: 10px 15px 0;
}
@media (min-width: 768px) {
  .access div.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 10px;
  }
}
.access div.flex p {
  font-size: 0.8125rem;
}
@media (min-width: 768px) {
  .access div.flex p {
    font-size: 1rem;
    border-left: 1px solid #AFAEAB;
    padding: 0px 30px;
    margin-top: 10px;
  }
  .access div.flex p:nth-child(2) {
    border-right: 1px solid #AFAEAB;
  }
}

.contact {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .contact {
    padding-bottom: 60px;
  }
}
.contact__inner {
  padding: 0 15px;
}
@media (min-width: 768px) {
  .contact__inner {
    margin: 0 auto;
    max-width: 1080px;
  }
}
.contact__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .contact__flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 60px;
  }
}
.contact__flex p {
  color: #34322F;
  font-size: 0.875rem;
}
@media (min-width: 768px) {
  .contact__flex p {
    font-size: 1.125rem;
    padding-right: 20px;
  }
}
.contact__flex a {
  font-size: 1.5rem;
}
@media (min-width: 768px) {
  .contact__flex a {
    font-size: 2.875rem;
  }
}
.contact__area {
  background-color: #fff;
  border: 15px solid #7F7159;
  text-align: center;
  padding: 60px 0;
}
@media (min-width: 768px) {
  .contact__area {
    border: 20px solid #7F7159;
  }
}
.contact__area p:nth-child(1) {
  font-size: 1.125rem;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .contact__area p:nth-child(1) {
    font-size: 1.25rem;
  }
}
.contact__area p:nth-child(2) {
  font-size: 0.875rem;
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .contact__area p:nth-child(2) {
    font-size: 1rem;
  }
}
.contact__area a {
  border: 1px solid rgba(127, 113, 89, 0.16);
  padding: 12px 60px;
  position: relative;
}
.contact__area a::before {
  right: 16px;
  content: "";
  position: absolute;
  top: 50%;
  width: 4px;
  height: 4px;
  border-right: 1px solid #7F7159;
  border-bottom: 1px solid #7F7159;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}

body {
  background-color: #474542 !important;
}