@charset "utf-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000;
  line-height: 1.5em;
}
ul, ol {
  list-style-type: none;
}
a:hover {
  opacity: 0.8;
}
a:focus {
  outline: none;
}
img {
  height: auto;
  border: 0;
  vertical-align: top;
  max-width: 100%;
  margin: 0;
}
video {
  vertical-align: bottom;
  width: 100%;
  height: auto;
  outline: none;
}
body #loader-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99999;
  /* pointer-events: none; */
  background-color: #fff;
  opacity: 1;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
  will-change: opacity;
}
body #loader-wrapper #loader {
  -webkit-border-radius: 50%;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  border-top: 3px solid rgba(234, 94, 114, 0.2);
  border-right: 3px solid rgba(234, 94, 114, 0.2);
  border-bottom: 3px solid rgba(234, 94, 114, 0.2);
  border-left: 3px solid rgba(234, 94, 114, 0.8);
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: loader 1.1s infinite linear;
  animation: loader 1.1s infinite linear;
}
@-webkit-keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.loader-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 30vh;
  margin-top: 30vh;
}
.loader-content p {
  font-size: 14px;
  text-align: center;
}
.loader-content span {
  font-size: 18px;
  font-weight: bold;
  color: rgba(234, 94, 114, 0.8);
  text-align: center;
  padding-top: 30px;
}
.content_wrap {
  max-width: 750px;
  margin: 0 auto;
  overflow: hidden;
}
.content_wrap img {
  display: block;
  height: auto;
  filter: none;
}
.rl {
  position: relative;
}
.hikari {
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}
.hikari:before {
  content: "";
  animation: hikari 4s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  background-color: #fff;
  width: 140%;
  height: 100%;
  transform: skewX(-45deg);
  top: 0;
  left: -160%;
  opacity: 0.5;
  position: absolute;
}
.voice_wrap {
  background: #f4efe9;
  padding-bottom: 30px;
}
.voice_more {
  display: none;
}
.voice_btn {
  width: 622px;
  cursor: pointer;
  margin: 0 0 0 68px;
}
@keyframes hikari {
  0% {
    left: -160%;
    opacity: 0;
  }
  70% {
    left: -160%;
    opacity: 0.5;
  }
  71% {
    left: -160%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}
.map01 {
  position: absolute;
  height: 0;
  padding-bottom: 48%;
  width: 620px;
  top: 90px;
  left: 65px;
  overflow: hidden;
}
.map01 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.md01 {
  position: absolute;
  /*cursor: pointer;*/
  width: 660px;
  top: 385px;
  left: 45px;
}
.p-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: all .3s;
  opacity: 0;
}
.p-modal.open {
  opacity: 1;
}
.p-modal::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: rgba(124, 124, 124, .5);
  z-index: -1;
}
.p-modal__box {
  margin: auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  right: 0;
  z-index: 9999;
  top: 50%;
  width: 680px;
  margin: 0 auto;
}
.p-modal__closeBtn {
  position: absolute;
  background-image: url(../images/toji.png);
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  z-index: 1;
  width: 60px;
  height: 60px;
  top: -25px;
  right: -20px;
  transition: all .3s;
}
.p-modal__closeBtn:hover {
  opacity: .8;
}
.p-modal__inner {
  border-right: none;
  overflow-y: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  z-index: 0;
  height: 70vh;
  background: #fff;
}
.p-modal__inner::-webkit-scrollbar {
  width: 10px;
}
.p-modal__inner::-webkit-scrollbar-track {
  background-color: #fff;
}
.p-modal__inner::-webkit-scrollbar-thumb {
  background-color: #ea5e723E;
  border-radius: 5px;
}
.map02 {
  position: absolute;
  height: 0;
  padding-bottom: 26%;
  width: 430px;
  top: 345px;
  left: 187px;
  overflow: hidden;
}
.map02 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.modal_btn_list {
  padding: 15px 0 60px;
  width: 570px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.modal_btn_list li:not(:nth-of-type(1)) {
  margin-top: 20px;
}
.modal_btn_list li a {
  display: block;
}
.btn img {
  width: 100%;
}
.btn01 {
  position: absolute;
  width: 650px;
  top: 823px;
  left: 60px;
}
.btn01 a {
  display: block;
}
.btni {
  position: absolute;
  width: 99px;
  top: -21px;
  left: -8px;
  pointer-events: none;
}
.ls_wrap {
  background: #f7f5f1;
  padding: 8px 0 85px;
}
.ls_list {
  display: flex;
  width: 689px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ls_list li {
  cursor: pointer;
  width: 334px;
  margin-top: 20px;
}
.ls_list li img {
  border-radius: 20px;
  box-shadow: 2px 1px 15px rgba(0, 0, 0, 0.1);
}
.ls_list li:nth-of-type(1), .ls_list li:nth-of-type(2) {
  margin-top: 0;
}
.ls_list li:nth-of-type(5) {
  width: 100%;
}
.ls_list li:hover {
  opacity: 0.8;
}
.map03 {
  position: absolute;
  height: 0;
  padding-bottom: 26%;
  width: 430px;
  top: 372px;
  left: 187px;
  overflow: hidden;
}
.map03 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.map04 {
  position: absolute;
  height: 0;
  padding-bottom: 26%;
  width: 430px;
  top: 375px;
  left: 187px;
  overflow: hidden;
}
.map04 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.map05 {
  position: absolute;
  height: 0;
  padding-bottom: 26%;
  width: 430px;
  top: 368px;
  left: 187px;
  overflow: hidden;
}
.map05 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.map06 {
  position: absolute;
  height: 0;
  padding-bottom: 26%;
  width: 430px;
  top: 367px;
  left: 187px;
  overflow: hidden;
}
.map06 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.map07 {
  position: absolute;
  height: 0;
  padding-bottom: 26%;
  width: 430px;
  top: 382px;
  left: 187px;
  overflow: hidden;
}
.map07 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.qa_wrap {
  padding: 0 30px 60px 30px;
}
.qa_wrap .accordionlist:not(:nth-of-type(1)) {
  margin-top: 25px;
}
.accordionlist dt {
  position: relative;
  cursor: pointer;
}
.accordionlist dd {
  margin-top: -1px;
}
.accordionlist dt:before {
  position: absolute;
  content: "";
  top: 0;
  width: 30px;
  background: #000;
  height: 1px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  top: 50%;
  right: 30px;
  transition: .3s all;
}
.accordionlist dt:after {
  position: absolute;
  content: "";
  top: 0;
  width: 30px;
  background: #000;
  height: 1px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  top: 50%;
  right: 30px;
  transition: .3s all;
}
.accordionlist dt.active:before {
  display: none;
}
.accordionlist dt.active:after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}
.accordionlist dd {
  display: none;
}
.btm-fix {
  position: fixed;
  left: 50%;
  margin-left: -375px;
  bottom: 0;
  width: 750px;
  height: 215px;
  z-index: 2;
  display: none;
}
.btn02 {
  position: absolute;
  width: 702px;
  bottom: 0;
  left: 32px;
}
.btn02 a {
  display: block;
}
.btn02 a:hover {
  opacity: 1;
}
.btni2 {
  position: absolute;
  width: 111px;
  top: -14px;
  left: -10px;
  pointer-events: none;
}
@media(max-width:749px) {
  img {
    width: 100%;
  }
  a:hover {
    opacity: 1.0;
  }
  .map01 {
    width: 82.6%;
    top: 12vw;
    left: 8.7vw;
  }
  .p-modal__closeBtn {
    z-index: 1;
    width: 12vw;
    height: 12vw;
    top: -4vw;
    right: -3vw;
  }
  .md01 {
    width: 88vw;
    top: 51.33vw;
    left: 6vw;
  }
  .p-modal__closeBtn:hover {
    opacity: 1;
  }
  .p-modal__box {
    width: calc(100% - 32px);
  }
  .map02 {
    padding-bottom: 26%;
    width: 57.3vw;
    top: 46vw;
    left: 24.93vw;
  }
  .modal_btn_list {
    padding: 2vw 0 8vw;
    width: 76vw;
  }
  .modal_btn_list li:not(:nth-of-type(1)) {
    margin-top: 2.66vw;
  }
  .btn01 {
    width: 86vw;
    top: 109.73vw;
    left: 8vw;
  }
  .btni {
    width: 13.2vw;
    top: -2.8vw;
    left: -1vw;
  }
  .ls_wrap {
    background: #f7f5f1;
    padding: 1vw 0 11vw;
  }
  .ls_list {
    width: 91.86vw;
  }
  .ls_list li {
    cursor: pointer;
    width: 44.5vw;
    margin-top: 2.66vw;
  }
  .ls_list li img {
    border-radius: 2.6vw;
    box-shadow: 2px 1px 15px rgba(0, 0, 0, 0.1);
  }
  .ls_list li:hover {
    opacity: 1;
  }
  .map03 {
    width: 57.3vw;
    top: 49.6vw;
    left: 24.93vw;
  }
  .map04 {
    width: 57.3vw;
    top: 50vw;
    left: 24.93vw;
  }
  .map05 {
    width: 57.3vw;
    top: 49.5vw;
    left: 24.93vw;
  }
  .map06 {
    width: 57.3vw;
    top: 48.9vw;
    left: 24.93vw;
  }
  .map07 {
    width: 57.3vw;
    top: 50.9vw;
    left: 24.93vw;
  }
  .voice_wrap {
    padding-bottom: 4vw;
  }
  .voice_btn {
    width: 82.93vw;
    margin: 0 0 0 9vw;
  }
  .qa_wrap {
    padding: 0 4vw 8vw 4vw;
  }
  .qa_wrap .accordionlist:not(:nth-of-type(1)) {
    margin-top: 3.3vw;
  }
  .accordionlist dt:before {
    width: 3.33vw;
    height: 1px;
    top: 50%;
    right: 4vw;
  }
  .accordionlist dt:after {
    width: 3.33vw;
    height: 1px;
    top: 50%;
    right: 4vw;
  }
  .btm-fix {
    position: fixed;
    left: 0;
    margin-left: 0;
    bottom: 0;
    width: 100%;
    height: 28.6vw;
  }
  .btn02 {
    width: 93.6vw;
    left: 4.26vw;
  }
  .btni2 {
    width: 14.8vw;
    top: -1.86vw;
    left: -1.33vw;
  }
}
.btn01-wrap{
    background-image: url(../images/b_pic03-02.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%;
    margin-top: -2px;
    text-align: center;
    padding-bottom: 100px;
}
.btn01-wrap .btn01{
    position: static;
    margin: 0 auto;
    text-align: center;
}
@media(max-width:749px) {
  .btn01-wrap{
    padding-bottom: 10vw;
  }
}
.btn03-wrap {
  background-image: url(../images/b_pic03-2.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  margin-top: -2px;
  text-align: center;
  padding-bottom: 1vw;
}
.btn03-wrap .btn03 {
  top: auto;
  position: static;
  width: 645px;
  margin: 0 auto;
  text-align: center;
}
.btn03-wrap .btn03 a {
  display: block;
}
@media(max-width:749px) {
  .btn03-wrap .btn03 {
    width: 86vw;
  }
}

.fixedbtn {
  position: fixed;
  bottom: 20px;
  right: 10px;
  z-index: 9998;
  opacity: 1;
  -webkit-transition: all .8s ease;
  -o-transition: all .8s ease;
  transition: all .8s ease;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fixedbtn a {
  display: inline-block;
  border-radius: 100px;
  border: none;
}
.fixedbtn img {
  width: 470px;
  display: block;
  margin: 0 auto;
}
.fixhide.fixedbtn {
  bottom: -50%;
  opacity: 0;
  display: block;
}
@media(max-width:749px) {
  .fixedbtn {
    background-color: rgba(34,34,34,.65);
    bottom: 0;
    left: 0;
    right: 0;  
    width: 100%;
    height: 26vw;
  }
  .fixedbtn img {
    width: 79vw;
  }  
}

.review {
  background: #f4efe9;
}

.ti-widget.ti-goog .ti-widget-container {
  margin: 0!important;
}

.ti-widget.ti-goog .ti-review-item>.ti-inner,
.ti-widget.ti-goog .ti-load-more-reviews-container .ti-load-more-reviews-button {
background: #fff!important;
}