@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------
  reset
-------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}
html, body, header, footer, main, aside, nav, article, section, figure, figcaption, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, tr, th, td, iframe, a, img, p, div, span {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  outline: none;
}
html, body {
  width: 100%;
  height: 100%;
  color: #000;
  font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans CJK JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', sans-serif;
  font-size: 62.5%;
  line-height: 1.46;
  background: #fff;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
  font-weight: normal;
  font-weight: 400;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: baseline;
}
b, em, strong {
  font-weight: 700;
  font-weight: bolder;
}
i {
  font-style: italic;
}
small {
  font-size: 75%;
}
sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* --------------------------------------------------
  .container
-------------------------------------------------- */
.container {
  margin: 0 auto;
  max-width: 750px;
}
/* --------------------------------------------------
  header
-------------------------------------------------- */
.hero {
  display: block;
}
.lead-txt {
  padding: 20px 2.8% 28px 2.8%;
  font-size: 1.3rem;
}
/* --------------------------------------------------
  article
-------------------------------------------------- */
h2 {
  padding: 9.5px 5.6%;
  text-align: center;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
  background: #4a4a4a;
}
.js-fixed {
  position: fixed;
  bottom: 0;
  z-index: 9999;
  margin: 0 auto;
  width: 100%;
  max-width: 750px;
}
.area-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16.3px 3.1% 12.3px 3.1%;
  background: #ececec;
  list-style: none;
}
.area-list-item-container {
  flex: 0 0 18.1%;
  margin: 0 0 4px 0;
}
.area-list-item {
  padding: 2px 0;
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
  text-decoration: underline;
  background: #73c7e6;
  border-radius: 12px;
}
/* --------------------------------------------------
  .area
-------------------------------------------------- */
.area {
  padding: 20px 0 0 0;
}
.area-ttl {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}
.spot {
  padding: 13px 2.8% 0 2.8%;
}
.spot a:link,
.spot a:visited,
.spot a:hover,
.spot a:active {
  color: #000;
  text-decoration: none;
}
.spot-ttl-container {
  position: relative;
}
.spot-ttl {
  display: flex;
  align-items: flex-end;
  padding: 0 5px 8px 5px;
  width: 100%;
  height: 100%;
  line-height: 1.25;
  color: #fff;
  font-size: 2.0rem;
  font-feature-settings: 'palt';
  background: linear-gradient(to bottom, rgba(255,255,255,0) 25%, rgba(0,0,0,.5));
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.spot-ttl-bg {
  display: block;
}
.spot-dtl {
  padding: 14px 0 1.46em 0;
  font-size: 1.3rem;
  position: relative;
}
.more {
  padding: 0 0 0 .5em;
  color: #4a90e2;
  position: absolute;
  right: 0;
  bottom: 0;
}
.otr-spot-list-contianer {
  padding: 21px 0 0 0;
}
.otr-spot-list-ttl {
  padding: 8px 2.8%;
  color: #333;
  font-size: 1.6rem;
  font-weight: bold;
  background: #ececec;
}
.otr-spot-list {
  padding: 7px 2.8% 0 2.8%;
  list-style: none;
}
.otr-spot {
  padding: 3px 0;
  color: #4a4a4a;
  font-size: 1.3rem;
  font-weight: bold;
  border-bottom: 2px solid #bebebe;
  position: relative;
}
.sapa-otr-spot {
  border-bottom: none;
}
.otr-spot::after {
  content: '';
  width: 11px;
  height: 9px;
  background: url(../../../img/push/20180424/ar.png) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 2.8%;
  margin: -4.5px 0 0 0;
  z-index: -1;
}
.otr-spot-inner {
  display: block;
  overflow: hidden;
}
.otr-spot a:link,
.otr-spot a:visited,
.otr-spot a:hover,
.otr-spot a:active {
  color: #4a4a4a;
  text-decoration: none;
}
.otr-spot-thumb-container {
  width: 26.4%;
  float: left;
}
.otr-spot-thumb {
  display: block;
}
.otr-spot-ttl {
  padding: 4px 10% 4px 28.6%;
}
/* --------------------------------------------------
  footer
-------------------------------------------------- */
footer {
  padding: 10px 0 8px 0;
  text-align: center;
}
.ft-logo {
  display: block;
  margin: 0 auto;
  width: 71px;
}
.copy {
  padding: 5px 0 0 0;
}
.copy small {
  font-size: .9rem;
}
