@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;
}
img {
  max-width: 100%;
}
/*align*/
.txt-center {
  text-align: center;
}
/*basic*/
.inner {
  padding: 0;
}
.content-wrapper {
  position: relative;
  width: 100%;
  padding: 0 3em 4em;
  box-sizing: border-box;
}
.honbun p {
  padding-bottom: 1em !important;
}
@media screen and (max-width: 480px) {
  .content-wrapper {
    padding: 4em 3em 0;
  }
}
@media screen and (max-width: 480px) {
  /*basic*/
  .content-wrapper {
    padding: 0 1em 4em;
  }
}
/******************* 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-blue {
  color: #4795b7;
}
.txt-gray {
  color: #777;
}
/******************* Text Arign *******************/
.txt-left {
  text-align: left !important;
}
/******************* Text MDS *******************/
.txt-mds {
  display: block;
  text-align: center;
  line-height: 1.4;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  background-image: url(../images/mds-left.png), url(../images/mds-right.png);
  background-position: left center, right center;
  background-repeat: no-repeat, no-repeat;
}
.txt-mds p {
  display: inline-block;
  width: auto;
  max-width: 70%;
  font-size: 28px;
  background: #fff;
  padding: 0 1em !important;
}
@media screen and (max-width:480px) {
  .txt-mds {
    width: 100%;
    background-image: url(../images/mds-left-s.png), url(../images/mds-right-s.png);
  }
  .txt-mds p {
    width: auto;
    max-width: 60%;
    padding: .5em 1em;
    font-size: 24px;
  }
}
/******************* BUTTON *******************/
a.ex {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  background: #82d1fb;
  border-radius: 13px;
  padding: 2px 5px;
}
a.ex span {
  border: none !important;
  color: #fff !important;
  font-size: 80%;
  display: inline-block;
  vertical-align: middle;
  margin-right: .5em;
  padding: .2em .5em .1em;
}
a.ex span::after {
  display: inline-block;
  height: 16px;
  width: 16px;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  color: #fe9d06;
  margin-left: 3px;
  background: #fff;
  border-radius: 50%;
  content: '\f24d';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}
.more_btn {
  margin: 1em 0 0;
  padding: 0;
  text-align: right;
}
.more_btn a {
  background: #bfd9e5; /* Old browsers */
  background: -moz-linear-gradient(top, #bfd9e5 0%, #3d95b7 50%, #0080b3 51%, #0099cc 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #bfd9e5 0%, #3d95b7 50%, #0080b3 51%, #0099cc 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #bfd9e5 0%, #3d95b7 50%, #0080b3 51%, #0099cc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bfd9e5', endColorstr='#0099cc', GradientType=0); /* IE6-9 * */
  zoom: 1;
  color: #FFF;
  text-align: center;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border: 1px solid #0099CC;
  -moz-box-shadow: 1px 1px 1px rgba(000, 000, 000, 0.3), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: 1px 1px 1px rgba(000, 000, 000, 0.3), inset 0px 0px 3px rgba(255, 255, 255, 0.5);
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
  padding: 0 20px;
  font-size: 10px;
  display: inline-block;
}
/******************* 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;
}
/*************************************
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;
}
/******************* 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: 120px;
  position: absolute;
  top: 1em;
  right: 3em;
  z-index: 999;
}
@media screen and (max-width:480px) {
  .movicon.float-1 {
    width: 90px;
    top: 3em;
    right: 1em;
  }
}
/************************ 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;
}
/************************ 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 0;
  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;
  }
}
.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 {
  background-color: #FFF;
}
/*************************************
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;
}