@charset "UTF-8";
/* CSS Document */
:root {
  --pc-max-width: 960px;
}

#container *,
main *,
.org-content *,
*:before,
*:after {
  box-sizing: border-box;
}

#container {
  font-weight: 400;
  color: #222222;
}

.c-f:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.c-f {
  min-height: 1%;
  display: block;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.sp-head {
  display: none;
}

.lead {
  font-size: 14px;
  line-height: 1.7;
}

.lead a {
  text-decoration: underline;
}

.img_rwd {
  max-width: 100%;
}

h2.rs_h2_title_bar {
  padding: 10px 15px;
  background-color: #0071BE;
  color: #fff;
  font-size: 1.2em;
  margin-top: 20px;
  text-align: left;
}

h3.rs_h3_title_bar {
  padding: 5px 15px !important;
  background-color: #666666;
  color: #fff;
  font-size: 16px;
  font-weight: normal !important;
  border-left: none !important;
  margin-top: 20px !important;
}

h4.rs_h4_title_bar {
  border-left: 5px solid #898989;
  padding: 0 15px;
  color: #434343;
  font-size: 16px !important;
  font-weight: normal !important;
  margin-top: 20px !important;
}

.bold {
  font-weight: bold;
}

.txt-red {
  color: #eb4055;
}

.txt-gray {
  color: #434343;
}

.txt-kome {
  font-size: 11px;
  color: #434343;
}

.pc-area {
  display: block;
}

.sp-area {
  display: none;
}

@media screen and (min-width: 769px) {
  #str_container {
    width: 960px;
    margin: 5px auto 20px;
  }
  #str_container #topicPath {
    font-size: 12px;
  }
  #container {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  #str_container,
  #container,
  #str_container .leadTxt {
    font-family: "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif !important;
  }
  .pc-head {
    display: none;
  }
  .sp-head {
    display: block;
  }
  .lead {
    padding: 0 10px;
    max-height: 999999px;
  }
  h2.rs_h2_title_bar {
    margin: 15px 10px 0;
    max-height: 999999px;
    font-weight: normal !important;
    padding: 7px 10px !important;
  }
  h3.rs_h3_title_bar {
    margin: 15px 10px 0 !important;
    padding: 5px 10px !important;
    max-height: 999999px;
  }
  h4.rs_h4_title_bar {
    border-left: 5px solid #898989;
    margin: 15px 10px 0 !important;
    padding: 0 10px;
    max-height: 999999px;
  }
  .txt-kome {
    padding: 10px;
    margin-top: 0;
  }
  .bottom_btn {
    margin: 0 10px;
    max-height: 999999px;
  }
  .pc-area {
    display: none;
  }
  .sp-area {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .lead {
    padding: 0 5px;
    font-size: 16px;
    line-height: normal;
  }
  h2.rs_h2_title_bar,
  h3.rs_h3_title_bar,
  h4.rs_h4_title_bar {
    margin: 15px 5px 0;
  }
  .txt-kome {
    padding: 10px 5px;
  }
}
@media screen and (max-width: 340px) {
  .lead {
    font-size: 14px;
  }
  h2.rs_h2_title_bar,
  h3.rs_h3_title_bar,
  h4.rs_h4_title_bar {
    font-size: 14px !important;
  }
}
/*---------------------------------
  　独自のコンテンツエリア
-----------------------------------*/
/* 共通　*/
.org-content {
  background-image: url(../images/repeat-bg.png);
  position: relative;
  z-index: 0;
  overflow-x: hidden;
  padding: 30px 0 70px;
  font-size: 16px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.org-content section {
  position: relative;
  z-index: 0;
}
.org-content a {
  transition: all 0.3s ease-in-out;
}
.org-content a.link-arrow {
  position: relative;
  color: #0071BE;
  font-size: 14px;
}
.org-content a.link-arrow:hover {
  opacity: 0.7;
  text-decoration: underline;
  transition: all 0.3s ease-in-out;
}
.org-content a.link-arrow::after {
  content: "";
  display: inline-block;
  position: absolute;
  margin: auto;
  transform: rotate(135deg);
  top: 4px;
  right: -14px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #0071BE;
  border-right: solid 2px #0071BE;
}
.org-content .pattern {
  position: absolute;
  z-index: -1;
}
.org-content .pattern-0 {
  top: 60px;
  right: 0;
}
.org-content .pattern-1 {
  top: 243px;
  left: -65px;
  height: 150px;
}
.org-content .pattern-2 {
  top: 600px;
  right: 0;
}
.org-content .pattern-3 {
  bottom: 805px;
  left: 0;
  height: 150px;
}
.org-content .pattern-4 {
  bottom: 581px;
  right: -54px;
  height: 150px;
}
.org-content .pattern-5 {
  bottom: 383px;
  left: 87px;
}

#res-header-fin {
  display: flex;
}

