
body {
  background: rgb(255, 255, 255);
  font-family: Hiragino Sans, ヒラギノ角ゴ ProN, Hiragino Kaku Gothic ProN, 游ゴシック, YuGothic, 游ゴシック体,メイリオ, Meiryo, sans-serif;
  font-size: 14.5px;
  color: #000;
  padding: 0;
  margin: 0;
}
@media screen and (max-width:700px){
 body, p,ul,ol,li{
    font-size: 14px;
  }
}

main {
  min-height: 100vh;
}

#custom-colum-1{
  gap: 0em;
}

/* ----------------------------------------------------------------------
custom
---------------------------------------------------------------------- */

/* ----------------------------------------------------------------------
GurtenGerg
---------------------------------------------------------------------- */

/* ----------------------------------------------------------------------
page-row サイドバー付きページ
---------------------------------------------------------------------- */
@media screen and (min-width:770px) {
  .page-row{
    display: flex;
    justify-content:space-around;
  }
  
  .content-row{
    padding: 10px;
    width:770px;
  }
  
}

.sidebar-row{
  padding: 10px;
  width:300px;
  margin: 0 auto;
}

.sidebarnav {
  position: sticky;
  top: 100px;
  box-shadow: 5px 5px 5px #ededed;
}
.sidebarnav a{
  text-decoration: none;
}
.sidebarnav a :hover{
  opacity: 0.5;
}
@media screen and (max-width:770px) {
  .sidebarnav {
    margin: 10px 0px;
  }
}

.parent-page {
  color: white;
  font-weight: 600;
  padding: 50px;
  margin-bottom: 0px;
  text-align: center;
  font-size: 1.2em;
}
.parent-page a :hover {
  opacity: 0.5;
}


@media screen and (max-width:770px) {
  .parent-page {
    padding: 15px 20px;
    font-size: 0.9em;
  }
}



.child-page a{
  text-decoration: none;
}
.child-page a :hover{
  text-decoration: none;
  opacity: 0.5;
  color:white
}
@media screen and (max-width:770px) {
  .child-page {
    text-align: center;
  }
}

.sameclass-page {
  list-style-type: none;
  padding: 20px 40px;
  color: rgb(0, 0, 0);
  background: rgb(249, 249, 249);
  margin-bottom: 1px;
  font-size: 0.9em;
  text-decoration: none;
}
@media screen and (max-width:770px) {
  .sameclass-page {
  padding: 10px 20px;
  }
}

.diplay-page {
  list-style-type: none;
  padding: 20px 40px;
  color: white;
  opacity: 0.3;
  font-size: 0.9em;
  margin-bottom: 1px;
}
@media screen and (max-width:770px) {
  .diplay-page {
  padding: 10px 20px;
  }
}




/* ----------------------------------------------------------------------
 user agent stylesheet
---------------------------------------------------------------------- */
figure {
  margin-inline-start: 5px;
  margin-inline-end: 5px;
  white-space: nowrap;
}

form.post-password-form {
  margin-top: 50px;
}


/* ----------------------------------------------------------------------
 フォント
---------------------------------------------------------------------- */

