@charset "UTF-8";
body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
}

img {
  margin: auto;
  width: 100%;
}

a {
  text-decoration: none;
}

li {
  list-style: none;
}

/*================================================================
Chrome/Firefox/Edgeなど、各ブラウザはそれぞれデフォルトで効くCSSを持っています。
何もしないと見え方が微妙に変わるので、デフォルトのCSSをリセットして
ブラウザごとの表示の差異をなくすために書くのが「リセットCSS」です。
================================================================*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  border: 0;
  font-weight: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

header, footer, nav, section, article, aside, figure, figcaption {
  display: block;
}

body {
  letter-spacing: calc(1px - .0625em);
  line-height: 1.4;
}

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

@media screen and (max-width: 767px) {
  .is_pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .cv {
    padding: 80px 0;
  }
}

@media screen and (max-width: 767px) {
  .cv {
    padding: 80px 20px;
  }
}

.cv-copy {
  line-height: 1.375;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cv-copy {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .cv-copy {
    font-size: 18px;
    font-weight: bold;
  }
}

.cv-btn-wrap {
  text-align: center;
}

.cv-btn {
  -webkit-box-shadow: 0px 2px 4px #7A7A7A;
  box-shadow: 0px 2px 4px #7A7A7A;
  display: inline-block;
  margin-top: 40px;
  position: relative;
}

.cv-btn-wrap a {
  background-color: #fff;
  border: 4px #EA5413 solid;
  border-radius: 999px;
  color: #EA5413;
  display: inline-block;
  line-height: 59px;
  overflow: hidden;
  padding-left: 25px;
  padding-right: 50px;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .cv-btn-wrap a {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .cv-btn-wrap a {
    font-size: 20px;
  }
}

.cv-btn-wrap a::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #EA5413;
  border-right: 2px solid #EA5413;
  content: "";
  height: 12px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 12px;
}

.cv-btn-wrap a:before {
  -webkit-transition: all 300ms linear;
  background-color: #EA5413;
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transition: all 300ms linear;
  width: 100%;
  z-index: -1;
}

.cv-btn-wrap a:hover {
  color: #fff;
}

.cv-btn-wrap a:hover:before {
  left: 0;
}

.cv-btn-wrap a:hover:after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.cv-btn-wrap a:active {
  -webkit-transform: translate(0, 2px);
  border-bottom: none;
  transform: translate(0, 2px);
}

.footer {
  background-color: #000;
  padding: 15px;
  text-align: center;
}

.footer-copy-right {
  color: #fff;
  font-size: 12px;
}

.header {
  background-color: #fff;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.header-inner {
  height: 80px;
  margin: 0 auto;
  max-width: 1240px;
}

@media screen and (min-width: 768px) {
  .header-inner {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
  }
}

.header-logo {
  width: 154px;
}

@media screen and (max-width: 767px) {
  .header-logo {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
  }
}

.header-logo img {
  vertical-align: bottom;
}

.header-nav-pc ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header-nav-pc li {
  text-align: center;
}

.header-nav-pc li a {
  -webkit-transition: color .4s;
  color: #000;
  font-size: 20px;
  font-weight: bold;
  line-height: 80px;
  position: relative;
  transition: color .4s;
}

@media screen and (min-width: 768px) {
  .header-nav-pc li a {
    display: block;
  }
}

.header-nav-pc li a::after {
  -webkit-transition: opacity .4s;
  background-color: #EA5413;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  padding-top: 4px;
  position: absolute;
  transition: opacity .4s;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .header-nav-pc li a:hover {
    color: rgba(0, 0, 0, 0.7);
    cursor: pointer;
  }
  .header-nav-pc li a:hover:after {
    opacity: 1;
  }
}

.header-nav-pc li + li {
  margin-left: 24px;
}

@media screen and (max-width: 767px) {
  .header .btn-trigger {
    -webkit-transform: translateY(-50%);
    cursor: pointer;
    height: 28px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
  }
  .header .btn-trigger span {
    background-color: #EA5413;
    border-radius: 4px;
    height: 4px;
    left: 0;
    position: absolute;
    width: 100%;
  }
  .header .btn-trigger, .header .btn-trigger span {
    -webkit-transition: all .5s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    transition: all .5s;
  }
  .header .btn-trigger span:nth-of-type(1) {
    top: 0;
  }
  .header .btn-trigger span:nth-of-type(2) {
    top: 12px;
  }
  .header .btn-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .header #btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
  }
  .header #btn.active span:nth-of-type(2) {
    -webkit-animation: active-btn-bar02 .8s forwards;
    animation: active-btn-bar02 .8s forwards;
    left: 50%;
    opacity: 0;
  }
  @-webkit-keyframes active-btn-bar02 {
    100% {
      height: 0;
    }
  }
  @keyframes active-btn-bar02 {
    100% {
      height: 0;
    }
  }
  .header #btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
    transform: translateY(-12px) rotate(45deg);
  }
  .header-nav-sp {
    background-color: #FCF4EB;
    display: none;
  }
  .header-nav-sp ul {
    border-bottom: 2px solid gray;
    border-top: 2px solid gray;
  }
  .header-nav-sp li {
    text-align: center;
  }
  .header-nav-sp a {
    color: #EA5413;
    display: block;
    font-weight: bold;
    padding: 10px 0;
  }
}

.hotel {
  margin: 0 auto;
  max-width: 1240px;
  overflow: hidden;
  padding-bottom: 100px;
}

.hotel-sub-title {
  color: #EA5413;
  font-weight: bold;
  padding-top: 100px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .hotel-sub-title {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .hotel-sub-title {
    font-size: 18px;
    padding-top: 50px;
  }
}

.hotel-title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .hotel-title {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .hotel-slid-wrap {
    margin-top: 75px;
  }
}

@media screen and (max-width: 767px) {
  .hotel-slid-wrap {
    margin-top: 50px;
  }
}

@media screen and (min-width: 768px) {
  .hotel-slid {
    width: 350px !important;
  }
}

@media screen and (max-width: 767px) {
  .hotel-slid {
    width: 275px !important;
  }
}

.hotel-img {
  overflow: hidden;
  padding-top: 71.42%;
  position: relative;
  width: 100%;
}

.hotel-img > img {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.hotel-name {
  font-weight: bold;
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  .hotel-name {
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .hotel-name {
    font-size: 18px;
  }
}

.hotel-price {
  font-weight: bold;
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .hotel-price {
    font-size: 14px;
  }
}

.hotel-station {
  font-weight: bold;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .hotel-station {
    font-size: 14px;
  }
}

.hotel-detail {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .hotel-detail {
    font-size: 14px;
  }
}

.hotel-btn-wrap {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .hotel-btn-wrap {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .hotel-btn-wrap {
    margin-top: 50px;
  }
}

.hotel-btn {
  -webkit-box-shadow: 0px 2px 4px #7A7A7A;
  box-shadow: 0px 2px 4px #7A7A7A;
  display: inline-block;
  position: relative;
}

.hotel-btn-wrap a {
  background-color: #fff;
  border: 4px #EA5413 solid;
  border-radius: 999px;
  color: #EA5413;
  display: inline-block;
  line-height: 59px;
  overflow: hidden;
  padding-left: 25px;
  padding-right: 50px;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .hotel-btn-wrap a {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .hotel-btn-wrap a {
    font-size: 20px;
  }
}

.hotel-btn-wrap a::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #EA5413;
  border-right: 2px solid #EA5413;
  content: "";
  height: 12px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 12px;
}

.hotel-btn-wrap a:before {
  -webkit-transition: all 300ms linear;
  background-color: #EA5413;
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transition: all 300ms linear;
  width: 100%;
  z-index: -1;
}

.hotel-btn-wrap a:hover {
  color: #fff;
}

.hotel-btn-wrap a:hover:before {
  left: 0;
}

.hotel-btn-wrap a:hover:after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.hotel-btn-wrap a:active {
  -webkit-transform: translate(0, 2px);
  border-bottom: none;
  transform: translate(0, 2px);
}

.swiper-container {
  margin: 0 auto !important;
  overflow: visible !important;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .swiper-container {
    max-width: 734px !important;
  }
}

@media screen and (max-width: 767px) {
  .swiper-container {
    max-width: 275px !important;
  }
}

.swiper-container .swiper-button-next {
  -webkit-transition: opacity .4s;
  background-color: #EA5413;
  border-radius: 999px;
  height: 50px;
  outline: 0;
  transition: opacity .4s;
  width: 50px;
}

@media screen and (min-width: 768px) {
  .swiper-container .swiper-button-next {
    right: -253px;
    top: 53%;
  }
  .swiper-container .swiper-button-next:hover {
    opacity: .9;
  }
}

@media screen and (max-width: 767px) {
  .swiper-container .swiper-button-next {
    right: -20px;
    top: 30%;
  }
}

.swiper-container .swiper-button-next::after {
  -webkit-transform: rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  height: 12px;
  position: absolute;
  right: 20px;
  top: 17px;
  transform: rotate(-45deg);
  width: 12px;
}

.swiper-container .swiper-button-prev {
  -webkit-transition: opacity .4s;
  background-color: #EA5413;
  border-radius: 999px;
  height: 50px;
  outline: 0;
  transition: opacity .4s;
  width: 50px;
}

@media screen and (min-width: 768px) {
  .swiper-container .swiper-button-prev {
    left: -253px;
    top: 53%;
  }
  .swiper-container .swiper-button-prev:hover {
    opacity: .9;
  }
}

@media screen and (max-width: 767px) {
  .swiper-container .swiper-button-prev {
    left: -20px;
    top: 30%;
  }
}

.swiper-container .swiper-button-prev::after {
  -webkit-transform: rotate(-225deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  height: 12px;
  left: 20px;
  position: absolute;
  top: 17px;
  transform: rotate(-225deg);
  width: 12px;
}

.how {
  background-color: #f6f6f6;
  padding-bottom: 100px;
}

.how-inner {
  margin: 0 auto;
  max-width: 1000px;
  padding-left: 20px;
  padding-right: 20px;
}

.how-sub-title {
  color: #EA5413;
  font-weight: bold;
  padding-top: 100px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .how-sub-title {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .how-sub-title {
    font-size: 18px;
    padding-top: 50px;
  }
}

.how-title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .how-title {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .how-step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 60px;
  }
}

.how-step:nth-child(1) {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .how-step + .how-step {
    margin-top: 80px;
  }
}

.how-step:nth-child(-n+2) {
  position: relative;
}

.how-step:nth-child(-n+2)::after {
  -webkit-transform: translateX(-50%);
  border-color: #ea5413 transparent transparent transparent;
  border-style: solid;
  bottom: -46px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
}

@media screen and (min-width: 768px) {
  .how-step:nth-child(-n+2)::after {
    border-width: 42px 42px 0 42px;
  }
}

@media screen and (max-width: 767px) {
  .how-step:nth-child(-n+2)::after {
    border-width: 30px 30px 0 30px;
  }
}

.how-step-img {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 376px;
  flex: 0 0 376px;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .how-step-img {
    margin-right: 30px;
  }
}

.how-step-img::after {
  content: "";
  display: block;
  padding-top: 44.94%;
}

.how-step-img > img {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.how-step-number {
  color: #EA5413;
  font-weight: bold;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .how-step-number {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .how-step-title {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .how-step-title {
    font-size: 18px;
    font-weight: bold;
  }
}

.how-step-detail {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .how-step-detail {
    font-size: 14px;
  }
}

.how-btn-wrap {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .how-btn-wrap {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .how-btn-wrap {
    margin-top: 50px;
  }
}

.how-btn {
  -webkit-box-shadow: 0px 2px 4px #7A7A7A;
  box-shadow: 0px 2px 4px #7A7A7A;
  display: inline-block;
  position: relative;
}

.how-btn-wrap a {
  background-color: #fff;
  border: 4px #EA5413 solid;
  border-radius: 999px;
  color: #EA5413;
  display: inline-block;
  line-height: 59px;
  overflow: hidden;
  padding-left: 25px;
  padding-right: 50px;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .how-btn-wrap a {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .how-btn-wrap a {
    font-size: 20px;
  }
}

.how-btn-wrap a::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #EA5413;
  border-right: 2px solid #EA5413;
  content: "";
  height: 12px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 12px;
}

.how-btn-wrap a:before {
  -webkit-transition: all 300ms linear;
  background-color: #EA5413;
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transition: all 300ms linear;
  width: 100%;
  z-index: -1;
}

.how-btn-wrap a:hover {
  color: #fff;
}

.how-btn-wrap a:hover:before {
  left: 0;
}

.how-btn-wrap a:hover:after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.how-btn-wrap a:active {
  -webkit-transform: translate(0, 2px);
  border-bottom: none;
  transform: translate(0, 2px);
}

.point {
  background-image: url(../img/point-bg.png);
  background-position: center;
  background-size: cover;
  position: relative;
}

.point::after {
  background-color: rgba(255, 255, 255, 0.8);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.point-inner {
  margin: 0 auto;
  max-width: 1240px;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .point-inner {
    padding: 100px 20px;
  }
}

@media screen and (max-width: 767px) {
  .point-inner {
    padding: 50px 20px;
  }
}

.point-title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4375;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .point-title {
    font-size: 20px;
  }
}

.point-wrap {
  margin-top: 64px;
}

@media screen and (min-width: 768px) {
  .point-wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
  }
}

.point-card {
  border-radius: 4px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .point-card {
    max-width: 384px;
    width: calc((100% - 30px * 2) / 3);
  }
}

@media screen and (min-width: 768px) {
  .point-card + .point-card {
    margin-left: 30px;
  }
}

@media screen and (max-width: 767px) {
  .point-card + .point-card {
    margin-top: 50px;
  }
}

.point-img {
  overflow: hidden;
  padding-top: 67.7%;
  position: relative;
}

.point-img img {
  left: 0;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 0;
}

.point-card-bottom {
  background-color: #fff;
  padding: 23px 20px;
}

.point-card-title {
  font-weight: bold;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .point-card-title {
    font-size: 20px;
  }
}

@media screen and (max-width: 767px) {
  .point-card-title {
    font-size: 18px;
  }
}

.point-detail {
  line-height: 1.4444;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .point-detail {
    font-size: 14px;
  }
}

.qa {
  background-color: #FCF4EB;
  padding-bottom: 100px;
}

.qa-inner {
  margin: 0 auto;
  max-width: 1000px;
  padding-left: 20px;
  padding-right: 20px;
}

.qa-sub-title {
  color: #EA5413;
  font-weight: bold;
  padding-top: 100px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .qa-sub-title {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .qa-sub-title {
    font-size: 18px;
    padding-top: 50px;
  }
}

.qa-title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .qa-title {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .qa-wrap {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .qa-wrap {
    margin-top: 30px;
  }
}

.qa-content {
  border: 1px #EA5413 solid;
  border-radius: 4px;
  line-height: 1.4;
  position: relative;
}

@media screen and (min-width: 768px) {
  .qa-content {
    padding: 24px 57px;
  }
}

@media screen and (max-width: 767px) {
  .qa-content {
    padding: 15px 30px;
  }
}

.qa-content::before {
  color: #EA5413;
  content: "Q";
  font-weight: bold;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .qa-content::before {
    font-size: 40px;
    left: 16px;
    top: 9px;
  }
}

@media screen and (max-width: 767px) {
  .qa-content::before {
    font-size: 24px;
    left: 6px;
    top: 5px;
  }
}

.qa-content .qa-a {
  display: none;
}

.qa-content span {
  -webkit-transform: rotateZ(90deg);
  -webkit-transition: all .4s ease-in-out;
  background-color: #000;
  content: "";
  position: absolute;
  top: 8px;
  transform: rotateZ(90deg);
  transition: all .4s ease-in-out;
}

@media screen and (min-width: 768px) {
  .qa-content span {
    height: 4px;
    right: 0px;
    width: 20px;
  }
}

@media screen and (max-width: 767px) {
  .qa-content span {
    height: 3px;
    right: -20px;
    width: 15px;
  }
}

.qa-content + .qa-content {
  margin-top: 30px;
}

.qa-content:nth-child(1) .qa-a {
  display: block;
}

.qa-content:nth-child(1) span {
  -webkit-transform: rotateZ(0deg);
  -webkit-transition: all .4s ease-in-out;
  background-color: #000;
  content: "";
  position: absolute;
  top: 8px;
  transform: rotateZ(0deg);
  transition: all .4s ease-in-out;
}

@media screen and (min-width: 768px) {
  .qa-content:nth-child(1) span {
    height: 4px;
    right: 0px;
    width: 20px;
  }
}

@media screen and (max-width: 767px) {
  .qa-content:nth-child(1) span {
    height: 3px;
    right: -20px;
    width: 15px;
  }
}

.qa-q {
  cursor: pointer;
  font-weight: bold;
  position: relative;
}

@media screen and (max-width: 767px) {
  .qa-q {
    font-size: 14px;
  }
}

.qa-q::before {
  background-color: #000;
  content: "";
  position: absolute;
  top: 8px;
}

@media screen and (min-width: 768px) {
  .qa-q::before {
    height: 4px;
    right: 0px;
    width: 20px;
  }
}

@media screen and (max-width: 767px) {
  .qa-q::before {
    height: 3px;
    right: -20px;
    width: 15px;
  }
}

@media screen and (min-width: 768px) {
  .qa-a {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .qa-a {
    font-size: 14px;
    margin-top: 20px;
  }
}

.review {
  background-color: #FCF4EB;
}

@media screen and (min-width: 768px) {
  .review {
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 767px) {
  .review {
    padding-bottom: 80px;
  }
}

.review-inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
}

.review-sub-title {
  color: #EA5413;
  font-weight: bold;
  padding-top: 100px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .review-sub-title {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .review-sub-title {
    font-size: 18px;
    padding-top: 50px;
  }
}

.review-title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .review-title {
    font-size: 20px;
  }
}

.review-wrap {
  position: relative;
}

.review-wrap::after {
  background-color: #fff;
  content: "";
  height: 100%;
  max-width: 620px;
  position: absolute;
  top: 0;
  width: 100%;
}

.review-content {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .review-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 80px;
    padding: 59px 0px 59px 83px;
  }
}

@media screen and (max-width: 767px) {
  .review-content {
    margin-top: 30px;
    padding: 30px 20px;
  }
}

.review-wrap:nth-child(2)::after {
  background-color: #fff;
  content: "";
  height: 100%;
  max-width: 620px;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .review-wrap:nth-child(2) .review-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    padding: 59px 83px 59px 0px;
  }
}

@media screen and (min-width: 768px) {
  .review-wrap:nth-child(2) .review-user {
    margin-left: 66px;
    margin-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .review-user {
    margin-right: 66px;
    max-width: 362px;
  }
}

.review-user-img {
  background-position: center;
  background-size: cover;
  overflow: hidden;
  padding-top: 66.6%;
  position: relative;
  width: 100%;
}

.review-user-img img {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.review-user-title {
  font-size: 20px;
  font-weight: bold;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .review-user-title {
    font-size: 18px;
  }
}

.review-detail {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .review-detail {
    font-size: 14px;
  }
}

.review-user-name {
  margin-top: 8px;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .review-user-name {
    font-size: 14px;
  }
}

.review-user-name a {
  -webkit-transition: opacity .3s;
  color: #0544ca;
  transition: opacity .3s;
}

.review-user-name a:hover {
  opacity: .7;
}

.review-pick-hotel {
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .review-pick-hotel {
    margin-top: 50px;
  }
}

.review-pick-hotel::after {
  content: "";
  display: block;
  padding-top: 67.73%;
}

.review-pick-hotel > img {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.review-pick-hotel-name-wrap {
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
}

@media screen and (min-width: 768px) {
  .review-pick-hotel-name-wrap {
    bottom: 30px;
    padding: 24px 83px;
  }
}

@media screen and (max-width: 767px) {
  .review-pick-hotel-name-wrap {
    bottom: 20px;
    padding: 10px 30px;
  }
}

.review-pick-hotel-name {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .review-pick-hotel-name {
    font-size: 16px;
  }
}

.review-ichioshi {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #EA5413;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 4px;
  position: absolute;
  /* 文字間 */
  text-shadow: 2px  2px 1px #ffffff, -2px  2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px  0px 1px #ffffff, 0px  2px 1px #ffffff, -2px  0px 1px #ffffff, 0px -2px 1px #ffffff;
  z-index: 2;
  /* 文字の影 */
}

