@charset "UTF-8";
/* ベース */
:root {
  --color-white: #fff;
  --color-white-rgb: 255, 255, 255;
  --color-black: #1f383f;
  --color-black-rgb: 31, 56, 63;
  --color-main: #96514d;
  --color-main-rgb: 150, 81, 77;
  --color-border: #c1c1c1;
  --color-border-rgb: 193, 193, 193;
  --color-bg: #f5f5f5;
  --color-bg-rgb: 245, 245, 245;
  --color-black-0: #000;
  --color-black-0-rgb: 0, 0, 0;
  --color-btn: #000014;
  --color-btn-rgb: 0, 0, 20;
  --color-blue: #009ee2;
  --color-blue-rgb: 0, 158, 226;
  --color-blue-l: #66c5ee;
  --color-blue-l-rgb: 102, 197, 238;
  --color-blue-h: #8ff1ff;
  --color-blue-h-rgb: 143, 241, 255;
  --color-blue-d: #2e3192;
  --color-blue-d-rgb: 46, 49, 146;
  --color-red: #ff6f61;
  --color-red-rgb: 255, 111, 97;
  --color-gray: #ddd;
  --color-gray-rgb: 221, 221, 221;
  --color-gray-d: #666666;
  --color-gray-d-rgb: 102, 102, 102;
  --font-base: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  --font-min: "Shippori Mincho B1", "Noto Serif JP", "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "BIZUDMincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "seri";
  --font-jost: "Jost", sans-serif;
  --font-marc: "Marcellus", serif;
  --font-weight-light: 300;
  --font-weight-reg: 400;
  --font-weight-mid: 500;
  --font-weight-semi: 600;
  --font-weight-bold: 700;
  --font-spacing-0: 0em;
  --font-spacing-03: 0.03em;
  --font-spacing-04: 0.04em;
  --font-spacing-05: 0.05em;
  --font-spacing-06: 0.06em;
  --font-spacing-075: 0.075em;
  --font-spacing-08: 0.08em;
  --font-spacing-1: 0.1em;
  --font-spacing-2: 0.2em;
  --space-margin: 120px;
  --space-margin_sub: 60px;
  --space-padding: 40px;
  --space-padding_sub: 20px;
}
@media only screen and (max-width: 860px) {
  :root {
    --space-margin: 16vw;
    --space-margin_sub: 8vw;
    --space-padding: 4vw;
    --space-padding_sub: 2vw;
  }
}

.pc_none, .sp {
  display: none;
}
@media only screen and (max-width: 860px) {
  .pc_none, .sp {
    display: block;
  }
}

@media only screen and (max-width: 860px) {
  .sp_none, .pc {
    display: none;
  }
}

@media only screen and (max-width: 860px) {
  .pc_contents {
    display: none;
  }
}

.sp_contents {
  display: none;
}
@media only screen and (max-width: 860px) {
  .sp_contents {
    display: block;
  }
}

.no_link {
  display: none;
}

:root {
  font-size: 62.5%;
}
@media only screen and (max-width: 860px) {
  :root {
    font-size: 62.5%;
  }
}

* {
  box-sizing: border-box;
}

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

svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  opacity: 0.6;
}

button:hover {
  opacity: 0.6;
}

ul,
ol {
  list-style: none;
}

dt {
  font-weight: normal;
}

body {
  position: relative;
  font-feature-settings: "palt" 1;
  font-kerning: none;
  font-family: var(--font-min);
  font-weight: 500;
  color: var(--color-black);
  margin-left: auto;
  margin-right: auto;
  background-color: var(--color-white);
  letter-spacing: 0.04em;
  -webkit-text-size-adjust: 100%;
  line-height: 1.8;
}
@media only screen and (max-width: 860px) {
  body {
    max-width: none;
    min-width: auto;
    letter-spacing: 0.04em;
  }
}
@media only screen and (max-width: 860px) {
  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed;
  }
}

.el_preload {
  display: none;
}

/* layout */
.ly_main {
  background-color: var(--color-bg);
  overflow: hidden;
}

.ly_top {
  background-color: var(--color-bg);
  overflow: hidden;
}

