@charset "UTF-8";
/* commonParts
---------------------------------------------------- */
.__inner {
  width: 91.875rem;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .__inner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .__inner {
    width: calc(100% - 40px);
  }
}
.__inner.__medium {
  width: 82.5rem;
}
@media screen and (max-width: 1199px) {
  .__inner.__medium {
    width: 91.875rem;
  }
}
@media screen and (max-width: 991px) {
  .__inner.__medium {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .__inner.__medium {
    width: calc(100% - 40px);
  }
}

.__liststyle li {
  display: flex;
  align-items: flex-start;
}
.__liststyle li::before {
  color: #be8862;
  content: "-";
  display: block;
  margin-top: -0.1em;
  margin-right: 0.48em;
  font-weight: 900;
  flex-shrink: 0;
}
.__liststyle.__order li::before {
  display: none;
}
.__liststyle.__order li span.__num {
  flex-shrink: 0;
  margin-left: -0.6em;
  margin-right: 0.2em;
}
.__liststyle.__note li {
  font-weight: 500;
  font-size: 0.9em;
  margin-top: 0;
  margin-right: 0.4em;
}
.__liststyle.__note li::before {
  color: #282323;
  content: "※";
  font-size: 0.9em;
  margin-top: 0.1em;
}

.__txtlimit {
  max-width: 100%;
}
.__txtlimit span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.__ttlstyle01 span.__en {
  display: inline-block;
  font-size: max(6.25rem, 4.5em);
  letter-spacing: -0.04em;
  line-height: 1em;
  margin-top: -0.1em;
  margin-right: 0.2em;
}
@media screen and (max-width: 1199px) {
  .__ttlstyle01 span.__en {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .__ttlstyle01 span.__en {
    font-size: 3.125em;
  }
}
.__ttlstyle01 span.__en.__camel {
  color: #be8862;
}
.__ttlstyle01 span.__en.__beige {
  color: #c0987b;
}
.__ttlstyle01 span.__jp {
  display: inline-block;
  font-weight: 700;
  font-size: max(1.5rem, 1.125em);
  margin-top: 0.24em;
}
@media screen and (max-width: 767px) {
  .__ttlstyle01 span.__jp {
    font-size: 1em;
  }
}
.__ttlstyle01 span.__jp::before {
  content: "";
  display: inline-block;
  width: 0.95em;
  aspect-ratio: 1/1;
  background-image: url(../images/apple-icon_red.png);
  background-size: cover;
}
.__ttlstyle01 span.__jp.__beige::before {
  background-image: url(../images/apple-icon_beige.png);
}
.__ttlstyle01.__center {
  text-align: center;
}
.__ttlstyle01.__center span.__jp {
  margin-right: -1em;
}
@media screen and (max-width: 767px) {
  .__ttlstyle01.__center span.__jp {
    margin-right: 0;
  }
}

.__ttlstyle02 {
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .__ttlstyle02 {
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 0;
  }
}
.__ttlstyle02::before {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(-10deg);
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 1/1;
  background-image: url(../images/apple-icon_red.png);
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .__ttlstyle02::before {
    width: 10px;
    top: initial;
    left: initial;
    right: 0;
    bottom: 0;
    margin-right: -16px;
    margin-bottom: 6px;
  }
}
.__ttlstyle02.__beige::before {
  background-image: url(../images/apple-icon_beige.png);
}
.__ttlstyle02.__white::before {
  background-image: url(../images/apple-icon_white.png);
}
.__ttlstyle02 span.__jp {
  font-weight: 900;
  font-size: max(2.875rem, 2em);
  font-feature-settings: normal;
  line-height: 1.4em;
  margin-right: 0.2em;
}
@media screen and (max-width: 767px) {
  .__ttlstyle02 span.__jp {
    font-size: 1.525em;
  }
}
.__ttlstyle02 span.__en {
  color: #4e332d;
  display: inline-block;
  font-size: max(1.5rem, 1.125em);
}
@media screen and (max-width: 767px) {
  .__ttlstyle02 span.__en {
    font-size: 1em;
  }
}
.__ttlstyle02.__medium span.__jp {
  font-size: max(2.5rem, 1.75em);
}
@media screen and (max-width: 767px) {
  .__ttlstyle02.__medium span.__jp {
    font-size: 1.375em;
  }
}
.__ttlstyle02.__center {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.__ttlstyle02.__center span.__en {
  margin-left: 0;
}

.__ttlstyle03 {
  color: #be8862;
  font-weight: 900;
  font-size: max(2.25rem, 1.645em);
  background-image: url(../images/dotline_beige.png);
  background-repeat: repeat-x;
  background-size: auto 2px;
  background-position: 0 100%;
  line-height: 2.2em;
  padding-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .__ttlstyle03 {
    font-size: 1.25em;
  }
}

.__fsiz-18 {
  font-size: max(1.125rem, 1em);
}

.__fsiz-24 {
  font-weight: 700;
  font-size: max(1.5rem, 1.05em);
}

.__label-style {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  background-color: #c0987b;
  border-radius: 5px;
  font-size: 0.825em;
  padding: 0.1em 1em 0.2em;
}
@media screen and (max-width: 767px) {
  .__label-style {
    font-size: 0.8em;
  }
}
.__label-style.__limited-stock {
  background-color: #302a2a;
}
.__label-style.__low-stock {
  background-color: #c04f30;
}
.__label-style.__limited-local {
  background-color: #be8862;
}
.__label-style.__limited-online {
  background-color: #a80e34;
}
.__label-style.__seasonal {
  background-color: #82af79;
}
.__label-style.__spring {
  background-color: #de9b93;
}
.__label-style.__summer {
  background-color: #7fa7b8;
}
.__label-style.__autumn {
  background-color: #c19a4b;
}
.__label-style.__winter {
  background-color: #6e748d;
}
.__label-style.__discontinued, .__label-style.__soldout {
  background-color: #b1a599;
}

.__num-style {
  position: relative;
  font-size: max(2rem, 1.5em);
  width: 3em;
  aspect-ratio: 1/1;
  background-image: url(../images/badge-img.png);
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .__num-style {
    font-size: 1.375em;
    width: 2.5em;
  }
}
.__num-style span.__num {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

a.__txtlink {
  color: #c0987b;
  display: inline;
  text-decoration: underline;
}
a.__anchor-point {
  position: absolute;
}

@media screen and (min-width: 992px) {
  .__hover-style {
    transition: all 0.24s ease;
  }
  .__hover-style:hover {
    opacity: 0.6;
  }
}

.__hover-style_img .item-img {
  transform: scale(1.01);
  background-color: #302a2a;
}
.__hover-style_img .item-img img {
  will-change: transform;
  transition: all 0.4s ease;
}
.__hover-style_img:hover img {
  opacity: 0.8;
  transform: scale(1.08);
}

.__linkbtn01 {
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .__linkbtn01 {
    width: 100%;
  }
}
.__linkbtn01 a, .__linkbtn01 button {
  cursor: pointer;
  color: #fff;
  border: solid 3px rgba(0, 0, 0, 0.1);
  background-color: #4e332d;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0.6em;
  font-size: max(1.125rem, 1em);
  padding: 0.8em 1.2em 0.9em;
  width: 16em;
  transition: all 0.24s ease;
}
@media screen and (max-width: 767px) {
  .__linkbtn01 a, .__linkbtn01 button {
    width: 100%;
  }
}
.__linkbtn01 a i, .__linkbtn01 button i {
  font-size: 0.9em;
}
.__linkbtn01 a:hover, .__linkbtn01 button:hover {
  background-color: #be8862;
}
.__linkbtn01.__black a, .__linkbtn01.__black button {
  background-color: #282323;
}
.__linkbtn01.__black a:hover, .__linkbtn01.__black button:hover {
  background-color: #be8862;
}
.__linkbtn01.__red a, .__linkbtn01.__red button {
  background-color: #a80e34;
}
.__linkbtn01.__red a:hover, .__linkbtn01.__red button:hover {
  background-color: #282323;
}

.__linkbtn02 a {
  color: #fff;
  background-color: #4e332d;
  border-radius: 0.48em;
  font-size: 0.85em;
  padding: 0.3em 1.2em 0.4em;
  transition: all 0.24s ease;
}
@media screen and (max-width: 1199px) {
  .__linkbtn02 a {
    border: solid 3px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 767px) {
  .__linkbtn02 a {
    font-size: 0.95em;
    padding: 0.1em 0.6em 0.3em;
  }
}
.__linkbtn02 a span.__txt {
  margin-left: 0.6em;
}
@media screen and (max-width: 767px) {
  .__linkbtn02 a span.__txt {
    display: none;
  }
}
.__linkbtn02 a:hover {
  background-color: #be8862;
}
.__linkbtn02.__black a {
  background-color: #282323;
}
.__linkbtn02.__black a:hover {
  background-color: #be8862;
}

.__dot-line {
  opacity: 0.4;
  height: 2px;
  background-image: url(../images/dotline.png);
  background-size: auto 2px;
  background-repeat: repeat-x;
}
@media screen and (max-width: 767px) {
  .__dot-line {
    height: 1.6px;
    background-size: auto 1.6px;
  }
}
.__dot-line.__beige {
  opacity: 0.9;
  background-image: url(../images/dotline_beige.png);
}
.__dot-line.__gray {
  background-image: url(../images/dotline_gray.png);
}

.__frame-style01 {
  position: relative;
  border-radius: max(2.25rem, 1.25em);
  border: solid 10px #fff;
  box-shadow: 4px 4px 16px rgba(78, 51, 45, 0.1);
  width: 100%;
  height: 100%;
  overflow: clip;
}
@media screen and (max-width: 1199px) {
  .__frame-style01 {
    border-width: 7px;
  }
}
@media screen and (max-width: 991px) {
  .__frame-style01 {
    border-width: 4px;
  }
}
.__frame-style01::after {
  pointer-events: none;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-radius: max(1.6875rem, 0.8em);
  border: solid 2px #fff;
}
@media screen and (max-width: 991px) {
  .__frame-style01::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border-width: 1px;
  }
}
.__frame-style01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.__frame-style02 {
  border-radius: max(2rem, 1em);
  border: solid 8px #fff;
  box-shadow: 4px 4px 16px rgba(78, 51, 45, 0.1);
  width: 100%;
  height: 100%;
  overflow: clip;
}
@media screen and (max-width: 1199px) {
  .__frame-style02 {
    border-width: 7px;
  }
}
@media screen and (max-width: 991px) {
  .__frame-style02 {
    border-width: 4px;
  }
}
.__frame-style02.__small {
  border-radius: max(1.6875rem, 1em);
}
@media screen and (max-width: 991px) {
  .__frame-style02.__small {
    border-width: 4px;
  }
}
.__frame-style02.__brown {
  border-color: #4e332d;
}
.__frame-style02.__beige {
  border-color: #c0987b;
}
.__frame-style02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.__frame-style03 {
  position: relative;
  background-color: #fff;
  border: solid 1px rgba(78, 51, 45, 0.2);
  border-radius: max(2.25rem, 1.25em);
  overflow: clip;
  padding: max(5rem, 4em);
}
@media screen and (max-width: 767px) {
  .__frame-style03 {
    padding: 24px;
  }
}
.__frame-style03::after {
  pointer-events: none;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-radius: max(1.6875rem, 0.8em);
  border: solid 1px #d6c0a8;
}
@media screen and (max-width: 991px) {
  .__frame-style03::after {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border-width: 1px;
  }
}

.__bg-pattern {
  background-image: url(../images/bg-pattern_white.png);
  background-size: max(6.25rem, 40px);
  background-repeat: repeat;
}

.__bg-pattern_red {
  background-image: url(../images/bg-pattern_red.png);
  background-size: max(6.25rem, 40px);
  background-repeat: repeat;
}

.__bg-pattern_camel {
  background-image: url(../images/bg-pattern_camel.png);
  background-size: max(6.25rem, 40px);
  background-repeat: repeat;
}
.__bg-pattern_camel .__frame-style03 {
  background-color: rgba(255, 255, 255, 0.9);
}

.__bg-pattern_beige {
  background-image: url(../images/bg-pattern_beige.png);
  background-size: max(6.25rem, 40px);
  background-repeat: repeat;
}
.__bg-pattern_beige .__frame-style03 {
  background-color: rgba(255, 255, 255, 0.9);
}

.__content-style01 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 1199px) {
  .__content-style01 {
    display: block;
  }
}
.__content-style01 .txt-wrap {
  width: calc(100% - 36.25 * 1rem - 6.25 * 1rem);
}
@media screen and (max-width: 1199px) {
  .__content-style01 .txt-wrap {
    width: 100%;
  }
}
.__content-style01 .img-wrap {
  width: 36.25rem;
}
@media screen and (max-width: 1199px) {
  .__content-style01 .img-wrap {
    width: min(100%, 600px);
    margin: 0 auto;
    margin-top: 3em;
  }
}
@media screen and (max-width: 767px) {
  .__content-style01 .img-wrap {
    margin-top: 2em;
  }
}
.__content-style01 .img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.__content-style02 .sec-ttl span.__en {
  margin-top: 0;
}
.__content-style02 .sec-txt {
  margin-top: 1.6em;
}
.__content-style02 .sec-txt p {
  margin-top: 1em;
  line-height: 2em;
}
.__content-style02 .sec-txt p:nth-of-type(1) {
  margin-top: 0;
}
.__content-style02 .sec-link {
  margin-top: 2.4em;
}
@media screen and (max-width: 767px) {
  .__content-style02 .sec-link {
    margin-top: 2em;
  }
}

.content-wrap.__tel .num-txt {
  font-size: 2.125em;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .content-wrap.__tel .num-txt {
    font-size: 1.75em;
  }
}
.content-wrap.__tel .num-txt a {
  font-size: 1em;
  display: inline;
}
.content-wrap.__tel .note-txt p {
  font-size: 0.9em;
}

.__fadeIn {
  opacity: 0;
  transform: translateY(16px);
  will-change: opacity, transform;
  transition: opacity 0.72s ease 0.4s, transform 1.2s cubic-bezier(0.34, 1, 0.64, 1) 0.4s;
}
.__fadeIn.__delay00 {
  transition-delay: 0s;
}
.__fadeIn.__inview {
  opacity: 1;
  transform: translateY(0);
}

/* header
---------------------------------------------------- */
header {
  pointer-events: none;
  position: fixed;
  z-index: 99;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
  border-bottom: solid 1px #d6c0a8;
  opacity: 0;
  transform: translateY(-30px);
  will-change: opacity, transform;
  transition: all 0.8s ease;
}
header > * {
  pointer-events: auto;
}
header.__inview {
  opacity: 1;
  transform: translateY(0);
}

.header-style .header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: min(100%, 1920px);
  padding: 10px 20px;
  margin: 0 auto;
}
@media screen and (max-width: 1199px) {
  .header-style .header-inner {
    padding: 10px;
  }
}
@media screen and (max-width: 1199px) {
  .header-style .__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(40, 35, 35, 0.9);
    opacity: 0;
    visibility: hidden;
    transition: all 0.36s ease;
  }
  .header-style .__overlay.__open {
    opacity: 1;
    visibility: visible;
  }
}
.header-style .header-logo {
  flex-shrink: 0;
  width: 3.5rem;
  margin-top: -0.2em;
}
@media screen and (max-width: 1199px) {
  .header-style .header-logo {
    width: 2.75em;
    margin-left: 0.2em;
  }
}
@media screen and (max-width: 767px) {
  .header-style .header-logo {
    width: 2.375em;
  }
}
.header-style .header-logo img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu {
    background-color: rgba(255, 255, 255, 0.9);
    border-left: solid 1px #d6c0a8;
    width: max(40%, 270px);
    height: 100vh;
    padding-top: 64px;
    padding-bottom: 40px;
    overflow-y: scroll;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: all 0.48s ease;
  }
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu .header-menu-inner {
    opacity: 0;
    transition: all 0.48s ease;
  }
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu.__open {
    transform: translateX(0);
  }
  .header-style .header-menu.__open .header-menu-inner {
    opacity: 1;
    transition: all 0.48s 0.4s ease;
  }
}
.header-style .header-menu nav > ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul {
    display: block;
  }
}
.header-style .header-menu nav > ul li {
  position: relative;
  color: #302a2a;
  font-size: max(1.25rem, 1em);
}
.header-style .header-menu nav > ul li .menu-txt {
  font-weight: 700;
  font-size: 1em;
  padding: 0.6em 0;
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul li .menu-txt {
    width: 100%;
    border-bottom: solid 1px #fff;
    padding: max(2vh, 1.125em) 20px;
  }
}
.header-style .header-menu nav > ul li .menu-txt span {
  display: block;
}
.header-style .header-menu nav > ul li .menu-txt span.__en {
  color: #be8862;
  font-size: 0.85em;
  line-height: 1.2em;
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul li .menu-txt span.__en {
    line-height: 1.6em;
  }
}
.header-style .header-menu nav > ul li .accordion-menu {
  position: relative;
  cursor: pointer;
  padding-right: 1.2em;
}
.header-style .header-menu nav > ul li .accordion-menu::after {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -0.6em;
  content: "\f107";
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.7em;
  transform: translateY(-50%) scaleY(1);
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul li .accordion-menu::after {
    margin-right: 20px;
    margin-top: 0;
  }
}
.header-style .header-menu nav > ul li .accordion-menu:hover {
  opacity: 1;
}
.header-style .header-menu nav > ul li .accordion-menu.__open::after {
  transform: translateY(-50%) scaleY(-1);
}
.header-style .header-menu nav > ul li .accordion-inner {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  top: 100%;
  left: 0;
  background-color: #fff;
  box-shadow: 4px 4px 16px rgba(205, 182, 162, 0.2);
  border-radius: 0.48em;
  font-size: 0.95em;
  margin-top: 0.2em;
  padding: 1em;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.4s ease;
}
.header-style .header-menu nav > ul li .accordion-inner.__open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul li .accordion-inner {
    position: relative;
    width: 100%;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    display: none;
    box-shadow: none;
    transition: none;
    margin-top: 0;
    padding: 1em 20px;
    border-radius: 0;
  }
}
.header-style .header-menu nav > ul li .accordion-inner ul li {
  color: #be8862;
  font-size: 0.9em;
  margin-bottom: 0.6em;
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul li .accordion-inner ul li {
    font-size: 1em;
    margin-bottom: 1em;
  }
}
.header-style .header-menu nav > ul li .accordion-inner ul li:last-of-type {
  margin-bottom: 0.2em;
}
.header-style .header-menu nav > ul li .accordion-inner ul li.__anchor {
  color: #4e332d;
  font-size: 0.875em;
  margin-left: 0.6em;
}
@media screen and (max-width: 1199px) {
  .header-style .header-menu nav > ul li .accordion-inner ul li.__anchor {
    color: #be8862;
  }
}
.header-style .header-menu nav > ul li .accordion-inner ul li a {
  font-size: 1em;
}
.header-style .header-menu nav > ul li:last-of-type .menu-txt {
  margin-right: 0;
}
.header-style .header-menu nav > ul li:last-of-type .accordion-inner {
  left: auto;
  right: 0;
}
.header-style .header-menu nav > ul li.__current .menu-txt span.__en {
  color: #a80e34;
}
.header-style .header-right {
  width: 100%;
  margin-left: 7.5rem;
}
@media screen and (max-width: 1199px) {
  .header-style .header-right {
    margin-left: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
.header-style .link-list {
  font-size: max(1.25rem, 1em);
}
.header-style .link-list ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header-style .link-list ul li {
  margin-top: 0.4em;
  margin-right: 0.4em;
}
.header-style .link-list ul li:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 1199px) {
  .header-style .link-list ul li {
    margin-top: 0;
  }
}
@media screen and (max-width: 1199px) {
  .header-style .nav-btn {
    position: relative;
    z-index: 99;
    border: solid 2px rgba(0, 0, 0, 0.1);
    background-color: #c0987b;
    width: 3em;
    aspect-ratio: 1/1;
    border-radius: 7px;
    cursor: pointer;
    margin-left: 2em;
  }
}
@media screen and (max-width: 1199px) and (max-width: 767px) {
  .header-style .nav-btn {
    width: 2.645em;
    border-radius: 0.48em;
    margin-left: 1em;
  }
}
@media screen and (max-width: 1199px) {
  .header-style .nav-btn span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 40%;
    height: 2px;
    border-radius: 50vh;
    background-color: #fff;
    transition: opacity 0.2s ease 0.2s, margin-top 0.2s ease 0.2s, transform 0.2s ease;
  }
  .header-style .nav-btn span:nth-of-type(1) {
    margin-top: -5px;
  }
  .header-style .nav-btn span:nth-of-type(3) {
    margin-top: 5px;
  }
  .header-style .nav-btn.__open span {
    transition: opacity 0.2s ease 0.2s, margin-top 0.2s ease, transform 0.2s ease 0.2s;
  }
  .header-style .nav-btn.__open span:nth-of-type(1) {
    margin-top: 0;
    transform: translateX(-50%) translateY(-50%) rotate(40deg);
  }
  .header-style .nav-btn.__open span:nth-of-type(2) {
    opacity: 0;
  }
  .header-style .nav-btn.__open span:nth-of-type(3) {
    margin-top: 0;
    transform: translateX(-50%) translateY(-50%) rotate(-40deg);
  }
}

