@charset "UTF-8";
/* resetCSS */
html, body, h1, h2, h3, h4, p, div, span, img, a, table, tr, th, td, figure {
  margin: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  letter-spacing: normal;
}
article, header, footer, section { display: block; }
body { line-height: 1; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
:target { scroll-margin-top: 80px; } /* 固定ヘッダー対策 */

/* navbar custom */
.navbar-mystyle {
  background-color: rgba(240, 240, 240, 0.8);
  box-shadow: 0 2px 4px rgba(0,0,0,.1);
}
.navbar-light .navbar-nav .nav-link { color: rgba(26,129,157, .50); }
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover { color: rgba(98,98,98, .70); }
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(26,129,157,0.50)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(26,129,157,0.50)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
}

/* custom button */
.btn-custom {
  color: #76B3C4;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  background-color: #FFFFFF;
  font-size: medium;
  min-width: 130px;
  height: 40px;
  text-align: center;
  padding-top: 10px;
  border-radius: 5px;
  white-space: nowrap;
}
a.btn-custom:hover {
  background-color: #B8D6DF;
  color: #FFF;
  position: relative;
  top: 1px; left: 2px;
}

/* リンクの下線除去（必要な箇所のみボタン風にする想定） */
a:link { text-decoration: none; }

/* カルーセル */
:root {
  --imgW: min(500px, 90vw);
  --gap: clamp(12px, 3vw, 28px);
  --sidePad: max(var(--gap), 24px);
  --inactive-opacity: .55;
  --active-scale: 1.00;
  --inactive-scale: 1.00;
  --anim-ms: 700ms;
}
.snap-viewport {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scroll-padding-inline: calc(50% - var(--imgW)/2);
  padding-inline: calc(50% - var(--imgW)/2 + var(--sidePad));
  scrollbar-width: none; /* Firefox */
}
.snap-viewport.no-snap { scroll-snap-type: none; }
.snap-viewport::-webkit-scrollbar { display: none; } /* Chrome/Safari */
.snap-track {
  display: flex;
  align-items: center;
  gap: var(--gap);
  padding-block: 8px;
}
.snap-item { flex: 0 0 auto; scroll-snap-align: center; }
.square-img {
  width: var(--imgW);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 12px;
  transform: scale(var(--inactive-scale));
  opacity: var(--inactive-opacity);
  transition: transform .55s ease, opacity .55s ease, box-shadow .55s ease;
}
.snap-viewport .snap-item.is-active .square-img {
  transform: scale(var(--active-scale));
  opacity: 1;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}
/* 矢印の当たり判定 */
.carousel-control-prev, .carousel-control-next { width: 11%; }

/* メイン背景 */
.contents2-style { background-image: url(../img/haikei15.jpg); padding-top: 20px; }

/* ▼カード型アイコン */
.my-card {
  background-color: #FFFFFF;
  border-radius: 10px;
  color: #656565;
  font-size: 16px;
  line-height: 1.4;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 200px;
}
@media (min-width: 768px) {
  .my-card { min-height: 240px; }
}
.my-card img { border-radius: 6px; }

/* スケジュール */
.schedule {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: large;
  font-weight: 400;
  letter-spacing: 5px;
  line-height: 1.5;
  color: #686868;
}
.schedule span {
  color: #B7D7DD;
  font-family: cabin, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 5px;
}
.my-text-style1 {
  font-size: 16px;
  margin-top: 5px;
  text-align: start;
  color: #686868;
}
.my-text-style2 {
  font-size: 18px;
  margin-top: 0;
  text-align: start;
  color: #745346;
  line-height: 1.4;
}
.schedule-title {
  background-color: #f7f7f7;
  color: #919191;
  font-weight: bold;
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0.75rem 1rem;
  border-radius: 8px;
}
.about-title {
  background-color: #ffffff;
  color: #89776e;
  font-weight: bold;
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0.75rem 1rem;
  border-radius: 8px;
}

/* スケジュール画像 */
.my-card-access {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  background-color: #FFFFFF;
  border-radius: 16px;
  border: 5px solid #D8D7D7;
}
@media (min-width: 768px) {
  .my-card-access { max-width: 560px; }
}

/* シマシマしまねとは */
.about {
  background: #FBFAF7;
  color: #666666;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  width: 100%;
  height: 100%;
  text-align: center;
  margin: auto;
  font-size: large;
  font-weight: 400;
  letter-spacing: 5px;
  line-height: 1.5;
}
.about span {
  color: #B7D7DD;
  font-family: cabin, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 5px;
}

/* 駐車場リンクボタン（やさしいブルーグレー） */
.btn-soft {
  border: 1px solid #6c8ea0;
  color: #6c8ea0;
  background-color: transparent;
  transition: all 0.3s ease;
}
.btn-soft:hover {
  background-color: #6c8ea0;
  color: #fff;
}

/* トップに戻る背景 */
.back-color-style {
  background-color: #EBEBEB;
  margin-bottom: 40px;
  padding: 40px;
}

/* つながる。 */
.sns-style {
  text-align: center;
  margin: 40px;
  padding: 20px 0;
}
.sns-style h3 {
  text-align: center;
  color: #909090;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: large;
  letter-spacing: 10px;
}

/* フッター */
.container-fluid img { vertical-align: bottom; }
.footer {
  color: #79BBD6;
  font-family: Arial, Helvetica, sans-serif;
  font-size: x-small;
  padding-top: 25px;
  font-style: normal;
  font-weight: 400;
  height: 60px;
  text-align: center;
  background-image: url(../img/haikei10.jpg);
  bottom: 0;
}

/* 追加背景 */
.contents3-style { background-image: url(../img/haikei2020.jpg); padding-top: 20px; }

/* テキストリンク共通 */
a { color:#76B3C4; text-decoration:none; transition:color .3s ease; }
a:hover { color:#E67E22; }

/* 「カラコロ工房」だけは常に下線あり */
.text-link-underline {
  color: #76B3C4;
  text-decoration: underline !important; /* ← 強制 */
  font-weight: 500;
}
.text-link-underline:hover {
  color: #E67E22;
}

/* さりげない月見出し */
.month-heading {
  display:inline-block; background:#f7f7f7; color:#777; font-weight:bold;
  padding:.4rem .8rem; margin-bottom:1rem; border-radius:6px; font-size:1.1rem;
}

/* カード用リンクの「ぺこっ」エフェクト */
.my-card:hover {
  position: relative;
  top: 1px;
  left: 2px;
}