@charset "UTF-8";
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

button,
[type=button],
[type=submit],
a {
  cursor: pointer;
}

a {
  text-decoration: none;
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
  background: none;
  border: none;
  outline: none;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul, ul li, ol, ol li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
}

em {
  font-style: normal;
}

@font-face {
  font-family: "CormorantGaramond";
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/CormorantGaramond-Light.woff2") format("woff2"), url("../fonts/CormorantGaramond-Light.woff") format("woff"), url("../fonts/CormorantGaramond-Light.eot") format("eot"), url("../fonts/CormorantGaramond-Light.ttf") format("truetype");
}
@font-face {
  font-family: "ZenOldMinchoMedium";
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/ZenOldMincho-Medium.woff2") format("woff2"), url("../fonts/ZenOldMincho-Medium.woff") format("woff"), url("../fonts/ZenOldMincho-Medium.eot") format("eot"), url("../fonts/ZenOldMincho-Medium.ttf") format("truetype");
}
body {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(1.3636363636vw, 18px);
  font-weight: 500;
  line-height: 2;
  background: #fff;
  color: #000;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 768px) {
  body {
    font-size: min(3.7333333333vw, 14px);
    line-height: 2;
  }
}
body.stop {
  overflow: hidden;
}

html {
  scroll-behavior: auto !important;
}

html.body-fixed,
body.body-fixed {
  overflow: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  svg {
    width: 100%;
  }
}
img {
  width: 100%;
  vertical-align: bottom;
}
@media screen and (min-width: 769px) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

a {
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 769px) and (hover: hover) {
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  summary:focus-visible {
    outline: 2px solid #988138;
  }
}
.inner {
  width: min(100%, 1640px);
  margin-inline: auto;
  padding: 0 min(3.6585365854%, 60px);
}
@media screen and (min-width: 1641px) {
  .inner {
    width: 1640px;
    padding: 0 60px;
  }
}
.inner.narrow {
  width: min(92%, 1320px);
  padding: 0 min(4.5454545455%, 60px);
}
@media screen and (max-width: 1023px) {
  .inner, .inner.narrow {
    width: 100%;
    padding: 0 min(5.8651026393%, 60px);
  }
}
@media screen and (max-width: 768px) {
  .inner, .inner.narrow {
    width: 100%;
    padding: 0 5.4%;
  }
}

.flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.box_btn {
  width: min(18.1818181818vw, 240px);
  height: min(4.5454545455vw, 60px);
}
.box_btn a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.box_btn a span {
  position: relative;
}
.box_btn a span::before {
  content: "";
  display: inline-block;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.box_btn:not(.zoom) {
  -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
.box_btn:not(.zoom) a {
  background: #000;
  color: #fff;
}
.box_btn:not(.zoom) a span {
  padding-bottom: 0.2em;
}
.box_btn:not(.zoom) a span::before {
  width: min(1.3636363636vw, 18px);
  height: min(1.3636363636vw, 18px);
  margin-right: 0.5em;
  background-color: #fff;
  -webkit-mask: url(../img/icon_mail.svg);
          mask: url(../img/icon_mail.svg);
  -webkit-mask-size: min(1.3636363636vw, 18px);
          mask-size: min(1.3636363636vw, 18px);
  top: 0.15em;
}
@media (hover: hover) {
  .box_btn:not(.zoom) a:hover {
    background: #988138;
  }
}
.box_btn.zoom {
  width: min(18.1818181818vw, 240px);
  height: min(3.3333333333vw, 44px);
}
.box_btn.zoom a {
  background: #fff;
  color: #000;
  border: 1px solid #E5E2E0;
}
.box_btn.zoom a span::before {
  width: min(1.5151515152vw, 20px);
  height: min(1.5151515152vw, 20px);
  background-color: #a1a1a1;
  -webkit-mask: url(../img/icon_zoom.svg);
          mask: url(../img/icon_zoom.svg);
  -webkit-mask-size: min(1.5151515152vw, 20px);
          mask-size: min(1.5151515152vw, 20px);
  margin-right: 0.5em;
  top: 0.2em;
}
.box_btn.zoom a small {
  font-size: min(1.0606060606vw, 14px);
}
@media (hover: hover) {
  .box_btn.zoom a:hover {
    background: #988138;
    color: #fff;
  }
  .box_btn.zoom a:hover span::before {
    background-color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .box_btn {
    width: 100%;
    height: min(14.9333333333vw, 56px);
  }
  .box_btn:not(.zoom) a span {
    padding: 0;
    font-size: min(4.2666666667vw, 16px);
  }
  .box_btn:not(.zoom) a span::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    -webkit-mask-size: min(4.2666666667vw, 16px);
            mask-size: min(4.2666666667vw, 16px);
  }
  .box_btn.zoom {
    width: min(64vw, 240px);
    height: min(10.6666666667vw, 40px);
  }
  .box_btn.zoom a span::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    -webkit-mask-size: min(4.2666666667vw, 16px);
            mask-size: min(4.2666666667vw, 16px);
  }
  .box_btn.zoom a small {
    font-size: min(2.6666666667vw, 10px);
  }
}

header {
  position: relative;
  z-index: 555;
}
header.fixed {
  width: 100%;
  position: fixed;
  top: -100px;
  left: 0;
}
header.fixed .logo {
  padding-top: 5px;
}
header.fixed .logo .img {
  width: 107px;
}
header.fixed .logo h1 {
  font-size: 14px;
}
header.fixed .header_inner {
  background: #fff;
  top: 0;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}
header.fixed .header_inner .box_tel {
  margin-top: 0.6em;
}
header.fixed .header_inner .box_tel dl dd {
  margin-top: 0.4em;
}

.logo h1, .ul_gnav li a, .box_tel dt, .box_btn span {
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.3636363636vw, 18px);
}
@media screen and (max-width: 768px) {
  .logo h1, .ul_gnav li a, .box_tel dt, .box_btn span {
    font-size: min(3.7333333333vw, 14px);
  }
}

.logo a {
  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;
  line-height: 1.5;
  position: relative;
  top: -0.2em;
}
.logo a .img {
  width: min(10.1515151515vw, 134px);
}
.logo a h1 {
  margin: 0.1em 0 0 1.1em;
}
.logo a.navin {
  width: 0;
  display: none;
}

#area_nav {
  z-index: 10003;
}

.ul_gnav {
  gap: 0 1.75em;
}
.ul_gnav li a:hover {
  color: #988138;
}

.box_tel {
  margin-top: 1.1em;
  text-align: center;
}
.box_tel dl {
  line-height: 1;
}
.box_tel dl dt {
  font-size: min(1.5151515152vw, 20px);
}
.box_tel dl dt em {
  font-size: min(1.8181818182vw, 24px);
}
@media screen and (min-width: 769px) {
  .box_tel dl dt a {
    pointer-events: none;
  }
}
.box_tel dl dd {
  margin-top: 0.8em;
  font-size: min(0.9848484848vw, 13px);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .box_tel dl dt {
    font-size: min(5.3333333333vw, 20px);
  }
  .box_tel dl dt em {
    font-size: min(6.4vw, 24px);
  }
  .box_tel dl dd {
    margin-top: 0.8em;
    font-size: min(3.4666666667vw, 13px);
  }
}

