@charset "UTF-8";

/* ====== 共通 ====== */
a:hover {
  text-decoration: none;
  
}

main {
  margin-top: 150px; /* 上の空白を150pxに指定 */
}

.top-fix{
/*   
   position:sticky 
   position: fixed;
   width: 100%;
   background: #fff;
   height: 80px;
*/
  position: fixed;
  top: 0;
  background: #fff;
  z-index: 999;
  width: 100%;
  height: 150px; /* 高さを150pxに指定 */

}

header .navbar-brand {
  width: 20%;
}

header .navbar-brand .logo {
  width: 100%;
}

header .navbar-brand:hover {
  opacity: 0.6;
}

header .tel {
  font-size: 2rem;
  color: #fff;
}

header .tel a {
  color: #fff;
}

/* ヘッダー(navbar) */
#nav01 {
/* ↓これが細線の色       
  border-bottom: 3px solid #00008b;    */
  border-bottom: 3px solid #838b00;
  color: #fff;
  background: #fff;
}

#nav02 .nav-fill {
  width: 100%;
  background: #fff;
}

#nav02 .nav-item {
  border-left: 1px solid #dee2e6;
}

#nav02 .last-list-md {
  border-right: 1px solid #dee2e6;
}

.bg-aoiro {
  /*  background-color:#002b66!important  */
  background-color:#6ab2ce!important
}

/*--------------------------------------------------------------
	Gallery
--------------------------------------------------------------*/
.gallery-item {
  position: relative;
  text-align: center;
  margin: 0 0 20px;
  
}

.gallery-image {
  position: relative;
  overflow: hidden;
}

.gallery-image a.gallery {
  position: relative;
  display: block;
}

.gallery-image img {
  display: block;
  overflow: hidden;
  width: 100%;
}

.gallery-image:after {
  position: absolute;
  background: transparent;
  content: " ";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

.gallery-caption {
  position: absolute;
  width: 100%;
  opacity: 0;
  bottom: 100%;
  left: 0;
  z-index: 2;
  text-align: center;
  font-size: 28px;
  color: #fff;
  padding: 20px;
}

.gallery-icon {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  height: 50px;
  width: 50px;
  font-size: 24px;
  margin: 0 auto;
}

.gallery-icon i,
.gallery-icon span {
  line-height: 50px;
}

/* Gallery hover */
.gallery-item:hover .gallery-image:after {
  opacity: 1;
  transition: all 0.3s ease-in-out 0s;
  background: rgba(0, 0, 0, 0.6);
}
.gallery-item:hover .gallery-caption {
  opacity: 1;
  transition: all 0.3s ease-in-out 0s;
  bottom: 50%;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%);
}

/* News Ticker */
div.title {
    margin: 15px 0px 3px 5px
}

#ul_news {
    display: none;
}
div.tick {
    width: 100%;
    height: 30px;
    line-height: 30px;
    text-align: left;
    border: solid 1px green;
    position: relative;
    overflow: hidden;
    border-radius: 1px;
}



div.tick a {
    position: absolute;
    margin-left: 10px;
    font-size: 1.0em;
    color: gray;
}

/* 中央以外のスライド */

.slick-img-cont {
  overflow: hidden;
}

.slick-img img {
  margin: 0 auto;
  opacity: .3; // スライドを薄くする
  transform: scale(.7); // スライドのサイズを70%にする
  transition: opacity .5s, transform .5s; // スライド透過率と拡大のアニメーション時間を0.5秒に設定

}
/* 中央のスライド */
.slider .slick-center img {
  width: 100%;
  opacity: 1; // 中央のスライドは透過しない
  transform: scale(1); // 中央のスライドは小さくしない
}


/* ====== TOTOP ====== */
/* ページトップ */
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 80%;
}

#page-top a {
  background: #91bbea;
  text-decoration: none;
  color: #fff;
  width: 100px;
  padding: 25px 0;
  text-align: center;
  display: block;
  border-radius: 10px;
}

#page-top a:hover {
  text-decoration: none;
  background: #3180d8;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled).active {
/*   色はここ もと色:6c757d　62d9a5　3c8c68　*/
  color: #3c8c68 !important;
}

/* ====== TOP IMAGE ====== */

header.top-page {
  height: 100vh;
  overflow: hidden;
  padding-right: 0;
  padding-left: 0;
}