/* footer
---------------------------------------------------- */
#footer {
  color: #fff;
}
#footer .footer-contact {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 1em;
  padding-bottom: 3em;
  border-bottom: solid 1px #fff;
}
@media screen and (max-width: 1199px) {
  #footer .footer-contact {
    display: block;
    padding-bottom: 2em;
  }
}
#footer .footer-contact .left-content {
  margin-right: 2em;
}
@media screen and (max-width: 1199px) {
  #footer .footer-contact .left-content {
    text-align: center;
  }
}
@media screen and (max-width: 1199px) {
  #footer .footer-contact .left-content .sec-ttl span.__jp {
    margin-right: -1em;
  }
}
#footer .footer-contact .left-content .address-txt {
  margin-top: 0.6em;
}
@media screen and (max-width: 767px) {
  #footer .footer-contact .left-content .address-txt {
    margin-top: 1em;
  }
}
#footer .footer-contact .right-content {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 1199px) {
  #footer .footer-contact .right-content {
    margin-top: 4em;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  #footer .footer-contact .right-content {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  #footer .footer-contact .right-content .content-wrap.__tel {
    text-align: center;
  }
}
#footer .footer-contact .right-content .content-wrap.__mail {
  margin-left: max(5rem, 2em);
}
@media screen and (max-width: 767px) {
  #footer .footer-contact .right-content .content-wrap.__mail {
    margin: 0 auto;
    margin-top: 2em;
  }
}
#footer .footer-content {
  display: flex;
  justify-content: space-between;
  margin-top: 4em;
}
@media screen and (max-width: 1199px) {
  #footer .footer-content {
    display: block;
    margin-top: 5em;
  }
}
@media screen and (max-width: 767px) {
  #footer .footer-content {
    margin-top: 3em;
  }
}
#footer .footer-content .footer-logo {
  flex-shrink: 0;
  width: 15rem;
  margin-right: 5rem;
}
@media screen and (max-width: 1199px) {
  #footer .footer-content .footer-logo {
    width: 170px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 991px) {
  #footer .footer-content .footer-logo {
    width: 150px;
  }
}
@media screen and (max-width: 767px) {
  #footer .footer-content .footer-logo {
    width: 140px;
  }
}
#footer .footer-content .footer-logo img {
  width: 100%;
  height: auto;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.2));
}
#footer .footer-content .footer-menu {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #footer .footer-content .footer-menu {
    display: block;
  }
}
#footer .footer-content .footer-menu ul {
  margin-top: -1em;
}
@media screen and (max-width: 1199px) {
  #footer .footer-content .footer-menu ul {
    margin-top: 2em;
  }
}
@media screen and (max-width: 767px) {
  #footer .footer-content .footer-menu ul {
    margin-top: 0;
  }
}
#footer .footer-content .footer-menu ul li {
  font-size: max(1.125rem, 1em);
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  #footer .footer-content .footer-menu ul li {
    margin-top: 1.6em;
  }
}
#footer .footer-content .footer-menu ul li a {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1em;
}
#footer .footer-content .footer-menu ul.__anchor {
  margin-top: -0.6em;
}
@media screen and (max-width: 767px) {
  #footer .footer-content .footer-menu ul.__anchor {
    display: flex;
    margin-top: -1.6em;
  }
}
#footer .footer-content .footer-menu ul.__anchor li {
  margin-top: 0.4em;
}
@media screen and (max-width: 767px) {
  #footer .footer-content .footer-menu ul.__anchor li {
    margin-top: 0;
    margin-right: 1em;
  }
}
#footer .footer-content .footer-menu ul.__anchor li a {
  color: #cdb6a2;
  font-size: 0.9em;
}
#footer .footer-bottom {
  padding-top: max(5rem, 80px);
  padding-bottom: max(3.75rem, 60px);
}
#footer .footer-bottom .footer-sns {
  display: flex;
  justify-content: center;
}
#footer .footer-bottom .footer-sns a {
  font-size: 2em;
}
@media screen and (max-width: 767px) {
  #footer .footer-bottom .footer-sns a {
    font-size: 2.25em;
  }
}
#footer .footer-bottom .copyright {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  #footer .footer-bottom .copyright {
    margin-top: 1em;
  }
}
#footer .footer-bottom .copyright p {
  text-align: center;
  font-size: 0.8em;
}
@media screen and (max-width: 767px) {
  #footer .footer-bottom .copyright p {
    font-size: 12px;
  }
}

#pagetop {
  display: none;
  cursor: pointer;
  position: fixed;
  z-index: 9;
  bottom: 0;
  right: 0;
  margin: 1.6em;
}
@media screen and (max-width: 767px) {
  #pagetop {
    margin: 10px;
  }
}
#pagetop .pagetop-inner {
  font-size: 1.125em;
  width: 6em;
  aspect-ratio: 1/1;
  background-image: url(../images/pagetop-bgimg.png);
  background-size: cover;
  will-change: transform;
  transition: all 0.4s ease;
}
@media screen and (max-width: 767px) {
  #pagetop .pagetop-inner {
    font-size: 1em;
    width: 5.5em;
  }
}
#pagetop .pagetop-inner a {
  color: #a80e34;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -0.2em;
  font-size: 1em;
  line-height: 1.4em;
}
#pagetop .pagetop-inner a i {
  font-size: 0.8em;
}
#pagetop .pagetop-inner:hover {
  transform: scale(1.08);
}/*# sourceMappingURL=common.css.map */