@media screen and (min-width: 1401px) {
  .box_hamburger {
    display: none;
  }
  .header_inner {
    width: 100%;
    height: 90px;
    padding: 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 20px;
    left: 0;
  }
  .header_nav-area,
  .ul_gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header_nav-area {
    gap: 0 1.9em;
  }
}
@media screen and (max-width: 1400px) {
  .header_inner {
    width: 100%;
    height: 78px;
    padding: 14px min(3.3333333333vw, 44px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  .logo {
    padding-top: 17px;
  }
  .logo a .img {
    width: 132px;
  }
  .logo a .img img {
    width: 100%;
  }
  .logo a h1 {
    font-size: 18px;
    line-height: 1.6;
    margin: 0.3em 0 0 1.2em;
  }
  .box_hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .box_hamburger .box_btn {
    width: 204px;
    height: 44px;
    margin-right: min(2.1212121212vw, 28px);
  }
  .box_hamburger .box_btn a span {
    font-size: 16px;
  }
  .box_hamburger .box_btn a span::before {
    width: 16px;
    height: 16px;
    -webkit-mask-size: 16px;
            mask-size: 16px;
  }
  .box_hamburger .menu_trigger {
    width: 44px;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .box_hamburger .menu_trigger .box {
    width: 26px;
    height: 14px;
    margin-inline: auto;
    position: relative;
  }
  .box_hamburger .menu_trigger .box span {
    display: block;
    width: 100%;
    height: 2px;
    background: #000;
    position: absolute;
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .box_hamburger .menu_trigger .box span:first-of-type {
    top: 0;
  }
  .box_hamburger .menu_trigger .box span:nth-of-type(2) {
    top: 6px;
  }
  .box_hamburger .menu_trigger .box span:nth-of-type(3) {
    top: 12px;
  }
  .box_hamburger .menu_trigger .text {
    display: block;
    font-family: "ZenOldMinchoMedium", serif;
    font-size: 14px;
    text-align: center;
    margin-top: 12px;
    line-height: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .box_hamburger .menu_trigger .text::before {
    content: "MENU";
  }
}
@media screen and (max-width: 1400px) and (hover: hover) {
  .box_hamburger .menu_trigger:hover .box span {
    background: #988138;
  }
  .box_hamburger .menu_trigger:hover .text {
    color: #988138;
  }
}
@media screen and (max-width: 1400px) {
  .box_hamburger .menu_trigger.-active {
    width: 92px;
    height: 86px;
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10005;
    background: #EEEAE1;
  }
  .box_hamburger .menu_trigger.-active .box span {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .box_hamburger .menu_trigger.-active .box span:first-of-type {
    top: 4px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .box_hamburger .menu_trigger.-active .box span:nth-of-type(2) {
    opacity: 0;
  }
  .box_hamburger .menu_trigger.-active .box span:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 4px;
  }
  .box_hamburger .menu_trigger.-active .text::before {
    content: "CLOSE";
  }
  #area_nav .logo.navin {
    display: none;
  }
  #area_nav.-active {
    width: 428px;
  }
  #area_nav.-active .logo.navin {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    top: 0;
  }
  #area_nav.-active .box_hamburger {
    width: 100%;
    display: block;
  }
  .js-nav-area {
    width: 520px;
    height: 100vh;
    padding: 150px 60px 80px;
    display: block;
    right: -520px;
    position: fixed;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    top: 0;
    background: #fff;
    overflow-y: auto;
  }
  .js-nav-area.-active {
    right: 0;
  }
  .js-nav-area .ul_gnav {
    text-align: center;
  }
  .js-nav-area .ul_gnav li a {
    padding: 11px 0;
    display: block;
    border-bottom: 1px solid #E5E2E0;
    font-size: 18px;
  }
  .js-nav-area .box_tel {
    margin-top: 40px !important;
    padding: 20px 0 20px;
    background: #F3F3F3;
  }
  .js-nav-area .box_tel .sp {
    display: block;
    font-family: "ZenOldMinchoMedium", serif;
    font-size: 18px;
  }
  .js-nav-area .box_tel dl dt {
    font-size: 28px;
  }
  .js-nav-area .box_tel dl dt a {
    font-size: 36px;
  }
  .js-nav-area .box_tel dl dd {
    margin-top: 12px !important;
    font-size: 14px;
  }
  .js-nav-area .box_tel dl dd br {
    display: none;
  }
  .js-nav-area .box_btn {
    width: 100%;
    margin-top: 30px;
    height: 60px;
  }
  .js-nav-area .box_btn a span {
    font-size: 18px;
  }
  .js-nav-area .box_btn a span::before {
    width: 18px;
    height: 18px;
    -webkit-mask-size: 18px;
            mask-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .header_inner {
    height: min(13.8666666667vw, 104px);
    background: #fff;
    padding: 0;
  }
  .header_inner > .logo {
    padding-left: 3.1%;
    padding-top: 0;
    z-index: 999999;
  }
  .header_inner > .logo a {
    padding-top: 0;
    top: 0.1em;
  }
  .header_inner > .logo a .img {
    width: min(22.4vw, 168px);
  }
  .header_inner > .logo a h1 {
    margin: 0 0 0 1.1em;
    font-size: min(3.2vw, 24px);
    line-height: 1.45;
    letter-spacing: -0.06em;
  }
  .box_hamburger .logo.navin {
    display: none !important;
  }
  .box_hamburger .box_btn {
    width: min(14.9333333333vw, 112px);
    height: min(13.8666666667vw, 104px);
    margin-right: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-left: 1px solid #E5E2E0;
    border-right: 1px solid #E5E2E0;
  }
  .box_hamburger .box_btn a {
    padding-top: 0.4em;
    background: #fff;
  }
  .box_hamburger .box_btn a span {
    font-size: min(2.6666666667vw, 20px);
    color: #000;
    padding-bottom: 0;
  }
  .box_hamburger .box_btn a span.sp {
    display: block;
  }
  .box_hamburger .box_btn a span::before {
    width: min(4.2666666667vw, 32px);
    height: min(4.2666666667vw, 32px);
    -webkit-mask-size: min(4.2666666667vw, 32px);
            mask-size: min(4.2666666667vw, 32px);
    background: #000;
    display: block;
    margin-inline: auto;
  }
  .box_hamburger .menu_trigger {
    width: min(14.9333333333vw, 112px);
    padding-top: 2vw;
  }
  .box_hamburger .menu_trigger .box {
    width: min(4.2666666667vw, 32px);
    height: 9px;
  }
  .box_hamburger .menu_trigger .box span {
    height: 1px;
  }
  .box_hamburger .menu_trigger .box span:nth-of-type(2) {
    top: 4px;
  }
  .box_hamburger .menu_trigger .box span:nth-of-type(3) {
    top: 8px;
  }
  .box_hamburger .menu_trigger .text {
    font-size: min(2.6666666667vw, 20px);
    margin-top: 0.8em;
  }
}
@media screen and (max-width: 768px) and (hover: hover) {
  .box_hamburger .menu_trigger:hover .box span {
    background: #988138;
  }
  .box_hamburger .menu_trigger:hover .text {
    color: #988138;
  }
}
@media screen and (max-width: 768px) {
  .box_hamburger .menu_trigger.-active {
    width: min(14.9333333333vw, 112px);
    height: min(13.8666666667vw, 104px);
  }
  .box_hamburger .menu_trigger.-active .box span:first-of-type {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .box_hamburger .menu_trigger.-active .box span:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #area_nav.-active {
    width: calc(100% - min(14.9333333333vw, 112px));
    position: absolute;
    top: 0;
    left: 0;
  }
  #area_nav.-active .box_hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .js-nav-area {
    width: 100vw;
    padding: 20.6vw 4% 4vw;
    right: -100vw;
  }
  .js-nav-area .ul_gnav li a {
    padding: 2.7vw 0;
    font-size: min(4.2666666667vw, 16px);
  }
  .js-nav-area .box_tel {
    width: 86%;
    margin: 7vw auto 0 !important;
    padding: 4.8vw 0 5vw;
  }
  .js-nav-area .box_tel .sp {
    font-size: min(3.7333333333vw, 14px);
  }
  .js-nav-area .box_tel dl {
    margin-top: 1.5vw;
  }
  .js-nav-area .box_tel dl dt {
    font-size: min(5.3333333333vw, 20px);
  }
  .js-nav-area .box_tel dl dt a {
    font-size: min(7.4666666667vw, 28px);
    position: relative;
  }
  .js-nav-area .box_tel dl dt a::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    right: 0;
    bottom: 0.1em;
  }
  .js-nav-area .box_tel dl dd {
    margin-top: 12px !important;
    font-size: min(3.2vw, 12px);
  }
  .js-nav-area .box_btn {
    width: 76%;
    margin: 5.5vw auto 0;
  }
}
#overlay.-active {
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 9999;
}

footer {
  padding: 0 0 3em;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 0 0 10vw;
  }
}
footer .area_contact {
  max-width: 880px;
  padding: min(6.9696969697vw, 92px) 0 min(4.2424242424vw, 56px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
footer .area_contact .tit_contact {
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(2.1212121212vw, 28px);
}
footer .area_contact .txt_contact {
  margin-top: 0.6em;
}
@media screen and (max-width: 768px) {
  footer .area_contact {
    max-width: 78%;
    padding: 10vw 0 10vw;
  }
  footer .area_contact .tit_contact {
    font-size: min(5.3333333333vw, 20px);
  }
  footer .area_contact .txt_contact {
    margin-top: 2vw;
  }
}
footer .box_management .name {
  font-family: "ZenOldMinchoMedium", serif;
  text-align: center;
}
footer .box_management .img {
  width: min(32.5757575758vw, 430px);
  margin: 0.6em auto 0;
}
footer .box_management .img a {
  display: block;
}
@media (hover: hover) {
  footer .box_management .img a:hover {
    opacity: 0.7;
  }
}
footer .box_management .ul_sns {
  margin-top: 1.4em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.3em;
}
footer .box_management .ul_sns li {
  width: min(1.8181818182vw, 24px);
}
@media screen and (max-width: 768px) {
  footer .box_management .img {
    width: 90%;
    margin: 1vw auto 0;
  }
  footer .box_management .ul_sns {
    margin-top: 5vw;
    gap: 0 1.6em;
  }
  footer .box_management .ul_sns li {
    width: min(6.4vw, 24px);
  }
}
footer .copyright {
  margin-top: min(1.6666666667vw, 22px);
  text-align: center;
  display: block;
  font-size: min(1.0606060606vw, 14px);
  font-family: "CormorantGaramond", serif;
  font-weight: 700;
  color: #B9B9B9;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    margin-top: 3.5vw;
    font-size: min(2.6666666667vw, 10px);
  }
}
footer #js_pagetop {
  width: min(5.1515151515vw, 68px);
  height: min(5.1515151515vw, 68px);
  background: url(../../assets/img/icon_arrow2.svg) no-repeat center #A19779;
  background-size: min(1.5151515152vw, 20px);
  position: fixed;
  right: min(1.5151515152vw, 20px);
  bottom: min(2.6515151515vw, 35px);
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
  z-index: 100;
}
@media (hover: hover) {
  footer #js_pagetop:hover {
    background-color: #988138;
  }
}
@media screen and (max-width: 768px) {
  footer #js_pagetop {
    width: min(10.6666666667vw, 40px);
    height: min(10.6666666667vw, 40px);
    background-size: min(3.2vw, 12px);
    right: min(2.1333333333vw, 8px);
    bottom: min(2.1333333333vw, 8px);
  }
}

.box_gray {
  background: #f3f3f3;
}

.box_white {
  background: #fff;
}

.firstIn,
.fadeIn {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) {
  .firstIn,
  .fadeIn {
    opacity: 0;
    -webkit-transform: translateY(50px) translateZ(0);
            transform: translateY(50px) translateZ(0);
    will-change: opacity, transform;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-perspective: 1000;
            perspective: 1000;
    -webkit-transition: 1.3s;
    transition: 1.3s;
  }
  .firstIn.on,
  .fadeIn.on {
    opacity: 1;
    -webkit-transform: translateY(0) translateZ(0);
            transform: translateY(0) translateZ(0);
  }
}
.area_wave01 {
  background: url(../img/bg_wave1.png) no-repeat center top min(0.7575757576vw, 10px) #EEEAE1;
  background-size: 1920px;
}
@media screen and (max-width: 768px) {
  .area_wave01 {
    background: url(../img/bg_wave1_sp.png) no-repeat center top #EEEAE1;
    background-size: 100%;
  }
}

.area_wave02 {
  background: url(../img/bg_wave2.png) no-repeat center top min(32.5757575758vw, 430px) #EEEAE1;
  background-size: 1920px;
}
@media screen and (max-width: 768px) {
  .area_wave02 {
    background: #EEEAE1;
  }
}

.box_time {
  background: #fff;
}
.box_time .line {
  font-size: min(1.2121212121vw, 16px);
}
.box_time .min {
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.5151515152vw, 20px);
  line-height: 1.4;
}
.box_time .min .st {
  font-size: min(2.1212121212vw, 28px);
}
.box_time .min .num {
  font-size: min(2.2727272727vw, 30px);
  color: #988138;
  display: inline-block;
  padding: 0 0.2em;
}
@media screen and (max-width: 768px) {
  .box_time .line {
    font-size: min(3.2vw, 12px);
  }
  .box_time .min {
    font-size: min(3.2vw, 12px);
  }
  .box_time .min .st {
    font-size: min(4.8vw, 18px);
  }
  .box_time .min .num {
    font-size: min(5.0666666667vw, 19px);
  }
}

