
/****
 共通パーツ
***/

:root {
  --mdb-red: #E4007F;
  --mdb-blue: #20AEE5;
  --mdb-orange: #F6AE6A;
  --mdb-green: #A7D398;
  --mdb-purple: #BA79B1;
  --mdb-pink: #F19EC2;
  --mdb-gray: #a3a3a3;
  --mdb-dark: #2e2e2e;
  --mdb-body-color: #231815;
}

body{
  font-family: 'Noto Sans JP', sans-serif;
}


body#home{
  background-image: url('../img/background-img01.webp');
  background-repeat: no-repeat;
  background-position: 40% 350px;
  background-size: auto;
}

main{
  margin-top: 10rem;
}

@media screen and (max-width: 576px) {
  main{
    margin-top: 8rem;
  }
}

#home main{
  margin-top: 1rem;
}

.h1,h1 {
  margin-bottom: 3rem;
}

.h2,h2 {
  font-weight: 600;
  display: flex;
  align-items: center; /* 垂直方向の中央揃え */
  margin-bottom: 0.5rem;
}


@media(min-width: 1200px) {
  .h2,h2 {
      font-size:1.25rem;
  }
}

.h3,h3 {
  font-weight: 600;
  font-size:1.1rem;

}

.h4,h4 {
  font-weight: 600;
  font-size:1.1rem;
  color: var(--mdb-blue);

}

dl{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}

dt {
  width: 15%;
  font-weight: 400;
  padding-left: 5px;

}

dd {
  width: 85%;
}


.custom-list{
  list-style-type: none; /* デフォルトのマーカーを削除 */
  padding-left: 0; /* 左側のパディングを削除 */
}

.custom-list li{
  margin-left: 1.5em;
  text-indent: -0.4em;
}

.article{
  margin-bottom: 3rem;
}


@media (min-width: 579px) {
  .sp{
    display: none;
  }
}


/****
 ボタン
***/

.btn{
  border: none;
  font-size: 0.8rem;
  color: #fff;
  padding: 0.35rem 1.5rem;
  border-radius: 0.4rem;
  margin-left: 10px;
  background-color: var(--mdb-blue);
}

.btn:hover {
  color: #fff;
}

.btn.blue{
  background-color: var(--mdb-blue);

}

.btn.orange{
  background-color: var(--mdb-orange);
}

.btn.green{
  background-color: var(--mdb-green);
}

.btn.purple{
  background-color: var(--mdb-purple);
}

.btn.pink{
  background-color: var(--mdb-pink);
}

.btn.gray{
  background-color: var(--mdb-gray);
}

.btn.dark{
  background-color: var(--mdb-dark);
}

.btn-lg{
  border: none;
  font-size: 1.0rem;
  color: #fff;
  padding: 1rem 1.5rem;
  border-radius: 0.4rem;
  margin-left: 10px;
}



/****
 ナビゲーション
***/

/* Color of the links BEFORE scroll */
.navbar-scroll .nav-link,
.navbar-scroll .fa-bars,
.navbar-scroll .navar-brand {
  color: #4f4f4f;
}

.navbar-scroll .nav-link:hover {
  color: #1266f1;
}

/* Color of the links AFTER scroll */
.navbar-scrolled .nav-link,
.navbar-scrolled .fa-bars,
.navbar-scrolled .navar-brand {
  color: #4f4f4f;
}

/* Color of the navbar AFTER scroll */
.navbar-scroll,
.navbar-scrolled {
  background-color: #fff;
}

/* An optional height of the navbar AFTER scroll */
.navbar.navbar-scroll.navbar-scrolled {
  padding-top: 5px;
  padding-bottom: 5px;
}

nav.navbar .logo{
  margin-bottom: 10px;
  height: 86px;
 }

 @media screen and (max-width: 1024px)  {
  nav.navbar .logo{
    height: 60px;
   }
}

 
 @media screen and (max-width: 768px)  {
   nav.navbar .logo{
     height: 53px;
    }
 }
 
 nav ul li.nav-item {
   position: relative; 
 }
 
 nav ul li.nav-item:not(:last-child)::after {
   content: "";
   display: block;
   width: 1px;
   height: 23px;
   background: #231815;
   position: absolute;
   right: 0;
   top: 50%;
   transform: translateY(-5%);
 }

 #home nav ul li.nav-item:not(:last-child)::after {
  transform: translateY(-50%);
}



 
 .navbar-expand-lg .navbar-nav .nav-link {
   padding-right: 1.0rem;
   padding-left: 1.0rem;
   padding-bottom: 1.0rem;
 }
 
 .navbar .container {
   align-items: flex-end;
 }
 
 @media screen and (max-width: 768px)  {
   .navbar .container {
     align-items: center;
   }
 }

 .nav-link.active{
  margin-bottom: 3px;
 }

 nav ul li.nav-item {
  display: flex;
  align-items: flex-end;
}
 