.yu-gothic{
  font-family: Hiragino Sans, ヒラギノ角ゴ ProN, Hiragino Kaku Gothic ProN, 游ゴシック, YuGothic, 游ゴシック体,メイリオ, Meiryo, sans-serif;
}
.yu-mincho{
  font-family: 'Times New Roman', 游明朝, 'Yu Mincho', 游明朝体, YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', HiraMinProN-W3, HGS明朝E, 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

/* ----------------------------------------------------------------------
 フォントサイズ
---------------------------------------------------------------------- */
.fs12{font-size: 12px;}.fs13{font-size: 13px;}.fs14{font-size: 14px;}.fs15{font-size: 15px;}.fs16{font-size: 16px;}.fs17{font-size: 17px;}
.fs18{font-size: 18px;}.fs19{font-size: 19px;}.fs20{font-size: 20px;}.fs21{font-size: 21px;}.fs22{font-size: 22px;}.fs23{font-size: 23px;}
.fs24{font-size: 24px;}.fs25{font-size: 25px;}.fs26{font-size: 26px;}.fs27{font-size: 27px;}.fs28{font-size: 28px;}.fs29{font-size: 29px;}

/* ----------------------------------------------------------------------
 文字位置
---------------------------------------------------------------------- */
.text-left{
  text-align: left;
}

.text-center{
  text-align: center;
}

.text-right{
  text-align: right;
}

/* ----------------------------------------------------------------------
 ブロック要素位置
---------------------------------------------------------------------- */
.left {
  margin-right: auto;
}
.center {
  margin-left: auto;
  margin-right: auto;
}
.right {
  margin-left: auto;
}

/* ----------------------------------------------------------------------
 幅調整
---------------------------------------------------------------------- */
.minwidth{
 max-width:770px;
}

/* ----------------------------------------------------------------------
 テーブル
---------------------------------------------------------------------- */


.wp-block-table table {
  border-spacing: 0px;
  white-space: nowrap;
}

.wp-block-table td {
  font-size: 90%;
  }

/* ----------------------------------------------------------------------
 バー
---------------------------------------------------------------------- */
/* グレー左バー */
.bar-gray-left{
  padding-left: 10px;
  line-height: 35px;
}

/* ----------------------------------------------------------------------
lazyblocks
---------------------------------------------------------------------- */

/* 付箋見出し */
.fusen-headline {
  padding: 0.7rem 0.7rem;
  font-weight: 700;
  max-width:   380px;
}

/* レスポンシブイメージ */
.responsive-image img{
  width:100%;
  max-width: 100%;
  height: auto;
}

/* 画像＋テキスト */
.image-text-wrap {
  display        : flex         ;
  flex-wrap      : wrap         ;
  justify-content: space-between;
  margin-bottom :20px;
}

.image-text-img{
  overflow: hidden;
}

.image-text-img img{
  width:100%;
  max-width: 100%;
  height: auto;
  transform: scale(1.11);
}

.image-text-txt{  
  width:100%;
  position: relative;
}

.image-text-txt-content{
  width:100%;
  padding: 10px 10px 20px;
}


@media screen and (min-width:999px){
  .image-text-wrap{
    margin-bottom :0px;
  }
  .image-text-img , .image-text-txt{
    width:50%;
  }
  .image-text-txt-content{
    position:absolute;
    transform: translateY(-50%);
    top:50%;
  }
}

/*　テキスト+画像 */
.text-image-wrap {
  display        : flex         ;
  justify-content: space-between;
}

.text-image-img{
  width:50%;
  overflow: hidden;
}

.text-image-img img{
  width:100%;
  max-width: 100%;
  height: auto;
  transform: scale(1.11);
}

.text-image-txt{
  width:50%;
  position: relative;
}

.text-image-txt-content{
  width:100%;
  padding: 10px 10px 20px;
  position:absolute;
  transform: translateY(-50%);
  top:50%;
}


@media screen and (max-width:999px){
  .text-image-wrap{
    flex-wrap:wrap-reverse;
    margin-bottom: 20px;
  }
  .text-image-img , .text-image-txt{
    width:100%;
  }
  .text-image-txt-content{
    width:100%;
    position:relative;
    transform: translateY(0%);
    top:0;
  }
  
}

/* スライドボタン */
.slide-btn-wrap {
  text-align: center;
}

.slide-btn {
  background-color: white;
  color: black;
  border: 1px solid black;
  padding: 20px 40px;
  font-weight: 600;
  margin: 50px 0;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.slide-btn.slide-bg {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.slide-btn.slide-bg span {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: -1;
}

.slide-btn.slide-bg:hover {
  color: white;
}

.slide-btn.slide-bg:hover span {
  -webkit-transform: none;
          transform: none;
}



/* お知らせ */
.post-parts-wrap{
 max-width: 900px;
 margin-left: auto;
 margin-right: auto;
}
.post-parts-wrap ::before{
  content: "";
  border-top: 1px solid rgb(153, 153, 153);
 }

.post-parts{
 border-bottom: 1px solid rgb(153, 153, 153);
 padding: 10px 0px;
 font-weight: 500;
}
.post-parts a{
  text-decoration: none;
  color:rgba(0,0,0)
}

.post-parts-title{
  margin-left: 10px;
  display: table-cell;
 }

 /* Q&A */
 .qanda{
  margin: 20px 10px 20px 10px;
}

@media screen and (min-width:700px){
.qanda dl {
    display: flex;
    flex-wrap: wrap;
  }
.qanda dl dt {
    width: 5%;
  }
.qanda dl dd {
    width: 95%;
 }
}

.question{
  color:rgb(255, 136, 0);
  font-weight: 700;
  margin: 0px 20px 10px 0px;

}
.answer{
  color:rgb(0, 26, 255);
  font-weight: 700;
  margin: 0px 20px 10px 0px;
}

/*丸ボタン*/
.under-allow-radius {
  width: 50px;
  height: 50px;
  line-height: 50px;
  background-color: rgb(100, 100, 100);
  border-radius: 50%;
  color: #fff;
  text-align: center;
  font-size: 30px;
  padding: 5px 10px;
}

/*ズーム画像*/
.zoom-img-wrap{
  position: relative;
  overflow: hidden;
  background: rgb(100, 100, 100);
}

.zoom-img-wrap:hover{
  transition: all 0.5s ease-out;
  overflow: hidden;
}

.zoom-img-img{
  width: 100%;
 transition: all 0.5s ease-out;
 opacity: 0.5;
}

.zoom-img-img:hover{
 transform: scale(1.2);
 transition: all 0.5s ease-out;
 opacity: 1;
}

.zoom-img-text{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  margin:0;
  padding:0;
  text-decoration: none;
  font-weight: 700;
  font-size: 25px;
  color: rgb(255, 255, 255);
  text-shadow: 1px 1px 2px black;
  white-space: nowrap;
}

/*モーダル画像*/
.modal-wrapper {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.9);
  pointer-events: none;
  opacity: 0;
  transition: 0.25s ease-out;
  z-index: 1;
}

.modal-wrapper.show {
  opacity: 1;
  pointer-events: all;
}

.modal-image {
  position: absolute;
  max-width: 70%;
  max-height: 70%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  opacity: 0;
  transition: 0.5s ease-out;
}

@media screen and (max-width:700px){
  .modal-image {
    max-width: 80%;
    max-height: 80%;
  }
}


.modal-image.show {
  opacity: 1;
}

.md-image{
  cursor: pointer;
}

/* パララックス */
.parallax-wrap{
  position: relative;
  width:   100%;
  overflow: hidden;
}

.parallax-img{
  width:   100%;
}
@media screen and (max-width:700px)  {
  .parallax-img{
   height: 300px;
  }
}

.parallax-img-lg{
  width:   100%;
}
@media screen and (max-width:700px)  {
  .parallax-img-lg{
  display:none;
  }
}

.parallax-img-sm{
  width:   100%;
}
@media screen and (min-width:699px)  {
  .parallax-img-sm{
   display:none;
  }
}

.parallax-titlewrap{
  position:absolute;
  top:45%;
  left:50%;
}
.parallax-title{
  text-align: center;
  line-height: 1;
  color: white;
  text-shadow:1px 1px 1px black;
  transform: translate(-50%,-50%);
  white-space: nowrap;
}
.parallax-subtitle{
  text-align: center;
  line-height: 1;
  color: white;
  text-shadow:1px 1px 1px black;
  transform: translate(-50%,-50%);
  white-space: nowrap;
}

/* スライドカバー */

.coverslide-text {
  opacity: 0;
}

.inview .coverslide-text {
  opacity: 1;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  text-decoration: none;
  font-weight: 700;
  font-size: 25px;
  color: white;
  text-shadow: 1px 1px 2px black;
  white-space: nowrap;
  -webkit-animation-name: zoom-text;
          animation-name: zoom-text;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: none;
          animation-fill-mode: none;
}

.cover-slide {
  position: relative;
  overflow: hidden;
}

.cover-slide::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #eaebe6;
  opacity: 0;
}

.cover-slide.inview::after {
  opacity: 1;
  -webkit-animation-name: kf-cover-slide;
          animation-name: kf-cover-slide;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes kf-cover-slide {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.1% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@keyframes kf-cover-slide {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.1% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@-webkit-keyframes zoom-text {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes zoom-text {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.img-zoom, .bg-img-zoom {
  opacity: 0;
}

.inview .img-zoom, .inview .bg-img-zoom {
  opacity: 1;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-animation-name: kf-img-show;
          animation-name: kf-img-show;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: none;
          animation-fill-mode: none;
}

.inview .img-zoom:hover, .inview .bg-img-zoom:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

@-webkit-keyframes kf-img-show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  50.1% {
    opacity: 1;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    opacity: 1;
  }
}

@keyframes kf-img-show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  50.1% {
    opacity: 1;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    opacity: 1;
  }
}

.hover-darken::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transition: background-color 1.2s ease;
  transition: background-color 1.2s ease;
  pointer-events: none;
  -webkit-animation-name: kf-img-show;
          animation-name: kf-img-show;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: none;
          animation-fill-mode: none;
}

.hover-darken:hover::before {
  background-color: rgba(0, 0, 0, 0.4);
}

.bg-img-zoom {
  background-image: url(images/image-1.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
}

.img-bg50 {
  position: relative;
}

.img-bg50::before {
  display: block;
  content: '';
  padding-top: 50%;
}
 /* ----------------------------------------------------------------------
page-top
---------------------------------------------------------------------- */
.invisible {
  visibility: hidden;
}

#page_top{
  width: 60px;
  height: 58px;
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index:4;
}
#page_top a{
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  text-decoration: none;
}

#page_top a::before{
  font-weight: 900;
  content: '^';
  font-size: 20px;
  color: #fff;
  position: absolute;
  width: 20px;
  height: 20px;
  top:40%;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


/* ----------------------------------------------------------------------
 animation
---------------------------------------------------------------------- */
.scroll-fadeup {
  opacity: 0;
  transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease 0.5s, -webkit-transform 0.5s ease 0.5s;
  transition: opacity 0.5s ease 0.5s, -webkit-transform 0.5s ease 0.5s;
  transition: opacity 0.5s ease 0.5s, transform 0.5s ease 0.5s;
  transition: opacity 0.5s ease 0.5s, transform 0.5s ease 0.5s, -webkit-transform 0.5s ease 0.5s;
}

.scroll-active {
  opacity: 1;
  transform: translate(0, 0);
}

/* ----------------------------------------------------------------------
 VIDEO タグ
---------------------------------------------------------------------- */
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.titlewrap{
  position :absolute;
  left:50%;
  top:45%;
}

.title{
  text-align: center;
  transform: translate(-50%, calc(-50% + 20px));
  font-weight:600;
  text-shadow:1px 1px 0 #000;
  line-height: 1;
  white-space: nowrap;/*折り返しなし*/
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 1s, -webkit-transform 0.3s ease 1s;
  transition: opacity 0.3s ease 1s, -webkit-transform 0.3s ease 1s;
  transition: opacity 0.3s ease 1s, transform 0.3s ease 1s;
  transition: opacity 0.3s ease 1s, transform 0.3s ease 1s, -webkit-transform 0.3s ease 1s;
}

.swiper-slide-active .title {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.subTitle{
  text-align: center;
  margin-top: 20px;
  transform: translate(-50%, calc(-50% + 20px));
  font-weight:600;
  text-shadow:1px 1px 0 #000;
  line-height: 0.5;
  white-space: nowrap;/*折り返しなし*/
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0.8s, -webkit-transform 0.3s ease 0.8s;
  transition: opacity 0.3s ease 0.8s, -webkit-transform 0.3s ease 0.8s;
  transition: opacity 0.3s ease 0.8s, transform 0.3s ease 0.8s;
  transition: opacity 0.3s ease 0.8s, transform 0.3s ease 0.8s, -webkit-transform 0.3s ease 0.8s;
}

.swiper-slide-active .subTitle{
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* .discription-button-wrap{
  position :absolute;
  top:55%;
  left:50%;
} */

.discriptionwrap{
  margin-top: 10px;
  padding: 10px 15px;
  max-width:600px;
  min-width:350px;
  max-height:140px;
  transform: translate(-50%, calc(0% + 20px));
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0.6s, -webkit-transform 0.3s ease 0.6s;
  transition: opacity 0.3s ease 0.6s, -webkit-transform 0.3s ease 0.6s;
  transition: opacity 0.3s ease 0.6s, transform 0.3s ease 0.6s;
  transition: opacity 0.3s ease 0.6s, transform 0.3s ease 0.6s, -webkit-transform 0.3s ease 0.6s;
}

.discription{
  color:#fff;
  text-align: left;
  font-weight: 800;
  font-size:16px;
  letter-spacing: 5px;
  line-height: 30px;
  vertical-align: middle;
}
@media screen and (max-width:680px){
  .discription{
   font-size: 11px;
   line-height: 20px; 
   padding-top: 5px;
   padding-bottom: 5px;
  }
}

.swiper-slide-active .discriptionwrap {
  opacity: 0.8;
  -webkit-transform: translate(-50%,0%);
          transform: translate(-50%,0%);
}

.btn{
  margin-top: 50px;
  transform: translate(-50%, 0%);
  opacity: 0;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-family: Hiragino Sans, ヒラギノ角ゴ ProN, Hiragino Kaku Gothic ProN, 游ゴシック, YuGothic, 游ゴシック体,メイリオ, Meiryo, sans-serif;
  -webkit-transition: opacity 0.4s ease 0.5s, -webkit-transform 0.4s ease 0.5s;
  transition: opacity 0.4s ease 0.5s, -webkit-transform 0.4s ease 0.5s;
  transition: opacity 0.4s ease 0.5s, transform 0.4s ease 0.5s;
  transition: opacity 0.4s ease 0.5s, transform 0.4s ease 0.5s, -webkit-transform 0.4s ease 0.5s;

}

@media screen and (max-width:770px){
  .btn{
   margin-top: 30px;
  }
}

.btn a{
  text-decoration: none;
}

.swiper-slide-active .btn{
  opacity: 1;
}

.btn-colum{
  text-align: center;
  margin-top: 10px;
}

.btn-colum a{
  text-decoration: none;
}

.roundsquare-btn{
  padding: 15px 20px;
  color:#fff;
  font-size: 15px;
  font-weight: 600;
  height: 50px;
  border-radius: 30px 30px;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.roundsquare-btn:hover{
  opacity: 0.8;
}

.square-btn{
  padding: 15px 20px;
  color:#fff;
  font-size: 15px;
  font-weight: 600;
  height: 50px;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.square-btn:hover{
  opacity: 0.8;
}

.over-lay{
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: linear-gradient(-45deg, rgba(4, 114, 124, 0.4),rgba(17, 66, 99, 0.6));
}

/* ----------------------------------------------------------------------
 グローバルヘッダーナビ
---------------------------------------------------------------------- */

/* nav{
  background-color: transparent;
  width:100%;
  position: absolute;
  z-index:2;
  margin: 0;
  padding-left: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width:1024px){
  nav{
   display:none;  
  }
} */

nav{
  padding-left:0;
  font-family: Hiragino Sans, ヒラギノ角ゴ ProN, Hiragino Kaku Gothic ProN, 游ゴシック, YuGothic, 游ゴシック体,メイリオ, Meiryo, sans-serif;
}

.nav-bar{
  background-color: transparent;
  width:100%;
  position: absolute;
  z-index:20;
  margin: 0;
  padding-left: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width:1024px){
 .nav-bar{
   display:none;  
  }
}

.nav-bar-plane{
  background-color: #fff;
  width:100%;
  z-index:20;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width:1024px){
 .nav-bar-plane{
   display:none;  
  }
}

.nav-bar ul{
  list-style: none;
  margin: 0;
  padding-left:20px;
}

.nav-main-menu{
  list-style: none;
  margin: 0;
  padding-left:20px;
}

nav ul li a{
  color:rgb(255, 255, 255);
 }

.parent-li{
  color:rgb(160, 160, 160);
 }

.nav-logo{
  align-items: center;
  display: flex;
} 

.nav-index{
  padding-right: 20px;
  font-size:1.1em;
  font-weight: 500;
  display: inline-block;
  vertical-align:middle;
  margin: 0;
  line-height: 90px;
}
.nav-index a{
  text-decoration: none;
}

.nav-index-plane{
  padding-right: 20px;
  font-size:1.1em;
  font-weight: 500;
  display: inline-block;
  vertical-align:middle;
  margin: 0;
  line-height: 90px;
}
.nav-index-plane a{
  text-decoration: none;
}

.nav-megamenu{
  background-color:rgb(0, 0, 0);
  position: absolute;
  display: none;
  left: 0;
  width: 100%;
  box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
  z-index: 10;
}

.nav-megamenu-inner{
  display: flex; 
  min-height: 380px;
}

.nav-megamenu-parenttitle{
  min-width:250px;
  background-color:rgb(255, 255, 255);
  display: flex;
  justify-content: center;
  align-items: center;
  color:rgb(71, 71, 71);
  font-size: 1.1em;
}

.nav-megamenu ul{
  padding-left: 0;
  padding-top: 30px;
  padding-bottom:30px;
  padding-left: 20px;
  background-color: rgb(0, 0, 0);
}

.nav-megamenu li {
  display: inline-flex;
  margin-left:5px;
  margin-right:0;
  padding-left:0;
  padding-right:0;
  margin-bottom:5px;
  overflow: hidden;
}

.nav-megamenu-list{
  position: relative;
  overflow: hidden;
  background:linear-gradient(rgb(255, 255, 255),rgb(0,0,0));
}

.nav-megamenu-list p{
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  color:white;
  font-weight: 600;
  text-shadow:1px 1px 0 #000;
  transition-duration: 0.3s;
  z-index:2;
  line-height: 20px !important;
}

.nav-megamenu-list img{
  width:300px;
  height: 150px;
  transform: scale(1);
  transition-duration: 0.3s;
  object-fit: cover; 
}

.nav-megamenu-list img:hover{
  transform: scale(1.15);
  transition-duration: 0.3s;
}

.nav-megamenu-list:hover p{
  transform: translateY(-5px);
  transition: transform 0.6s;
 } 

/* ----------------------------------------------------------------------
 ノーマルメニュー
---------------------------------------------------------------------- */
.nav-normal{
  position  : absolute;
  display   : none;
  box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
  z-index: 1;
}

.nav-normal ul{
  list-style  : none;
  padding-left:  0px;
}

.nav-normal ul li{
 background-color: rgb(0, 0, 0);
 font-weight     : 500;
 line-height     : 40px;
 min-width       : 150px;
 padding         : 5px 15px 10px 15px;
 text-align      : left;
 color: white;
 font-size: 14px;
}

.nav-normal ul a :hover{
  background-color: rgb(187, 187, 187);
  color: rgb(0, 0, 0);
 }

.scroll-nav{
  position:fixed; 
  top:0; 
  left:0; 
  width:100%;
  z-index:20; 
}
  @media screen and (max-width:1025px){ 
  .scroll-nav{
    opacity: 0;
  } 
 }


/* ----------------------------------------------------------------------
 スマートデバイスナビ　wide:1024px以下で表示
---------------------------------------------------------------------- */

/* スマートフォンナビラップ */
 .smartnav  {
  background-color: transparent;
  display   : flex; position  : relative;
  flex-wrap : wrap;
  width     :100%;
  z-index: 10;
 }

 .smartnav-plane  {
  background-color: transparent;
  display   : flex; position  : relative;
  flex-wrap : wrap;
  width     :100%;
  z-index: 10;
  min-height: 70px;
  box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
 }
 @media screen and (min-width:1025px){ 
  .smartnav-plane{
    display    : none;
  } 
 }

/* スマートフォンナビロゴ */

 .smartnav-logo{
  align-items : center;
  display     : flex  ; position:  absolute;
  z-index     : 9   ;
  vertical-align: middle;
  padding-top: 7px;
 } 
 @media screen and (min-width:1025px){ 
 .smartnav-logo{
   display    : none;
 } 
}

.smartnav-plane-logo{
  align-items : center;
  display     : flex  ; position  : absolute;
  z-index     : 9   ;
  vertical-align: middle;
  padding-top: 7px;
 } 
 @media screen and (min-width:1025px){ 
  .smartnav-plane-logo{
   display    : none;
 } 
}



 /* スマートデバイスナビハンバーガーラップ*/
 .hamburger {
  display    : block ; position   : absolute;
  top        : 20px  ;
  right      : 15px  ;
  width      : 42px  ;
  height     : 42px  ;
  z-index    : 20    ;
  text-align : center;  cursor    : pointer ;
 }
@media screen and (min-width:1025px){ 
 .hamburger {
  display    : none;
  }
 }

 /* スマートデバイスナビハンバーガーバー*/
.hamburger span {
  display : block; position : absolute;
  left    : 6px  ;
  width   : 30px ;
  height  : 3px  ;
  background : rgb(255, 255, 255);
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition   : 0.2s ease-in-out;
  transition        : 0.2s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 0px;
}
.hamburger span:nth-child(2) {
  top: 10px;
}
.hamburger span:nth-child(3) {
  top: 20px;
}

/* スマートデバイスナビハンバーガーバーアクティブ*/
.hamburger.active span:nth-child(1) {
  
  top : 10px;
  left: 6px ;
  background : rgb(160, 160, 160);
  -webkit-transform: rotate(315deg);
  -moz-transform   : rotate(315deg);
  transform        : rotate(315deg);
  z-index: 100;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  
  top: 10px;
  background : rgb(160, 160, 160);
  -webkit-transform: rotate(-315deg);
  -moz-transform   : rotate(-315deg);
  transform        : rotate(-315deg);
}

/* ハンバーガーメニュー */
.hamburgerMenu {
  position  : fixed;
  /* overflow  : hidden; */
  top       : 0     ; 
  right     : 0     ; 
  width     : 450px ; 
  height    : 100%  ;
  z-index   : 10    ;
  color     : #fff; background: rgba(0,0,0)   ;
  padding   : 50px 10px !important;
  transform : translateX(100%); transition: all 0.3s;
}
@media screen and (max-width: 600px) {
  .hamburgerMenu{
   width    : 320px;
  }
}

/* ハンバーガーメニューを開いた時のカバー */
.displayCover{
  display : none  ; 
  position: fixed ;
  top       : 0   ;
  left      : 0   ;
  width     : 100%;
  height    : 100%;
  z-index   : 9   ;
  background:rgba(0,0,0,0.4);
  transition:.3s ease-in-out  ;
}

/* jQueryで付与・削除する */
.hamburgerMenu.active {
  transform : translateX(0%);
}
.displayCover.active {
  display   : block;
}

/* アコーディオンメニューコンテナー&タイトル */
.accordion-container .accordion-title {
  position: relative;
  margin: 0;
  padding: 0.625em 0.625em 0.625em 0.625em;
  font-size: 1.1em;
  font-weight: normal;
  color: #fff;
  cursor: pointer;
}

/* アコーディオンメニュー：＋縦*/
.accordion-container .accordion-title::before {
  content: "";
  position: absolute;
  top:   50% ;
  right: 25px;
  width: 15px;
  height: 2px;
  /*縦線*/
  transform: rotate(90deg);
  background: #fff;
  transition: all .2s ease-in-out;
}

/* アコーディオンメニュー：＋横*/
.accordion-container .accordion-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  /*横線*/
  width: 15px;
  height: 2px;
  background: #fff;
  transition: all .2s ease-in-out;
}

/* アコーディオンメニュー　＋アニメーション*/
.accordion-container .accordion-title.open::before {
  transform: rotate(180deg);
}

/* アコーディオンメニュー　＋アニメーション*/
.accordion-container .accordion-title.open::after {
  opacity: 0;
}

/* アコーディオンメニュー　＋を右に寄せる*/
.accordion-content {
  flex: 1 1 500px;
}

/* アコーディオンメニュー　＋スタイル*/
.accordion-content a{
  text-decoration: none;
}

/* アコーディオンメニュー上のマージン*/
.accordion-container {
  margin-top: 20px;
}

/* アコーディオンメニュー枠*/
.accordion-wrap{
  display: flex;/*左:文字accordion-wrap　右:+accordion-content*/
  flex-wrap: wrap;/*親wrap設定*/
  justify-content: space-between;/*wrap子間隔*/
  border: #fff 1px solid;
  background-color: rgb(156, 156, 156);
}

/* アコーディオンリンクスタイル*/
.accordion-wrap a {
  text-decoration:none;
  color:white;
  height: 45px;
  padding-top: 12px;
}

.accordion-wrap a h4{
  margin-top: 5px;
}


/* アコーディオン子メニュー*/
.accordion-child{
  width:100%;
  text-decoration: none;
  padding-top: 10px;
  padding-bottom:10px;
  color: white;
  margin: 0;
}

/* アコーディオン子メニュー・ホバー色*/
.accordion-child:hover{
  background-color: #00aaa7;
}


.searchform {
  position: relative;
  display: flex;
  justify-content: end;
  top: -40px;
  right: 60px;
}
 
.searchfield {
  font-size: 1em;
  width: 300px;
  margin: 3px;
  padding: 10px;
  border: solid 1px rgba(0, 0, 0, 0.5);
  border-radius: 30px;
  background-color:rgba(248, 238, 255, 0.5);
  color:rgba(0, 0, 0);
  font-weight: 500;
}

.searchfield-smart{
  font-size: 1em;
  width: 230px;
  padding: 10px;
  border: solid 1px rgba(0, 0, 0, 0.5);
  border-radius: 30px;
  background-color:rgba(248, 238, 255, 0.5);
  color:rgba(0, 0, 0);
  font-weight: 500;
}
 
.searchsubmit {
  font-family: FontAwesome;
  font-size: 1.4em;
  position: absolute;
  top: 20px;
  right: 2%;
  margin-top: 7px;
  padding: 0;
  cursor: pointer;
  color: #6297f5;
  border: none;
  background: transparent;
}

.searchsubmit-smart {
  font-family: FontAwesome;
  font-size: 1.4em;
  position: absolute;
  top: 5px;
  right: 0.5%;
  cursor: pointer;
  color: #6297f5;
  border: none;
  background: transparent;
}
 
.searchsubmit:hover {
  opacity: .6;
}


/* ----------------------------------------------------------------------
ローディングアニメーション
---------------------------------------------------------------------- */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 0.5s;
  background-color: rgb(72, 6, 255);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loaded {
  visibility:hidden;
  pointer-events:none;
  animation-name: fadeup;
  animation-duration: 0.5s;
}

@keyframes fadeup {
  from {
  opacity: 0.7;
  transform: translateY(0);
  }
  to {
  opacity: 0;
  transform: translateY(-20px);
   }
 }

.loading-img {
  animation: flash 1.7s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 479px) {
  .loading-img {
    top: 40%;
  }
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}


.spinner {
  width: 40px;
  height: 40px;
  background-color: rgb(255, 255, 255);
  position: absolute;
  top: 60%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: auto;
}

.double-bounce1, .double-bounce2 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgb(246, 246, 246);
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  top: 53%;
  left: 48.5%;
  
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}


@media screen and (max-width: 479px) {
  .double-bounce1, .double-bounce2 {
      left:45%;
      top:45%;
  }

}

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
  0%, 100% { 
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% { 
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}


/* ローディングアニメーション 終わり*/

/* ----------------------------------------------------------------------
フロントページ・コンテンツ
---------------------------------------------------------------------- */

.front-page-midwidth{
  display  : block;
  margin-right: auto;
  margin-left: auto;
  max-width: 1140px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-top: 20px;
  margin-bottom: 50px;
 }

.front-page-minwidth{
  display  : block;
  margin-right: auto;
  margin-left: auto;
  max-width: 770px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-top: 20px;
  margin-bottom: 50px;
}

.front-page-fullwidth{
  display  : block;
  width:100%;
  margin-top: 20px;
  margin-bottom: 50px;
 }
 
/* ----------------------------------------------------------------------
footermenu
---------------------------------------------------------------------- */

footer{
  bottom:0;
  width:100%;
}

.footermenu{
  width:100%;
  height: auto;
  padding-top: 20px;
}

.footermenu-wrap{
  display: flex;
  height: auto;
  justify-content:center;
  flex-wrap: wrap;
  
}

.footermenu-list {
  display:inline-flex;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
}

.footermenu-list ul{
 font-weight: 700;
 padding-inline-start: 10px;
 padding-inline-end :10px;
 text-align: center;
}

.footermenu-list Ul li {
 list-style: none;
 font-weight: 500;
 line-height: 35px;
 text-align: center;

}

.footermenu-list a{
  text-decoration: none; 
}

.footermenu-child{
  line-height: 30px;
}


/* ----------------------------------------------------------------------
footer-copyright
---------------------------------------------------------------------- */
.footer-copyright{
  width: 100%;
  text-align: center;
  font-size: 13px;
  padding-top: 20px;
  padding-bottom: 20px;
}

/* ----------------------------------------------------------------------
固定ページ
---------------------------------------------------------------------- */
.page-heroheadder-img{
  position:relative;
}
.page-heroheadder-img img{
 width: 100%; 
}

.page-heroheadder-txt{
  white-space: nowrap;
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%);
  color:#fff;
}

/* ----------------------------------------------------------------------
wp-pagenavi
---------------------------------------------------------------------- */
/*wp-pagenavi base*/
.wp-pagenavi {
	clear: both;
	text-align:center;

}
.wp-pagenavi a, .wp-pagenavi span {
	color: #999;
	background-color: #FFF;
	border: solid 1px #e0e0d2;
	padding: 8px 15px;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration:none;
}
.wp-pagenavi a:hover{
    color:#FFF; 
    background-color:#999; 
    border-color:#999;
    }
.wp-pagenavi span.current{
	color: #FFF;
	background-color: #66cccc;
	border-color: #66cccc;
	font-weight: bold;
    }

/* ----------------------------------------------------------------------
 --- お問い合わせフォーム --- 
---------------------------------------------------------------------- */
/* デザインカスタマイズ */
div.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:0px; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; margin:0 0 30px 0; }
div.wpcf7 p { padding:20px 20px 0; margin:0; font-size:11px; }
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px;}
div.wpcf7 input { width:97.5%; }
div.wpcf7 textarea { width:97.5%; height:300px; }
div.wpcf7 input.wpcf7-submit {
   cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:200px; height:45px; margin:0 auto; display:block;
   -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
   background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666;
}
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc;}
input#zip {width: 30%;}
input.wpcf7-form-control.wpcf7-captchar { width: 30%; margin-top: 10px;}

/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
 
/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}