.txt_att,
.ul_att li {
  padding-left: 1.2em;
  position: relative;
  font-size: min(0.8974358974vw, 14px);
  color: #81796E;
  line-height: 1.8;
}
.txt_att::before,
.ul_att li::before {
  content: "※";
  position: absolute;
  top: 0.4em;
  left: 0;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .txt_att,
  .ul_att li {
    font-size: min(2.6666666667vw, 10px);
  }
}

.txt_att {
  display: inline-block;
}

.ul_att li + li {
  margin-top: 0.3em;
}

a.gmap {
  color: #988138;
  text-decoration: underline;
}
a.gmap::before {
  content: "";
  display: inline-block;
  width: min(1.5151515152vw, 20px);
  height: min(1.5151515152vw, 20px);
  background: url(../img/icon_mappin.png) no-repeat center top;
  background-size: 100%;
  position: relative;
  top: 0.3em;
}
@media (hover: hover) {
  a.gmap:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 768px) {
  a.gmap::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    top: 1vw;
  }
}

a.blank {
  position: relative;
  color: #988138;
  text-decoration: underline;
}
a.blank::after {
  content: "";
  display: block;
  width: min(1.2121212121vw, 16px);
  height: min(1.2121212121vw, 16px);
  background: url(../../assets/img/icon_blank.png) no-repeat center top;
  background-size: 100%;
  position: absolute;
  top: 0;
  right: -1.5em;
}
@media screen and (max-width: 768px) {
  a.blank::after {
    width: min(3.2vw, 12px);
    height: min(3.2vw, 12px);
    top: 0.1em;
    right: -1.3em;
  }
}

.area_contact {
  width: min(81.8181818182vw, 1080px);
  margin-inline: auto;
  padding: 2.4em min(7.5757575758vw, 100px) 2.9em;
  background: #fff;
  -webkit-box-shadow: 0 0 10px 0 rgba(88, 59, 16, 0.16);
          box-shadow: 0 0 10px 0 rgba(88, 59, 16, 0.16);
  text-align: center;
}
.area_contact .flex_wrap {
  margin-top: 2em;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.area_contact .title {
  font-size: min(2.1212121212vw, 28px);
  font-family: "ZenOldMinchoMedium", serif;
}
.area_contact .text {
  margin-top: 0.6em;
}
.area_contact .box_tel {
  width: 45.4545454545%;
  margin-top: 0;
  padding: 1.6em 0 1em;
  background: #f3f3f3;
}
.area_contact .box_tel dl dt {
  font-size: min(1.3636363636vw, 18px);
}
.area_contact .box_tel dl dd {
  margin-top: 0.3em;
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(2.1212121212vw, 28px);
}
.area_contact .box_tel dl dd a {
  font-size: min(2.7272727273vw, 36px);
}
@media screen and (min-width: 769px) {
  .area_contact .box_tel dl dd a {
    pointer-events: none;
  }
}
.area_contact .box_tel .time {
  font-size: min(1.0606060606vw, 14px);
}
.area_contact .wrap_btn {
  width: 50%;
}
.area_contact .wrap_btn .box_btn {
  width: 100%;
  height: min(5.1515151515vw, 68px);
}
.area_contact .wrap_btn .box_btn a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.area_contact .wrap_btn .box_btn a span {
  position: relative;
  padding-bottom: 0;
  padding-left: 1.7em;
  letter-spacing: 0.11em;
}
.area_contact .wrap_btn .box_btn a span::before, .area_contact .wrap_btn .box_btn a span::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
}
.area_contact .wrap_btn .box_btn.form a span::before {
  width: min(1.5151515152vw, 20px);
  height: min(1.5151515152vw, 20px);
  -webkit-mask-size: min(1.5151515152vw, 20px);
          mask-size: min(1.5151515152vw, 20px);
  left: 0.1em;
}
.area_contact .wrap_btn .box_btn.line {
  margin-top: min(1.5151515152vw, 20px);
}
.area_contact .wrap_btn .box_btn.line a {
  background: #06C755;
}
.area_contact .wrap_btn .box_btn.line a span {
  padding-left: 2.3em;
}
.area_contact .wrap_btn .box_btn.line a span::before {
  content: none;
}
.area_contact .wrap_btn .box_btn.line a span::after {
  content: "";
  display: block;
  position: absolute;
  width: min(2.4242424242vw, 32px);
  height: min(2.4242424242vw, 32px);
  background: url(../img/icon_line.svg) no-repeat center top #06C755;
  background-size: min(2.4242424242vw, 32px);
  left: 0.1em;
  border-radius: 5px;
}
@media (hover: hover) {
  .area_contact .wrap_btn .box_btn.line a:hover {
    background: #00BB4D;
  }
}
@media screen and (max-width: 768px) {
  .area_contact {
    width: 100%;
    padding: 7.2vw 6% 8vw;
  }
  .area_contact .flex_wrap {
    margin-top: 5vw;
  }
  .area_contact .title {
    font-size: min(5.3333333333vw, 20px);
  }
  .area_contact .box_tel {
    width: 100%;
    margin-top: 1vw;
    padding: 7vw 0 4.5vw;
  }
  .area_contact .box_tel dl dt {
    font-size: min(3.7333333333vw, 14px);
  }
  .area_contact .box_tel dl dd {
    margin-top: 0.3em;
    font-size: min(5.3333333333vw, 20px);
  }
  .area_contact .box_tel dl dd a {
    font-size: min(7.4666666667vw, 28px);
    position: relative;
  }
  .area_contact .box_tel dl dd a::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    right: 0;
    bottom: 0.1em;
  }
  .area_contact .box_tel .time {
    font-size: min(3.2vw, 12px);
  }
  .area_contact .wrap_btn {
    width: 90%;
    margin: 7.5vw auto 0;
  }
  .area_contact .wrap_btn .box_btn {
    height: min(14.4vw, 54px);
  }
  .area_contact .wrap_btn .box_btn a span {
    padding-left: 2.5em;
    letter-spacing: 0.04em;
    font-size: min(4.2666666667vw, 16px);
  }
  .area_contact .wrap_btn .box_btn.form a span::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    -webkit-mask-size: min(4.2666666667vw, 16px);
            mask-size: min(4.2666666667vw, 16px);
    left: 1em;
  }
  .area_contact .wrap_btn .box_btn.line {
    margin-top: 5vw;
  }
  .area_contact .wrap_btn .box_btn.line a span {
    padding-left: 2.3em;
  }
  .area_contact .wrap_btn .box_btn.line a span::after {
    width: min(7.4666666667vw, 28px);
    height: min(7.4666666667vw, 28px);
    background-size: min(7.4666666667vw, 28px);
    left: 0.2em;
  }
}

.image_break {
  height: 620px;
  position: relative;
  overflow: hidden;
}
.image_break picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  -webkit-transition: 3s;
  transition: 3s;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
          transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .image_break picture img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@media (prefers-reduced-motion: reduce) {
  .image_break picture img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.image_break.on picture img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.image_break.perspective02 .title {
  width: min(58.1818181818vw, 768px);
  height: min(14.0151515152vw, 185px);
  position: absolute;
  top: 0;
  left: 4%;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .image_break {
    height: auto;
  }
  .image_break.perspective02 .title {
    width: 89.4%;
    height: 22.5vw;
    left: 5.4%;
  }
}

.persname {
  height: min(1.6666666667vw, 22px);
  padding: 0.3em 0.5em 0;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(1.0606060606vw, 14px);
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .persname {
    height: min(4.2666666667vw, 16px);
    padding: 0.3em 0.5em 0;
    font-size: min(2.6666666667vw, 10px);
  }
}

.tit_content {
  padding-top: 4.5em;
  text-align: center;
  position: relative;
}
.tit_content .en {
  font-family: "CormorantGaramond", serif;
  font-size: min(12.7272727273vw, 168px);
  font-weight: 300;
  color: #fff;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  line-height: 1;
}
.tit_content .jp, .tit_content .sub {
  font-family: "ZenOldMinchoMedium", serif;
  position: relative;
  display: block;
}
.tit_content .jp {
  font-size: min(2.7272727273vw, 36px);
  line-height: 2;
}
.tit_content .sub {
  margin: -1.1em 0 0.3em;
  font-size: min(1.8181818182vw, 24px);
  color: #988138;
  line-height: 1;
}
.tit_content.beige .en {
  color: #EFEBE3;
}
.tit_content.only {
  padding: 0;
}
.tit_content.only .sub {
  font-family: "CormorantGaramond", serif;
  font-weight: 300;
  font-size: min(1.5151515152vw, 20px);
}
.tit_content.only .jp {
  margin-top: 0.45em;
  font-size: min(2.1212121212vw, 28px);
}
@media screen and (max-width: 768px) {
  .tit_content {
    padding-top: 3.2em;
  }
  .tit_content .en {
    font-size: min(24.5333333333vw, 92px);
  }
  .tit_content .jp {
    font-size: min(6.4vw, 24px);
  }
  .tit_content .sub {
    font-size: min(5.3333333333vw, 20px);
  }
  .tit_content.only .sub {
    font-size: min(4.2666666667vw, 16px);
  }
  .tit_content.only .jp {
    margin-top: 2vw;
    line-height: 2.2;
    font-size: min(5.8666666667vw, 22px);
  }
}

.txt_lead {
  margin-top: 1.8em;
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.5151515152vw, 20px);
  text-align: center;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .txt_lead {
    margin-top: 5.3vw;
    font-size: min(4.2666666667vw, 16px);
    text-align: left;
    line-height: 2.25;
  }
}

.area_fv {
  background: url(../img/fv_bg.png) no-repeat center top -5em #EEEAE1;
  background-size: min(145.4545454545vw, 1920px);
}
@media screen and (max-width: 768px) {
  .area_fv {
    background: url(../img/fv_bg_cloud_sp.png) no-repeat center top #EEEAE1;
    background-size: 100%;
  }
}

.webp .area_fv {
  background: url(../img/webp/fv_bg.webp) no-repeat center top -5em #EEEAE1;
  background-size: min(145.4545454545vw, 1920px);
}
@media screen and (max-width: 768px) {
  .webp .area_fv {
    background: url(../img/webp/fv_bg_cloud_sp.webp) no-repeat center top #EEEAE1;
    background-size: 100%;
  }
}
.webp #firstview {
  background: url(../img/webp/fv_img02_pc.webp) no-repeat left calc(50vw - 4em) bottom;
  background-size: min(75.8333333333vw, 1183px);
}
@media screen and (max-width: 768px) {
  .webp #firstview {
    background: url(../img/webp/fv_img02_sp.webp) no-repeat center bottom;
    background-size: 100%;
  }
}