/****
 スライダー
***/



/* Carousel styling */
#introCarousel,
#introCarousel .carousel-inner,
#introCarousel .carousel-item,
#introCarousel .carousel-item.active {
  height: 310px;
  margin-bottom: 80px;
}

#introCarousel .carousel-item:nth-child(1) {
  background-image: url('../img/slider01.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(2) {
  background-image: url('../img/slider02.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(3) {
  background-image: url('../img/slider03.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(4) {
  background-image: url('../img/slider04.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(5) {
  background-image: url('../img/slider05.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(6) {
  background-image: url('../img/slider06.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(7) {
  background-image: url('../img/slider07.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

/* Height for devices larger than 576px */
@media (min-width: 992px) {
  #introCarousel {
    margin-top: 110px;
  }

}

.multi-carousel .multi-carousel-inner .multi-carousel-item img {
  max-height: 100%;
}

.font-small {
  font-size: 1rem;
}


.carousel-indicators [data-mdb-target] {
  width: 8px; /* 幅を円の直径に合わせます */
  height: 8px; /* 高さを円の直径に合わせます */
  border-radius: 50%; /* これで円になります */
}


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

#introCarousel {
  margin-top: 30px;
}


#introCarousel,
#introCarousel .carousel-inner,
#introCarousel .carousel-item,
#introCarousel .carousel-item.active {
  height: 200px;
  margin-top: 28px;
  margin-bottom:  28px;
}

.carousel-indicators{
  display: none;
}

#introCarousel .carousel-item:nth-child(1) {
  background-image: url('../img/slider01_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(2) {
  background-image: url('../img/slider02_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(3) {
  background-image: url('../img/slider03_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(4) {
  background-image: url('../img/slider04_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(5) {
  background-image: url('../img/slider05_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(6) {
  background-image: url('../img/slider06_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#introCarousel .carousel-item:nth-child(7) {
  background-image: url('../img/slider07_sp.webp');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}


}





/****
 メイン
***/

.jp{
  margin-bottom: 0.5rem;
}

.en{
  font-weight: 400;
  font-size: 0.9rem;
}


.w-22 {
  width: 22%!important
}



.table{
  color: var(--mdb-body-color);
  text-align: center;
  vertical-align: middle;
}

@media screen and (max-width: 576px) {
  .table{
    width: 680px;

  }
}


.table-bordered{
  border-color: var(--mdb-body-color);
}

table .jp{
  display: block;
  margin-bottom: 0.1rem;
}

table .en{
  display: block;
  font-size: 0.8rem;
}

table .standard{
  background-color: #FDE9D4;
}

table .sup{
  background-color: #E7F3E3;
}

table .night{
  background-color: #E9D9EA;
}

table .fish{
  background-color: #FBE6EF;
}

table .memo{
  text-align: left;
  font-size: 0.85rem;
}

.att{
  color: var(--mdb-red);;
}


/*コース案内用*/

#course .bg-standard{
  background-image: url('../img/course_bg_standard.webp');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 200px;
}

@media screen and (max-width: 576px) {
  #course .bg-standard{
    background-position: right 280px;
    background-size: 130px;
  }
}


#course .bg-sup{
  background-image: url('../img/course_bg_sup.webp');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 200px;
}

@media screen and (max-width: 576px) {
  #course .bg-sup{
    background-size: 160px;
  }
}


#course .bg-night{
  background-image: url('../img/course_bg_night.webp');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 200px;
}

@media screen and (max-width: 576px) {
  #course .bg-night{
    background-position: 280px 270px;
    background-size: 90px;
  }

  
}



#course dl {
  display: table;  /* dl要素をテーブルとして扱う */
  width: 100%;
}

#course dt,#course dd {
  display: table-row;  /* dtとddをテーブルの行として扱う */
}

#course dt {
  display: table-cell;  /* dtをテーブルセルとして扱う */
  font-weight: bold;    /* 用語のテキストを太字にする */
  width: 75px;
}

#course .short dt{
  width: 55px;
}

#course dd {
  display: table-cell;  /* ddをテーブルセルとして扱う */
  padding-left: 5px;   /* セル間にパディングを追加 */
  width: auto;
}


/*アクセス用*/

