@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
  
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

html {
  font-size: 14px;
}

body {
  background: #c0ecff;
  color: #333;
  font-size: 1em;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo",
    sans-serif;
  line-height: 1.42;
  /*background-image: linear-gradient(180deg, rgb(255, 213, 213), rgb(255, 223, 223) 50%, rgb(255, 255, 255));*/
}

img {
  max-width: 100%;
  height: auto;
}

iframe {
  border: none;
}

.text-danger{
  color: #015BAB;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

.yellowbg {
  background: #fffbe8 !important;
  padding: 30px 0;
}

.notfound {
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .notfound {
    padding-top: 200px;
  }
}

.need {
  padding: 5px 12px;
  border-radius: 5px;
  margin-left: 5px;
  background: #e65096;
  color: white;
  font-weight: bold;
}

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

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

a.event-tel {
  color: #e65096;
}
a.event-tel:hover {
  opacity: 0.5;
}

/*Header*/
.header {
  position: fixed;
  z-index: 500;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background: white;
}
.header h1 {
  font-size: 12px;
}
.header .logo {
  height: 70px;
}
@media screen and (min-width: 768px) {
  .header .logo {
    position: absolute;
    max-width: 100%;
    height: auto;
  }
}
.header .pc_logo {
  margin: 0 auto;
}
.header__img {
  position: relative;
  margin-top: 80px;
}
@media screen and (min-width: 768px) and (max-width: 992px) {
  .header__img {
    margin: 0 auto;
    margin-top: 100px;
    width: 100%;
  }
}
@media screen and (min-width: 992px) {
  .header__img {
    margin: 0 auto;
    margin-top: 80px;
    width: 100%;
    max-width: 1031px;
  }
}
.header__img img {
  max-width: 100%;
}
.header__img1 {
  position: absolute;
  z-index: 5;
  top: 10%;
  left: 0%;
  width: 25%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .header__img1 {
    left: 2%;
  }
}
.header__img2 {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 0%;
  width: 15%;
  height: auto;
}
.header__img3 {
  position: absolute;
  z-index: 5;
  top: 5%;
  right: 3%;
  width: 17%;
  height: auto;
}
.header__img4 {
  position: absolute;
  z-index: 5;
  left: 65%;
  bottom: 5%;
  width: 10%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .header__img4 {
    left: 60%;
  }
}
.header__img5 {
  position: absolute;
  z-index: 5;
  right: 0%;
  bottom: 5%;
  width: 16%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .header__img5 {
    right: 10%;
  }
}
.header__img6 {
  position: absolute;
  z-index: 5;
  bottom: 0%;
  left: 20%;
  width: 13%;
  height: auto;
}
.header__imgf {
  z-index: 5;
  position: absolute;
  right: 0%;
  bottom: 23%;
  width: 20%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .header__imgf {
    right: 7%;
  }
}
.header__imgf a {
  color: black;
}
.header__imgf a:hover {
  color: black;
}
.header__imgf .fbg {
  position: relative;
}
.header__imgf .fbg img {
  z-index: -1;
}
.header__imgf .fbg p {
  padding: 0 1rem;
  color: black;
  position: absolute;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 1vw;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}
@media screen and (min-width: 992px) {
  .header__imgf .fbg p {
    font-size: 0.8vw;
  }
}
.header__imgf .fbg p span {
  display: none;
  font-weight: normal;
  font-size: 0.8em;
}
@media screen and (min-width: 992px) {
  .header__imgf .fbg p span {
    display: inline-block;
  }
}
.header__menu {
  position: relative;
  margin: 0px auto;
  margin-top: -50px;
  max-width: 1000px;
  font-size: 12px;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .header__menu {
    font-size: 12px;
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 992px) {
  .header__menu {
    font-size: 13px;
    padding-bottom: 10px;
  }
}
.header__official-btn {
  color: white;
  display: inline-block;
  padding: 8px 20px 10px;
  background: #e65096;
  border-radius: 0px 0px 15px 15px;
}
.header__official-btn:hover {
  color: white;
  text-decoration: none;
}
.header__btn-about {
  font-family: "Kosugi Maru", sans-serif;
  border-left: 2px solid #b3b3b3;
  border-right: 2px solid #b3b3b3;
  display: block;
  text-align: center;
  color: black;
}
.header__btn-about:before {
  content: "";
  margin: 0px auto;
  display: block;
  background: url("../images/header__icon1.png") no-repeat center center;
  width: 60px;
  height: 62px;
}
.header__btn-about:hover {
  opacity: 0.6;
  color: black;
  text-decoration: none;
}
.header__btn-event {
  font-family: "Kosugi Maru", sans-serif;
  border-right: 2px solid #b3b3b3;
  display: block;
  text-align: center;
  color: black;
}
.header__btn-event:before {
  content: "";
  margin: 0px auto;
  display: block;
  background: url("../images/header__icon2.png") no-repeat center center;
  width: 60px;
  height: 62px;
}
.header__btn-event:hover {
  opacity: 0.6;
  color: black;
  text-decoration: none;
}
.header__btn-spot {
  font-family: "Kosugi Maru", sans-serif;
  border-right: 2px solid #b3b3b3;
  display: block;
  text-align: center;
  color: black;
}
@media screen and (min-width: 768px) {
  .header__btn-spot {
    border-left: 2px solid #b3b3b3;
  }
}
.header__btn-spot:before {
  content: "";
  margin: 0px auto;
  display: block;
  background: url("../images/header__icon3.png") no-repeat center center;
  width: 60px;
  height: 62px;
}
.header__btn-spot:hover {
  opacity: 0.6;
  color: black;
  text-decoration: none;
}
.header__btn-shop {
  font-family: "Kosugi Maru", sans-serif;
  border-right: 2px solid #b3b3b3;
  display: block;
  text-align: center;
  color: black;
}
.header__btn-shop:before {
  content: "";
  margin: 0px auto;
  display: block;
  background: url("../images/header__icon4.png") no-repeat center center;
  width: 60px;
  height: 62px;
}
.header__btn-shop:hover {
  opacity: 0.6;
  color: black;
  text-decoration: none;
}
.header .lbn {
  border-left: none;
}
.header .page__logo img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: 100px;
}
.header .page__logo {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: 120px;
}

.fmask {
  z-index: 4;
  position: absolute;
  margin: 0 auto;
  text-align: center;
}
.fmask img {
  width: 100%;
  height: auto;
}

.mainimg {
  max-width: 1000px;
  margin: 20px auto;
  -webkit-mask-image: url("../images/mainimg_mask.png");
  mask-image: url("../images/mainimg_mask.png");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: -1;
}

/*コンテンツ*/
.twrap {
  padding: 0;
  margin: 0 auto;
  max-width: 1440px;
}

.wrap {
  padding: 0;
  margin: 0 auto;
  max-width: 1440px;
}
.wrap .more {
  font-family: "Kosugi Maru", sans-serif;
  text-align: center;
  display: block;
  margin: 20px auto;
  padding: 15px;
  max-width: 600px;
  background: #e65096;
  color: white;
  font-weight: bold;
  font-size: 1rem;
}
.wrap .more:hover {
  opacity: 0.6;
}
.wrap .title {
  text-align: center;
}
/*
.wrap h2 {
  display: inline-block;
  text-align: center;
  margin: 20px auto;
  max-width: 80%;
}
.wrap h2:after {
  content: "";
  display: block;
  background: url("../images/title__bg.png") no-repeat center center;
  margin: 0 auto;
  margin-top: 20px;
  background-size: 80% 55%;
  width: 280px;
  height: 20px;
}

@media screen and (min-width: 768px) {
  .wrap h2:after {
    content: "";
    display: block;
    background: url("../images/title__bg.png") no-repeat center center;
    margin-top: 20px;
    width: 392px;
    height: 26px;
  }
}
*/
.wrap a {
  display: block;
  color: black;
}
.wrap a:hover {
  color: black;
  text-decoration: none;
  opacity: 0.6;
}
.wrap .thumb {
  position: relative;
  background: #f7f7f7;
  border-bottom: 5px solid #c8c9ca;
  padding-bottom: 50px;
}
.wrap .thumb__photo {
  width: 100%;
  height: 40%;
  min-height: 250px;
}
.wrap .thumb__detail {
  padding: 0 20px;
}
.wrap .thumb h3 {
  font-size: 16px;
  line-height: 24px;
  padding: 0;
  padding-bottom: 5px;
  margin: 0;
  font-weight: bold;
}
.wrap .thumb p {
  font-size: 13px;
  line-height: 18px;
}
.wrap .thumb__station {
  position: absolute;
  padding-left: 25px;
  height: 30px;
  line-height: 30px;
  font-size: 0.8rem;
  bottom: 10px;
  background: url("../images/icon__stationpin.png") no-repeat left center;
}
.wrap .thumb .event-date {
  color: #808080;
  font-size: 10px;
  margin: 0;
  padding: 0;
  padding-bottom: 1rem;
  position: absolute;
  bottom: 30px;
}

.event {
  padding: 30px 0;
  background: #fffbe8;
}
@media screen and (min-width: 768px) {
  .event {
    padding: 100px 0;
  }
}
.event .slider {
  width: 100%;
  margin: 0;
  padding: 0;
}
.event .slider_thumb {
  padding-right: 5px;
  margin: 0 auto;
}
.event .slider a {
  width: 100%;
  background: white;
  display: block;
  margin: 0 10px !important;
  padding: 0;
  color: black;
  text-decoration: none;
}
.event .slider a .thumb__photo {
  position: relative;
  max-width: 100%;
  min-height: 50%;
  height: 300px;
  margin: 0;
  padding: 0;
  background: #000;
}
.event .slider a:hover {
  color: black;
  text-decoration: none;
  opacity: 0.6;
}

.shop {
  padding: 30px 0;
}
@media screen and (min-width: 768px) {
  .shop {
    padding: 100px 0;
  }
}

.spot {
  padding: 30px 0;
}
@media screen and (min-width: 768px) {
  .spot {
    padding: 100px 0;
  }
}

.map {
  display: none;
  margin-bottom: 70px;
}
.map #map_canv {
  margin-top: 70px;
}