.no-webp .area_fv {
  background: url(../img/fv_bg.png) no-repeat center top -5em #EEEAE1;
  background-size: min(145.4545454545vw, 1920px);
}
@media screen and (max-width: 768px) {
  .no-webp .area_fv {
    background: url(../img/fv_bg_cloud_sp.png) no-repeat center top #EEEAE1;
    background-size: 100%;
  }
}
.no-webp #firstview {
  background: url(../img/webp/fv_img02_pc.png) no-repeat left calc(50vw - 4em) bottom;
  background-size: min(75.8333333333vw, 1183px);
}
@media screen and (max-width: 768px) {
  .no-webp #firstview {
    background: url(../img/fv_img02_sp.png) no-repeat center bottom;
    background-size: 100%;
  }
}

#firstview {
  height: min(64.7435897436vw, 1010px);
  padding-top: min(7.4358974359vw, 116px);
  position: relative;
}
@media screen and (min-width: 1921px) {
  #firstview {
    background-size: 1183px;
  }
}
#firstview .box_text {
  width: 60%;
  width: min(61.3461538462vw, 957px);
  height: min(52.8205128205vw, 824px);
  padding-top: 4.2em;
  padding-left: min(6.4102564103vw, 100px);
  position: relative;
}
#firstview .box_text .title {
  width: min(49.2307692308vw, 768px);
  max-width: 768px;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
}
#firstview .box_text .img {
  width: 50%;
  max-width: 475px;
  position: absolute;
  bottom: 0.05em;
  right: -2.1em;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
}
#firstview .box_information {
  width: min(23.3974358974vw, 365px);
  margin-top: 3em;
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition: opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
}
#firstview .box_information .box_time {
  padding: 0.8em 7% 1.05em;
  background: #fff;
}
#firstview .box_information .box_time + .box_time {
  margin-top: 0.65em;
}
#firstview .box_information .box_time .line {
  font-size: min(1.0256410256vw, 16px);
}
#firstview .box_information .box_time .min {
  font-size: min(1.2820512821vw, 20px);
}
#firstview .box_information .box_time .min .st {
  margin-left: -0.5em;
  font-size: min(1.7948717949vw, 28px);
}
#firstview .box_information .box_time .min .num {
  font-size: min(1.9230769231vw, 30px);
}
#firstview .box_information .ul_att {
  margin-top: 1.5em;
}
#firstview .box_information .ul_att li {
  padding-left: 0.9em;
  line-height: 2.2;
}
#firstview .box_information .ul_att li::before {
  top: 0.6em;
}
#firstview .box_information .ul_att li + li {
  margin-top: 0;
}
#firstview .txt_image {
  font-size: min(0.8974358974vw, 14px);
  position: absolute;
  bottom: 7em;
  right: 1em;
}
@media screen and (max-width: 768px) {
  #firstview {
    height: auto;
    padding: min(13.8666666667vw, 52px) 0 69vw 5.4%;
    position: relative;
    z-index: 1;
  }
  #firstview .box_text {
    width: 100%;
    height: auto;
    padding-top: 10.8vw;
    padding-left: 0;
  }
  #firstview .box_text .title {
    width: 94.4%;
  }
  #firstview .box_text .img {
    width: 42%;
    position: relative;
    bottom: -5.3vw;
    right: 0;
  }
  #firstview .box_infowrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #firstview .box_information {
    width: 55.2%;
    margin-top: 5.2vw;
  }
  #firstview .box_information .box_time {
    padding: 2vw 5% 1.8vw 5.5%;
  }
  #firstview .box_information .box_time + .box_time {
    margin-top: 1.5vw;
  }
  #firstview .box_information .box_time .line {
    font-size: min(2.6666666667vw, 10px);
  }
  #firstview .box_information .box_time .min {
    font-size: min(3.2vw, 12px);
  }
  #firstview .box_information .box_time .min .st {
    font-size: min(4vw, 15px);
  }
  #firstview .box_information .box_time .min .num {
    font-size: min(4.2666666667vw, 16px);
  }
  #firstview .box_information .ul_att {
    margin-top: 1.7vw;
  }
  #firstview .txt_image {
    color: #EEEAE1;
    font-size: min(2.6666666667vw, 10px);
    right: 2.8%;
    bottom: 8.2vw;
    text-align: center;
    line-height: 1.8;
  }
}

#concept {
  padding: 0 0 4em;
}
#concept .box_concept {
  margin-top: 9.05em;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#concept .box_concept .box {
  width: 31%;
  max-width: 460px;
  padding: 1.85em 0 2em;
  background: #fff;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  opacity: 0;
  -webkit-transition: ease-out 0.5s;
  transition: ease-out 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  #concept .box_concept .box {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: no-preference) {
  #concept .box_concept .box {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
}
#concept .box_concept .box.in {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: ease-out 0.5s;
  transition: ease-out 0.5s;
}
@media screen and (min-width: 769px) {
  #concept .box_concept .box:nth-child(2) {
    margin-top: -3.3em;
  }
}
#concept .box_concept .box .badge {
  width: min(6.7948717949vw, 106px);
  position: absolute;
  top: -1.55em;
  left: -1.55em;
}
#concept .box_concept .box .num {
  font-size: min(1.2820512821vw, 20px);
  color: #988138;
  font-family: "CormorantGaramond", serif;
  text-align: center;
  line-height: 1;
  position: absolute;
  top: -0.5em;
  left: 0;
  right: 0;
  margin-inline: auto;
}
#concept .box_concept .box dl {
  width: 82.6086956522%;
  margin-inline: auto;
}
#concept .box_concept .box dl dt {
  text-align: center;
  font-size: min(1.5384615385vw, 24px);
  font-family: "ZenOldMinchoMedium", serif;
}
#concept .box_concept .box dl dd {
  margin-top: 0.75em;
}
#concept .box_concept .box dl dd .img {
  width: 100%;
  position: relative;
}
#concept .box_concept .box dl dd .img .name {
  height: min(1.6666666667vw, 22px);
  padding: 0.3em 0.5em 0;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(1.0606060606vw, 14px);
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  line-height: 1;
}
#concept .box_concept .box dl dd .txt {
  margin-top: 0.6em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: min(1.1538461538vw, 18px);
}
#concept .box_concept .box dl dd .txt_att {
  color: #988138;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  #concept {
    margin-top: -7vw;
    padding: 12vw 0 11vw;
    background: url(../img/bg_wave1_sp.png) no-repeat left top -24vw #EEEAE1;
    background-size: 100vw;
  }
  #concept .box_concept {
    margin-top: 19vw;
    gap: 10.5vw 0;
  }
  #concept .box_concept .box {
    width: 100%;
    padding: 6.6vw 0 7vw;
  }
  #concept .box_concept .box .badge {
    width: min(20.2666666667vw, 76px);
    top: -5vw;
    left: -2.4%;
  }
  #concept .box_concept .box .num {
    font-size: min(4.2666666667vw, 16px);
  }
  #concept .box_concept .box dl {
    width: 88%;
  }
  #concept .box_concept .box dl dt {
    font-size: min(5.3333333333vw, 20px);
  }
  #concept .box_concept .box dl dd .txt {
    font-size: min(3.7333333333vw, 14px);
  }
  #concept .box_concept .box dl dd .txt_att {
    font-size: min(2.9333333333vw, 11px);
  }
}

#exclusive {
  padding-bottom: min(2.2727272727vw, 30px);
}
#exclusive .box_exclusive {
  margin-top: 2.3em;
  padding: min(1.2820512821vw, 20px) 0;
  background: #fff;
}
#exclusive .box_exclusive ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#exclusive .box_exclusive ul li {
  width: 50%;
  padding: 1.9em 4% 2.3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
@media screen and (min-width: 769px) {
  #exclusive .box_exclusive ul li:nth-child(n+3)::before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - min(5.1282051282vw, 80px));
    height: 1px;
    top: 0;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjLCgo+D9hwgRGBiiAM4gXAAAAOQQFuk0BmAAAAABJRU5ErkJggg==) repeat;
  }
  #exclusive .box_exclusive ul li:nth-child(n+3)::after {
    top: min(1.2820512821vw, 20px);
  }
  #exclusive .box_exclusive ul li:nth-child(even)::before {
    left: min(1.2820512821vw, 20px);
  }
  #exclusive .box_exclusive ul li:nth-child(even)::after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: calc(100% - min(3.8461538462vw, 60px));
    left: 0;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjLCgo+D9hwgRGBiiAM4gXAAAAOQQFuk0BmAAAAABJRU5ErkJggg==) repeat;
  }
}
#exclusive .box_exclusive ul li .img {
  width: 28.90625%;
  margin-top: 0.3em;
}
#exclusive .box_exclusive ul li dl {
  width: 70.3125%;
  padding-left: 6.3%;
}
#exclusive .box_exclusive ul li dl dt {
  font-size: min(1.5384615385vw, 24px);
  font-family: "ZenOldMinchoMedium", serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
#exclusive .box_exclusive ul li dl dd {
  margin-top: 0.3em;
  font-size: min(1.1538461538vw, 18px);
}
#exclusive .box_exclusive ul li dl dd .txt_att {
  margin-top: 0.5em;
}
@media screen and (max-width: 768px) {
  #exclusive {
    padding-bottom: 0;
    position: relative;
  }
  #exclusive::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100vw;
    background: url(../img/bg_wave2_sp.png) no-repeat center top;
    background-size: 100%;
    bottom: -58vw;
  }
  #exclusive .box_exclusive {
    margin-top: 6vw;
    padding: 0 0;
    position: relative;
  }
  #exclusive .box_exclusive ul li {
    width: 88%;
    margin: 0 auto 0;
    padding: 18vw 0 7vw;
  }
  #exclusive .box_exclusive ul li::before {
    content: "";
    display: block;
    position: absolute;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjLCgo+D9hwgRGBiiAM4gXAAAAOQQFuk0BmAAAAABJRU5ErkJggg==) repeat;
    width: 100%;
    height: 1px;
    top: 0;
  }
  #exclusive .box_exclusive ul li:first-child::before {
    content: none;
  }
  #exclusive .box_exclusive ul li .img {
    width: 32%;
    margin-top: 2vw;
  }
  #exclusive .box_exclusive ul li dl {
    width: 100%;
    padding-left: 0;
    display: contents;
  }
  #exclusive .box_exclusive ul li dl dt {
    font-size: min(4.8vw, 18px);
    position: absolute;
    top: 6.5vw;
    left: 0;
  }
  #exclusive .box_exclusive ul li dl dd {
    width: 67%;
    margin-top: 0;
    padding-left: 5%;
    font-size: min(3.7333333333vw, 14px);
  }
}