.ly_inner {
  max-width: 1080px;
  padding: 0 50px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 860px) {
  .ly_inner {
    padding: 0 4vw;
  }
}

.ly_sec {
  margin: 120px 0;
}
@media only screen and (max-width: 860px) {
  .ly_sec {
    margin: 0;
    padding: 16% 0;
  }
}

.ly_pageSec {
  padding: 120px 0;
}
@media only screen and (max-width: 860px) {
  .ly_pageSec {
    padding: 16% 0;
  }
}

@media only screen and (max-width: 860px) {
  .ly_head {
    position: sticky;
    top: 0;
    z-index: 50;
    background-color: var(--color-white);
    padding-right: 50px;
  }
}

.bl_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 50px;
}
@media only screen and (max-width: 860px) {
  .bl_head {
    padding: 1vw 4vw;
    column-gap: 2vw;
  }
}
.bl_head .el_h1 {
  width: 100%;
  font-size: 1rem;
  margin-bottom: 0.25em;
}
@media only screen and (max-width: 860px) {
  .bl_head_logo {
    width: 50%;
  }
}
.bl_head_info {
  text-align: right;
}
.bl_head_tel {
  font-size: 2.2rem;
  display: inline-block;
  line-height: 1.5;
}
@media only screen and (max-width: 860px) {
  .bl_head_tel {
    font-size: 1.2rem;
  }
}
.bl_head_address {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.3rem;
  letter-spacing: 0;
  margin-top: 0.25em;
  border-bottom: 1px solid var(--color-border);
}
@media only screen and (max-width: 860px) {
  .bl_head_address {
    font-size: 1rem;
    border-bottom: none;
    line-height: 1.5;
  }
}
.bl_head_address_txt {
  padding: 0.5em;
}
@media only screen and (max-width: 860px) {
  .bl_head_address_txt {
    padding: 0;
  }
}
@media only screen and (max-width: 860px) {
  .bl_head_address_txt__desc {
    display: none;
  }
}

.bl_gnav {
  background-color: var(--color-main);
  color: var(--color-white);
  font-size: 1.8rem;
}
@media only screen and (max-width: 860px) {
  .bl_gnav {
    position: fixed;
    top: var(--head-h);
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background-color: var(--color-white);
    font-size: 1.6rem;
    color: var(--color-black);
    display: none;
    overscroll-behavior-y: none;
    overflow: scroll;
  }
}
.bl_gnav_list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em;
}
@media only screen and (max-width: 860px) {
  .bl_gnav_list {
    display: block;
    padding: 6vw;
  }
  .bl_gnav_list li:nth-of-type(n + 2) {
    border-top: 1px dashed var(--color-black);
  }
}
.bl_gnav_list a {
  display: block;
  padding: 1.5em 1em;
}
@media only screen and (max-width: 860px) {
  .bl_gnav_list a {
    padding: 0.5em 2em;
  }
}
.bl_gnavBtn {
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--color-main);
  width: 50px;
  height: 100%;
  display: none;
}
@media only screen and (max-width: 860px) {
  .bl_gnavBtn {
    display: block;
  }
}
.bl_gnavBtn span {
  position: absolute;
  height: 2px;
  width: 32px;
  right: 50%;
  transform: translateX(50%);
  background-color: var(--color-white);
  transition: all ease 0.5s;
}
.bl_gnavBtn span:nth-of-type(1) {
  top: calc(50% - 12px);
  animation: menu-bar01 0.5s forwards;
}
.bl_gnavBtn span:nth-of-type(2) {
  transform: translateX(50%) translateY(50%);
  bottom: 50%;
}
.bl_gnavBtn span:nth-of-type(3) {
  bottom: calc(50% - 12px);
  animation: menu-bar03 0.5s forwards;
}
.bl_gnavBtn.is_active span:nth-of-type(1) {
  animation: active-menu-bar01 0.5s forwards;
}
.bl_gnavBtn.is_active span:nth-of-type(2) {
  opacity: 0;
}
.bl_gnavBtn.is_active span:nth-of-type(3) {
  animation: active-menu-bar03 0.5s forwards;
}
.bl_gnav_contact {
  background: #ece4e2 url(../img/common/bg_light.jpg) left top repeat;
  display: none;
  padding: 8vw 0;
}
@media only screen and (max-width: 860px) {
  .bl_gnav_contact {
    display: block;
  }
}
.bl_gnav_contact_ttl {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 1em;
}
.bl_gnav_contact_links {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 0.5em;
}
.bl_gnav_contact_links_tel::after {
  content: "/";
  display: inline-block;
  margin: 0 0.1em;
  font-size: 0.8em;
}
.bl_gnav_contact_links_fax {
  font-size: 0.66em;
}

