@charset "UTF-8";
/*---------------------------------
    メディアクエリ 
---------------------------------*/
/*---------------------------------
    変数
---------------------------------*/
/*---------------------------------
    電話番号
---------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Gelasio:wght@400;500&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@400;500&display=swap");
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
/*---------------------------------
    PC　SP
---------------------------------*/
#pc {
  display: block;
}
@media (max-width: 767px) {
  #pc {
    display: none;
  }
}

#pc-df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  #pc-df {
    display: none;
  }
}

#pc-dini {
  display: initial;
}
@media (max-width: 767px) {
  #pc-dini {
    display: none;
  }
}

#pc-dib {
  display: inline-block;
}
@media (max-width: 767px) {
  #pc-dib {
    display: none;
  }
}

#sp {
  display: none;
}
@media (max-width: 767px) {
  #sp {
    display: block;
  }
}

#sp-df {
  display: none;
}
@media (max-width: 767px) {
  #sp-df {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/*---------------------------------
    大枠
---------------------------------*/
html {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.03em;
  line-height: 1.71;
}

main {
  width: 100%;
  overflow: hidden;
  background: #d6d6d6;
}

/* inner
====================================================*/
.inner-wide {
  width: 1082px;
  padding: 140px 0;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .inner-wide {
    width: 100%;
  }
}

.inner-narrow {
  width: 759px;
  padding: 140px 0;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .inner-narrow {
    width: 100%;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .inner-narrow {
    padding: 70px calc((60 / 750)*100vw);
  }
}

/* フォント
====================================================*/
h1, h2, h3, h4, h5, dt, dd, li, a, td, p, figcaption, time, label {
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
  line-height: calc(24 / 15);
  margin: 0;
  color: #323232;
}

h2 {
  font-size: 40px;
  line-height: calc(70 / 40);
  letter-spacing: 0.12em;
  font-family: "Gelasio", serif;
  text-align: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  h2 {
    font-size: 20px;
    font-size: calc((40 / 750)*100vw);
  }
}

h3 {
  font-size: 26px;
  line-height: calc(50 / 26);
  letter-spacing: 0.14em;
}
@media (max-width: 767px) {
  h3 {
    font-size: calc((26 / 750)*100vw);
  }
}

h4 {
  font-size: 20px;
  line-height: calc(30 / 20);
}
@media (max-width: 767px) {
  h4 {
    font-size: calc((28 / 750)*100vw);
  }
}

p {
  font-size: 15px;
}
@media (max-width: 767px) {
  p {
    font-size: calc((21 / 750)*100vw);
  }
}

.gelasio {
  font-family: "Gelasio", serif;
}

.fz14 {
  font-size: 14px;
}

.nowrap {
  white-space: nowrap;
}

/* a
====================================================*/
a:hover {
  opacity: 0.7;
}

a {
  text-decoration: none;
}

/*---------------------------------
    fv
---------------------------------*/
.fv {
  height: 100vh;
  height: 100svh;
  height: calc(var(--vh, 1vh) * 100);
  position: relative;
  max-width: 100%;
  max-height: 100vh;
  overflow: hidden;
}
.fv-catch {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  text-align: center;
  z-index: 10;
}
.fv-catch img {
  width: calc((287 / 1366)*100vw);
  height: auto;
  padding-bottom: 70px;
}
@media (max-width: 767px) {
  .fv-catch img {
    width: calc((348 / 750)*100vw);
  }
}
.fv-catch h3 {
  color: #fff;
}
@media (max-width: 767px) {
  .fv-catch h3 {
    font-size: calc((30 / 750)*100vw);
    white-space: nowrap;
  }
}
.fv-reserve {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 995;
}
@media (max-width: 767px) {
  .fv-reserve {
    right: calc((34 / 750)*100vw);
    bottom: calc((34 / 750)*100vw);
  }
}
.fv-reserve a {
  display: block;
}
.fv-reserve img {
  width: 112px;
  height: 112px;
}
@media (max-width: 767px) {
  .fv-reserve img {
    width: calc((100 / 750)*100vw);
    height: auto;
  }
}

/*---------------------------------
    header
---------------------------------*/
.nav-pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 70px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  background: #d6d6d6;
}
@media (max-width: 767px) {
  .nav-pc {
    display: none;
  }
}
.nav-pc h1 {
  width: 140px;
  height: 76px;
}
.nav-pc h1 a {
  display: block;
}
.nav-pc ul {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.nav-pc ul li {
  padding-right: 36px;
}
.nav-pc ul li:last-of-type {
  padding-right: 0;
}
.nav-pc ul li:last-of-type a {
  width: 40px;
  height: 40px;
}
.nav-pc ul li a {
  display: block;
  font-family: "Gelasio", serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: calc(31.5 / 18);
}

.nav-sp-wrapper {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 996;
}

.nav-sp {
  z-index: 999;
  position: relative;
  width: 100%;
  height: calc((140 / 750)*100vw);
  background: #d5d5d5;
  padding-top: calc((30 / 750)*100vw);
  padding-bottom: calc((30 / 750)*100vw);
}
.nav-sp h1 {
  width: calc((164 / 750)*100vw);
  position: absolute;
  display: inline-block;
  top: calc((30 / 750)*100vw);
  left: calc((50 / 750)*100vw);
}
.nav-sp h1 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav-sp-insta {
  position: absolute;
  display: block;
  right: calc(((25 + 50 + 25) / 750)*100vw);
  padding: 13px;
  bottom: 4px;
}
.nav-sp-insta img {
  width: calc((50 / 750)*100vw);
  height: auto;
}

#overlay-button {
  position: absolute;
  padding: 26px 11px;
  z-index: 5;
  right: calc((25 / 750)*100vw);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 999;
  bottom: 4px;
}

#overlay-button span {
  height: calc((3 / 750)*100vw);
  width: calc((57 / 750)*100vw);
  background-color: #323232;
  position: relative;
  display: block;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

#overlay-button span:before {
  top: -8px;
  visibility: visible;
}