#facility {
  width: 100%;
  padding-top: min(5.303030303vw, 70px);
  overflow: hidden;
}
#facility .swiper_outer {
  margin: 2.2em calc(min(14.8484848485vw, 196px) * -1) 0;
}
#facility .facilitybox a {
  display: block;
  padding: 0 min(1.9696969697vw, 26px);
}
#facility .facilitybox a .img {
  -webkit-box-shadow: 0px 0px 10px 0px rgba(88, 59, 16, 0.16);
          box-shadow: 0px 0px 10px 0px rgba(88, 59, 16, 0.16);
  position: relative;
  overflow: hidden;
}
#facility .facilitybox a .img img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: scale(1);
          transform: scale(1);
}
#facility .facilitybox a .img .zoom {
  width: min(2.0454545455vw, 27px);
  height: min(2.0454545455vw, 27px);
  background: rgba(0, 0, 0, 0.5);
  position: relative;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#facility .facilitybox a .img .zoom::before, #facility .facilitybox a .img .zoom::after {
  content: "";
  display: block;
  position: absolute;
  width: min(0.9848484848vw, 13px);
  height: 1px;
  background: #fff;
  inset: 0;
  margin: auto;
}
#facility .facilitybox a .img .zoom::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#facility .facilitybox a .tit {
  margin-top: 1em;
  text-align: center;
  font-weight: 700;
  color: #262323;
  line-height: 1.4;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#facility .facilitybox a .tit span {
  margin-top: min(0.7575757576vw, 10px);
  font-weight: 400;
  font-size: min(1.0606060606vw, 14px);
  display: block;
}
@media (hover: hover) {
  #facility .facilitybox a:hover .img img {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
  #facility .facilitybox a:hover .img .zoom {
    background: #988138;
  }
  #facility .facilitybox a:hover .tit {
    color: #988138;
  }
}
@media screen and (max-width: 768px) {
  #facility {
    padding-top: 12vw;
  }
  #facility .swiper_outer {
    margin: 6.5vw 0 0;
  }
  #facility .facilitybox a {
    padding: 0 4vw;
  }
  #facility .facilitybox a .img .zoom {
    width: min(7.2vw, 27px);
    height: min(7.2vw, 27px);
  }
  #facility .facilitybox a .img .zoom::before, #facility .facilitybox a .img .zoom::after {
    width: min(3.4666666667vw, 13px);
  }
  #facility .facilitybox a .tit {
    margin-top: 1em;
  }
  #facility .facilitybox a .tit span {
    margin-top: 3vw;
    font-size: min(3.7333333333vw, 14px);
  }
}

.wrap-pagenation {
  margin-top: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.wrap-pagenation .swiper-pagination {
  width: auto;
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.wrap-pagenation .swiper-pagination .swiper-pagination-bullet {
  width: 11px;
  height: 11px;
  margin: 0 10px;
  background: #fff;
  opacity: 1;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.wrap-pagenation .swiper-pagination .swiper-pagination-bullet:hover,
.wrap-pagenation .swiper-pagination .swiper-pagination-bullet-active {
  background: #988138;
}
.wrap-pagenation .box_stop {
  width: min(3.6363636364vw, 48px);
  height: min(3.6363636364vw, 48px);
  position: relative;
  margin-left: 1em;
}
.wrap-pagenation .box_stop button {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
  border: 1px solid #988138;
  position: absolute;
  top: 0;
  left: 0;
}
.wrap-pagenation .box_stop button svg {
  position: absolute;
  inset: 0;
  margin: auto;
  color: #988138;
}
.wrap-pagenation .box_stop button, .wrap-pagenation .box_stop button svg {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.wrap-pagenation .box_stop button.active {
  display: block;
}
@media (hover: hover) {
  .wrap-pagenation .box_stop button:hover {
    background: #988138;
  }
  .wrap-pagenation .box_stop button:hover svg {
    color: #fff;
  }
}
.wrap-pagenation .box_stop .swiper_pause svg {
  width: min(0.6060606061vw, 8px);
}
.wrap-pagenation .box_stop .swiper_start svg {
  width: min(0.7575757576vw, 10px);
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}
@media screen and (max-width: 768px) {
  .wrap-pagenation {
    margin-top: 1vw;
  }
  .wrap-pagenation .swiper-pagination {
    padding-left: min(13.3333333333vw, 50px);
  }
  .wrap-pagenation .swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 0.45em;
  }
  .wrap-pagenation .box_stop {
    width: min(10.6666666667vw, 40px);
    height: min(10.6666666667vw, 40px);
    right: -1em;
  }
  .wrap-pagenation .box_stop .swiper_pause svg {
    width: min(1.8666666667vw, 7px);
  }
  .wrap-pagenation .box_stop .swiper_start svg {
    width: min(2.6666666667vw, 10px);
  }
}

.popup-btn {
  background-color: #fff;
  color: #222;
  display: inline-block;
  padding: 10px 20px;
}

.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
.mfp-bg.mfp-ready {
  opacity: 0.8;
}
.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 100vh;
}
.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  max-width: 100%;
  max-height: 100%;
}
.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

#service {
  margin-top: 4.5em;
  padding: 5.8em 0 6.7em;
  position: relative;
}
#service::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjLCgo+D9hwgRGBiiAM4gXAAAAOQQFuk0BmAAAAABJRU5ErkJggg==) repeat;
}
#service .area_contact {
  margin-top: 5.6em;
}
@media screen and (max-width: 768px) {
  #service {
    margin-top: 10.5vw;
    padding: 15.8vw 0 16vw;
  }
  #service .area_contact {
    margin-top: 14.5vw;
  }
}