.news {
  padding: 30px 0;
}
@media screen and (min-width: 768px) {
  .news {
    padding: 100px 0;
  }
}
.news a {
  margin-left: 1rem;
  color: black;
  text-decoration: none;
}
.news a:hover {
  color: black;
  opacity: 0.6;
  text-decoration: none;
}
.news .title {
  text-align: center;
}
.news .title img {
  max-width: 100%;
}

#map_canv {
  width: 100%;
  height: 500px;
}
/*
.page {
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .page {
    padding-top: 180px;
  }
}
*/
.page {
  border-top: #015BAB 10px solid;
}
@media screen and (min-width: 768px) {
  .page {
    border-top: #015BAB 10px solid;
  }
}

.page h2 {
  text-align: center;
  margin: 0 auto;
  font-size: 1.9rem;
}
@media screen and (min-width: 768px) {
  .page h2 {
    /* font-size: 1.5rem; */
  }
}
.page h2 img {
  padding-right: 10px;
  max-width: 50px;
  height: auto;
}
@media screen and (min-width: 768px) {
  .page h2 img {
    max-width: 100%;
  }
}
/*
.page p {
  text-align: center;
  line-height: 2rem;
}
*/
.page .bread {
  margin: 0;
  padding: 0;
}
.page .bread ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.page .bread ol:after {
  clear: both;
}
.page .bread li {
  display: inline-block;
}
.page .bread li a {
  color: black;
}
.page .bread li a:hover {
  color: black;
  opacity: 0.6;
}
.page__title {
  clear: both;
  padding: 30px;
}
.page__title h2 {
  padding: 20px 0;
}
.page__title h2 img {
  max-width: 100% !important;
}
/*
.page h3,
.page p {
  padding: 10px 0;
}
.page p {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .page p {
    font-size: 14px;
  }
}
*/
.page .about {
  padding-bottom: 100px;
}
.page .about a p {
  text-decoration: none;
  color: black;
}
.page .about a .about__btn {
  margin-top: 30px;
  border: 1px solid #ccc;
  display: block;
  text-align: center;
  padding: 15px;
  background: url("../images/about__btn-arrow.png") no-repeat;
  background-position: 20px center;
}
.page .about a:hover {
  text-decoration: none;
}
.page .switch-btn {
  background: #fffbe8;
  text-align: center;
}
.page .switch-btn .area {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .page .switch-btn .area {
    width: 60%;
    margin: 0 auto;
  }
}
.page .switch-btn a {
  font-family: "Kosugi Maru", sans-serif;
  color: black;
  display: block;
  padding: 15px 0;
  background: white;
}
.page .switch-btn a:hover {
  color: #e65096;
}
.page .switch-btn a.gray {
  color: black;
  display: block;
  padding: 15px 0;
  background: #f7f7f7;
}
.page .switch-btn a.gray:hover {
  color: #e65096;
}
.page .contentfooter .forevent {
  text-align: center;
  display: block;
  padding: 20px;
  margin-bottom: 20px;
  color: white;
  background: #e65096;
  border: 1px solid white;
}
.page .contentfooter .forevent:hover {
  opacity: 1;
  color: #e65096;
  border: 1px solid #e65096;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .page .contentfooter .forevent:hover {
    background: url("../images/about__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
@media screen and (min-width: 768px) {
  .page .contentfooter .forevent {
    background: #e65096 url("../images/detail__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
.page .contentfooter .forofficial {
  text-align: center;
  display: block;
  border: 1px solid #e65096;
  padding: 20px;
  color: #e65096;
}
.page .contentfooter .forofficial:hover {
  opacity: 1;
  color: white;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .page .contentfooter .forofficial:hover {
    background: #e65096 url("../images/detail__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
@media screen and (min-width: 768px) {
  .page .contentfooter .forofficial {
    background: url("../images/about__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
.page .contentfooter .tag {
  display: inline-block;
  padding: 0 5px;
  margin-right: 5px;
  margin-bottom: 5px;
  border: 1px solid #ccc;
}
.page .contentfooter .tag a {
  color: black;
}
.page .contentfooter .tag a:hover {
  color: black;
  text-decoration: none;
  opacity: 0.6;
}
.page .slick_thumb {
  max-width: 570px;
  margin: 20px auto;
}
.page .slick_thumb img {
  padding: 0 20px;
}

.thumb_tag {
  font-family: "Kosugi Maru", sans-serif;
  padding: 5px 15px;
  background: white;
  display: inline-block;
  line-height: 2rem;
}

.thumb_new {
  font-weight: bold;
  padding: 5px 10px;
  background: #faed00;
  color: black;
  display: inline-block;
  line-height: 2rem;
}

.thumb_event {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  min-width: 7rem;
  min-height: 7rem;
  text-align: center;
  padding: 3rem 0;
  position: absolute;
  display: inline-block;
  top: 10px;
  right: 10px;
  border-radius: 50%;
  background: #faed00;
  color: black;
}

.list select {
  width: 100%;
  height: 3rem;
}

.poster {
  padding: 50px 0px;
  background: white;
  max-width: 900px;
  margin: 0 auto 50px;
}
@media screen and (min-width: 768px) {
  .poster {
    padding: 50px 50px;
  }
}
.poster h2 {
  text-align: left;
  margin-left: 0px;
  font-weight: bold;
  padding-bottom: 30px;
}
.poster h2 img {
  width: 60px;
  margin-right: -10px;
}
.poster img {
  max-width: 100%;
  height: auto;
}
.poster h3 {
  color: #e65096;
  font-size: 1rem;
  text-align: left;
}
.poster h3.title{
  color: #212529;
}
.poster__dotted {
  border-bottom: 1px dotted #ccc;
  padding: 15px 0;
}
.poster__footer {
  background: white;
  margin: 30px auto;
  width: 100%;
  max-width: 570px;
}
.poster__footer ul {
  margin: 0;
  padding: 0;
}
.poster__footer ul li {
  padding-bottom: 1rem;
}
.poster__card {
  border: 1px solid #ccc;
  border-top: 3px solid #e65096;
  padding: 50px;
  width: 100%;
}
.poster .website {
  text-align: center;
  display: block;
  border: 1px solid #e65096;
  padding: 10px;
  color: #e65096;
}
.poster .website:hover {
  opacity: 1;
  color: white;
  text-decoration: none;
  background: #e65096;
}
@media screen and (min-width: 768px) {
  .poster .website:hover {
    background: #e65096 url("../images/detail__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
@media screen and (min-width: 768px) {
  .poster .website {
    background: url("../images/about__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
.poster .coupon {
  background: #e65096;
  width: 100%;
  padding: 5px;
}
.poster .coupon_frame {
  border: 2px solid white;
}
.poster .coupon_dash {
  border-right: 2px dashed white;
  width: 90%;
}
.poster .coupon_title {
  line-height: 2rem;
  text-align: center;
  color: white;
  font-weight: bold;
}
.poster .coupon_p {
  line-height: 2rem;
  text-align: center;
  color: white;
}

.detail {
  padding: 50px 0px;
  background: white;
  max-width: 900px;
  margin: 50px auto;
}
@media screen and (min-width: 768px) {
  .detail {
    padding: 50px 50px;
  }
}
.detail h2 {
  text-align: left;
  margin-left: 0px;
  font-weight: bold;
  padding-bottom: 30px;
}
.detail h2 img {
  width: 60px;
  margin-right: -10px;
}
.detail h3 {
  color: #e65096;
  font-size: 1rem;
  text-align: left;
}
.detail__dotted {
  border-bottom: 1px dotted #ccc;
  padding: 15px 0;
}
.detail__footer {
  background: white;
  margin: 30px auto 0;
  width: 100%;
  /*max-width:570px;*/
}
.detail__footer ul {
  margin: 0;
  padding: 0;
  padding-left: 1rem;
}
.detail__footer ul li {
  padding-bottom: 1rem;
}
.detail__footer ul li ul {
  padding-top: 1rem;
}
.detail__footer ul li ul li {
  padding-bottom: 0.5rem;
}
.detail__card {
  border: 1px solid #ccc;
  border-top: 3px solid #015BAB;
  padding: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .detail__card {
    padding: 50px;
  }
}
.detail .website {
  text-align: center;
  display: block;
  border: 1px solid #e65096;
  padding: 10px;
  color: #e65096;
}
.detail .website:hover {
  opacity: 1;
  color: white;
  text-decoration: none;
  background: #e65096;
}
@media screen and (min-width: 768px) {
  .detail .website:hover {
    background: #e65096 url("../images/detail__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
@media screen and (min-width: 768px) {
  .detail .website {
    background: url("../images/about__btn-arrow.png") no-repeat;
    background-position: 30px center;
  }
}
.detail .coupon {
  background: #e65096;
  width: 100%;
  padding: 5px;
}
.detail .coupon_frame {
  border: 2px solid white;
}
.detail .coupon_dash {
  border-right: 2px dashed white;
  width: 90%;
}
.detail .coupon_title {
  line-height: 2rem;
  text-align: center;
  color: white;
  font-weight: bold;
}
.detail .coupon_p {
  line-height: 2rem;
  text-align: center;
  color: white;
}

.btn_pdf a {
  background: #e65096;
  border-radius: 5%;
  padding: 0px 15px;
  color: white;
  text-decoration: none;
  display: inline-block;
}
.btn_pdf a:hover {
  color: white !important;
  opacity: 0.5;
  text-decoration: none;
}

.refine {
  margin-top: 50px;
  border: none;
  padding: 10px 30px;
  background: #e65096;
  color: white;
  margin: 10px auto;
}

.phr {
  margin-top: 50px;
  padding-bottom: 10px;
}

.pagenation {
  color: black;
  margin: 0 5px 15px;
  display: inline-block !important;
  padding: 5px 15px;
  background: #f2f2f2;
}
.pagenation:hover {
  color: black;
  text-decoration: none;
  opacity: 0.6;
}

.pagenation__d {
  margin: 0 5px 15px;
  display: inline-block;
  padding: 5px 15px;
  background: #b3b3b3;
}

.pagenation__a {
  color: black;
  text-decoration: none;
}
.pagenation__a:hover {
  opacity: 0.6;
  color: black;
  text-decoration: none;
}

.apply {
  padding: 50px;
}
.apply input,
.apply textarea {
  width: 100%;
}
.apply .sinput {
  width: 12rem;
}
.apply .apply-submit {
  display: inline-block;
  padding: 5px 20px;
  background: #e65096;
  color: white;
  border: none;
}

/*siteShare
----------------------------------------*/
.siteShare {
  margin: 50px 0;
  padding: 15px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.siteShare::after {
  clear: both;
  content: "";
  display: table;
}

.siteShare__label {
  margin-right: 20px;
  padding-top: 10px;
  float: left;
}

.siteShare .wp_social_bookmarking_light {
  float: left;
}

/*ScrollTop
----------------------------------------*/
.scrollTop .container {
  position: relative;
}

.scrollTop a {
  position: fixed;
  right: 30px;
  bottom: 30px;
}

/*Footer
----------------------------------------*/
.footer {
  padding-bottom: 30px;
  background: #f9f9f9;
}

.footer__guide {
  position: relative;
  padding-bottom: 60px;
  margin-bottom: 30px;
  border-bottom: 2px solid #e4e2e2;
}

.footer__guide::after {
  clear: both;
  content: "";
  display: table;
}

.footer__guide:before {
  position: absolute;
  top: -22px;
  right: -170px;
  z-index: 5;
  width: 260px;
  height: 25px;
  background: url(../img/illust_train.svg) no-repeat;
  content: "";
}

.footer__imgMap {
  float: left;
  margin: 30px 10px 0 0;
  width: 255px;
}

.footer__sitemap,
.footer__sitemap2 {
  float: left;
  margin-top: 45px;
  width: 580px;
}

.footer__sitemap::after,
.footer__sitemap2::after {
  clear: both;
  content: "";
  display: table;
}

.footer__sitemap a,
.footer__sitemap2 a {
  color: #333;
}

.footer__sitemap ul,
.footer__sitemap2 ul {
  margin: 0;
  padding-left: 0;
  list-style-type: none;
}

.footer__sitemap .footer1,
.footer__sitemap .footer2,
.footer__sitemap .footer3,
.footer__sitemap .footer4,
.footer__sitemap2 .footer1,
.footer__sitemap2 .footer2,
.footer__sitemap2 .footer3,
.footer__sitemap2 .footer4 {
  float: left;
  padding-right: 10px;
}

.footer__sitemap .footer1 .emptynav > a,
.footer__sitemap .footer2 .emptynav > a,
.footer__sitemap .footer3 .emptynav > a,
.footer__sitemap .footer4 .emptynav > a,
.footer__sitemap2 .footer1 .emptynav > a,
.footer__sitemap2 .footer2 .emptynav > a,
.footer__sitemap2 .footer3 .emptynav > a,
.footer__sitemap2 .footer4 .emptynav > a {
  display: none;
}

.footer__sitemap .footer1 > ul > li > a,
.footer__sitemap .footer2 > ul > li > a,
.footer__sitemap .footer3 > ul > li > a,
.footer__sitemap .footer4 > ul > li > a,
.footer__sitemap2 .footer1 > ul > li > a,
.footer__sitemap2 .footer2 > ul > li > a,
.footer__sitemap2 .footer3 > ul > li > a,
.footer__sitemap2 .footer4 > ul > li > a {
  display: inline-block;
  margin: 1em 0 0.5em;
  font-weight: bold;
  font-size: 0.92857em;
}

.footer__sitemap .footer1 > ul > li:first-child > a,
.footer__sitemap .footer2 > ul > li:first-child > a,
.footer__sitemap .footer3 > ul > li:first-child > a,
.footer__sitemap .footer4 > ul > li:first-child > a,
.footer__sitemap2 .footer1 > ul > li:first-child > a,
.footer__sitemap2 .footer2 > ul > li:first-child > a,
.footer__sitemap2 .footer3 > ul > li:first-child > a,
.footer__sitemap2 .footer4 > ul > li:first-child > a {
  margin-top: 0;
}

.footer__sitemap .footer1 .sub-menu,
.footer__sitemap .footer2 .sub-menu,
.footer__sitemap .footer3 .sub-menu,
.footer__sitemap .footer4 .sub-menu,
.footer__sitemap2 .footer1 .sub-menu,
.footer__sitemap2 .footer2 .sub-menu,
.footer__sitemap2 .footer3 .sub-menu,
.footer__sitemap2 .footer4 .sub-menu {
  font-size: 0.85714em;
}

.footer__sitemap .footer1 .sub-menu li,
.footer__sitemap .footer2 .sub-menu li,
.footer__sitemap .footer3 .sub-menu li,
.footer__sitemap .footer4 .sub-menu li,
.footer__sitemap2 .footer1 .sub-menu li,
.footer__sitemap2 .footer2 .sub-menu li,
.footer__sitemap2 .footer3 .sub-menu li,
.footer__sitemap2 .footer4 .sub-menu li {
  margin: 0.5em 0;
}

.footer__sitemap .footer1 .sub-menu li,
.footer__sitemap .footer2 .sub-menu li,
.footer__sitemap .footer3 .sub-menu li,
.footer__sitemap .footer4 .sub-menu li,
.footer__sitemap2 .footer1 .sub-menu li,
.footer__sitemap2 .footer2 .sub-menu li,
.footer__sitemap2 .footer3 .sub-menu li,
.footer__sitemap2 .footer4 .sub-menu li {
  position: relative;
}

.footer__sitemap .footer1 .sub-menu li:before,
.footer__sitemap .footer2 .sub-menu li:before,
.footer__sitemap .footer3 .sub-menu li:before,
.footer__sitemap .footer4 .sub-menu li:before,
.footer__sitemap2 .footer1 .sub-menu li:before,
.footer__sitemap2 .footer2 .sub-menu li:before,
.footer__sitemap2 .footer3 .sub-menu li:before,
.footer__sitemap2 .footer4 .sub-menu li:before {
  position: absolute;
  content: ">";
}

.footer__sitemap .footer1 .sub-menu li a,
.footer__sitemap .footer2 .sub-menu li a,
.footer__sitemap .footer3 .sub-menu li a,
.footer__sitemap .footer4 .sub-menu li a,
.footer__sitemap2 .footer1 .sub-menu li a,
.footer__sitemap2 .footer2 .sub-menu li a,
.footer__sitemap2 .footer3 .sub-menu li a,
.footer__sitemap2 .footer4 .sub-menu li a {
  display: inline-block;
  margin-left: 1em;
}

.footer__sitemap .footer1 .outlink:after,
.footer__sitemap .footer2 .outlink:after,
.footer__sitemap .footer3 .outlink:after,
.footer__sitemap .footer4 .outlink:after,
.footer__sitemap2 .footer1 .outlink:after,
.footer__sitemap2 .footer2 .outlink:after,
.footer__sitemap2 .footer3 .outlink:after,
.footer__sitemap2 .footer4 .outlink:after {
  padding-left: 3px;
  font-family: "skIcon";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.footer__sitemap .footer1,
.footer__sitemap2 .footer1 {
  width: 200px;
}

.footer__sitemap .footer2,
.footer__sitemap2 .footer2 {
  width: 170px;
}

.footer__sitemap .footer3,
.footer__sitemap2 .footer3 {
  width: 210px;
}

.footer__sitemap .footer4,
.footer__sitemap2 .footer4 {
  width: 200px;
}

.footer__sitemap2 {
  width: 780px;
}

.footer__banner {
  float: right;
  margin-top: 45px;
  width: 200px;
}

.footer__banner p {
  margin: 0 0 10px;
}

.footer__banner img {
  max-width: 100%;
  height: auto;
  width: auto;
  width: inherit\9;
  max-width: 100% \9;
  height: auto\9;
  vertical-align: bottom;
}

.footer__profile {
  float: left;
  font-size: 0.85714em;
  line-height: 1.66;
}

.footer__profile::after {
  clear: both;
  content: "";
  display: table;
}

.footer__profile img {
  float: left;
  margin-right: 35px;
}

.footer__profile p {
  float: left;
  margin: 0;
}

.footer__copyrights {
  float: right;
  margin: 1.5em 0 0 0;
  color: #a1a1a1;
  font-family: Arial, sans-serif;
  font-size: 0.85714em;
  line-height: 1.66;
}

.footer__copyrights p {
  margin: 0;
}

/* for jsPrint
----------------------------------------*/
.js-for-print {
  display: none;
}

@media print {
  header {
    display: none !important;
    color:#FFF;
  }
}

footer {
  background: #015BAB;
  text-align: center;
  color: #FFF;
}
footer .inner {
  max-width: 1024px;
  margin: 0 auto;
  position: relative;
}

footer .inner {
  max-width: 900px;
  margin: 0 auto;
}

footer .fBnr {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 20px);
  height: auto;
  padding: 10px;
  list-style: none;
  margin: 0 -20px;
}
footer .fBnr li {
  margin: 0;
  padding: 10px;
  align-items: center;
  font-size: 130%;
}
footer .fBnr li a {
  font-weight: bold;
  text-decoration: none;
}

footer .fBnr li.fTW a {
  /* color: #1d9bf0; */
  color: #000;
}
footer .fBnr li img {
  height: 40px;
  width: auto;
  vertical-align: bottom;
  background-color: #FFF;
}
.copyright {
  /*
  font-size: 12px;
  margin: 0;
  padding: 20px 0;
  color: #333;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -2.5em;
  */
}



@media screen and (min-width: 1025px) {
  .forSMP {
    display: none !important;
  }

  .toTop {
    width: 60px;
    height: 60px;
    margin: 0;
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: table;
    z-index: 10;
  }
  .toTop a {
    display: block;
    text-align: left;
    width: 60px;
    height: 60px;
    background: #fff url(../images/ic_totop.png) no-repeat center center;
    text-decoration: none;
    border-radius: 8px;
    text-indent: -1000em;
  }
}
@media screen and (max-width: 1025px) {
  .forPC{
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .forSP {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {

  .copyright {
    font-size: 87.5%;
    position: inherit;
    top: auto;
    top: inherit;
    right: auto;
    right: inherit;
    text-align: center;
    margin-top: 0;
  }

  footer .fBnr {
    display: block;
    width: auto;
    padding: 10px;
    margin: 0;
  }
}
@media screen and (max-width: 786px) {

}
@media screen and (max-width: 690px) {
}

/* 2021/12/29 更新 */
#news ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#news ul li {
  list-style: none;
  width: 33%;
}
#news ul li img {
  cursor: pointer;
}

@media screen and (max-width: 786px) {
  #news ul {
    display: block;
  }
#news ul li {
  list-style: none;
  width: 100%;
  margin-bottom: 1em;
}
}


canvas {
  position: fixed;
  z-index: -1;
  background-image: linear-gradient(180deg, rgb(255, 213, 213), rgb(255, 223, 223) 50%, rgb(255, 255, 255));
}

.acceptance-list{
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 13em;
}

.hide img {
    width: 125px;       /* 横幅固定 */
    height: 85px;      /* 高さ固定 */
    
    /* アスペクト比を維持して枠を埋める（はみ出しはカット） */
    object-fit: cover; 
    
    /* ブラウザに事前に領域を確保させる（ズレ防止） */
    aspect-ratio: 125 / 85; 
    
    display: block;
    background-color: #f0f0f0; /* 読み込み前の背景色 */
    margin: 0 auto;           /* 中央寄せ（必要であれば） */
}

#resultList{
    list-style: none;
    margin: 0 0 1em 0;
    padding: 0;
    text-align: center;
}

.searchModalclose{
    margin: auto;
    display: block;
}

#searchModal{
  display:none; 
  position:fixed; 
  top:0; 
  left:0; 
  width:100%; 
  height:100%; 
  background:rgba(0,0,0,0.8); 
  z-index:9999;
  
}
#searchModal .Modal_box{
  background:white; 
  margin:10% auto; 
  padding:20px; 
  width:80%; 
  max-height:70%; 
  overflow-y:auto; 
  background:#fff;
  border-radius: 1em;
}
#searchModal a{
  max-width:80%;
}

.targetImage{
  outline:3px solid red;
  outline-offset: -3px; /* 内側に枠線を出す */
  transition: outline 0.3s;
}