#overlay-button span:after {
  top: 8px;
}

#overlay-button span:before, #overlay-button span:after {
  height: calc((3 / 750)*100vw);
  width: calc((57 / 750)*100vw);
  background-color: #323232;
  position: absolute;
  content: "";
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

#overlay-button:hover span, #overlay-button:hover span:before, #overlay-button:hover span:after {
  background: #323232;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox]:checked ~ #overlay {
  visibility: visible;
  opacity: 1;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
}

@-webkit-keyframes fade-in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
input[type=checkbox]:checked ~ #overlay-button span:before {
  display: none;
}

input[type=checkbox]:checked ~ #overlay-button span:after {
  display: none;
}

#overlay {
  height: 100vh;
  width: 100vw;
  background: #d4d4d4;
  z-index: 2;
  visibility: hidden;
  position: fixed;
  z-index: 998;
}

#overlay ul {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  height: 100vh;
  padding-left: 0;
  list-style-type: none;
  padding-bottom: calc((100 / 2 / 750)*100vw);
}

#overlay ul li {
  padding: calc(((48 / 2) / 750)*100vw);
  width: 100%;
}

#overlay ul li a {
  color: #323232;
  text-decoration: none;
  font-size: calc((32 / 750)*100vw);
  font-family: "Gelasio", serif;
  font-weight: 500;
  display: block;
}

#overlay ul li a:hover {
  color: #000 !important;
}

.overlay-logo {
  margin-bottom: calc((100 / 750)*100vw);
}
.overlay-logo a img {
  width: calc((318 / 750)*100vw);
}