section {
  max-width: var(--pc-max-width);
  margin: auto;
  padding: 0 16px;
}

/* アップデート */
#update {
  font-size: 16px;
  text-align: center;
}
#update .sub-title {
  width: 250px;
  height: auto;
}
#update h2 {
  margin: 16px auto;
}
#update h2 img {
  width: 386px;
  height: auto;
}
#update h2 + p {
  margin-bottom: 32px;
}
#update .fukidashi {
  width: 252px;
  height: auto;
}

.ph-list {
  display: flex;
  justify-content: space-around;
  flex-wrap: nowrap;
  margin: 10px auto 26px;
  width: 760px;
  left: auto;
}
.ph-list li {
  cursor: pointer;
  text-align: center;
  font-size: 14px;
  width: auto;
  list-style: none;
  margin: 0 auto;
  margin-left: auto;
  line-height: 1.5;
}
.ph-list li:nth-child(4) {
  margin-right: auto;
}
.ph-list li:nth-child(5) {
  margin-left: auto;
}
.ph-list li img {
  margin: 0 auto;
}
.ph-list li img:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}

.map-wrapper {
  position: relative;
  width: 760px;
  height: 808px;
  margin: auto;
}
.map-wrapper .map-img {
  width: 100%;
  height: auto;
  margin: auto;
}
.map-wrapper .spot-btn {
  cursor: pointer;
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 75px;
}
.map-wrapper .spot-btn-0 {
  bottom: 72px;
  right: 138px;
}
.map-wrapper .spot-btn-1 {
  top: 278px;
  right: 53px;
}
.map-wrapper .spot-btn-2 {
  bottom: 115px;
  left: 53px;
}
.map-wrapper .spot-btn-3 {
  top: 44px;
  left: 84px;
}
.map-wrapper .spot-btn-4 {
  bottom: 243px;
  right: 119px;
}

/* クーポン */
#cuopon {
  text-align: center;
  padding: 50px 0 0;
}
#cuopon .coupon-subtitle {
  margin-bottom: 12px;
}
#cuopon .coupon-title {
  width: 252px;
  height: auto;
}
#cuopon .coupon_detail a:hover img {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}
#cuopon .link-arrow {
  display: inline-block;
  margin-top: 10px;
  margin-right: 1em;
}

/* 新着情報 */
#info {
  display: none;
  aspect-ratio: 1/0.3329;
  position: relative;
  background-image: url(../images/info-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 760px;
  height: 253px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 80px 40px 40px;
}
#info .info_inner {
  height: 100%;
  overflow: auto;
  /* スクロールバー全体 */
  /* スクロールバーのつまみ部分 */
  /* スクロールバーのつまみ部分（ホバー時） */
  /* スクロールバーのトラック部分 */
}
#info .info_inner::-webkit-scrollbar {
  width: 8px;
  /* 横スクロールの場合は height を指定 */
  background: transparent;
  /* 背景を透明に */
}
#info .info_inner::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  /* 半透明の黒 */
  border-radius: 4px;
  /* 丸みをつける */
}
#info .info_inner::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5);
  /* ホバー時に濃くする */
}
#info .info_inner::-webkit-scrollbar-track {
  background: transparent;
  /* トラック部分も透明に */
}
#info h2 {
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
#info h2 img {
  max-width: 372px;
  width: 251px;
  height: auto;
}
#info ul li {
  font-size: 16px;
  border-bottom: 1px dotted #000;
  padding: 0 8px 15px;
  margin-bottom: 15px;
}
#info ul li:last-child {
  border-bottom: none;
}
#info ul li a {
  color: #000;
}
#info ul li a:hover {
  text-decoration: underline;
}
#info ul li a time {
  display: inline-block;
  color: #AB2E3C;
  margin-right: 14px;
}

/*　注意事項　*/
#outline_box {
  font-size: 15px;
}

/* footer */
.footerWrap .btn-links__btn {
  box-shadow: none;
  border: none;
}

/*---------------------------------
  　終了対応
-----------------------------------*/
.coupon-item.js-get-coupon .js-coupon-notfound p {
  position: relative;
  display: inline-block;
}

.coupon-item.js-get-coupon .js-coupon-notfound p:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}

.coupon-item.js-get-coupon .js-coupon-notfound img {
  display: inline-block;
  border-radius: 4px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.2);
  -webkit-tap-highlight-color: transparent;
  pointer-events: none;
  width: 333px;
  height: auto;
}

.coupon-item.js-get-coupon .js-coupon-notfound span {
  position: absolute;
  background: #fff;
  border-radius: 8px;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 10px;
  z-index: 999999;
  text-align: center;
  width: 80%;
  font-size: 16px;
}