@keyframes menu-bar01 {
  0% {
    top: 50%;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
  }
  50% {
    top: 50%;
    transform: translateX(50%) translateY(-50%) rotate(0);
  }
  100% {
    transform: translateX(50%) translateY(0) rotate(0);
  }
}
@keyframes menu-bar03 {
  0% {
    bottom: 50%;
    transform: translateX(50%) translateY(50%) rotate(-45deg);
  }
  50% {
    bottom: 50%;
    transform: translateX(50%) translateY(50%) rotate(0);
  }
  100% {
    transform: translateX(50%) translateY(0) rotate(0);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateX(50%) translateY(0) rotate(0);
  }
  50% {
    top: 50%;
    transform: translateX(50%) translateY(-50%) rotate(0);
  }
  100% {
    top: 50%;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateX(50%) translateY(0) rotate(0);
  }
  50% {
    bottom: 50%;
    transform: translateX(50%) translateY(50%) rotate(0);
  }
  100% {
    bottom: 50%;
    transform: translateX(50%) translateY(50%) rotate(-45deg);
  }
}
.ly_foot {
  padding: 50px 0;
  background-color: var(--color-main);
}
@media only screen and (max-width: 860px) {
  .ly_foot {
    padding: 16% 0 8vw;
  }
}

.bl_foot {
  color: var(--color-white);
  font-size: 1.4rem;
  text-align: center;
}
.bl_foot_info {
  margin-top: 3em;
}
.bl_foot_info_item:nth-of-type(n + 2) {
  margin-top: 0.5em;
}
.bl_foot_nav {
  margin-top: 3em;
}
.bl_foot_nav_list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 2em;
}
.bl_foot_copy {
  margin-top: 5em;
  font-size: 0.9em;
}
@media only screen and (max-width: 860px) {
  .bl_foot_copy {
    margin-top: 3em;
  }
}

/* component */
.el_btn {
  display: inline-block;
  line-height: 1.2;
  color: var(--color-white);
  text-align: center;
  text-decoration: none;
  background: var(--color-main);
  border: 2px solid var(--color-main);
  padding: 0.7em 4em 0.6em;
  transition: all ease 0.5s;
}
.el_btn_icon {
  width: 1em;
  display: inline-block;
  fill: white;
  vertical-align: 0.1em;
  margin-right: 0.5em;
  transition: all linear 0.6s;
}
@media only screen and (min-width: 861px) {
  .el_btn:hover {
    opacity: 1;
    background-color: var(--color-white);
    color: var(--color-main);
  }
  .el_btn:hover .el_btn_icon {
    fill: var(--color-main);
  }
}
.el_btn__long {
  padding-left: 0;
  padding-right: 0;
  display: block;
  text-align: center;
  width: 100%;
}

.el_blankBtn {
  border: 2px solid var(--color-main);
  background-color: var(--color-white);
  display: block;
  padding: 0.8em 0.5em 0.9em;
  text-align: center;
  position: relative;
}
.el_blankBtn strong {
  font-weight: 500;
  line-height: 1;
}
.el_blankBtn small {
  font-size: 0.51em;
  display: block;
}
.el_blankBtn_icon {
  width: 0.5em;
  height: 0.5em;
  fill: var(--color-main);
  position: absolute;
  bottom: 0.25em;
  right: 0.25em;
}
@media only screen and (max-width: 860px) {
  .el_blankBtn_icon {
    width: 0.8em;
    height: 0.8em;
  }
}
/*# sourceMappingURL=maps/common.css.map */