/*---------------------------------
    about
---------------------------------*/
.about {
  position: relative;
}
.about::after {
  content: "";
  display: block;
  background-image: url(../img/about-yourself.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100vw;
  height: calc((360 / 1366)*100vw);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  -webkit-transform: translateY(25%);
          transform: translateY(25%);
}
@media (max-width: 767px) {
  .about-inner {
    padding-bottom: 64px;
    padding: calc((128 / 750)*100vw) calc((86 / 750)*100vw);
  }
}
.about h2 {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .about h2 {
    margin-bottom: calc((48 / 750)*100vw);
  }
}
.about-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .about-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.about-box-l h3 {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .about-box-l h3 {
    font-size: calc((32 / 750)*100vw);
    margin-bottom: calc((48 / 750)*100vw);
  }
}
@media (max-width: 767px) {
  .about-box-l-Pcontainer {
    margin-bottom: calc((86 / 750)*100vw);
  }
}
.about-box-l-Pcontainer p {
  line-height: calc(30 / 15);
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .about-box-l-Pcontainer p {
    margin-bottom: calc((48 / 750)*100vw);
  }
}
.about-box-r {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 608px;
          flex: 0 0 608px;
}
@media (max-width: 767px) {
  .about-box-r {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}

/*---------------------------------
    price / option
---------------------------------*/
.price {
  background-image: url(../img/price-bg.png);
  background-size: cover;
}
@media (max-width: 767px) {
  .price {
    background: #c8c8c8;
  }
}
@media (max-width: 767px) {
  .price-inner {
    padding: 70px calc((60 / 750)*100vw);
  }
}
.price h2 {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .price h2 {
    margin-bottom: calc((48 / 750)*100vw);
  }
}
.price-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 40px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .price-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: calc((24 / 750)*100vw);
  }
}
.price-box-l h4 {
  margin-left: -0.5em;
}
@media (max-width: 767px) {
  .price-box-l h4 {
    text-align: center;
  }
}
.price-box-l-lead {
  margin-top: 15px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .price-box-l-lead {
    margin: calc((24 / 750)*100vw) 0;
    text-align: center;
  }
}
.price-box-l ol {
  padding-left: 62px;
  padding-bottom: 0.8em;
}
@media (max-width: 767px) {
  .price-box-l ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: calc((24 / 750)*100vw);
    padding-left: 0;
    padding-bottom: 0;
  }
}
.price-box-l ol li {
  font-size: 23px;
  line-height: calc(50 / 28);
  letter-spacing: 0.14em;
  padding: 0 0 20px;
}

.price-box-l ol li .small{
  font-size: 0.8rem;
  background: aqua;
  margin-right: 10px;
  letter-spacing: 0;
  padding: 1px 3px;
  font-weight: bold;
}

