:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
}

::-moz-selection {
  color: #fff;
  background: rgba(99, 86, 81, 0.8);
}

::selection {
  color: #fff;
  background: rgba(99, 86, 81, 0.8);
}

* {
  color: #635651;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: max(1.4rem, 14px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

body {
  background-color: #f4f2ed;
  background-image: linear-gradient(to right, #dbd9d9 1px, transparent 1px), linear-gradient(to bottom, #dbd9d9 1px, transparent 1px);
  background-size: max(3rem, 20px) max(3rem, 20px);
}

.flexBox #mainLeft {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -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;
  top: 0;
  left: 0;
  width: 50%;
  height: 100vh;
  background: #efeadc;
  z-index: 0;
}
@media screen and (max-width: 1000px) {
  .flexBox #mainLeft {
    position: relative;
    top: unset;
    left: unset;
    height: unset;
    width: 100%;
    padding: 25% 0;
  }
}
@media screen and (max-width: 550px) {
  .flexBox #mainLeft {
    min-height: 100vh;
  }
}
.flexBox #mainRight {
  position: relative;
  width: 50%;
  min-height: 100vh;
  margin-left: auto;
  z-index: 10;
  background-color: #f4f2ed;
  background-image: linear-gradient(to right, #dbd9d9 1px, transparent 1px), linear-gradient(to bottom, #dbd9d9 1px, transparent 1px);
  background-size: max(3rem, 20px) max(3rem, 20px);
}
@media screen and (max-width: 1000px) {
  .flexBox #mainRight {
    width: 100%;
    min-height: unset;
    margin-left: unset;
  }
}
.flexBox #mainRight .container {
  width: min(80%, 800px);
}
@media screen and (max-width: 550px) {
  .flexBox #mainRight .container {
    width: 90%;
  }
}

.enTxt {
  display: inline-block;
  font-family: YakuHanJP, "Poppins", "Noto Sans JP", sans-serif;
  -webkit-transform: translateY(0.05em);
          transform: translateY(0.05em);
}

.btnBox .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: max(1rem, 10px);
  -webkit-box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
  outline: max(0.2rem, 2px) solid #635651;
  outline-offset: min(-1rem, -10px);
  background: #fff;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.btnBox .btn__arrow {
  display: grid;
  place-items: center;
  background: #a6d69f;
  border-left: max(0.2rem, 2px) solid #635651;
  padding-top: max(1.5rem, 15px);
  padding-bottom: max(1.5rem, 15px);
}
.btnBox .btn__arrow__text {
  font-family: YakuHanJP, "Poppins", "Noto Sans JP", sans-serif;
  font-size: max(1.4rem, 12px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  padding: 0 max(0.5rem, 0px);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
}
.btnBox .btn__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-flex-item-align: center;
      align-self: center;
}
.btnBox .btn:hover {
  -webkit-transform: translate(-5px, -5px);
          transform: translate(-5px, -5px);
  -webkit-box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.15);
}

header#header {
  position: fixed;
  top: 0;
  left: 0;
  padding: 20px 45px 0 45px;
  pointer-events: none;
  z-index: 99999;
}
@media screen and (max-width: 550px) {
  header#header {
    padding: 10px 2.5%;
  }
}
header#header .header__logo {
  width: clamp(140px, 7.5vw, 150px);
}
header#header .header__logo * {
  width: 100%;
}
header#header .header__logo a {
  pointer-events: auto;
}

footer#footer {
  position: relative;
  background: #fff;
  z-index: 10;
}
footer#footer .footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: max(5rem, 50px);
  padding: max(4rem, 30px) 0;
}
@media screen and (max-width: 1300px) {
  footer#footer .footer__top {
    -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;
  }
}
@media screen and (max-width: 1000px) {
  footer#footer .footer__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  footer#footer .footer__top {
    -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;
  }
}
footer#footer .footer__top__logo {
  display: grid;
  gap: max(1rem, 10px) max(3rem, 30px);
}
@media screen and (max-width: 1300px) {
  footer#footer .footer__top__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  footer#footer .footer__top__logo {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
footer#footer .footer__top__logo a:hover {
  opacity: 0.5;
}
footer#footer .footer__top__logo img {
  width: max(18rem, 130px);
}
@media screen and (max-width: 1300px) {
  footer#footer .footer__top__logo img {
    width: max(25rem, 130px);
  }
}
@media screen and (max-width: 768px) {
  footer#footer .footer__top__logo img {
    width: 180px;
  }
}
footer#footer .footer__top__tel {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: grid;
  text-align: center;
}
footer#footer .footer__top__tel a {
  font-family: YakuHanJP, "Poppins", "Noto Sans JP", sans-serif;
  font-size: max(3.7rem, 28px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.01em;
}
footer#footer .footer__top__tel a:hover {
  opacity: 0.5;
}
footer#footer .footer__top__tel span {
  font-family: YakuHanJP, "Poppins", "Noto Sans JP", sans-serif;
  font-size: max(1.4rem, 12px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.015em;
}
footer#footer .footer__bottom {
  background: #635651;
}
footer#footer .footer__bottom__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: max(2rem, 20px) max(4rem, 40px);
  padding: max(1.5rem, 15px) 0;
}
footer#footer .footer__bottom__inner a {
  color: #fff;
  font-size: max(1.2rem, 10px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.015em;
}
footer#footer .footer__bottom__inner__copyright {
  color: #fff;
  font-family: YakuHanJP, "Poppins", "Noto Sans JP", sans-serif;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}/*# sourceMappingURL=style.css.map */