@media screen and (min-width: 768px) {
  .review-ichioshi {
    bottom: 80px;
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .review-ichioshi {
    bottom: 45px;
    font-size: 16px;
  }
}

@media screen and (min-width: 768px) {
  .review-ichioshi img {
    width: 70px;
  }
}

@media screen and (max-width: 767px) {
  .review-ichioshi img {
    width: 50px;
  }
}

.review-btn-wrap {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .review-btn-wrap {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .review-btn-wrap {
    margin-top: 50px;
  }
}

.review-btn {
  -webkit-box-shadow: 0px 2px 4px #7A7A7A;
  box-shadow: 0px 2px 4px #7A7A7A;
  display: inline-block;
  position: relative;
}

.review-btn-wrap a {
  background-color: #fff;
  border: 4px #EA5413 solid;
  border-radius: 999px;
  color: #EA5413;
  display: inline-block;
  line-height: 59px;
  overflow: hidden;
  padding-left: 25px;
  padding-right: 50px;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .review-btn-wrap a {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .review-btn-wrap a {
    font-size: 20px;
  }
}

.review-btn-wrap a::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #EA5413;
  border-right: 2px solid #EA5413;
  content: "";
  height: 12px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 12px;
}

.review-btn-wrap a:before {
  -webkit-transition: all 300ms linear;
  background-color: #EA5413;
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transition: all 300ms linear;
  width: 100%;
  z-index: -1;
}

.review-btn-wrap a:hover {
  color: #fff;
}

.review-btn-wrap a:hover:before {
  left: 0;
}

.review-btn-wrap a:hover:after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.review-btn-wrap a:active {
  -webkit-transform: translate(0, 2px);
  border-bottom: none;
  transform: translate(0, 2px);
}

.top {
  background-image: url(../img/image2.jpg);
  background-position: center;
  background-size: cover;
  overflow: hidden;
  position: relative;
}

.top-filter {
  background-color: #000;
  content: "";
  opacity: .70;
  padding-top: 614px;
  position: absolute;
  top: 0;
  width: 2000px;
}

@media screen and (min-width: 768px) {
  .top-filter {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
  }
}

@media only screen and (min-width: 1440px) {
  .top-filter {
    left: calc( calc(100% - 1440px) / 2 + 111px + 599px);
  }
}

@media only screen and (max-width: 1440px) {
  .top-filter {
    left: calc( 111px + 599px - calc(1440px - 100%) / 2);
  }
}

@media screen and (max-width: 767px) {
  .top-filter {
    left: 0;
  }
}

.top-inner {
  margin: 0 auto;
  max-width: 1240px;
  padding-top: 614px;
  position: relative;
}

.top-wrap {
  -webkit-transform: translateY(-50%);
  padding: 0 20px;
  position: absolute;
  top: calc(calc( 100% + 80px ) / 2);
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .top-wrap {
    right: 8px;
  }
}

@media screen and (max-width: 767px) {
  .top-wrap {
    -webkit-transform: translate(-50%, -50%);
    left: 50%;
    transform: translate(-50%, -50%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.top-title {
  color: #fff;
  font-size: 32px;
}

@media screen and (max-width: 767px) {
  .top-title {
    font-size: 24px;
    text-align: center;
  }
}

.top-title span {
  color: #EA5413;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.7;
}

.top-price {
  color: #fff;
  font-size: 40px;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .top-price {
    font-size: 24px;
    margin-top: 0;
    text-align: center;
  }
}

.top-price span {
  font-size: 63px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .top-price span {
    font-size: 40px;
  }
}

@media screen and (max-width: 767px) {
  .top-btn-wrap {
    text-align: center;
  }
}

.top-btn {
  display: inline-block;
  margin-top: 30px;
  position: relative;
}

.top-btn-wrap a {
  -webkit-box-shadow: 0px 2px 4px #7A7A7A;
  background-color: #EA5413;
  border: 4px #fff solid;
  border-radius: 999px;
  box-shadow: 0px 2px 4px #7A7A7A;
  color: #fff;
  display: inline-block;
  line-height: 59px;
  overflow: hidden;
  padding-left: 25px;
  padding-right: 50px;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .top-btn-wrap a {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .top-btn-wrap a {
    font-size: 20px;
  }
}

.top-btn-wrap a::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  height: 12px;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 12px;
}

.top-btn-wrap a:before {
  -webkit-transition: all 300ms linear;
  background-color: #fff;
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transition: all 300ms linear;
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .top-btn-wrap a:hover {
    color: #EA5413;
  }
  .top-btn-wrap a:hover:before {
    left: 0;
  }
  .top-btn-wrap a:hover:after {
    border-bottom: 2px solid #EA5413;
    border-right: 2px solid #EA5413;
  }
}