@media (max-width: 767px) {
  .price-box-l ol li {
    font-size: calc((36 / 750)*100vw);
  }
}
.price-box-l ol li:nth-of-type(2) {
  position: relative;
}
.price-box-l ol li:nth-of-type(2)::before {
  content: "";
  background-image: url(../img/ninki.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 50px;
  height: 50px;
  display: block;
  position: absolute;
  top: 0%;
  left: -62px;
}
@media (max-width: 767px) {
  .price-box-l ol li:nth-of-type(2)::before {
    width: calc((70 / 750)*100vw);
    height: calc((70 / 750)*100vw);
    left: calc((90 / 750)* -100vw);
  }
}
.price-box-l-line {
  border-top: #323232 1px solid;
  display: block;
  width: 110%;
  margin-left: -5%;
}
@media (max-width: 767px) {
  .price-box-l-line {
    width: 100%;
    margin-left: initial;
  }
}
.price-box-l-number {
  font-size: 26px;
  line-height: calc(50 / 26);
  letter-spacing: 0.14em;
  text-align: center;
}
@media (max-width: 767px) {
  .price-box-l-number {
    font-size: calc((28 / 750)*100vw);
  }
}
@media (max-width: 767px) {
  .price-box-r {
    margin-top: calc((90 / 750)*100vw);
    padding-right: calc((40 / 750)*100vw);
    padding-left: calc((40 / 750)*100vw);
  }
}
@media (max-width: 767px) {
  .price-box-r h4 {
    margin-bottom: calc((24 / 750)*100vw);
  }
}
.price-box-r dl {
  margin-bottom: 20px;
}
.price-box-r-dt {
  font-size: 20px;
  line-height: calc(38 / 20);
  letter-spacing: 0.14em;
}
@media (max-width: 767px) {
  .price-box-r-dt {
    font-size: calc((24 / 750)*100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .price-box-r-dt span {
    display: inline-block;
  }
}
.price-box-r dd {
  font-size: 15px;
  padding-left: calc((20 + (20 * 0.14))*1px);
}
@media (max-width: 767px) {
  .price-box-r dd {
    font-size: calc((21 / 750)*100vw);
    padding-left: calc((calc((24 / 750)*100vw)) + (1em * 0.14));
  }
}
.price-box-r dd.fz14 {
  font-size: 14px;
  line-height: calc(22 / 14);
}
@media (max-width: 767px) {
  .price-box-r dd.fz14 {
    font-size: calc((21 / 750)*100vw);
  }
}
@media (max-width: 767px) {
  .price-box-r p.price-box-r-dt {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
.price-notes {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .price-notes {
    margin-bottom: calc((60 / 750)*100vw);
  }
}
.price-notes p {
  font-size: 14px;
  line-height: calc(24 / 14);
}
@media (max-width: 767px) {
  .price-notes p {
    font-size: calc((20 / 750)*100vw);
    padding-left: calc((40 / 750)*100vw);
    padding-right: calc((40 / 750)*100vw);
  }
}
.price-lend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-left: 1px solid #323232;
  border-right: 1px solid #323232;
  padding: 1rem 0;
}
.price-lend dt {
  font-size: 20px;
  display: inline-block;
  margin-left: -0.5em;
  padding-bottom: 0.6em;
}
@media (max-width: 767px) {
  .price-lend dt {
    font-size: calc((24 / 750)*100vw);
    text-align: center;
    display: block;
  }
}
.price-lend dt p {
  display: inline-block;
}
@media (max-width: 767px) {
  .price-lend dt p {
    display: block;
    padding-top: calc((24 / 750)*100vw);
  }
}
@media (max-width: 767px) {
  .price-lend dd p {
    font-size: calc((20 / 750)*100vw);
    padding-left: calc((24 / 750)*100vw);
    padding-right: calc((24 / 750)*100vw);
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

/*---------------------------------
    flow
---------------------------------*/
.flow {
  background-color: #d6d6d6;
}
.flow h2 {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .flow h2 {
    margin-bottom: calc((48 / 750)*100vw);
  }
}
.flow-box {
  margin-bottom: 100px;
  position: relative;
}
@media (max-width: 767px) {
  .flow-box {
    margin-bottom: calc((50 / 750)*100vw);
  }
}
.flow-box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flow-box dl div {
  margin-left: 70px;
}
@media (max-width: 767px) {
  .flow-box dl div {
    margin-left: 14px;
  }
}
.flow-box dl dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 140px;
          flex: 0 0 140px;
  font-family: "Gelasio", serif;
  font-size: 56px;
  line-height: calc(98 / 56);
  line-height: 1;
  color: #fff;
  text-align: center;
  border-right: #fff 1px solid;
}
@media (max-width: 767px) {
  .flow-box dl dt {
    font-size: 28px;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    padding-right: 14px;
  }
}
.flow-box dl dt span {
  display: block;
  font-size: 18px;
  line-height: calc(31.5 / 18);
  letter-spacing: 0.12em;
}
@media (max-width: 767px) {
  .flow-box dl dt span {
    font-size: 11px;
  }
}
.flow-box dl dd {
  font-size: 15px;
}
@media (max-width: 767px) {
  .flow-box dl dd {
    font-size: calc((21 / 750)*100vw);
  }
}
.flow-box dl dd h3 {
  line-height: 1;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .flow-box dl dd h3 {
    margin-bottom: calc((18 / 750)*100vw);
  }
}
.flow-box li {
  margin-bottom: 120px;
  position: relative;
}
@media (max-width: 767px) {
  .flow-box li {
    margin-bottom: calc((18 + 18 + 20)*1px);
  }
}
.flow-box li::after {
  content: url(../img/flow-arrow.svg);
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 210px;
  bottom: -86px;
}
@media (max-width: 767px) {
  .flow-box li::after {
    width: 30px;
    height: 20px;
    left: calc((32 + 14 + 14 + 30)*1px);
    bottom: -36px;
    -webkit-transform: translateY(-25%);
            transform: translateY(-25%);
  }
}
.flow-box li:last-of-type::after {
  content: none;
}
.flow-btn {
  color: #fff;
  padding: 14px;
  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;
  font-size: 20px;
  line-height: calc(50 / 20 );
  letter-spacing: 0.14em;
}
@media (max-width: 767px) {
  .flow-btn {
    font-size: calc((20 / 750)*100vw);
  }
}
.flow-btn-container {
  margin-bottom: 100px;
  width: 100%;
  background: #323232;
}
@media (max-width: 767px) {
  .flow-btn-container {
    margin-bottom: calc((80 / 750)*100vw);
  }
}
.flow-btn img {
  width: 56px;
  height: 56px;
  margin-right: 30px;
}
@media (max-width: 767px) {
  .flow-btn img {
    height: calc((58 / 750)*100vw);
    width: auto;
    margin-right: calc((24 / 750)*100vw);
  }
}
.flow-notes {
  font-size: 14px;
  padding: 30px 0;
}
@media (max-width: 767px) {
  .flow-notes {
    padding: calc((30 / 750)*100vw);
    font-size: calc((20 / 750)*100vw);
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
.flow-notes-container {
  border: 1px solid #323232;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/*---------------------------------
    gallery
---------------------------------*/
.galle {
  background-color: #323232;
}
.galle-inner {
  padding-bottom: 130px;
}
@media (max-width: 767px) {
  .galle-inner {
    padding-left: calc((84 / 750)*100vw);
    padding-right: calc((84 / 750)*100vw);
    padding-bottom: 70px;
  }
}
.galle h2 {
  color: #fff;
}
.galle-lead {
  margin: 70px auto;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  .galle-lead {
    margin-top: calc((40 / 750)*100vw);
    margin-bottom: calc((64 / 750)*100vw);
  }
}
.galle-modal {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 320px 320px;
  grid-template-columns: 320px 320px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 130px;
}
@media (max-width: 767px) {
  .galle-modal {
    -ms-grid-columns: 1fr calc((38 / 750)*100vw) 1fr;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
    -webkit-column-gap: calc((38 / 750)*100vw);
       -moz-column-gap: calc((38 / 750)*100vw);
            column-gap: calc((38 / 750)*100vw);
    row-gap: calc((100 / 750)*100vw);
  }
}
.galle-modal-item {
  width: 320px;
  height: 320px;
}
@media (max-width: 767px) {
  .galle-modal-item {
    width: 100%;
    height: auto;
  }
}
.galle-btn {
  background: -ms-linear-gradient(0deg, #80a6ff 0%, #ddb7d3 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#80A6FF', endColorstr='#DDB7D3' ,GradientType=0)";
  background: -webkit-gradient(linear, left top, right top, from(#80a6ff), to(#ddb7d3));
  background: linear-gradient(90deg, #80a6ff 0%, #ddb7d3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#80A6FF",endColorstr="#DDB7D3" , GradientType=1);
  padding: 20px 0;
  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;
  text-decoration: none;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.14em;
  line-height: calc(50 / 20);
}
@media (max-width: 767px) {
  .galle-btn {
    font-size: calc((20 / 750)*100vw);
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: calc((22 / 750)*100vw) 0;
  }
}
.galle-btn img {
  width: 40px;
  height: 40px;
  margin-right: 30px;
}
@media (max-width: 767px) {
  .galle-btn img {
    width: calc((40 / 750)*100vw);
    height: calc((40 / 750)*100vw);
    margin-right: 18px;
  }
}
.galle-btn-container {
  width: 100%;
  margin-top: 100px;
}
@media (max-width: 767px) {
  .galle-btn-container {
    margin-top: calc((84 / 750)*100vw);
  }
}

/*---------------------------------
    Q&A
---------------------------------*/
.QA {
  background-color: #d6d6d6;
}
.QA h2 {
  padding-bottom: 70px;
}
@media (max-width: 767px) {
  .QA h2 {
    padding-bottom: 24px;
  }
}
.QA-box-item {
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .QA-box-item {
    margin-bottom: 30px;
  }
}
.QA-box-item:last-of-type {
  margin-bottom: 0;
}
.QA-box-item span:first-of-type {
  display: inline-block;
  width: 60px;
  font-family: "Gelasio", serif;
  font-size: 30px;
  line-height: calc(52.5 / 30);
}
@media (max-width: 767px) {
  .QA-box-item span:first-of-type {
    font-size: calc((30 / 750)*100vw);
    width: calc((48 / 750)*100vw);
    letter-spacing: 0.12em;
    font-weight: 500;
  }
}
.QA-footer {
  margin-top: 50px;
  text-align: center;
}
@media (min-width: 768px) {
  .QA-footer {
    margin-top: 100px;
  }
}
.QA-footer-phone {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid #323232;
  margin-top: 1em;
}

.QA-footer-phone span{
  padding:0 5px;
}

@media (min-width: 768px) {
  .QA-footer-phone {
    margin: 1.7em 8px;
    font-weight: bold;
  }
}
.QA-footer-phone i {
  display: inline-block;
  position: relative;
  top: -1px;
  margin-right: 10px;
}
.QA-footer a {
  font-size: 26px;
  font-weight: 700;
}

.acd-check {
  display: none;
}

.acd-label {
  display: block;
  margin-bottom: 1px;
  padding: 10px;
  position: relative;
  border-bottom: 1px solid #323232;
  font-size: 20px;
  line-height: calc(50 / 20);
}
@media (max-width: 767px) {
  .acd-label {
    font-size: calc((22 / 750)*100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: calc(36 / 20);
  }
}
@media (max-width: 767px) {
  .acd-label:first-of-type span:nth-of-type(2) {
    padding-top: 0.2em;
  }
}

.acd-label:after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid;
  border-color: #323232 #323232 transparent transparent;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  position: absolute;
  right: 10px;
  top: 40%;
}
@media (max-width: 767px) {
  .acd-label:after {
    width: calc((30 / 750)*100vw);
    height: calc((30 / 750)*100vw);
    top: initial;
    bottom: 20px;
  }
}

.acd-content {
  display: block;
  height: 0;
  opacity: 0;
  padding: 0 10px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  visibility: hidden;
  width: 100%;
}

.acd-content div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.acd-content div p {
  padding-top: 0.8em;
}
@media (max-width: 767px) {
  .acd-content div p {
    padding-top: 0.2em;
    font-size: calc((20 / 750)*100vw);
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.acd-check:checked + .acd-label::before, .acd-check:checked + .acd-label::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  position: absolute;
  top: 55%;
  right: 10px;
}
@media (max-width: 767px) {
  .acd-check:checked + .acd-label::before, .acd-check:checked + .acd-label::after {
    width: calc((15 / 750)*100vw);
  }
}

.acd-check:checked + .acd-label::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  border: none;
  background-color: #323232;
}

.acd-check:checked + .acd-label::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border: none;
  background-color: #323232;
}

.acd-check:checked + .acd-label + .acd-content {
  height: 50px;
  opacity: 1;
  padding: 10px;
  visibility: visible;
}

/*---------------------------------
    access
---------------------------------*/
.acc {
  background-image: url(../img/access-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .acc {
    background-image: url(../img/sp-acc-bg.png);
  }
}
.acc h2 {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .acc h2 {
    padding-bottom: calc((48 / 750)*100vw);
  }
}
.acc-box {
  display: -webkit-box;
  display: -ms-flexbox;
  padding: 10px 0 20px; 
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .acc-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.acc-box-l {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 348px;
          flex: 0 0 348px;
}
@media (max-width: 767px) {
  .acc-box-l {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    margin-bottom: calc((48 / 750)*100vw);
  }
}
.acc-box-l-ttl {
  border-bottom: 1px solid #323232;
}
.acc-box-l-ttl h3 {
  letter-spacing: 0.12em;
  padding-left: 10px;
}
@media (max-width: 767px) {
  .acc-box-l-ttl h3 {
    font-size: calc((26 / 750)*100vw);
  }
}
.acc-box-l-ttl h3 span {
  font-size: 18px;
}
@media (max-width: 767px) {
  .acc-box-l-ttl h3 span {
    font-size: calc((18 / 750)*100vw);
  }
}
.acc-box-l-lead {
  margin-top: 10px;
  padding-left: 10px;
}
.acc-box-l-lead p {
  font-size: 14px;
  line-height: calc(24 / 15);
}
@media (max-width: 767px) {
  .acc-box-l-lead p {
    font-size: calc((20 / 750)*100vw);
  }
}
.acc-box-l-img-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .acc-box-l-img-container {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.acc-box-l-img-container figure {
  margin-left: 0;
  margin-right: 0;
  text-align: center;
}
.acc-box-l-img-container figure img {
  width: auto;
}
@media (max-width: 767px) {
  .acc-box-l-img-container figure img {
    width: calc((264 / 750)*100vw);
  }
}
.acc-box-l-img-container figure figcaption {
  font-size: 14px;
}
@media (max-width: 767px) {
  .acc-box-l-img-container figure figcaption {
    font-size: calc((20 / 750)*100vw);
  }
}
.acc-box-l-address {
  padding-left: 10px;
}
@media (max-width: 767px) {
  .acc-box-l-address p {
    font-size: calc((22 / 750)*100vw);
  }
}
.acc-box-r {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 334px;
          flex: 0 0 334px;
  padding-top:67px;
}
@media (max-width: 767px) {
  .acc-box-r {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
            padding-top:0px;          
  }
}
.acc-box-r img {
  height: 240px;
  width: 334px;
  image-rendering: -webkit-optimize-contrast;
}
@media (max-width: 767px) {
  .acc-box-r img {
    width: 100%;
    height: auto;
  }
}

/*---------------------------------
    footer
---------------------------------*/
.footer {
  background: #fff;
}
.footer h4, .footer p {
  font-size: 13px;
  line-height: calc(24 / 13);
}
@media (max-width: 767px) {
  .footer h4, .footer p {
    font-size: calc((22 / 750)*100vw);
  }
}
.footer-inner {
  padding: 60px 0 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .footer-inner {
    padding: calc((60 / 750)*100vw);
    padding-bottom: calc((90 / 750)*100vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 767px) {
  .footer-l {
    margin-bottom: calc((60 / 750)*100vw);
  }
}
.footer-l h4 {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .footer-l h4 {
    margin-bottom: calc((48 / 750)*100vw);
  }
}
.footer-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-flow: column-reverse;
          flex-flow: column-reverse;
}
@media (max-width: 767px) {
  .footer-r .copyright {
    font-size: calc((20 / 750)*100vw);
  }
}
/*# sourceMappingURL=style.css.map */


/*YouTube Googlemap*/

.youtube{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.youtube iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

.gmap{
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
min-height: 344px;	
}

.gmap iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.gmap iframe, .gmap object, .gmap embed{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.yoyaku{

  bottom:0;
  position: fixed;
  background: #cab4db;
  padding:15px 0;
  width: 100%;
}

.yoyaku ul{
  display: flex;
  width: 800px;
  max-width: 100%;
  margin: auto;
  justify-content: center;
}

.yoyaku ul li{
text-align: center;
width: 48%;
}

.yoyaku a{
  background: #fff;
  border-radius: 30px;
  padding: 10px 5px;
  text-align: center;
  width: 98%;
  display: block;
  margin: auto;
}

@media (max-width: 767px) {
  .yoyaku a{
    background: #fff;
    border-radius: 3px;
    padding: 10px 5px;
    text-align: center;
    width: 99%;
    display: block;
    margin: auto;
  }

  .footer-inner {
    padding: 60px 0 100px!important;
  }

}