.ul_service {
  margin-top: 1.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(1.5151515152vw, 20px) 1.75%;
}
.ul_service li {
  width: 23.6666666667%;
  height: min(7.7272727273vw, 102px);
  padding-left: min(7.7272727273vw, 102px);
  background: rgba(255, 255, 255, 0.6);
  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;
  position: relative;
  font-weight: 700;
  color: #262323;
}
.ul_service li::before {
  content: "";
  width: min(4.696969697vw, 62px);
  height: min(4.696969697vw, 62px);
  position: absolute;
  top: min(1.5151515152vw, 20px);
  left: min(1.5151515152vw, 20px);
  bottom: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.ul_service li:nth-child(1)::before {
  background-image: url(../img/service/icon1.png);
}
.ul_service li:nth-child(2)::before {
  background-image: url(../img/service/icon2.png);
}
.ul_service li:nth-child(3)::before {
  background-image: url(../img/service/icon3.png);
}
.ul_service li:nth-child(4)::before {
  background-image: url(../img/service/icon4.png);
}
.ul_service li:nth-child(5)::before {
  background-image: url(../img/service/icon5.png);
}
.ul_service li:nth-child(6)::before {
  background-image: url(../img/service/icon6.png);
}
.ul_service li:nth-child(7)::before {
  background-image: url(../img/service/icon7.png);
}
.ul_service li:nth-child(8)::before {
  background-image: url(../img/service/icon8.png);
}
.ul_service li:nth-child(9)::before {
  background-image: url(../img/service/icon9.png);
}
.ul_service li:nth-child(10)::before {
  background-image: url(../img/service/icon10.png);
}
.ul_service li:nth-child(11)::before {
  background-image: url(../img/service/icon11.png);
}
.ul_service li:nth-child(12)::before {
  background-image: url(../img/service/icon12.png);
}
.ul_service li:nth-child(13)::before {
  background-image: url(../img/service/icon13.png);
}
.ul_service li:nth-child(14)::before {
  background-image: url(../img/service/icon14.png);
}
.ul_service li:nth-child(15)::before {
  background-image: url(../img/service/icon15.png);
}
.ul_service li:nth-child(16)::before {
  background-image: url(../img/service/icon16.png);
}
.ul_service li:nth-child(17)::before {
  background-image: url(../img/service/icon17.png);
}
.ul_service li:nth-child(18)::before {
  background-image: url(../img/service/icon18.png);
}
.ul_service li:nth-child(19)::before {
  background-image: url(../img/service/icon19.png);
}
.ul_service li:nth-child(20)::before {
  background-image: url(../img/service/icon20.png);
}
.ul_service li span {
  font-size: min(1.0606060606vw, 14px);
  font-weight: 400;
  -webkit-transform: translateY(0.12em);
          transform: translateY(0.12em);
}
@media screen and (max-width: 768px) {
  .ul_service {
    margin-top: 5vw;
    gap: min(1.8666666667vw, 7px);
  }
  .ul_service li {
    width: calc(50% - min(0.9333333333vw, 3.5px));
    min-height: min(13.8666666667vw, 52px);
    height: auto;
    padding: 2.2vw 2% 1.7vw min(13.3333333333vw, 50px);
    line-height: 1.7;
    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;
  }
  .ul_service li::before {
    width: min(9.6vw, 36px);
    height: min(9.6vw, 36px);
    top: 0;
    right: auto;
    margin: auto;
  }
  .ul_service li span {
    font-size: min(3.7333333333vw, 14px);
  }
}

#plan {
  padding: min(5.303030303vw, 70px) 0 0;
  background: #fff;
}
#plan .box_title {
  position: relative;
}
#plan .box_title .deco {
  width: min(16.3636363636vw, 216px);
  position: absolute;
  bottom: -0.1em;
  right: 0;
}
@media screen and (max-width: 768px) {
  #plan {
    padding: 11vw 0 0;
  }
  #plan .box_title .deco {
    width: 100%;
    margin-top: 3.2vw;
    position: static;
    text-align: right;
  }
  #plan .box_title .deco img {
    width: 46.6vw;
  }
}
#plan .ul_plan {
  margin-top: 2.25em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(3.0303030303vw, 40px) 3.5%;
}
#plan .ul_plan > li {
  width: 31%;
  -webkit-box-shadow: 0 0 6px 0 rgba(152, 129, 56, 0.1);
          box-shadow: 0 0 6px 0 rgba(152, 129, 56, 0.1);
  position: relative;
}
#plan .ul_plan > li:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#plan .ul_plan > li a {
  padding: min(2.1212121212vw, 28px);
  display: block;
  -webkit-box-shadow: 0 0 0 1px #E5E2E0 inset;
          box-shadow: 0 0 0 1px #E5E2E0 inset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#plan .ul_plan > li a .title .type {
  width: min(5.303030303vw, 70px);
  height: min(6.3636363636vw, 84px);
  padding-top: 0.5em;
  background: #A19779;
  color: #fff;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#plan .ul_plan > li a .title .type em {
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(2.7272727273vw, 36px);
  display: block;
}
#plan .ul_plan > li a .title .type span {
  margin-top: 0.45em;
  display: block;
  font-size: min(1.2121212121vw, 16px);
  font-weight: 700;
}
#plan .ul_plan > li a .title p {
  padding-left: min(4.696969697vw, 62px);
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.8181818182vw, 24px);
}
#plan .ul_plan > li a .box_text {
  width: 62.0253164557%;
}
#plan .ul_plan > li a .box_text dl {
  margin-top: 1.6em;
  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;
}
#plan .ul_plan > li a .box_text dl dt {
  font-size: min(1.0606060606vw, 14px);
  font-weight: 700;
  color: #262323;
  text-align: center;
  line-height: 1;
}
#plan .ul_plan > li a .box_text dl dt span {
  margin-top: 0.5em;
  font-size: min(0.8333333333vw, 11px);
  font-weight: 400;
  display: block;
}
#plan .ul_plan > li a .box_text dl dd {
  margin-left: 0.45em;
  font-size: min(2.1212121212vw, 28px);
  font-family: "ZenOldMinchoMedium", serif;
  position: relative;
  top: -0.1em;
}
#plan .ul_plan > li a .box_text dl dd span {
  font-size: min(1.2121212121vw, 16px);
}
#plan .ul_plan > li a .box_text .btn {
  width: min(12.7272727273vw, 168px);
  margin-top: 1em;
  padding: 0.4em 0;
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.2121212121vw, 16px);
  background: #F5F4F2;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#plan .ul_plan > li a .box_text .btn::before {
  content: "";
  width: min(1.5151515152vw, 20px);
  height: min(1.5151515152vw, 20px);
  display: inline-block;
  background-color: #a1a1a1;
  -webkit-mask: url(../img/icon_zoom.svg);
          mask: url(../img/icon_zoom.svg);
  -webkit-mask-size: min(1.5151515152vw, 20px);
          mask-size: min(1.5151515152vw, 20px);
  vertical-align: middle;
  margin-right: 0.5em;
  position: relative;
  top: -0.2em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#plan .ul_plan > li a .map {
  width: 37.9746835443%;
  margin: 0.3em -0.1em 0 0;
}
@media (hover: hover) {
  #plan .ul_plan > li a:hover {
    -webkit-box-shadow: 0 0 0 2px #988138 inset;
            box-shadow: 0 0 0 2px #988138 inset;
  }
  #plan .ul_plan > li a:hover .title .type {
    background: #988138;
  }
  #plan .ul_plan > li a:hover .box_text .btn {
    background: #988138;
    color: #fff;
  }
  #plan .ul_plan > li a:hover .box_text .btn::before {
    background-color: #fff;
  }
}
@media screen and (max-width: 768px) {
  #plan .ul_plan {
    margin-top: 3vw;
    gap: min(4.2666666667vw, 16px) min(2.9333333333vw, 11px);
  }
  #plan .ul_plan > li {
    width: calc(50% - min(1.4666666667vw, 5.5px));
  }
  #plan .ul_plan > li a {
    padding: 3vw 3.8vw 4.2vw;
  }
  #plan .ul_plan > li a .title {
    padding-left: min(11.2vw, 42px);
  }
  #plan .ul_plan > li a .title .type {
    width: min(11.7333333333vw, 44px);
    height: min(12.2666666667vw, 46px);
    padding-top: min(1.6vw, 6px);
  }
  #plan .ul_plan > li a .title .type em {
    font-size: min(4.8vw, 18px);
  }
  #plan .ul_plan > li a .title .type span {
    margin-top: 0.45em;
    font-size: min(2.6666666667vw, 10px);
  }
  #plan .ul_plan > li a .title p {
    padding-left: 0;
    font-size: min(4.8vw, 18px);
  }
  #plan .ul_plan > li a .box_text {
    width: 100%;
  }
  #plan .ul_plan > li a .box_text dl {
    margin-top: 1.6vw;
  }
  #plan .ul_plan > li a .box_text dl dt {
    font-size: min(3.2vw, 12px);
    line-height: 1;
  }
  #plan .ul_plan > li a .box_text dl dt span {
    margin-top: 0.6em;
    font-size: min(2.4vw, 9px);
  }
  #plan .ul_plan > li a .box_text dl dd {
    margin-left: 6.5%;
    font-size: min(5.3333333333vw, 20px);
    top: 0;
  }
  #plan .ul_plan > li a .box_text dl dd span {
    font-size: min(3.7333333333vw, 14px);
  }
  #plan .ul_plan > li a .box_text .btn {
    width: min(8.5333333333vw, 32px);
    height: min(8.5333333333vw, 32px);
    margin-top: 0;
    padding: 0.4em 0;
    font-size: 0;
    position: absolute;
    bottom: 1px;
    right: 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #plan .ul_plan > li a .box_text .btn::before {
    content: "";
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    -webkit-mask-size: min(4.2666666667vw, 16px);
            mask-size: min(4.2666666667vw, 16px);
  }
  #plan .ul_plan > li a .map {
    width: min(22.6666666667vw, 85px);
    margin: 2vw auto 0;
  }
  #plan .ul_plan > li .ul_att li {
    line-height: 1.7;
  }
}
#plan .box_commonarea {
  margin-top: min(7.5757575758vw, 100px);
}
#plan .box_commonarea dl {
  width: 48.3333333333%;
}
#plan .box_commonarea dl dt {
  padding: 0.2em 0 0.2em;
  background: #EFEBE3;
  text-align: center;
  font-size: min(1.5151515152vw, 20px);
  font-family: "ZenOldMinchoMedium", serif;
}
#plan .box_commonarea dl dd {
  margin-top: 1.45em;
}
#plan .box_commonarea dl dd .box_btn {
  margin: 1.6em auto 0;
}
#plan .box_commonarea dl dd .box_btn a small {
  font-size: min(1.0606060606vw, 14px);
}
@media screen and (max-width: 768px) {
  #plan .box_commonarea {
    margin-top: 14vw;
    gap: 14vw 0;
  }
  #plan .box_commonarea dl {
    width: 100%;
  }
  #plan .box_commonarea dl dt {
    padding: 0.2em 0 0.2em;
    font-size: min(4.2666666667vw, 16px);
  }
  #plan .box_commonarea dl dd .box_btn {
    width: 60%;
  }
  #plan .box_commonarea dl dd .box_btn a {
    font-size: min(3.7333333333vw, 14px);
  }
  #plan .box_commonarea dl dd .box_btn a small {
    font-size: min(2.6666666667vw, 10px);
  }
}
#plan #colorpattern {
  margin-top: 5.6em;
  padding: 7em 0 5.7em;
}
#plan #colorpattern .box_colorpattern {
  margin-top: 1.7em;
  padding: 1.9em 5% 2.3em;
  background: #fff;
}
#plan #colorpattern .box_colorpattern + .box_colorpattern {
  margin-top: 2.2em;
}
#plan #colorpattern .box_colorpattern .title {
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.8181818182vw, 24px);
  text-align: center;
}
#plan #colorpattern .ul_colorpattern {
  margin-top: 1.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#plan #colorpattern .ul_colorpattern li {
  width: 12.962962963%;
  text-align: center;
}
#plan #colorpattern .ul_colorpattern li p {
  margin-top: 0.75em;
  font-weight: 700;
  color: #262323;
  line-height: 1;
}
#plan #colorpattern .ul_colorpattern li p small {
  margin-top: 0.7em;
  font-weight: 400;
  font-size: min(1.0606060606vw, 14px);
  display: block;
}
@media screen and (max-width: 768px) {
  #plan #colorpattern {
    margin-top: 14vw;
    padding: 18.5vw 0 14vw;
  }
  #plan #colorpattern .box_colorpattern {
    margin-top: 5vw;
    padding: 7vw 6% 6.6vw;
  }
  #plan #colorpattern .box_colorpattern + .box_colorpattern {
    margin-top: 5.5vw;
  }
  #plan #colorpattern .box_colorpattern .title {
    font-size: min(4.8vw, 18px);
  }
  #plan #colorpattern .ul_colorpattern {
    margin-top: 3.5vw;
    gap: 4vw 4.406779661%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #plan #colorpattern .ul_colorpattern li {
    width: 21.6949152542%;
  }
  #plan #colorpattern .ul_colorpattern li p {
    margin-top: 1.4vw;
    font-size: min(2.6666666667vw, 10px);
    white-space: nowrap;
  }
  #plan #colorpattern .ul_colorpattern li p small {
    margin-top: 1.5vw;
    font-size: min(2.6666666667vw, 10px);
  }
}

.mCSB_scrollTools.mCSB_scrollTools_vertical {
  opacity: 1 !important;
}

.mCSB_scrollTools {
  width: 7px;
}

.mCSB_draggerContainer {
  margin: 0 4px 0 0;
}

.mCSB_dragger .mCSB_dragger_bar {
  background: #989898 !important;
}

.mCSB_draggerRail {
  width: 4px !important;
  background: #E5E2E0 !important;
}