/* modal */
.modal-open {
  overflow: hidden;
}

.modal section {
  position: relative;
  width: 803px;
}
.modal section .bg {
  display: block;
  width: 100%;
  height: auto;
}
.modal section .content {
  position: absolute;
  font-size: 16px;
  top: 100px;
  right: 80px;
  left: auto;
  width: 320px;
  margin: 0;
}
.modal section .content p {
  line-height: 1.5;
  margin-bottom: 30px;
}
.modal section .content .btn-wrapper {
  text-align: center;
}
.modal section .content .btn {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  margin: 0 auto;
}
.modal section .content .btn img {
  width: 238px;
  height: auto;
}
.modal section .content .btn.active {
  visibility: visible;
  opacity: 1;
}
.modal .top {
  display: flex;
  padding: 0;
}
.modal .top picture {
  width: 100%;
}
.modal.spot .top {
  display: none;
}
.modal .bottom {
  padding: 0;
}
.modal .bottom .content {
  top: 100px;
  right: 100px;
  width: 300px;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  display: flex;
  justify-content: center;
  align-items: end;
}

.modal__container {
  display: flex;
  flex-direction: column;
  position: relative;
  box-sizing: border-box;
  width: 803px;
  height: 100%;
  justify-content: center;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__close {
  box-shadow: none;
  box-sizing: content-box;
  border: none;
  background-color: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  width: 31px;
  height: 31px;
  z-index: 1;
  margin: 0 10px 10px auto;
  right: 6px;
  top: 17px;
}
.modal__close img {
  width: 100%;
  height: auto;
}

.modal__header .modal__close:before {
  content: "✕";
}

.modal__content {
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100% - 60px);
  height: -moz-fit-content;
  height: fit-content;
  /* スクロールバー全体 */
  /* スクロールバーのつまみ部分 */
  /* スクロールバーのつまみ部分（ホバー時） */
  /* スクロールバーのトラック部分 */
}
.modal__content::-webkit-scrollbar {
  width: 8px;
  /* 横スクロールの場合は height を指定 */
  background: transparent;
  /* 背景を透明に */
}
.modal__content::-webkit-scrollbar-thumb {
  background: rgba(68, 105, 50, 0.5);
  /* 半透明の黒 */
  border-radius: 4px;
  /* 丸みをつける */
}
.modal__content::-webkit-scrollbar-thumb:hover {
  background: rgb(68, 105, 50);
  /* ホバー時に濃くする */
}
.modal__content::-webkit-scrollbar-track {
  background: transparent;
  /* トラック部分も透明に */
}

.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.25s ease-out;
}

.modal__btn:focus,
.modal__btn:hover {
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

#str_container .micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

/* #outline_box */
#outline_box .rs_h2_title_bar {
  margin-left: auto;
  margin-right: auto;
}

.outline {
  padding: 10px;
  border: 2px solid #0071BE;
  font-size: 15px;
  margin: 0 auto;
  padding: 10px 0 0 0;
}
.outline .indent01 {
  padding-left: 1em;
}
.outline > dt {
  padding: 10px 0 0 15px;
  color: #0071BE;
  font-weight: bold;
  float: left;
}
.outline > dd {
  margin: 0 0 10px 0;
  padding: 10px 10px 10px 210px;
  border-bottom: 1px dashed #ccc;
  line-height: 140%;
}
.outline > dd:last-child {
  border-bottom: none;
}
.outline > dd p:first-child {
  margin-top: 0;
}
.outline ul {
  padding-left: 1.5em;
  list-style: disc;
  list-style-position: outside;
}
.outline ul li {
  list-style-type: disc;
}

.notice_tit {
  padding: 8px 15px;
  background-color: #ccc;
  font-size: 1.2em;
}

#notice_box {
  padding: 0 0 10px;
  border: 2px solid #ccc;
  margin: 0 0 10px;
  width: 956px;
  font-size: 15px;
}
#notice_box dl {
  padding: 10px 0 0;
}
#notice_box dt {
  font-weight: bold;
  float: left;
  padding: 10px 0 0 15px;
}
#notice_box dd {
  padding: 10px 10px 10px 210px;
  border-bottom: 1px dashed #ccc;
  line-height: 140%;
}
#notice_box dd:last-child {
  border-bottom: none;
}
#notice_box ul {
  padding-left: 1em;
}
#notice_box ul li {
  list-style: disc;
  list-style-position: outside;
}
#notice_box ul.indent01 {
  padding-left: 0;
}
#notice_box ul.indent01 li {
  text-indent: -1em;
  padding-left: 1em;
  list-style: none !important;
}/*# sourceMappingURL=default.css.map */