.jumbotron {
  background-image: url("../img/main-image.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.jumbotron .bg-rgba {
  background-color: rgba(255, 255, 255, 0.9);
}

.jumbotron h1 {
  word-wrap: break-word;
}

.jumbotron h2 {
  line-height: 1.8rem;
}

/* *****コンタクトページ小***** */
.jumbotronsmall {
  background-image: url("../img/main-image.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

/* *****トップページslider***** */
.jumbotronslider {
  text-align: left;
  background-image: url("../img/main-image.jpg");
  background-size: cover;
/*
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
*/
}

/* *****下層ページ***** */
.breadcrumb-item + .breadcrumb-item:before {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: small;
  color: #333;
}

#page .jumbotron {
  background: #f1efff url("../img/page-image.jpg") no-repeat center center;
  background-size: cover;
  border-radius: initial;
}

/* *****季節リンクページ***** */
.jumbotron-season {
  background: #f1efff url("../img/season-image.jpg") no-repeat center center;
  background-size: cover;
  border-radius: initial;
}

#page .jumbotron-season {
  background: #f1efff url("../img/season-image.jpg") no-repeat center center;
  background-size: cover;
  border-radius: initial;
}

/* ====== TOPPAGE SECTION ====== */

#sec1 .card:nth-of-type(2) {
  border-left: none;
  border-right: none;
}

.ttl-bdr {
  font-size: 3rem;
  line-height: 1.5;
  position: relative;
  margin-bottom: 50px;
}

.ttl-bdr::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 5px solid #000;
  width: 12%;
  margin: 0 auto -15px;
}

#sec3 {
  background-image: url("../img/bg-staff.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#sec3no {
/*  background-image: url("../img/bg-staff.jpg");  */
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#sec4 table {
  width: 100%;
  background-color: #CCC;
  font: 12px;
  color: #666;
  table-layout: fixed;
  border-collapse: collapse;
}

#sec4 table th,
#sec4 table td {
  padding: 10px;
  text-align: center;
  border: 1px solid #ccc;
}

#sec4 table th {
  background-color: #002795;
  color: #fff;
}

#sec4 table td {
  width: 14.2%;
}

#sec4 table td:nth-child(7n) {
  background-color: #5197E0;
  color: #fff;
}

#sec4 table td:nth-child(7n+1) {
  background-color: #FF8A8C;
  color: #fff;
}

/* ====== SNS ====== */
.social img {
  width: 36px;
  height: 36px;
}

/* ====== SNS ====== */

iframe {
  width: 100%;
  height: 450px;
}

/* ====== FOOTER ====== */
.footer-logo {
  width: 50%;
}

/************************************************************
 * modal  20歳未満は本サイト
 ************************************************************/

.modal { position:fixed; display:none; z-index:9999; top:38%; left:55%; width:400px; height:500px; margin:-116px 0 0 -221px; padding:20px; color:#FFF; text-align:center; border:1px solid #FFF; border-radius:10px; }
.modal img { vertical-align:bottom; }
.modal p { margin-bottom:10px; }
.modal ul { text-align:center; }
.modal li { display:inline; }
.modal a { cursor:pointer; }


/* =============================================
メディアクエリ
============================================= */

/* 大デバイス（デスクトップ, 1200px 未満）
==============================================*/
@media screen and (max-width: 1199.98px) {
  .herounit h1 {
    margin-top: 10rem;
  }
}

/* END */
/* 中デバイス（タブレット, 992px 未満）
==============================================*/
@media screen and (max-width: 991.98px) {

  main {
    margin-top: 80px; /* 上の空白を150pxに指定 */
  }

  .top-fix{
	height: 80px; /* 高さを150pxに指定 */
  }

  .container {
    max-width: 740px;
  }
}

/* END */
/* 小デバイス（横向きモバイル, 768px 未満）
==============================================*/
@media screen and (max-width: 767.98px) {
  h1 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }

  #sec3 {
    background-image: none;
  }

  main {
    margin-top: 180px; /* 上の空白を150pxに指定 */
  }

  .top-fix{
	height: 180px; /* 高さを150pxに指定 */
  }
  
  header .navbar-brand {
    width: 70%;
  }

  header .navbar-brand .logo {
    width: 100%;
  }

  header .navbar-nav {
    border-top: 1px solid #fff;
  }

  .footer-logo {
    width: 100%;
  }

}

/* END */
/* 小デバイス（縦向きモバイル, 680px 未満）
==============================================*/
@media screen and (max-width: 679.98px) {

  main {
    margin-top: 160px; /* 上の空白を150pxに指定 */
  }

  .top-fix{
	height: 160px; /* 高さを150pxに指定 */
  }
  

}

/* END */
/* 極小デバイス（縦向きモバイル, 576px 未満）
==============================================*/
@media screen and (max-width: 575.98px) {
  .display-3 {
    line-height: 0.8em;
  }

  .display-4 {
    font-size: 2rem;
    line-height: 1.2;
  }

  main {
    margin-top: 130px; /* 上の空白を150pxに指定 */
  }

  .top-fix{
	height: 130px; /* 高さを150pxに指定 */
  }
  
}

/* END */