.swiperPlan {
  width: 100%;
  margin-top: min(4.8875855327vw, 50px);
}
@media screen and (max-width: 768px) {
  .swiperPlan {
    padding: 10vw 0 0;
  }
}
@media screen and (min-width: 769px) {
  .swiperPlan .swiper-slide {
    width: 100% !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .swiperPlan .swiper-slide .box {
    width: min(80vw, 80vh, 740px);
    max-width: 740px;
    max-height: 80vh;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    aspect-ratio: 1/1;
    background: #fff;
  }
}
@media screen and (max-width: 768px) {
  .swiperPlan .swiper-slide {
    width: 90% !important;
    height: min(122.6666666667vw, 460px);
    margin: 0 5%;
    overflow-y: auto;
    position: relative;
  }
  .swiperPlan .swiper-slide .box {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: auto;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.swiperPlan .swiper-button-next,
.swiperPlan .swiper-button-prev {
  width: min(4.3010752688vw, 44px);
  height: min(4.3010752688vw, 44px);
  color: #fff;
  background: url(../../assets/img/icon_arrow2.svg) no-repeat center rgba(0, 0, 0, 0.8);
  background-size: min(1.1730205279vw, 12px);
  border-radius: 50%;
}
.swiperPlan .swiper-button-next::after,
.swiperPlan .swiper-button-prev::after {
  content: none;
}
@media (hover: hover) {
  .swiperPlan .swiper-button-next:hover,
  .swiperPlan .swiper-button-prev:hover {
    background-color: #988138;
  }
}
.swiperPlan .swiper-pagination {
  width: min(7.0381231672vw, 72px);
  height: min(2.3460410557vw, 24px);
  margin: 2em auto 0;
  position: relative;
  color: #fff;
  background: #000;
  font-size: min(1.3685239492vw, 14px);
  border-radius: 20px;
  line-height: min(2.4437927664vw, 25px);
}
@media screen and (min-width: 769px) {
  .swiperPlan .swiper-button-next,
  .swiperPlan .swiper-button-prev {
    left: 50%;
    right: 50%;
  }
  .swiperPlan .swiper-button-prev {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
}
@media screen and (max-width: 768px) {
  .swiperPlan .swiper-button-next,
  .swiperPlan .swiper-button-prev {
    width: min(8.5333333333vw, 32px);
    height: min(8.5333333333vw, 32px);
    background-size: min(2.6666666667vw, 10px);
  }
  .swiperPlan .swiper-button-next {
    right: 1%;
  }
  .swiperPlan .swiper-button-prev {
    left: 1%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .swiperPlan .swiper-pagination {
    width: min(13.8666666667vw, 52px);
    height: min(5.3333333333vw, 20px);
    margin: 2em auto 0;
    font-size: min(2.6666666667vw, 10px);
    line-height: min(5.3333333333vw, 20px);
  }
}

@media screen and (max-width: 768px) {
  button.mfp-close.plan {
    right: 4%;
  }
}

@media screen and (max-width: 768px) {
  .mfp-wrap {
    width: 100vw;
    overflow: hidden;
  }
}
#access {
  padding: min(5.303030303vw, 70px) 0 0;
}
#access .box_access {
  margin-top: 2.3em;
}
#access .box_map {
  width: 58.3333333333%;
}
#access .box_map .box_btn {
  margin: 1.6em auto 0;
}
#access .box_map .ul_att {
  margin-top: 1.8em;
}
@media screen and (max-width: 768px) {
  #access {
    padding: 16vw 0 0;
  }
  #access .tit_content {
    padding: 0;
  }
  #access .tit_content .en {
    top: auto;
    bottom: 0;
  }
  #access .tit_content .sub {
    margin: 0;
    line-height: 1.7;
  }
  #access .box_access {
    margin-top: 6vw;
  }
  #access .box_map {
    width: 100%;
  }
  #access .box_map .box_btn {
    width: 60%;
    margin: 6vw auto 0;
  }
  #access .box_map .ul_att {
    margin-top: 6vw;
  }
}
#access .box_detail {
  width: 35%;
}
#access .box_detail dl dt {
  padding: 0.3em 0 0.3em;
  background: #EEEAE1;
  text-align: center;
  font-family: "ZenOldMinchoMedium", serif;
}
#access .box_detail dl dt span {
  position: relative;
}
#access .box_detail dl dt span::before {
  content: "";
  display: inline-block;
  position: relative;
  margin-right: 0.4em;
}
#access .box_detail dl dt span.train::before {
  width: min(1.5151515152vw, 20px);
  height: min(1.5151515152vw, 20px);
  background: url(../img/access_icon_train.png) no-repeat center top;
  background-size: 100%;
  top: 0.2em;
}
#access .box_detail dl dt span.bus::before {
  width: min(1.8181818182vw, 24px);
  height: min(1.8181818182vw, 24px);
  background: url(../img/access_icon_bus.png) no-repeat center top;
  background-size: 100%;
  top: 0.3em;
}
#access .box_detail dl dd {
  margin-top: 1.6em;
  padding-bottom: 3.5em;
}
#access .box_detail dl dd ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#access .box_detail dl dd ul li + li {
  margin-top: 1.5em;
}
#access .box_detail dl dd .min, #access .box_detail dl dd .box_bicycle {
  font-family: "ZenOldMinchoMedium", serif;
}
#access .box_detail dl dd .num {
  color: #988138;
}
#access .box_detail dl dd .line {
  margin-top: 0.2em;
  font-size: min(1.2121212121vw, 16px);
  line-height: 1;
}
#access .box_detail dl dd .min {
  margin-top: 0.6em;
  font-size: min(1.5151515152vw, 20px);
  line-height: 1;
}
#access .box_detail dl dd .min .st {
  font-size: min(1.8181818182vw, 24px);
}
#access .box_detail dl dd .min .num {
  margin-left: 0.2em;
  font-size: min(2.1212121212vw, 28px);
}
#access .box_detail dl dd .min small {
  font-size: min(1.2121212121vw, 16px);
}
#access .box_detail dl dd .box_bicycle {
  width: min(6.6666666667vw, 88px);
  height: min(5.4545454545vw, 72px);
  padding-top: 0.3em;
  border: 1px solid #E5E2E0;
  text-align: center;
  line-height: 1.4;
}
#access .box_detail dl dd .box_bicycle .num {
  font-size: min(1.8181818182vw, 24px);
}
@media screen and (max-width: 768px) {
  #access .box_detail {
    width: 100%;
    margin-top: 9vw;
  }
  #access .box_detail dl dd + dt {
    margin-top: 10vw;
  }
  #access .box_detail dl dt {
    padding: 1vw 0;
  }
  #access .box_detail dl dt span {
    font-size: min(4.2666666667vw, 16px);
  }
  #access .box_detail dl dt span.train::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    margin-right: 0.4em;
    top: 0.05em;
  }
  #access .box_detail dl dt span.bus::before {
    width: min(5.3333333333vw, 20px);
    height: min(5.3333333333vw, 20px);
    margin-right: 0.7em;
    top: 0.1em;
    right: -0.1em;
  }
  #access .box_detail dl dd {
    margin-top: 5vw;
    padding-bottom: 0;
  }
  #access .box_detail dl dd ul li + li {
    margin-top: 5.5vw;
  }
  #access .box_detail dl dd .line {
    margin-top: 0.2em;
    font-size: min(3.2vw, 12px);
    line-height: 1;
  }
  #access .box_detail dl dd .min {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1;
  }
  #access .box_detail dl dd .min .st {
    font-size: min(4.8vw, 18px);
  }
  #access .box_detail dl dd .min .num {
    font-size: min(5.8666666667vw, 22px);
  }
  #access .box_detail dl dd .min small {
    font-size: min(3.2vw, 12px);
  }
  #access .box_detail dl dd .box_bicycle {
    width: min(18.6666666667vw, 70px);
    height: min(14.9333333333vw, 56px);
    padding-top: 2vw;
    line-height: 1.3;
    font-size: min(3.7333333333vw, 14px);
  }
  #access .box_detail dl dd .box_bicycle .num {
    padding: 0 1vw;
    font-size: min(4.8vw, 18px);
  }
}
#access .box_location {
  margin-top: 4em;
  padding-bottom: 5.6em;
}
#access .box_location .tit_line {
  text-align: center;
  position: relative;
}
#access .box_location .tit_line::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 4px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAAXNSR0IArs4c6QAAABFJREFUGFdjeProwX8GBABxAUjAB020cBASAAAAAElFTkSuQmCC) repeat;
  top: 50%;
}
#access .box_location .tit_line span {
  padding: 0 1.6em;
  display: inline-block;
  background: #fff;
  font-family: "ZenOldMinchoMedium", serif;
  font-size: min(1.8181818182vw, 24px);
  position: relative;
}
#access .box_location .flex_wrap {
  margin-top: 1.8em;
}
#access .box_location .flex_wrap .box_time {
  width: 30%;
  text-align: center;
}
#access .box_location .flex_wrap .box_time .line {
  margin-top: 1em;
}
#access .box_location .flex_wrap .box_time .num {
  margin-left: -0.05em;
  letter-spacing: -0.15em;
}
@media screen and (max-width: 768px) {
  #access .box_location {
    margin-top: 16vw;
    padding-bottom: 14vw;
  }
  #access .box_location .tit_line::before, #access .box_location .tit_line::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 4px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAAXNSR0IArs4c6QAAABFJREFUGFdjeProwX8GBABxAUjAB020cBASAAAAAElFTkSuQmCC) repeat;
  }
  #access .box_location .tit_line::before {
    top: 0;
  }
  #access .box_location .tit_line::after {
    bottom: 0;
  }
  #access .box_location .tit_line span {
    padding: 2vw 0;
    font-size: min(4.8vw, 18px);
    background: none;
  }
  #access .box_location .flex_wrap {
    margin-top: 5.5vw;
    gap: 6vw 0;
  }
  #access .box_location .flex_wrap .box_time {
    width: 100%;
    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;
    text-align: left;
  }
  #access .box_location .flex_wrap .box_time .img {
    width: 33.5%;
  }
  #access .box_location .flex_wrap .box_time .time {
    width: 66.5%;
    padding-left: 5%;
  }
  #access .box_location .flex_wrap .box_time .line {
    margin-top: 0;
  }
  #access .box_location .flex_wrap .box_time .num {
    margin-left: 0;
    letter-spacing: 0;
  }
}
#access .area_information {
  padding: 6.95em 0 5.5em;
}
#access .area_information .box_information {
  margin-top: 1.7em;
  padding: 3.4em 5%;
}
#access .area_information .box_information .img {
  max-width: 1080px;
  width: 100%;
  margin-inline: auto;
}
#access .area_information .box_information .info {
  margin-top: 1.2em;
  font-family: "ZenOldMinchoMedium", serif;
}
#access .area_information .box_information .info p, #access .area_information .box_information .info a.gmap {
  display: inline-block;
}
#access .area_information .box_information .info a.gmap {
  margin-left: 1em;
}
#access .area_information .box_information .info .box_btn {
  width: min(19.696969697vw, 260px);
  margin-top: 0.3em;
}
#access .area_information .box_information .info .box_btn span::before {
  top: 0.1em;
}
@media screen and (max-width: 768px) {
  #access .area_information {
    padding: 13vw 0 14vw;
  }
  #access .area_information .tit_content .jp {
    margin-top: 0;
    line-height: 2;
  }
  #access .area_information .box_information {
    margin-top: 7vw;
    padding: 10vw 6% 9vw;
  }
  #access .area_information .box_information .info {
    margin-top: 5vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #access .area_information .box_information .info .add {
    margin-top: 7vw;
  }
  #access .area_information .box_information .info a.gmap {
    margin-left: 0;
  }
  #access .area_information .box_information .info .box_btn {
    width: 68%;
    margin: 0 auto;
  }
  #access .area_information .box_information .info .box_btn span::before {
    margin-right: 0.3em;
    top: 0.1em;
  }
}
#access .dl_information {
  margin-top: 3.4em;
}
#access .dl_information + .dl_information {
  margin-top: 3em;
}
#access .dl_information dt, #access .dl_information dd {
  font-family: "ZenOldMinchoMedium", serif;
}
#access .dl_information dt {
  font-size: min(1.8181818182vw, 24px);
  text-align: center;
}
@media screen and (min-width: 769px) {
  #access .dl_information dt span {
    display: none;
  }
}
#access .dl_information dd {
  margin-top: 1.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#access .dl_information dd ul {
  width: 45.4166666667%;
}
@media screen and (min-width: 769px) {
  #access .dl_information dd ul + ul {
    width: 47.0833333333%;
    margin-left: 6.0833333333%;
  }
}
#access .dl_information dd ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
#access .dl_information dd ul li + li {
  margin-top: 0.25em;
}
#access .dl_information dd ul li::before {
  content: "";
  display: block;
  position: absolute;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAAXNSR0IArs4c6QAAABNJREFUGFdjZGBg+M/AwMDIAAUADR4BAg+dKmoAAAAASUVORK5CYII=) repeat;
  width: 100%;
  height: 1px;
  top: 1.1em;
}
#access .dl_information dd ul li .name, #access .dl_information dd ul li .time {
  background: #fff;
  position: relative;
}
#access .dl_information dd ul li .name {
  padding-left: 1em;
  padding-right: 0.2em;
}
#access .dl_information dd ul li .name::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  position: absolute;
  top: 0.9em;
  left: 0;
}
#access .dl_information dd ul li .time {
  padding-left: 0.2em;
}
#access .dl_information dd ul li .time small {
  font-size: min(1.0606060606vw, 14px);
}
#access .dl_information.commercial dt {
  background: #F5DAC3;
}
#access .dl_information.commercial .name::before {
  background: #FCBDA2;
}
#access .dl_information.hospital dt {
  background: #DAEEF6;
}
#access .dl_information.hospital .name::before {
  background: #ABDCF0;
}
#access .dl_information.public dt {
  background: #F1F3B1;
}
#access .dl_information.public .name::before {
  background: #C7CC4F;
}
@media screen and (max-width: 768px) {
  #access .dl_information {
    margin-top: 8vw;
  }
  #access .dl_information + .dl_information {
    margin-top: 5vw;
  }
  #access .dl_information dt {
    padding: 0.6vw 5.4% 0.8vw;
    font-size: min(4.8vw, 18px);
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #access .dl_information dt span {
    padding-right: 1.4em;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: min(3.2vw, 12px);
    position: relative;
  }
  #access .dl_information dt span::after {
    content: "";
    display: block;
    position: absolute;
    width: min(2.6666666667vw, 10px);
    height: min(2.6666666667vw, 10px);
    background: url(../img/icon_arrow.png) no-repeat center top;
    background-size: 100%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: scale(1, -1);
            transform: scale(1, -1);
  }
  #access .dl_information dt.active span::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  #access .dl_information dd {
    margin-top: 1.2em;
    padding-bottom: 2vw;
    gap: 0.8em 0;
  }
  #access .dl_information dd ul {
    width: 100%;
  }
  #access .dl_information dd ul li {
    line-height: 1.8;
  }
  #access .dl_information dd ul li + li {
    margin-top: 0.8em;
  }
  #access .dl_information dd ul li::before {
    top: 0.9em;
  }
  #access .dl_information dd ul li .name {
    max-width: 53.5%;
    padding-left: 0.6em;
    padding-right: 0.6em;
  }
  #access .dl_information dd ul li .name::before {
    width: min(1.3333333333vw, 5px);
    height: min(1.3333333333vw, 5px);
    top: 0.7em;
  }
  #access .dl_information dd ul li .time {
    width: 40%;
    padding-left: 0.2em;
  }
  #access .dl_information dd ul li .time small {
    font-size: min(2.6666666667vw, 10px);
  }
}
#access .ul_att {
  margin-top: min(3.7878787879vw, 50px);
}
@media screen and (max-width: 768px) {
  #access .ul_att {
    margin-top: 9vw;
  }
  #access .ul_att li + li {
    margin-top: 1vw;
  }
}