#access .bg-access{
  background-image: url('../img/access_bg01.webp');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 76px;
}

#access .bg-sanpo{
  background-image: url('../img/access_bg03.webp');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 76px;
}


/****
 フォーム
***/


.item {
  margin-bottom: 3rem;
}


.item dt {
  margin-bottom: 0.8rem;
  font-size: 1.1rem;
}

.item dt::before {
  content: "- ";
  /*content: "\f107"; Font Awesome 5 Freeのユニコード*/
  /*font-family: "Font Awesome 5 Free"; Font Awesome 5 Freeの指定*/
  color: #ced4da;
}

.item dd {
  margin: 0 1rem;
}

@media screen and (max-width: 576px) {
  .item dd {
    width: 100%;
    font-size: 0.9rem;
  }
  
  .item dd .form-control {
    margin-bottom: 5px;

  }

}



/* item 横並び */

.item dt {
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
  font-weight: bold;
  width: 90%;

}


.item dt>span{
  margin-left: 10px;
}

.item dt::before {
  content: "- ";
  /*content: "\f107"; Font Awesome 5 Freeのユニコード*/
  /*font-family: "Font Awesome 5 Free"; Font Awesome 5 Freeの指定*/
  color: #ced4da;
}

.item dd {
  margin: 0.5rem 1rem;
}


.input-inline {
  display: inline-flex;
}

.custom-control.input-inline {
  display: inline-flex;
  margin-right: 1rem;
}


.required {
  color: rgb(255, 255, 255);
  font-weight: normal;
  font-size: 70%;
  background-color: #990000;
  border-radius: 5px;
  padding: 3px;
}

.error {
  padding: 12px;
  font-weight: normal;
  color: #262626;
  background: #ffebe8;
  border: 2px solid #990000 !important;
}

.alert-error {
  color: #721c24;
  font-size: 0.8rem;
  background-color: #f8d7da;
  border-color: #f5c6cb;
  display: block;
  border-radius: 5px;
  padding: 5px;
  margin: 10px 0;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}


.w-30 {
  width: 30% !important;
}

@media screen and (max-width: 576px) {
  /*　スマホ対応　*/
  .w-10 {
    width: 24% !important;
  }
  .w-75 {
    width: 100% !important;
  }

  .w-50 {
    width: 100% !important;
  }

  .w-25 {
    width: 38% !important;
  }
}

.form-control.custom-select{
-webkit-appearance:push-button; 
appearance:push-button;
}

.custom-control-input{
  vertical-align: top;
  margin-top: 6px;
  margin-right: 0.5rem;
}

.custom-control.custom-checkbox{
  display: flex;
  align-items: flex-start;
}


.btn.disabled,.btn:disabled,fieldset:disabled .btn {
  color: #fff;
  pointer-events: none;
  opacity: 0.4;
  box-shadow: none
}

/* ステップバー */
.stepBar {
  display: flex;
  max-width: 500px;
  position: relative;
  margin: 20px auto;
  text-align: center;
  padding-inline-start: 0;
}

.stepBar li {
  font-size: 12px;
  list-style: none;
  position: relative;
  width: 33.333%;
}

.stepBar li:after {
  background: #ced4da;
  content: "";
  width: calc(100% - 24px);
  height: 2px;
  position: absolute;
  left: calc(-50% + 12px);
  top: 10px;
}

.stepBar li:first-child:after {
  display: none;
}

.stepBar li span {
  background: #ced4da;
  color: #ffffff;
  display: inline-block;
  height: 24px;
  margin-bottom: 5px;
  line-height: 24px;
  width: 24px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.stepBar .visited:after {
  background: var(--mdb-blue);
}

.stepBar .visited span {
  background: var(--mdb-blue);
}

/****
 フッター
***/

.page-top { 
  /* buttonタグのリセットCSS */
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  background-color: transparent ;

  position: fixed;
  z-index: 99999; 
  bottom: 100px; 
  right: 40px; 
  padding: 6px 40px;
  width: 200px;
  }

  @media screen and (max-width: 576px) {
    .page-top { 
      bottom: 20px; 
      right: 10px; 
      padding: 6px 10px;
      width: 120px;
      }
    

  }


footer {
  border-top: solid 1px #c2c2c2;
  font-size: 1rem;
}


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

  footer p {
    font-size: 0.8rem;
  }

  footer .d-flex {
    display: block!important;
  }
  footer .d-flex div.me-3{
    text-align: center;
  }

  
}

footer .copy{
  text-align: center;
  background-color: #ebebeb;
  padding: 10px;
  font-size: 0.7rem;
}