@charset "utf-8";
/******************* Web Font *******************/
@font-face {
  font-family: 'Playball';
  src: url('../fonts/Playball-Regular.ttf') format("truetype");
  font-display: swap;
}
/******************* Global *******************/
html, body {
  height: 100%;
  font-family: Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  line-height: 1.6;
}
/*common*/
* {
  box-sizing: border-box !important;
}
body {
  color: #5a5353;
}
/*link*/
a {
  color: #5a5353;
  text-decoration: none;
}
a:hover {
  color: #fe8006;
}
/*align*/
.txt-center {
  text-align: center;
}
/*basic*/
.inner {
  padding: 0;
}
.content-wrapper {
  position: relative;
  width: 100%;
  padding: 4em 3em;
  box-sizing: border-box;
}
.content-wrapper .spot-wrapper {
  margin-bottom: 6em;
  padding-bottom: 8em;
  box-sizing: border-box;
  position: relative;
}
#sld-h2v2 .content-wrapper .spot-wrapper::after, #sld-h3v2 .content-wrapper .spot-wrapper::after, #sld-h4v2 .content-wrapper .spot-wrapper::after {
  content: "";
  display: inline-block;
  background-image: url(../images/spot-wrapper-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  height: auto;
  padding: 3em 0;
  box-sizing: border-box;
  position: absolute;
  bottom: -20px;
}
.content-wrapper .spot-wrapper.last-wrapper {
  margin-bottom: 0;
  padding-bottom: 0;
}
#sld-h2v2 .content-wrapper .spot-wrapper.last-wrapper::after, #sld-h3v2 .content-wrapper .spot-wrapper.last-wrapper::after, #sld-h4v2 .content-wrapper .spot-wrapper.last-wrapper::after {
  content: none;
}
@media screen and (max-width: 480px) {
  .content-wrapper .spot-wrapper {
    margin-bottom: 0;
    padding-bottom: 4em;
  }
  #sld-h2v2 .content-wrapper .spot-wrapper::after, #sld-h3v2 .content-wrapper .spot-wrapper::after, #sld-h4v2 .content-wrapper .spot-wrapper::after {
    height: 30px;
    bottom: -15px;
    background-size: 200%;
  }
}
/*other-spot*/
.content-wrapper .spot-wrapper .other-spot {
  position: relative;
  width: 100%;
  margin: 1em 0 0;
  padding: 2em;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  /*justify-content: space-between;*/
  background: #e2edff;
  border-radius: 0.5em;
}
.content-wrapper .spot-wrapper .other-spot .other-spot-theme {
  width: 100%;
}
.content-wrapper .spot-wrapper .other-spot h5 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  color: #fe9706;
  text-align: center;
}
.content-wrapper .spot-wrapper .other-spot h5::before, .content-wrapper .spot-wrapper .other-spot h5::after {
  content: '';
  width: 3px;
  height: 40px;
  background-color: #fed706;
}
.content-wrapper .spot-wrapper .other-spot h5::before {
  margin-right: 30px;
  transform: rotate(-35deg)
}
.content-wrapper .spot-wrapper .other-spot h5::after {
  margin-left: 30px;
  transform: rotate(35deg)
}
.content-wrapper .spot-wrapper .other-spot .item {
  display: block;
  width: 22.2%;
  position: relative;
  margin: 1em 1.4%;
  overflow: hidden;
}
.content-wrapper .spot-wrapper .other-spot .item .txt {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
  background: linear-gradient(rgba(0, 0, 0, .0), rgba(0, 0, 0, .5), rgba(0, 0, 0, 1));
  color: #fff;
}
.content-wrapper .spot-wrapper .other-spot .item .txt .theme {
  position: relative;
  font-size: 100%;
  font-family: inherit;
  line-height: 1.2;
  text-align: left;
  padding: 0;
  margin: 0;
  width: 100%;
}
.content-wrapper .spot-wrapper .other-spot .item .txt .name {
  padding: 0;
  margin: 0 0 0.5em 0;
  line-height: 1.3;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, .6);
}
.content-wrapper .spot-wrapper .other-spot .item .txt .read {
  font-size: 80%;
  padding: 0;
  margin: 0 0 1.2em;
  line-height: 1.2;
}
.content-wrapper .spot-wrapper .other-spot .item .txt .gp-link-nearly {
  margin: .5em 0 0;
  padding: 0.3em 1em 0.3em 1.7em;
  background-color: rgb(254 151 6 / 30%) !important;
  border: 1px solid rgba(255, 255, 255, .3);
}
.content-wrapper .spot-wrapper .other-spot .item .txt .gp-link-nearly a::before {
  color: #fe8006 !important;
}
.content-wrapper .spot-wrapper .other-spot .item .txt .gp-link-nearly a:hover::before {
  background: #fe8006 !important;
  color: #fff !important;
  border: none;
}
.content-wrapper .spot-wrapper .other-spot .item .txt .gp-link-nearly a span {
  display: block;
  padding: 0 0 .3em 0;
  margin: 0;
  border-bottom: 1px solid #fff;
}
.content-wrapper .spot-wrapper .other-spot .bg-photo {
  display: block;
  width: 100%;
}
.content-wrapper .spot-wrapper .other-spot .bg-photo img {
  display: block;
  width: 100%;
}
.content-wrapper .spot-wrapper .other-spot .gp-link-nearly {
  display: block;
}
@media screen and (min-width: 681px) and (max-width: 1100px) {
  /*other-spot*/
  .content-wrapper .spot-wrapper .other-spot {
    padding: 2em 1em;
  }
  .content-wrapper .spot-wrapper .other-spot .item {
    width: 31%;
    margin: 1em 1%;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt {
    padding: 0.7em;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt .theme {
    font-size: 70%;
    margin-bottom: -0.3em;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt .name {
    font-size: 80%;
    margin: 0;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt .read {
    margin: 0 -2em 0 -1em;
    font-size: 60%;
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9);
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt .gp-link-nearly {
    margin: 0;
    padding: 0 -1em;
  }
}
@media screen and (min-width: 481px) and (max-width: 680px) {
  /*other-spot*/
  .content-wrapper .spot-wrapper .other-spot .item {
    width: 48%;
    margin: 1em 1%;
  }
  .content-wrapper .spot-wrapper .other-spot:after {
    content: "";
    display: block;
    width: 48%; /* itemに指定したwidthと同じ幅 */
    height: 0;
  }
}
@media screen and (max-width: 480px) {
  /*basic*/
  .content-wrapper {
    padding: 3em 1em 6em;
  }
  /*other-spot*/
  .content-wrapper .spot-wrapper .other-spot {
    position: relative;
    padding: 1em .5em;
  }
  .content-wrapper .spot-wrapper .other-spot .item {
    width: 46.5%;
    margin: .3em .3em;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt {
    padding: 0.5em 0.5em 1em 1em;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt .gp-link-nearly {
    padding: .1em .3em .1em .8em;
  }
  .content-wrapper .spot-wrapper .other-spot .item .txt .name {
    font-size: 75%;
  }
}
/******************* PC SP *******************/
@media screen and (min-width: 481px) {
  .sp-only {
    display: none !important;
  }
  .for-sp {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .pc-only {
    display: none !important;
  }
  .for-pc {
    display: none;
  }
}
/******************* Margin *******************/
.mg-0 {
  margin: 0 !important;
}
.mg-R-20 {
  margin-right: 20px !important;
}
.mg-B-0 {
  margin-bottom: 0 !important;
}
.mg-B-10 {
  margin-bottom: 10px !important;
}
.mg-B-20 {
  margin-bottom: 20px !important;
}
.mg-B-30 {
  margin-bottom: 30px !important;
}
.mg-B-40 {
  margin-bottom: 40px !important;
}
.mg-B-50 {
  margin-bottom: 50px !important;
}
.mg-R-10 {
  margin-right: 10px !important;
}
.mg-R-20 {
  margin-right: 20px !important;
}
.mg-T-0 {
  margin-top: 0 !important;
}
.mg-T-10 {
  margin-top: 10px !important;
}
.mg-T-20 {
  margin-top: 20px !important;
}
.mg-T-30 {
  margin-top: 30px !important;
}
/******************* Padding *******************/
.pdg-0 {
  padding: 0 !important;
}
.pdg-T-0 {
  padding-top: 0 !important;
}
.pdg-T-10 {
  padding-top: 1px !important;
}
.pdg-T-20 {
  padding-top: 20px !important;
}
.pdg-B-0 {
  padding-bottom: 0 !important;
}
.pdg-B-10 {
  padding-bottom: 10px !important;
}
.pdg-B-20 {
  padding-bottom: 20px !important;
}
.pdg-L-0 {
  padding-left: 0 !important;
}
.pdg-l-10 {
  padding-left: 10px !important;
}
.pdg-l-20 {
  padding-left: 20px !important;
}
.pdg-R-0 {
  padding-right: 0 !important;
}
.pdg-R-20 {
  padding-right: 20px !important;
}
/******************* Text Size *******************/
.txt-cap {
  font-size: 12px;
}
.txt-big {
  font-size: 120%;
}
.txt-small {
  font-size: 90%;
}
/******************* Text Weight *******************/
.txt-normal {
  font-weight: normal !important;
}
.txt-bld {
  font-weight: bold !important;
}
/******************* Text Color *******************/
.txt-red {
  color: #f00;
}
.txt-gray {
  color: #777;
}
/******************* Text Arign *******************/
.txt-left {
  text-align: left !important;
}
/******************* Background Color *******************/
.bg-l_blue {
  background: #eceff6 !important;
}
/******************* Border-Box *******************/
.border-box {
  border: 1px solid #999;
}
/******************* List *******************/
ul.kome {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.kome li {
  text-indent: -1em;
  padding-left: 1em;
}
ul.kome li::before {
  content: "※";
  margin-right: 0.2em;
}
ul.disc {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.disc li {
  text-indent: -1em;
  padding-left: 1em;
}
ul.disc li::before {
  content: "・";
  margin-right: 0.2em;
}
/******************* Flex *******************/
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (orientation: portrait) { /*デバイスが縦向きの場合*/
  .flex-container {
    display: block;
  }
}
/******************* Float *******************/
.fleft {
  float: left;
}
.fright {
  float: right;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix:before {
  content: "";
  display: block;
  clear: both;
}
.clearfix {
  display: block;
}
/******************* Preloader *******************/
#preloader { /*jsの記述上cssファイルから削除不可*/
}
#grid-status {
  width: 80px;
  height: 80px;
  position: fixed;
  left: 50%;
  top: 50%;
  margin: -40px 0 0 -40px;
}
.grid-spinner {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.grid-spinner div {
  position: absolute;
  width: 16px;
  height: 16px;
  background: #a79d79;
  animation: grid-spinner 1.2s linear infinite;
  color: #fff;
  outline: 1px solid rgba(255, 255, 255, .2);
  outline-offset: -1px;
}
.grid-spinner div:nth-child(1) {
  top: 8px;
  left: 8px;
  animation-delay: 0s;
}
.grid-spinner div:nth-child(2) {
  top: 8px;
  left: 32px;
  animation-delay: -0.4s;
}
.grid-spinner div:nth-child(3) {
  top: 8px;
  left: 56px;
  animation-delay: -0.8s;
}
.grid-spinner div:nth-child(4) {
  top: 32px;
  left: 8px;
  animation-delay: -0.4s;
}
.grid-spinner div:nth-child(5) {
  top: 32px;
  left: 32px;
  animation-delay: -0.8s;
}
.grid-spinner div:nth-child(6) {
  top: 32px;
  left: 56px;
  animation-delay: -1.2s;
}
.grid-spinner div:nth-child(7) {
  top: 56px;
  left: 8px;
  animation-delay: -0.8s;
}
.grid-spinner div:nth-child(8) {
  top: 56px;
  left: 32px;
  animation-delay: -1.2s;
}
.grid-spinner div:nth-child(9) {
  top: 56px;
  left: 56px;
  animation-delay: -1.6s;
}
@keyframes grid-spinner {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
/******************* ROADING COLOR ******************/
.grid-spinner .road-01 {
  background: rgb(0, 236, 0);
  background: linear-gradient(-45deg, rgba(0, 128, 0, 1) 0%, rgba(0, 236, 0, 1) 40%, rgba(186, 255, 71, 1) 86%);
}
.grid-spinner .road-02 {
  background: rgb(0, 213, 179);
  background: linear-gradient(-45deg, rgba(0, 170, 163, 1) 0%, rgba(0, 213, 179, 1) 40%, rgba(170, 255, 223, 1) 86%);
}
.grid-spinner .road-03 {
  background: rgb(0, 128, 255);
  background: linear-gradient(-45deg, rgba(0, 85, 170, 1) 0%, rgba(0, 128, 255, 1) 40%, rgba(128, 191, 255, 1) 86%);
}
.grid-spinner .road-04 {
  background: rgb(215, 97, 229);
  background: linear-gradient(-45deg, rgba(170, 0, 170, 1) 0%, rgba(215, 97, 229, 1) 40%, rgba(228, 148, 237, 1) 86%);
}
.grid-spinner .road-05 {
  background: rgb(255, 111, 183);
  background: linear-gradient(-45deg, rgba(255, 85, 170, 1) 0%, rgba(255, 111, 183, 1) 40%, rgba(255, 164, 205, 1) 86%);
}
.grid-spinner .road-06 {
  background: rgb(255, 177, 98);
  background: linear-gradient(-45deg, rgba(255, 128, 0, 1) 0%, rgba(255, 177, 98, 1) 40%, rgba(255, 213, 141, 1) 86%);
}
.grid-spinner .road-07 {
  background: rgb(255, 255, 0);
  background: linear-gradient(-45deg, rgba(255, 234, 0, 1) 0%, rgba(255, 255, 0, 1) 40%, rgba(255, 255, 144, 1) 86%);
}
.grid-spinner .road-08 {
  background: rgb(255, 0, 0);
  background: linear-gradient(-45deg, rgba(181, 0, 0, 1) 0%, rgba(255, 0, 0, 1) 40%, rgba(255, 76, 76, 1) 86%);
}
.grid-spinner .road-09 {
  background: rgb(187, 118, 50);
  background: linear-gradient(-45deg, rgba(151, 68, 0, 1) 0%, rgba(187, 118, 50, 1) 40%, rgba(255, 155, 105, 1) 86%);
}
/******************* CSS reset *******************/
#blb_book, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, span {
  margin: 0;
  padding: 0;
}
html #blb_book {
  margin: 0;
  padding: 0;
  background: #fff;
}
.blb_book_bg {
  background: #fff;
}
/******************* blb_book *******************/
.blb_book_bg {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 8000;
  top: 0;
  left: 0;
}
/******************* FP Container *******************/
.fp-container {
  position: relative;
  text-align: center;
}
.fp-container > header {
  padding: 0;
  /*margin: 1em 2.7em;*/
  margin: .5em 2.7em;
  position: relative;
  display: flex;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  text-align: left;
}
.fp-container > header h1.chibacity-ta-logo {
  width: 180px;
}
.fp-container > header h1.chibacity-ta-logo img {
  width: 100%;
}
@media screen and (min-width:481px) {
  .fp-container {
    display: inline-block !important;
  }
}
@media screen and (max-width:480px) {
  .fp-container > header {
    /*display: inline-block;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .fp-container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
/*Map Switch*/
p.map-switch {
  display: block;
  padding: 15px 0px;
}
p.map-switch a {
  font-family: "Meiryo UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "MS PGothic", sans-serif !Important;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding: 4px 10px 3px;
  font-size: 13px;
  line-height: 18px;
  margin: 2px 3px;
  font-weight: 800;
  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  color: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background: #a90329;
  background: -moz-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #a90329), color-stop(44%, #8f0222), color-stop(100%, #6d0019));
  background: -webkit-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: -o-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: -ms-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
}
p.map-switch a:hover {
  background: #6d0019;
}
p.map-switch a:active {
  background: #6d0019;
  background: -moz-linear-gradient(top, #6d0019 0%, #8f0222 56%, #a90329 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #6d0019), color-stop(56%, #8f0222), color-stop(100%, #a90329));
  background: -webkit-linear-gradient(top, #6d0019 0%, #8f0222 56%, #a90329 100%);
  background: -o-linear-gradient(top, #6d0019 0%, #8f0222 56%, #a90329 100%);
  background: -ms-linear-gradient(top, #6d0019 0%, #8f0222 56%, #a90329 100%);
  background: linear-gradient(top, #6d0019 0%, #8f0222 56%, #a90329 100%);
  -webkit-box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
  -moz-box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
  box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
}
/* Media Queries */
@media screen and (max-width: 767px) {
  .fp-container > header {
    text-align: center;
  }
  p.map-switch {
    position: relative;
    top: auto;
    left: auto;
  }
}
/*General*/
.fp-gallery {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 0;
}
.fp-gallery .nxtpgicon {
  font-family: "BebasNeueRegular", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 65px;
  padding: 0;
  margin: 0;
  line-height: 1;
  color: #FFFBF0;
  text-align: center;
  width: 90%;
  position: absolute;
  top: 85%;
  /*left: 50%;*/
  left: 50.5%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); /*cursor: pointer;*/
}
.fp-gallery .swiper-slide .swiper-container .cap {
  position: absolute;
  right: 0;
  bottom: 4px;
  font-size: 10px;
  color: #fff;
  background: rgba(0, 0, 0, .3);
  padding: 0.2em 0.5em;
  margin: 0 0.5em 0.5em;
  box-sizing: border-box;
}
.fp-gallery .swiper-slide .swiper-container .cap-area {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 10px;
  color: #fff;
  background: rgba(0, 0, 0, .3);
  padding: 0.2em 0.5em;
  margin: 0 0.5em 0.5em;
}
/*********************** V1用アニメーションINDEX ***********************/
.nxtpgicon {
  cursor: pointer;
}
/* H1 */
.fp-gallery .nxtpgicon.h1v1-nav-wrapper {
  width: 100%;
  font-size: initial;
  top: 85%;
  /*left: 0;*/
  z-index: 999;
}
.fp-gallery .nxtpgicon.h1v1-nav-wrapper .balloon {
  position: relative;
  display: inline-block;
  border-radius: 0.5em;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  border: solid 1px #969696;
  box-sizing: border-box;
  background: rgba(255, 255, 255, .6);
}
/*.fp-gallery .nxtpgicon.h1v1-nav-wrapper .balloon:after {
  content: "";
  position: absolute;
  bottom: -23px;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 14px solid #fff;
  z-index: 1;
}*/
.fp-gallery .nxtpgicon.h1v1-nav-wrapper .balloon p {
  margin: 0;
  padding: 0;
  color: #969696;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
/*フェアページ用*/
.fp-gallery .fair .nxtpgicon.h1v1-nav-wrapper .balloon {
  border: solid 1px #b77e83;
  color: #b77e83;
  background: #fff6af;
}
.fp-gallery .h1v1-nav-wrapper .h1v1-nav .info {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  border-bottom: 1px solid #fff;
  padding: 0 0 .5em;
  margin: 0 0 .5em;
}
.fp-gallery .h1v1-nav-wrapper .h1v1-nav p {
  font-size: 16px;
  letter-spacing: 0.1em;
}
.fp-gallery .h1v1-nav-wrapper .h1v1-nav .fa, .fp-gallery .nxtpgicon .h1v1-nav .fas {
  font-size: 20px;
  margin: 0 .2em;
}
@media screen and (max-width:480px) {
  .fp-gallery .nxtpgicon.h1v1-nav-wrapper {
    top: 85%;
  }
  .fp-gallery .nxtpgicon {
    top: 75%;
  }
}
/* END V1用アニメーションINDEX */
.movicon {
  box-sizing: border-box;
  transform: translatey(0px);
  animation: float 2s ease-in-out infinite;
  object-fit: cover;
  box-shadow: none !important;
}
.movicon img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.movicon.float-1 {
  /*width: 70px;
  height: 70px;
	box-shadow: 3px 3px 3px rgba(0, 0, 0, .2) !important;*/
  width: 100px;
  position: absolute;
  top: 1em;
  /*right: 1em;*/
  right: 3em;
  z-index: 999;
}
@media screen and (max-width:480px) {
  .movicon.float-1 {
    width: 70px;
    height: 70px;
    right: .5em;
  }
}
/************************ h4 MDS ************************/
/* CONT-MDS */
.swiper-wrapper h4.cont-mds {
  position: relative;
  padding: 0 0 1em;
  margin: 0 0 1em;
  width: 100%;
  font-size: 20px;
  letter-spacing: 0.05em;
  color: #282828;
  box-sizing: border-box;
}
.swiper-wrapper h4.cont-mds:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  content: '';
  background: rgb(200, 200, 200);
  background-image:
    linear-gradient(45deg, rgb(255, 255, 255) 25%, transparent 0), linear-gradient(45deg, transparent 75%, rgb(255, 255, 255) 0), linear-gradient(45deg, rgb(255, 255, 255) 25%, transparent 0), linear-gradient(45deg, transparent 75%, rgb(255, 255, 255) 0);
  background-size: 8px 8px;
  background-position: 0 0, 4px 4px, 4px 4px, 8px 8px;
}
/* MDS */
.content-wrapper h4.mds {
  position: relative;
  display: inline-block;
  padding: .5em 1em .5em .5em;
  margin: 2em 0;
  background: #ffe700;
}
.content-wrapper h4.mds:before {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 100%;
  height: 100%;
  content: '';
  border: 2px solid #585858;
}
.swp-h2v2 .content-wrapper h4.mds {
  background: #c4ef86;
}
.swp-h3v2 .content-wrapper h4.mds {
  background: #c0cce9;
}
.swp-h4v2 .content-wrapper h4.mds {
  background: #cbba64;
}
/************************ NOMBLE ************************/
.nombre {
  font-size: 14px;
  line-height: 1;
  color: #fff;
  left: 0;
  top: 50%;
  padding: 0.5em 0.7em 0.5em 0.3em;
  background: #c7c0a9;
  position: absolute;
  border-radius: 0 50% 50% 0;
  font-family: "Font Awesome 5 Free";
  z-index: 9999;
}
@media screen and (max-width:480px) {
  .nombre {
    top: 1em;
    padding: 0.5em 0.7em 0.5em 0.2em;
    font-size: 10px;
  }
}
/************************ 1ROW FLOAT Ver. ************************/
.row {
  position: relative;
  width: 100%;
  padding: 1em 3em;
  box-sizing: border-box;
  display: block;
}
@media screen and (max-width:480px) {
  .text-box:first-of-type::first-letter {
    font-size: 48px;
    line-height: 42px;
    padding: 0 0.1em 0 0;
  }
}
/************************ 1ROW FLEX Ver.************************/
.flex-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1em 2em;
  position: relative;
}
.flex-justify {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .row {
    padding: 1em 1em;
  }
  .flex-row {
    display: block;
    padding: 1em 0.5em;
  }
}
.gp-w100 {
  width: 99% !important;
  display: block !important;
}
.gp-txt {
  position: relative;
  font-size: 1em;
  padding: 0 1em 2em 0;
  margin: 0;
  line-height: 1.8;
  color: #282828;
  clear: both;
  width: 49%;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
}
.gp-txt .menu-spac {
  list-style: none;
}
.gp-txt .menu-spac .koumoku {
  width: 60px;
  display: inline-block;
}
.gp-mds {
  display: block;
  margin-bottom: 1em;
  font-size: 110%;
  font-weight: bold;
  text-align: center;
  position: relative;
}
.gp-mds:before {
  position: absolute;
  bottom: -0.5em;
  left: calc(50% - 15%);
  width: 30%;
  height: 2px;
  content: '';
  border-radius: 2px;
  background: #b1b1b1;
}
/* 吹き出し本体 - 枠線付きの吹き出し */
.balloon-txt {
  position: relative;
  font-size: 80%;
  text-align: center;
  color: #8c8776;
  padding: 0.5em 1em;
  background-color: #ece4c7;
  border: 2px solid #c7c0a9;
  border-radius: 5px;
}
/* 三角アイコン - 枠線付きの吹き出し */
.balloon-txt::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -10px;
  top: calc(50% - 10px);
  border-left: 10px solid #c7c0a9;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.balloon-txt::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -7px;
  top: calc(50% - 10px);
  border-left: 10px solid #ece4c7;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
@media screen and (min-width: 481px) {
  .block-down {
    padding-top: 3em;
  }
}
/***** YOUTUBE *****/
.gp-youtube-box {
  height: 0;
  min-width: 50%;
  max-width: 100%;
  position: relative;
  margin: 2.5px;
  padding: 55% 0 0;
  box-sizing: border-box;
  overflow: hidden;
  flex-grow: 1;
}
.gp-youtube-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (min-width: 481px) {
  .fg-flexbox .gp-youtube-box {
    height: 340px;
  }
}
@media screen and (max-width: 480px) {
  .gp-youtube-box {
    margin-right: 0 !important;
  }
}
a.cover-shop {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  position: relative;
}
a.cover-shop::before {
  content: "";
  display: block;
  width: 60%;
  height: 1px;
  background-color: #e0dfdf;
  position: absolute;
  top: -1.2em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
a.cover-shop .cover-photo {
  width: 80px;
  max-width: 80px;
  margin-right: 0.5em;
  border: 3px solid #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, .2);
  box-sizing: border-box;
}
a.cover-shop .cover-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
a.cover-shop .gp-link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0 !important;
}
a.cover-shop .gp-link:hover {
  color: #E8131E;
}
a.cover-shop .gp-link:visited {
  color: #E8131E;
}
.gp-link {
  padding: 0.5em;
  margin: 1em 0 0;
  color: #282828;
  border: 1px solid #ccc;
  text-align: center;
  font-size: 80%;
  clear: both;
  display: inline-block;
}
.gp-link.gp-link-block {
  display: block !important;
  border-radius: 5px;
  border: none;
  padding: 0.7em 0.5em;
}
.gp-link.gp-link-block span {
  position: relative;
  display: inline-block;
}
.gp-link.gp-link-block span::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f5a0";
  margin-right: 0.3em;
  font-size: 28px;
  position: absolute;
  left: -2em !important;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background: #fff;
  padding: 0.1em;
  border-radius: 50%;
  height: 40px;
  width: 40px;
  line-height: 38px;
  box-shadow: 2px 2px 4px rgb(0 0 0 / 30%);
  border: 1px solid #424242;
}
a:hover .gp-link.gp-link-block span {
  color: #fe8006;
}
a:hover .gp-link.gp-link-block span::before {
  background: #fe8006;
  color: #fff;
  border: none;
}
.gp-link a {
  color: #282828;
  text-decoration: none;
}
.gp-link a:hover {
  color: #fe8006;
}
.gp-link a:visited {
  color: #fe8006;
}
a.btn-s {
  display: inline-block;
  border-radius: 5px;
  padding: 0.5em 1em;
  background: #999;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
}
a.btn-s:hover {
  background: #fe8006;
}
a.btn-s::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  margin-left: 0.3em;
}
/*近い順で探すボタン*/
.gp-link-nearly {
  padding: 0.3em;
  margin: 0 3em 3em;
  text-align: center;
  font-size: 80%;
  clear: both;
  position: relative;
  box-sizing: border-box;
}
.gp-link-nearly a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f689";
  margin-right: 0.3em;
  font-size: 14px;
  position: absolute;
  left: -.5em !important;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background: #fff;
  padding: 0.1em;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  line-height: 20px;
  box-shadow: 2px 2px 4px rgb(0 0 0 / 30%);
  border: 1px solid #424242;
}
.gp-link-nearly a {
  text-decoration: none;
  color: #fff;
  font-size: 80%;
}
@media screen and (min-width:1200px) and (max-width:1439px) {
  .gp-link-nearly a::before {
    left: 30%;
  }
}
@media screen and (min-width:981px) and (max-width:1199px) {
  .gp-link-nearly a::before {
    left: 25%;
  }
}
@media screen and (min-width:721px) and (max-width:980px) {
  .gp-link-nearly a::before {
    left: 17%;
  }
}
@media screen and (min-width:681px) and (max-width:720px) {
  .gp-link-nearly a::before {
    left: 15%;
  }
}
@media screen and (min-width:641px) and (max-width:680px) {
  .gp-link-nearly a::before {
    left: 10%;
  }
}
@media screen and (max-width:640px) {
  .gp-link-nearly {
    padding: 1.5em 0.5em 0.5em;
  }
  .gp-link-nearly a::before {
    font-size: 10px;
    height: 14px;
    width: 14px;
    line-height: 14px;
    top: -5px;
    left: -1% !important;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.gp-link-nearly {
  margin: 1em 0 0;
  padding: 0.5em 2em;
  border-radius: 5px;
  display: inline-block;
  background: #f99706;
}
.gp-link-nearly a::before {
  color: #f99706;
}
#sld-h2v2 .gp-link-nearly a:hover::before, #sld-h3v2 .gp-link-nearly a:hover::before, #sld-h4v2 .gp-link-nearly a:hover::before {
  background: #585858;
  color: #fff;
}
.gp-link .fa, .gp-link .fab, .gp-link .fad, .gp-link .fal, .gp-link .far, .gp-link .fas {
  display: inline;
  padding-right: 0.2em;
}
.gp-area-end {
  padding: 1em;
  margin: 6em 0 0;
  background: #c7c0a9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.gp-area-end .logout-btn {
  position: relative;
  border: 1px solid #fff;
  border-radius: 30px;
  box-sizing: border-box;
  padding: .7em 1em;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0 0 0 auto;
}
#fullimage {
  z-index: 9000 !important;
}
.flex-clear-left {
  clear: left;
}
.flex-clear-right {
  clear: right;
}
.clm-line {
  position: relative;
  width: 100%;
  height: 1px;
  border-width: 0;
  margin: 20px 0 20px;
  background-color: #FAFAFA;
  background-image: -webkit-linear-gradient(left, #FAFAFA 0%, #CCC 50%, #FAFAFA 100%);
  background-image: linear-gradient(90deg, #FAFAFA 0%, #CCC 50%, #FAFAFA 100%);
}
@media screen and (min-width:481px) {
  .swiper-scrollbar {
    display: none !important;
  }
  .row-block {
    width: 100%;
    margin: 0 0 1em;
    position: relative;
  }
  .row-block:after {
    content: "";
    display: block;
    width: 60%;
    height: 1px;
    background-color: #e0dfdf;
    position: absolute;
    bottom: 1em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
@media screen and (max-width: 780px) {
  .gp-txt {
    display: inline-block;
    margin: 0 0 1em;
    padding: 0 0 2em;
    width: 100%;
  }
  .gp-txt:after {
    content: "";
    display: block;
    width: 60%;
    height: 1px;
    background-color: #e0dfdf;
    position: absolute;
    bottom: 1em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .gp-area-end .logout-btn {
    margin: 0 auto;
    font-size: 12px;
  }
}
@media screen and (max-width: 480px) {
  .gp-area-end {
    padding: 1em 1em 3.5em;
  }
  .fp-gallery h3 {
    font-size: 60px;
    top: 33%;
  }
  .square_btn {
    margin-bottom: 5px !important;
  }
  .square_btn_02 {
    display: inline-block;
    color: #818a98 !important;
    padding: 0.2em 0.6em 0.2em 0.2em;
    margin: 5px 0 10px 0 !important;
    text-decoration: none !important;
    border: solid 2px #94d1e4;
    border-radius: 3px;
    background: #94d1e4;
    transition: .4s;
  }
  .square_btn_02 a {
    color: #818a98 !important;
    text-decoration: none !important;
  }
  .swp-h1v2 .swiper-wrapper {
    height: auto !important;
    min-height: 100%;
  }
  .swp-h2v2 .swiper-wrapper {
    height: auto;
    min-height: 100%;
  }
  .swp-h3v2 .swiper-wrapper {
    height: auto;
    min-height: 480px;
  }
  .swp-h4v2 .swiper-wrapper {
    height: auto;
    min-height: 480px;
  }
  .gp-link {
    margin: 1em 0 0;
    text-align: center;
    text-indent: 0;
    display: block;
  }
  .sw-cont {
    width: 120px;
    top: 15%;
    left: 80%;
  }
  .movicon {
    border: none !important;
    box-sizing: border-box;
    transform: translatey(0px);
    animation: float 2s ease-in-out infinite;
    box-shadow: none !important;
  }
  .movicon img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
}
/*************************************************
SWIPER RESET
*************************************************/
.swiper-container, .swiper-slide {
  width: 100vw;
  height: 100vh;
}
.swiper-slide > img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.swiper-pagination {
  width: 100%;
  display: flex;
  justify-content: center;
  bottom: 20px;
}
.swiper-button-prev {
  outline: none !important;
}
.swiper-button-next {
  outline: none !important;
}
.swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  width: 16px !important;
  height: 16px !important;
  background: #fff !important;
  opacity: 0.5 !important;
  color: #000 !important;
  font-size: 15px;
  line-height: 17px;
  margin: 0 5px;
  padding: 10px;
  outline: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #181A1C;
}
.swiper-pagination-bullet-active {
  background: #181A1C !important;
  color: #fff !important;
  border: 1px solid #181A1C;
}
.swp-2 .swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  width: 16px;
  height: 16px;
  background: #fff;
  opacity: 0.5;
  color: #000;
  font-size: 12px;
  line-height: 16px;
  text-indent: 5px;
  margin: 0 5px;
  padding: 3px;
  outline: none !important;
}
.swp-h1 .swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 12px;
  line-height: 16px;
  padding: 10px;
  box-sizing: border-box;
  text-indent: 0 !important;
}
.swp-h1 .swiper-pagination-bullet-active {
  background: #181A1C !important;
  color: #fff;
}
.swp-h2 .swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 12px;
  line-height: 16px;
  padding: 10px;
  box-sizing: border-box;
  text-indent: 0 !important;
}
.swp-h2 .swiper-pagination-bullet-active {
  background: #85c30b !important;
  color: #fff;
}
.swp-h3 .swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 12px;
  line-height: 16px;
  padding: 10px;
  box-sizing: border-box;
  text-indent: 0 !important;
}
.swp-h3 .swiper-pagination-bullet-active {
  background: rgba(77, 122, 143, 1) !important;
  color: #fff;
}
.swp-h4 .swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 12px;
  line-height: 16px;
  padding: 10px;
  box-sizing: border-box;
  text-indent: 0 !important;
}
.swp-h4 .swiper-pagination-bullet-active {
  background: rgba(233, 197, 24, 1) !important;
  color: #fff;
}
.swp-h5 .swiper-pagination-bullet {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 12px;
  line-height: 16px;
  padding: 10px;
  box-sizing: border-box;
  text-indent: 0 !important;
}
.swp-h5 .swiper-pagination-bullet-active, .swp-h5 .swiper-pagination-bullet-active {
  background: rgba(8, 100, 68, .6) !important;
  color: #fff;
}
.pagination-ntd {
  right: 5px;
  top: 5px;
  position: absolute;
  z-index: 100;
}
.pagination-ntd2 {
  right: 5px;
  top: 5px;
  position: absolute;
  z-index: 100;
}
.pagination-ntd3 {
  right: 5px;
  top: 5px;
  position: absolute;
  z-index: 100;
}
.swiper-pagination-bullet .fa-chevron-down, .swiper-pagination-bullet-active .fa-chevron-down {
  padding-top: 2px;
}
.swiper-pagination-bullet .fa-chevron-up, .swiper-pagination-bullet-active .fa-chevron-up {
  padding-bottom: 1px;
}
@media screen and (max-width: 1024px) {
  .swiper-pagination {
    /*bottom: 20px;*/
    bottom: 10px;
    top: auto;
  }
  .swiper-pagination::before {
    content: none;
  }
}
/*Units*/
.unit-space {
  width: 100%;
  height: 100%;
}
/******************************************************
GRID LAYOUT
******************************************************/
.grid-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background-color: #fff;
}
.grid-container .theme-ttl {
  position: absolute;
  display: block;
  width: 33%;
  top: 25%;
  left: 50%;
  transform: translateY(-30%) translateX(-50%);
  margin: auto;
  z-index: 9999 !important;
}
.grid-container .theme-ttl img {
  max-width: 100%;
}
.grid-container .columns {
  position: relative;
  -moz-column-count: 4;
  -webkit-column-count: 4;
  column-count: 4;
  -moz-column-gap: 1em;
  -webkit-column-gap: 1em;
  column-gap: 1em;
}
.grid-container .columns .image.fit {
  display: block;
  margin: 0;
  width: 100%;
}
.grid-container .columns .image.fit img {
  width: 100%;
  border-radius: 5px;
}
.grid-container .columns .image {
  position: relative;
  display: inline-block;
  margin: 0 0 0.5em !important;
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}
.grid-container .columns .image img {
  -moz-transition: -moz-transform 0.2s ease-in-out;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  -ms-transition: -ms-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3D(0, 0, 0);
}
@media (orientation: portrait) {
  .grid-container .columns {
    position: relative;
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 1em;
    -webkit-column-gap: 1em;
    column-gap: 1em;
  }
}
@media screen and (min-width: 681px) and (max-width: 900px) {
  .grid-container .theme-ttl {
    width: 60%;
  }
}
@media screen and (min-width: 481px) and (max-width: 680px) {
  .grid-container .theme-ttl {
    width: 30%;
  }
}
@media screen and (max-width: 480px) {
  .grid-container .theme-ttl {
    width: 80%;
    top: 20%;
    transform: translateY(-25%) translateX(-50%);
  }
  .grid-container .columns {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
  }
  .grid-container .columns .image.fit {
    margin: 0;
  }
}
/************************************************************************************************************
H1～H4共通
************************************************************************************************************/
.swiper-wrapper {
  /*height: 100%; ページ高さがウィンドウ高さ以上あるので記述外す*/
  /*overflow-x: hidden;
  overflow-y: auto;
  overflow-scrolling: touch;
  -webkit-overflow-scrolling: touch;*/
  background-color: #FFF;
}
.gp-title span {
  position: absolute;
  font-size: 20px;
  line-height: 1;
  padding: 3em 0 0 0;
  box-sizing: border-box;
  z-index: 99;
}
.gp-title {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  min-height: 120px;
  width: 100%;
  padding: 0 0 0 5%;
  background-image: url(../images/gp-title.png);
  background-size: 26%;
  background-repeat: no-repeat;
  background-position: bottom left;
  border-bottom: 1px solid #505050;
}
#sld-h2v2 .gp-title span {
  color: #c4ef86;
}
#sld-h3v2 .gp-title span {
  color: #c0cce9;
}
#sld-h4v2 .gp-title span {
  color: #cbba64;
}
@media screen and (max-width:480px) {
  .gp-title {
    min-height: 120px;
    width: 100%;
    padding: 0;
    text-align: center;
    background-size: 100%;
  }
  .gp-title span {
    padding: 3em 0 0 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
  }
}
/************************************************************************************************************
shop-thum
************************************************************************************************************/
.shop-thum-wrapper {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.shop-thum-wrapper .shop-thum {
  display: block;
  width: 20%;
  position: relative;
}
.shop-thum-wrapper .shop-thum .hover {
  position: relative;
  display: block;
}
.shop-thum-wrapper .shop-thum .hover .img_wrap {
  transition: 0.3s;
  position: relative;
}
.shop-thum-wrapper .shop-thum .hover .img_wrap img {
  display: block;
  width: 100%;
}
.shop-thum-wrapper .shop-thum .hover .img_wrap h5 {
  display: block;
  width: 95%;
  background: rgba(0, 0, 0, .6);
  color: #fff;
  text-align: center;
  margin: .5em;
  padding: .3em;
  font-size: 12px;
  line-height: 1.2;
  position: absolute;
  bottom: 2.5%;
  /*left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);*/
}
.shop-thum-wrapper .shop-thum .hover .txt_wrap {
  transform: rotateY(-180deg);
  opacity: 0;
  transition: 0.3s;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  background: rgba(0, 0, 0, .6);
}
.shop-thum-wrapper .shop-thum .hover .txt_wrap .txt_box {
  position: relative;
  width: 100%;
  height: 100%;
}
.shop-thum-wrapper .shop-thum .hover .txt_wrap .txt_box > p {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.shop-thum-wrapper .shop-thum .hover:hover .img_wrap {
  transform: rotateY(-180deg);
}
.shop-thum-wrapper .shop-thum .hover:hover .img_wrap h5 {
  opacity: 0;
}
.shop-thum-wrapper .shop-thum .hover:hover .txt_wrap {
  opacity: 1;
  transform: rotateY(0);
}
.shop-thum-wrapper .shop-thum.vstd-shop::after {
  font-family: "Font Awesome 5 Free";
  content: '\f058';
  font-weight: 400;
  font-size: 40px;
  color: #fff;
  display: inline-block;
  text-align: center;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, .4);
  /*background: rgba(0, 0, 0, .5);*/
  position: absolute;
  top: 0;
  left: .2em;
}
@media screen and (max-width: 1200px) {
  .shop-thum-wrapper .shop-thum.vstd-shop::after {
    font-size: 30px;
  }
}
@media screen and (max-width: 900px) {
  .shop-thum-wrapper .shop-thum.vstd-shop::after {
    font-size: 25px;
  }
}
.shop-thum-wrapper .shop-thum.vstd-shop::after {
  font-family: "Font Awesome 5 Free";
  content: '\f058';
  font-weight: 400;
  font-size: 40px;
  color: #fff;
  display: inline-block;
  text-align: center;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, .4);
  /*background: rgba(0, 0, 0, .5);*/
  position: absolute;
  top: 0;
  left: .2em;
}
@media screen and (max-width: 1200px) {
  .shop-thum-wrapper .shop-thum.vstd-shop::after {
    font-size: 30px;
  }
}
@media screen and (max-width: 900px) {
  .shop-thum-wrapper .shop-thum.vstd-shop::after {
    font-size: 25px;
  }
}
/************************************************************************************************************
map-bnr
************************************************************************************************************/
.map-bnr {
  display: block;
  width: 90%;
  margin: 4em auto 0;
}
.map-bnr img {
  width: 100%;
}
@media screen and (max-width: 480px) {
  .map-bnr {
    width: 100%;
    margin: 2em auto 0;
  }
}
/************************************************************************************************************
shop-detail
************************************************************************************************************/
.shop-detail-wrapper {
  width: 100%;
  margin: 2em 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch
}
.shop-detail-wrapper .shop-detail {
  display: block;
  width: 49%;
  padding: 1em;
  margin-bottom: 2em;
  border: 1px solid #999;
  border-radius: 10px;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner {
  display: block;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo {
  width: 50%;
  height: 260px;
  overflow: hidden;
  margin-bottom: .5em;
  position: relative;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo .image-rate {
  position: relative;
  overflow: hidden;
  margin: 2.5px;
  flex-grow: 1;
  width: 100%;
  height: 100%;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right {
  width: 50%;
  padding-left: 1em;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul {
  width: 100%;
  margin: 0 0 1em;
  padding: 0;
  list-style: none;
  font-size: 90%;
  line-height: 1.3;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li {
  width: 100%;
  margin: 0 0 .5em;
  padding: 0;
  word-break: break-all;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li.shop-name {
  font-size: 110%;
  font-weight: bold;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .subject-menu {
  display: inline-block;
  width: auto !important;
  position: relative;
  padding: 0.5em 1em 0.2em !important;
  background-color: #f9edae;
  color: #ad4724;
  font-weight: bold;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .subject-menu::before {
  position: absolute;
  bottom: -1px;
  right: 9px;
  z-index: -1;
  transform: rotate(5deg);
  width: 70%;
  height: 50%;
  background-color: #d0d0d0;
  content: "";
  filter: blur(4px);
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li.shop-feature {
  font-size: 80% !important;
  color: #fff;
  padding: 0.5em 1em 0.2em !important;
  display: inline-block;
  width: auto !important;
  background: #fb8506;
  border-radius: 5px;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li.shop-remarks {
  font-size: 80% !important;
  margin-bottom: 1em;
  padding: 0.5em 1em 0.2em !important;
  display: inline-block;
  width: auto !important;
  color: #f00;
  border: 1px solid #f00;
  border-radius: 5px;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li.shop-remarks span {
  font-size: 60% !important;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li span {
  display: inline-block;
  width: 60px;
  font-size: 75%;
  line-height: 1;
  text-align: center;
  padding: 4px 0 2px;
  margin-right: 5px;
  border: 1px solid #777;
  background: #ebe9e9;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li .itemtxt-wrapper {
  width: calc(100% - 70px);
  background: none;
  border: none;
  font-size: 100%;
  line-height: 1.4;
  text-align: left;
  vertical-align: top;
  margin-top: -3px;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right ul li span.txt-cap {
  display: inline;
  width: auto;
  font-size: 10px;
  line-height: inherit;
  text-align: left;
  padding: 0;
  margin-right: 0;
  border: none;
  background: none;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu {
  width: 100%;
  margin-top: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo {
  width: 25%;
  margin-bottom: 1em;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo .image-rate {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 98%;
  height: 100px;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo p {
  /*width: 90%;
  font-size: 10px;
  margin: 0;
  padding: .3em 0 0;
  line-height: 1.2;*/
  width: auto !important;
  max-width: 90%;
  position: relative;
  margin-top: 3px;
  padding: 0.5em 1em 0.2em !important;
  background-color: #f9edae;
  color: #ad4724;
  font-size: 10px;
  line-height: 1.2;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo p::before {
  position: absolute;
  bottom: -1px;
  right: 9px;
  z-index: -1;
  transform: rotate(5deg);
  width: 70%;
  height: 50%;
  background-color: #d0d0d0;
  content: "";
  filter: blur(4px);
}
.shop-detail-wrapper .shop-detail .shop-detail-inner .menu-photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.to-map {
  position: relative;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  padding: 15px 0;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #dddbdb;
  border-radius: 50px;
  z-index: 0;
  overflow: hidden;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.to-map:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background: #ccc;
  transition: .3s;
  left: 0;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.to-map:hover:after {
  width: 100%;
  z-index: -1;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.to-map p:before {
  font-family: "Font Awesome 5 Free";
  content: "\f5a0";
  line-height: 1;
  background: #FFF;
  padding: 11px;
  margin-right: .5em;
  border-radius: 50%;
  z-index: 2;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.jmp-h1v2st {
  background: #dddbdb;
  border-radius: 50px;
  font-size: 12px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1em auto 0;
  padding: .5em 1em .4em !important;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.normal-btn {
  display: block;
  text-align: center;
  background: #dddbdb;
  border-radius: 5px;
  padding: .2em;
  border: 1px solid #777;
  line-height: 1;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.normal-btn p {
  color: #777;
  font-size: 80%;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.normal-btn p:hover {
  color: #fe8006;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.normal-btn p::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0ac";
  font-size: 130%;
  font-weight: 900;
  margin-left: 0.5em;
  padding-right: 3px;
  vertical-align: middle;
}
.shop-detail-wrapper .shop-detail .shop-detail-inner a.normal-btn p::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  padding-left: 5px;
}
@media screen and (min-width: 1920px) {
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo {
    height: 320px;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo .image-rate {
    min-height: 320px;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo .image-rate {
    height: 160px;
  }
}
@media screen and (max-width:1024px) {
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo {
    width: 100%;
    height: 180px;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-right {
    width: 100%;
    padding-left: 0;
    margin-top: .5em;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo .image-rate {
    height: 180px;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo .image-rate {
    height: 60px;
  }
}
@media screen and (max-width: 680px) {
  .shop-thum-wrapper .shop-thum {
    width: 33.3333%;
  }
  .shop-thum-wrapper .shop-thum .hover .img_wrap h5 {
    margin: 0;
  }
  .shop-detail-wrapper {
    display: block;
  }
  .shop-detail-wrapper .shop-detail {
    width: 100%;
    display: block;
    margin-bottom: 1em;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-photo .image-rate {
    height: 100%;
  }
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo .image-rate {
    height: 80px;
  }
}
@media screen and (max-width: 480px) {
  .shop-detail-wrapper .shop-detail .shop-detail-inner .shop-detail-menu .menu-photo .image-rate {
    height: 50px;
  }
}
/************************************************************************************************************
H1
************************************************************************************************************/
/*****************************************
                  .cover
*****************************************/
.cover .h1v1-back {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url("../images/cover-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover !important;
  background-position: center;
  z-index: -1;
}
/*****************************************
                 フェア用 .cover.fair
*****************************************/
.cover.fair::before {
  content: none;
}
.cover.fair .h1v1-back {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url("../images/h1-v1-fair-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover !important;
  background-position: bottom !important;
  z-index: -1;
}
@media (orientation: portrait) {
  .cover.fair .h1v1-back {
    background: url("../images/h1-v1-fair-bg-sp.jpg");
    background-position: center !important;
  }
  .cover .h1v1-back {
    background: url("../images/cover-bg-s.jpg");
    background-position: center;
    background-repeat: no-repeat;
  }
}
/*************************************
SEARCH
**************************************/
/*  search-area  */
.search-area {
  width: 100%;
}
.search-area form {
  background: #fff;
  border-radius: 7px;
  box-shadow: inset 0 0 2px rgb(0, 0, 0, .2);
  padding: 2px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.search-area form {
  background: #ffffd8;
}
.search-area form input:focus {
  outline: none;
}
.search-area form input:focus {
  outline: none;
}
.search-area input[type="search"] {
  display: inline-block;
  width: 100%;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  font-size: 16px;
  transform: scale(0.9);
  background: transparent;
  border: none;
  color: #666;
}
.search-area input#srcOn_catall_b {
  font-size: 18px;
  color: #999;
  border: none;
  display: inline-block;
  margin-left: -7%;
  padding: 0.35em .7em;
  background: transparent;
  cursor: pointer;
}
.search-area input#srcOn_catall_b:hover {
  color: #fe8006;
}
/*************************************
H1V1
**************************************/
/* TITLE */
.cover .cover-v1-on {
  text-align: center;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cover .cover-v1-on img {
  width: 80%;
}
@media screen and (min-width:481px) and (max-width:800px) {
  .cover .cover-v1-on {
    width: 60%;
  }
}
@media screen and (max-width: 480px) {
  .cover .cover-v1-on {
    width: 80%;
  }
  .cover .cover-v1-on img {
    width: 100%;
  }
}
/*************************************
H1V2
**************************************/
.ps-h1v2 {
  overflow-y: scroll;
}
.swp-h1v2 .swiper-wrapper {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overflow-scrolling: touch;
  -webkit-overflow-scrolling: touch;
  background-color: #FFF;
}
#sld-h1v2 {
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px 0 30px;
}
#sanga-outline {
  margin-top: 4em;
}
#sanga-outline img {
  width: 100%;
}
#sanga-outline .content-wrapper {
  padding: 0 3em 4em;
  margin: 2em 0 1em 0;
}
#sanga-outline .content-wrapper .read {
  background-color: #f5f5f5;
  line-height: 2.5em;
  background-image: linear-gradient(transparent 0, transparent 97%, #ccc 100%);
  background-size: 100% 2.5em;
  border: 5px solid #ddd;
  margin-bottom: 1em;
  padding: 2.6em;
  position: relative;
}
#sanga-outline .content-wrapper .read:before {
  border-top: 5px solid #00a99d;
  border-left: 5px solid #00a99d;
  content: '';
  display: block;
  position: absolute;
  top: -5px;
  left: -5px;
  width: 80px;
  height: 80px;
  z-index: 1;
}
#sanga-outline .content-wrapper .read:after {
  border-bottom: 5px solid #00a99d;
  border-right: 5px solid #00a99d;
  content: '';
  display: block;
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 80px;
  height: 80px;
  z-index: 1;
}
#sanga-outline .content-wrapper .read .read-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
#sanga-outline .content-wrapper .read-txt {
  font-weight: normal;
  font-size: 18px;
  width: 70%;
  padding-right: 2em;
}
#sanga-outline .content-wrapper h4.sub {
  display: inline-block;
  background: #00a99d;
  color: #fff;
  padding: 0 0.5em;
  margin-bottom: 1em;
  font-size: 14px;
  box-shadow: 2px 2px 2px rgb(0, 0, 0, .2);
  transform: skew(5deg, -3deg);
}
#sanga-outline .content-wrapper .read-photo {
  width: 20%;
}
#sanga-outline .content-wrapper .read-photo img {
  width: 100%;
}
#sanga-outline .cont {
  padding: 0;
  margin: 0;
}
#sanga-outline .cont.naiyou .naiyou-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#sanga-outline .cont.naiyou .naiyou-inner ol {
  width: 60%;
  padding-right: 1em;
}
#sanga-outline .cont.naiyou .naiyou-inner .naiyou-photo {
  width: 39%;
}
#sanga-outline .cont.naiyou .naiyou-inner .naiyou-photo img {
  width: 100%;
}
#sanga-outline .cont ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
#sanga-outline .cont ol li {
  margin: 0 0 1em 0;
}
#sanga-outline .cont ol li .place {
  display: inline-block;
  font-size: 80%;
  line-height: 1;
  padding: 4px .5em 2px;
  border: 1px solid #777;
  background: #ebe9e9;
  text-align: center;
  text-indent: 0;
}
#sanga-outline .cont ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sanga-outline .cont ul li {
  margin: 0 0 .5em 0;
  padding: 0;
}
#sanga-outline .cont ul.nav {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#sanga-outline .cont ul.nav li {
  background: #f1cb68;
  margin-right: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
}
#sanga-outline .cont ul.nav li .icon {
  padding: .5em .3em .1em;
  margin: 0;
  background: #c35b38;
  width: 60px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}
#sanga-outline .cont ul.nav li .icon img {
  width: 80%;
  height: auto;
}
#sanga-outline .cont ul.nav li .txt {
  padding: .3em .5em;
  margin: 0;
  display: inline-block;
  vertical-align: middle;
  color: #fff;
}
#sanga-outline .cont ul.nav li .txt::after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  margin-left: 0.5em;
}
#sanga-outline .cont ul.nav li:hover {
  background: #f3d995;
}
#sanga-outline .cont ul.nav li a:hover .icon {
  background: #eb8e6f;
}
#sanga-outline .cont ul.nav li a:hover .txt {
  color: #c35b38;
}
#sanga-outline .cont img.sanga-bnr {
  max-width: 480px;
  height: auto;
}
#sanga-outline .cont h4.mds, #sanga-setsumei .cont h4.mds {
  margin: 1em 0;
}
#sanga-outline .cont h4.mds, #sanga-setsumei .cont ul.teigi {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sanga-outline .cont h4.mds, #sanga-setsumei .cont ul.teigi li {
  margin: 0 0 1em;
  padding: 0;
  color: #c35b38;
  font-weight: bold;
}
#sanga-outline .cont h4.mds, #sanga-setsumei .cont ul.teigi li .num {
  margin: 0 .5em 0 0;
  padding: .3em;
  display: inline-block;
  background: #c35b38;
  color: #fff;
  border-radius: 5px;
  font-size: 80%;
  font-weight: normal;
}
#sanga-outline .cont ul.sponser li.sponser-L {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#sanga-outline .cont ul.sponser li.sponser-M {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
#sanga-outline .cont ul.sponser li.sponser-S {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}
#sanga-outline .cont ul.sponser li p {
  width: 99%;
  padding: 0.3em 0.5em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-bottom: .2em;
}
#sanga-outline .cont ul.sponser li.sponser-L p {
  background: #ffe8a6;
  font-size: 120%;
  font-weight: bold;
  border: 4px double #f1ae55;
  width: 99.5%;
  min-height: 80px;
}
#sanga-outline .cont ul.sponser li.sponser-M p {
  background: #d3edfb;
  border: 4px double #8bbed9;
  min-height: 80px;
}
#sanga-outline .cont ul.sponser li.sponser-S p {
  background: #eeefef;
  font-size: 90%;
  border: 4px double #d2d7d7;
  min-height: 80px;
}
#sanga-outline .cont.sanga-place a {
  position: relative;
  font-size: 80%;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 15px 5px;
  padding: 10px 7px 10px 5px;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #dddbdb;
  border-radius: 50px;
  z-index: 0;
  overflow: hidden;
}
#sanga-outline .cont.sanga-place a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background: #ccc;
  transition: .3s;
  left: 0;
}
#sanga-outline .cont.sanga-place a:hover:after {
  width: 100%;
  z-index: -1;
}
#sanga-outline .cont.sanga-place a p:before {
  font-family: "Font Awesome 5 Free";
  content: "\f5a0";
  line-height: 1;
  background: #FFF;
  padding: 7px;
  margin-right: .5em;
  border-radius: 50%;
  z-index: 2;
}
#sanga-outline .date-txt {
  width: 70%;
}
#sanga-outline .date-photo {
  width: 30%;
}
#sanga-setsumei .cont ul.sponser li p {
  display: inline-block;
  padding: .1em .5em;
  margin: .2em .2em .2em 0;
  border: 1px solid #ccc;
}
#sanga-setsumei .cont ul.torikumi {
  padding: 0;
  margin: 0;
  list-style: none;
}
#sanga-outline section#fair-detail {
  scroll-margin-top: 50px;
  margin-bottom: 50px;
}
#sanga-outline .heading {
  position: relative;
  padding-top: 30px !important;
  font-size: 26px !important;
  color: #ad4724;
  line-height: 1.3;
  border-bottom: 1px solid #e6b63a !important;
  margin: 2em 0 0.5em !important;
}
#sanga-outline .heading span {
  position: relative;
  font-weight: bold;
  z-index: 2;
}
#sanga-outline .heading::before {
  content: attr(data-en);
  position: absolute;
  top: 20px;
  left: -0.5em;
  color: #f9edae;
  font-size: 24px;
  text-transform: uppercase;
  z-index: 1;
}
#sanga-outline .day {
  font-weight: bold !important;
  font-size: 22px !important;
  display: inline-block;
  background: #f9edae;
  padding: 0 0 0 1em;
  border: 2px solid #ab492c;
  margin: 0 0 1em;
}
#sanga-outline .day-2 {
  font-weight: bold !important;
  font-size: 22px !important;
  display: inline-block;
  padding: .2em 1em;
  background: #ab492c;
  color: #fff;
  margin: 0;
}
#sanga-outline .sponsor p {
  display: inline-block;
  border: 1px solid #999;
  padding: .2em .5em .1em;
  margin: .5em .5em 0 0;
}
#sanga-outline .sponsor .size-big p {
  font-size: 100% !important;
}
#sanga-outline .sponsor .size-small p {
  font-size: 70% !important;
}
#sanga-outline .flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
#sanga-outline .flex-container .poster {
  width: 30%;
  padding-left: 3em;
  text-align: center;
}
#sanga-outline .flex-container .poster .balloon {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  font-size: 80% !important;
  background: #e7b33c;
  border-radius: 15px;
  transition: 0.5s;
}
#sanga-outline .flex-container .poster .balloon::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e7b33c;
  transition: 0.5s;
}
#sanga-outline .flex-container .poster .balloon::after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  margin-left: .5em;
}
#sanga-outline .flex-container .poster .balloon:hover {
  background: #fb8506;
}
#sanga-outline .flex-container .poster .balloon:hover::before {
  border-top: 15px solid #fb8506;
}
#sanga-outline .flex-container .poster img {
  width: 100%;
}
#sanga-outline .flex-container .outline {
  width: 70%;
}
#sanga-outline .flex-container .item, .flex-container .text {
  padding: 6px;
}
#sanga-outline .flex-container .item {
  width: 15%;
  font-weight: bold;
}
#sanga-outline .flex-container .read-02 {
  width: 80%;
}
#sanga-outline .flex-container .qr {
  width: 20%;
  padding-left: 1em;
  text-align: center;
}
#sanga-outline .flex-container .qr img {
  width: 100%;
}
#sanga-outline .flex-container .text {
  margin-left: 0; /*初期値リセット*/
  width: 85%;
}
#sanga-outline .flex-container .text ol {
  margin: 0 0 0 1em;
  padding: 0;
}
#sanga-outline .flex-container .text ol li {
  margin: 0 0 .5em .5em;
  padding: 0;
  font-weight: normal;
}
#sanga-outline .flex-container .text ol li::before {
  background: transparent;
  color: inherit;
  font-weight: normal;
  width: auto;
  height: auto;
  font-size: 16px;
  left: -20px;
}
#sanga-outline a.btn {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  margin: 0.5em 0 0;
  padding: 0.5em 2em;
  color: #053e62;
  border-bottom: 2px solid #fff;
  border-radius: 100vh;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
  -webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
  transition: 0.5s;
  background: #cdd8e0;
}
#sanga-outline a.btn:hover {
  color: #fff;
  background: #053e62;
  border-bottom: 2px solid #fff;
  transform: translateY(3px);
}
#sanga-outline a.btn::after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  margin-left: .5em;
}
#sanga-outline a.btn-02 {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  margin: 0 0 0 .5em;
  padding: .5em 1em;
  background-image: linear-gradient(to top, #D8D9DB 0%, #fff 80%, #FDFDFD 100%);
  border-radius: 100vh;
  font-size: 80%;
  color: #666;
  border: 1px solid #999;
  box-shadow: 0 3px 2px 1px #fcfcfc, 0 4px 6px #cecfd1, 0 -2px 2px #cecfd1, 0 -4px 2px #eee, inset 0 0 2px 2px #cecfd1;
  transition: 0.5s;
}
#sanga-outline a.btn-02:hover {
  background: #60859d;
  color: #fff;
}
#sanga-outline .teigi {
  display: inline-block;
  font-size: 14px;
  background: #e6b63a;
  padding: .2em .5em;
  margin: 0 .5em .2em 0;
  color: #fff;
  border-radius: 100vh;
}
#sanga-outline ol {
  margin: 0 0 0 .5em;
  padding: 0;
  list-style: none;
  counter-reset: li;
}
#sanga-outline ol li {
  position: relative;
  margin: 12px 0 0 32px !important;
  padding: 0;
  line-height: 1.5;
}
#sanga-outline ol > li:before {
  position: absolute;
  font-weight: bold;
  counter-increment: li;
  content: counter(li) "";
  left: -34px;
  top: 2px;
  color: #fff;
  width: 24px;
  height: 24px;
  font-size: 14px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  background: #e6b63a;
  padding: 6px 0;
  border-radius: 5px;
}
#sanga-outline ol li .main-copy {
  font-weight: bold;
  font-size: 120% !important;
  color: #fb8506;
}
#sanga-outline ol li .sub-copy {
  background: #95c504;
  color: #fff;
  padding: 0.2em 0.5em;
  margin: 0.3em 0;
  display: inline-block;
}
@media screen and (max-width: 900px) {
  #sanga-outline .content-wrapper .read .read-inner {
    display: block;
  }
  #sanga-outline .content-wrapper .read .read-txt {
    font-size: 16px;
    font-weight: normal;
    width: 100%;
    padding: 0;
  }
  #sanga-outline .content-wrapper .read .read-txt h3 {
    font-size: 16px;
  }
  #sanga-outline .content-wrapper .read-photo {
    width: 100%;
  }
  #sanga-outline .cont.naiyou .naiyou-inner {
    display: block;
  }
  #sanga-outline .cont.naiyou .naiyou-inner ol {
    width: 100%;
    padding: 0 0 1em 0;
  }
  #sanga-outline .cont.naiyou .naiyou-inner .naiyou-photo {
    width: 100%;
  }
  #sanga-outline .cont ul.sponser li.sponser-M {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  #sanga-outline .cont ul.sponser li.sponser-S {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 480px) {
  #sanga-outline .content-wrapper {
    padding: 0 1em 2em;
    margin: 0 0 1em;
  }
  #sanga-outline .content-wrapper .read {
    line-height: 2em;
    background-size: 100% 2em;
    padding: 2.2em;
  }
  #sanga-outline .cont ul.sponser li.sponser-L {
    grid-template-columns: 1fr;
  }
  #sanga-outline .cont ul.sponser li.sponser-M {
    grid-template-columns: 1fr 1fr;
  }
  #sanga-outline .cont ul.sponser li.sponser-S {
    grid-template-columns: 1fr 1fr 1fr;
  }
  #sanga-outline .date-txt {
    width: 100%;
    margin-bottom: 1em;
  }
  #sanga-outline .date-photo {
    width: 100%;
  }
  #sanga-outline {
    padding: 0 3%;
  }
  #sanga-outline .flex-container {
    display: block;
  }
  #sanga-outline .flex-container .poster {
    width: 100%;
    padding-left: 0;
    margin-top: 1em;
  }
  #sanga-outline .flex-container .poster img {
    width: 70%;
  }
  #sanga-outline .flex-container .outline {
    width: 100%;
  }
  #sanga-outline .flex-container .item {
    width: 100%;
  }
  #sanga-outline .flex-container .text {
    margin-left: 0; /*初期値リセット*/
    width: 100%;
  }
  #sanga-outline .day {
    font-size: 18px !important;
    display: block;
    padding: .2em 0;
    margin: 0 0 .5em;
    text-align: center;
  }
  #sanga-outline .day-2 {
    font-size: 18px !important;
    display: block;
    padding: .2em;
    margin: 0;
    text-align: center;
  }
  #sanga-outline .flex-container .read-02 {
    width: 100%;
  }
  #sanga-outline .flex-container .qr {
    width: 100%;
    padding: .5em 0 0;
    text-align: center;
  }
  #sanga-outline .flex-container .qr img {
    width: 50%;
  }
}
/************************************************************************************************************
H2
************************************************************************************************************/
/*************************************
Left Right
**************************************/
.flex-container .left-box, .flex-container .right-box {
  width: 50%;
  height: 100%;
  position: relative;
}
@media (orientation: portrait) { /*デバイスが縦向きの場合*/
  .flex-container .left-box {
    width: 100%;
    height: 40%;
  }
  .flex-container .right-box {
    width: 100%;
    height: 60%;
  }
}
/*************************************
H2V1 whats
**************************************/
.whats.lazyloaded {}
.whats {
  background: url(../images/pattern.png), url("../images/whats-bg.jpg");
  background-size: auto, cover;
  background-position: center, center;
  background-repeat: repeat, no-repeat;
  background-color: #fff;
}
.whats .whats-on {
  width: 35%;
  position: absolute;
  top: 37%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.whats .whats-on img.v1-ttl {
  width: 100%;
  vertical-align: bottom;
  margin: 0 auto;
  display: block;
}
.whats .whats-on h3 {
  display: block;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .2), -2px -2px 4px rgba(0, 0, 0, .2);
  position: absolute;
  top: 65%;
  left: 45%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.whats .whats-on h3 p {
  display: block;
  width: 100%;
  font-size: 50%;
  font-weight: normal;
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #fff;
}
@media (orientation: portrait) { /*デバイスが縦向きの場合*/
  .whats .whats-on {
    width: 60%;
  }
}
@media screen and (max-width: 480px) {
  .whats .whats-on {
    width: 80%;
  }
  .whats .whats-on img.v1-ttl {
    width: 100%;
  }
  .whats .whats-on h3 {
    font-size: 18px;
    top: 55%;
    left: 50%;
  }
  .whats .whats-on h3 p {
    font-size: 70%;
  }
}
/*************************************
H2V2
**************************************/
.ps-h2v2 {
  overflow-y: scroll;
}
#sld-h2v2 {
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px 0 0;
}
/************************************************************************************************************
H3V1 HEAT UP
************************************************************************************************************/
.heatup.lazyloaded {}
.heatup {
  background: url(../images/pattern.png), url("../images/heatup-bg.jpg");
  background-size: auto, cover;
  background-position: center, center;
  background-repeat: repeat, no-repeat;
  background-color: #fff;
}
.heatup .heatup-on {
  width: 90%;
  height: 100%;
  position: relative;
  margin: 0 auto;
}
.heatup .heatup-on .heatup-hatomi {
  width: 60%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.heatup .heatup-on .heatup-parts {
  width: 60%;
  text-align: center;
  position: absolute;
  top: 30%;
  bottom: 10%;
  right: 0;
}
.heatup .heatup-on .heatup-parts .heatup-logo {
  width: 15%;
  margin: 0 auto;
}
.heatup .heatup-on .heatup-parts .heatup-name {
  width: 90%;
  margin: 1em auto 0;
  position: relative;
  color: #fff;
}
.heatup .heatup-on .heatup-parts .heatup-name img {
  width: 100%;
  mix-blend-mode: overlay;
}
.heatup .heatup-on .heatup-parts .heatup-name .sub-title {
  color: #fff;
  margin: 0;
  padding: 0;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.heatup .heatup-on h3.title {
  font-size: 30px;
  line-height: 1;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding: 0 0 .3em;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
/*文字アニメ*/
.heatup h3.title {
  display: flex;
  overflow: hidden;
}
.heatup h3.title span {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translate(0, 105%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.heatup .heatup-on .heatup-parts .heatup-name span img {
  width: 50px;
}
.heatup h3.title.-visible span {
  transform: translate(0, 0);
}
.heatup h3.title span:nth-child(2) {
  transition-delay: 0.08s;
}
.heatup h3.title span:nth-child(3) {
  transition-delay: 0.16s;
}
.heatup h3.title span:nth-child(4) {
  transition-delay: 0.24s;
}
.heatup h3.title span:nth-child(5) {
  transition-delay: 0.32s;
}
.heatup h3.title span:nth-child(6) {
  transition-delay: 0.40s;
}
.heatup h3.title span:nth-child(7) {
  transition-delay: 0.48s;
}
.heatup h3.title span:nth-child(8) {
  transition-delay: 0.56s;
}
.heatup h3.title span:nth-child(9) {
  transition-delay: 0.64s;
}
.heatup h3.title span:nth-child(10) {
  transition-delay: 0.72s;
}
/*END文字アニメ*/
@media screen and (orientation: portrait) { /*縦画面の時*/
  .heatup {
    background: url(../images/pattern.png), url("../images/heatup-bg-s.jpg");
    background-size: auto, cover;
    background-position: center, center;
    background-repeat: repeat, no-repeat;
    background-color: #fff;
    padding: 0;
  }
  .heatup .heatup-on {
    width: 100%;
    right: 0;
  }
  .heatup .heatup-on .heatup-hatomi {
    width: 100%;
  }
  .heatup .heatup-on .heatup-parts {
    width: 100%;
    top: 10%;
  }
  .heatup .heatup-on .heatup-parts .heatup-name {
    margin: .5em auto 0;
  }
  .heatup .heatup-on .heatup-parts .heatup-logo {
    width: 20%;
  }
  .heatup .heatup-on .heatup-parts .heatup-name .sub-title {
    padding-top: .5em;
    bottom: 0;
    position: relative;
  }
  .heatup .heatup-on h3.title {
    font-size: 20px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media screen and (min-width: 768px) {
  .heatup .heatup-on h3 {
    font-size: 28px;
  }
}
@media screen and (max-width: 480px) {}
/*************************************
H3V2
**************************************/
.ps-h3v2 {
  overflow-y: scroll;
}
#sld-h3v2 {
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px 0 0;
}
/************************************************************************************************************
H4V1
************************************************************************************************************/
.comesee::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url(../images/pattern.png);
  background-repeat: repeat;
  background-size: auto;
}
.comesee video {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  background: url(../images/pattern.png), url("../images/video/oceandrive_00.jpg");
  background-repeat: repeat, no-repeat;
  background-size: auto, cover !important;
  z-index: -1;
  filter: saturate(300%);
}
.comesee h1.chibacity-MB-ttl {
  position: absolute;
  font-family: 'Playball', cursive;
  font-weight: 400;
  text-transform: unset;
  text-align: center;
  line-height: 1;
  color: rgba(255, 255, 255, 1);
  width: 80%;
  margin: 0 auto;
  padding: 5px;
  box-sizing: border-box;
}
.comesee h1.chibacity-MB-ttl {
  --w: calc(100% - 15px);
  --g: rgba(255, 255, 255, .6) 15px, transparent 15px var(--w), rgba(255, 255, 255, .6) var(--w);
  background: linear-gradient(90deg, var(--g)) 0 0/100% 5px, linear-gradient(90deg, var(--g)) 0 100%/100% 5px, linear-gradient(0, var(--g)) 0 0/5px 100%, linear-gradient(0, var(--g)) 100% 0/5px 100%;
  background-repeat: no-repeat;
}
.comesee h1.chibacity-MB-ttl img {
  width: 100%;
}
.comesee .search-area {
  width: 60%;
  min-width: 350px;
  max-width: 600px;
  margin-top: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1070px) {
  .comesee h1.chibacity-MB-ttl {
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 120px;
  }
  .comesee h1.chibacity-MB-ttl img {
    width: 130px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 .16em 0 .28em;
  }
  .comesee h1.chibacity-MB-ttl span {
    display: block;
    font-size: 30px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1069px) {
  .comesee h1.chibacity-MB-ttl {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 80px;
  }
  .comesee h1.chibacity-MB-ttl img {
    width: 95px;
    margin: 0 .16em -.25em .28em;
  }
  .comesee h1.chibacity-MB-ttl span {
    display: block;
    font-size: 40px;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .comesee h1.chibacity-MB-ttl {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
  }
  .comesee h1.chibacity-MB-ttl img {
    width: 60px;
    margin: 0 .16em -.25em .28em;
  }
  .comesee h1.chibacity-MB-ttl span {
    display: block;
    font-size: 30px;
  }
}
@media screen and (max-width: 480px) {
  .comesee .chibacity-MB-ttl {
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 45px;
  }
  .comesee h1.chibacity-MB-ttl img {
    width: 55px;
    margin: 0 .16em -.2em .28em;
  }
  .comesee h1.chibacity-MB-ttl span {
    display: block;
    font-size: 30px;
  }
  .comesee video {
    background: url("../images/video/oceandrive_00.jpg");
    background-repeat: no-repeat;
    background-size: contain !important;
  }
}
/************************************************************************************************************
 // max-width: 480px
************************************************************************************************************/
@media screen and (max-width: 480px) {
  .comesee video {
    background: url("../images/video/oceandrive_00.jpg");
    background-repeat: no-repeat;
    background-size: contain !important;
  }
}
/*************************************
H4V2
**************************************/
#sld-h4v2 {
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px 0 0;
}
.ps-h4v2 {
  overflow-y: scroll;
}
/************************************************************************************************************
H5
************************************************************************************************************/
.tonmana {
  background: url(../images/pattern.png), url("../images/tonmana-bg.jpg");
  background-size: auto, cover;
  background-position: center, center;
  background-repeat: repeat, no-repeat;
}
.tonmana .tonmana-on {
  width: 45%;
  text-align: center;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.tonmana .tonmana-on img {
  max-width: 100%;
}
@media (orientation: portrait) {
  .tonmana {
    background: url(../images/pattern.png), url("../images/tonmana-bg-s.jpg");
    background-size: auto, cover;
    background-position: center, center;
    background-repeat: repeat, no-repeat;
  }
  .tonmana .tonmana-on {
    width: 95%;
    bottom: 5%;
  }
  .tonmana .tonmana-on img {
    margin-top: -70px;
  }
}
@media screen and (max-width: 480px) {
  .tonmana {
    background: url(../images/pattern.png), url("../images/tonmana-bg-s.jpg");
    background-size: auto, cover;
    background-position: center, center;
    background-repeat: repeat, no-repeat;
  }
  .tonmana .tonmana-on {
    width: 95%;
    bottom: 10%;
  }
  .tonmana .tonmana-on img {
    margin-top: -20px;
  }
}
/*************************************
H5V2
**************************************/
.ps-h5v2 {
  overflow-y: scroll;
}
#sld-h5v2 {
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 70px 0 0;
}
@media screen and (max-width: 480px) {
  .swp-h5v2 .swiper-wrapper {
    height: auto;
    min-height: 480px;
  }
}