#outline {
  padding: min(5.4545454545vw, 72px) 0 min(9.0909090909vw, 120px);
}
@media screen and (min-width: 1200px) {
  #outline .inner.narrow {
    width: min(92%, 1200px);
  }
}
#outline .box_outline {
  margin-top: 2.3em;
  background: #fff;
  position: relative;
  -webkit-box-shadow: 0 0 6px 0 rgba(88, 59, 16, 0.16);
          box-shadow: 0 0 6px 0 rgba(88, 59, 16, 0.16);
}
#outline .box_outline .title {
  padding: min(1.5151515152vw, 20px) 0 min(1.5151515152vw, 20px);
  font-size: min(1.8181818182vw, 24px);
  font-family: "ZenOldMinchoMedium", serif;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  z-index: 1;
}
#outline .box_outline .arrow {
  height: min(2.7272727273vw, 36px);
  padding-right: min(3.4848484848vw, 46px);
  line-height: min(2.7272727273vw, 36px);
  top: min(2.1212121212vw, 28px);
  right: min(2.1212121212vw, 28px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#outline .box_outline .arrow::after {
  content: "";
  display: block;
  position: absolute;
  width: min(2.7272727273vw, 36px);
  height: min(2.7272727273vw, 36px);
  background: url(../img/icon_arrow.png) no-repeat center #EEEAE1;
  background-size: min(0.9090909091vw, 12px);
  border-radius: 50%;
  top: 0;
  right: 0;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#outline .box_outline .arrow.open, #outline .box_outline .arrow.close {
  font-size: min(1.2121212121vw, 16px);
  position: absolute;
}
#outline .box_outline .arrow.close::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#outline .box_outline.js-acd .title {
  cursor: pointer;
}
@media (hover: hover) {
  #outline .box_outline.js-acd:hover .arrow {
    color: #988138;
  }
  #outline .box_outline.js-acd:hover .arrow::after {
    background: url(../img/icon_arrow_w.png) no-repeat center #988138;
    background-size: min(0.9090909091vw, 12px);
  }
}
#outline .box_outline .content {
  padding: 0 5.4166666667% min(4.5454545455vw, 60px);
}
#outline .box_outline .content dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #E5E2E0;
}
#outline .box_outline .content dl dt, #outline .box_outline .content dl dd {
  padding: 0.88em 0;
  font-size: min(1.2121212121vw, 16px);
  border-top: 1px solid #E5E2E0;
}
#outline .box_outline .content dl dt {
  width: 17.5925925926%;
  font-weight: 700;
  color: #262323;
}
#outline .box_outline .content dl dd {
  width: 82.4074074074%;
}
#outline .box_outline .content dl dd p.txt_att {
  margin-left: 1em;
}
#outline .box_outline .content dl dd .gmap {
  margin-left: 2em;
}
#outline .box_outline .content dl dd ul li {
  position: relative;
  padding-left: 0.85em;
}
#outline .box_outline .content dl dd ul li::before {
  content: "";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  background: #A19779;
  border-radius: 50%;
  left: 0;
  top: 0.8em;
}
#outline .box_outline .close {
  display: none;
}
#outline .box_outline.active .title {
  padding-top: min(4.1666666667vw, 55px);
}
#outline .box_outline.active .open {
  display: none;
}
#outline .box_outline.active .close {
  display: block;
}
@media screen and (max-width: 768px) {
  #outline {
    padding: 19vw 0 16vw;
  }
  #outline .tit_content {
    padding-top: 2.8em;
  }
  #outline .box_outline {
    margin-top: 6.7vw;
  }
  #outline .box_outline + .box_outline {
    margin-top: 7.2vw;
  }
  #outline .box_outline .title {
    padding: 5.2vw 6% 4.5vw;
    font-size: min(4.8vw, 18px);
    text-align: left;
  }
  #outline .box_outline .arrow {
    height: min(9.6vw, 36px);
    padding-right: min(12.2666666667vw, 46px);
    line-height: min(9.6vw, 36px);
    top: 5vw;
    right: 3%;
  }
  #outline .box_outline .arrow::after {
    width: min(7.4666666667vw, 28px);
    height: min(7.4666666667vw, 28px);
    background-size: min(2.6666666667vw, 10px);
    top: 1vw;
    right: 12%;
  }
  #outline .box_outline .arrow .sp {
    display: none;
  }
  #outline .box_outline .arrow.open, #outline .box_outline .arrow.close {
    font-size: min(3.2vw, 12px);
  }
  #outline .box_outline .content {
    padding: 0 6% 10vw;
  }
  #outline .box_outline .content dl dt, #outline .box_outline .content dl dd {
    padding: 2.1vw 0;
    font-size: min(3.2vw, 12px);
  }
  #outline .box_outline .content dl dt {
    width: 26%;
  }
  #outline .box_outline .content dl dd {
    width: 74%;
  }
  #outline .box_outline .content dl dd p.txt_att {
    margin-left: 0;
  }
  #outline .box_outline .content dl dd .gmap {
    margin-left: 2em;
  }
  #outline .box_outline .content dl dd ul li {
    padding-left: 0.85em;
  }
  #outline .box_outline .content dl dd ul li + li {
    margin-top: 1vw;
  }
  #outline .box_outline .content dl dd ul li::before {
    width: min(1.3333333333vw, 5px);
    height: min(1.3333333333vw, 5px);
  }
  #outline .box_outline .close {
    display: none;
  }
  #outline .box_outline.active .title {
    padding-top: 8.4vw;
  }
  #outline .box_outline.active .open {
    display: none;
  }
  #outline .box_outline.active .close {
    display: block;
  }
}