@charset "utf-8";
/* CSS Document */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl,dd, dt, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1em;
}

 
html {
  font-size: 62.5%;
}
body, table, input, textarea, select, option {
  font-family: 'Kosugi Maru', YuGothic, sans-serif;
}
body {
  color: #333;
  font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, small {
  display: block;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
blockquote, q {
  quotes: none;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}
a, a:link {
  color: #333;
  text-decoration: none;
}
a:visited {
  color: #333;
}
a:hover {
  opacity: 0.7;
}
a:active {
  color: #333;
}
a, a img {
  -webkit-transition: .3s;
  transition: .3s;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.flex, .flex_space-around, .flex_center {
  display: flex;
  flex-wrap: wrap;
}
.flex {
  justify-content: space-between;
}
.flex_space-around {
  justify-content: space-around;
}
.flex_center {
  justify-content: center;
}
/* ====================================================
		Layout
==================================================== */
body {
  min-width: 1300px;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.8;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  overflow-x: hidden;
}
#container {
  text-align: left;
  position: relative;
  /*overflow: hidden;*/
  overflow: hidden;
}
#main {}
@media all and (min-width: 897px) {
  .sp {
    display: none !important;
  }
}
/* ====================================================
		Contents
==================================================== */
p {
  line-height: 2;
  letter-spacing: 0.06em;
}
a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}
.txt_center {
  text-align: center;
}
.txt_s {
  font-size: 1.2rem;
}
#main small {
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  display: block;
}
/* ====================================================
		Animation
==================================================== */
/* -------------------------------
		fadein
------------------------------- */
.fadein {
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.75, 0, 0.25, 1);
}
.fadein.scrollin {
  opacity: 1;
}
/* -------------------------------
		Photo Fadein
------------------------------- */
.phoFadein {
  transition: clip-path 1.4s cubic-bezier(0.75, 0, 0.25, 1), -webkit-clip-path 1.4s cubic-bezier(0.75, 0, 0.25, 1);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.phoFadein.scrollin {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
/* =======================================================================================================================

   TABLET

======================================================================================================================= */
@media screen and (min-width: 897px) and (max-width: 1299px) {
  /* ====================================================
      Layout
  ==================================================== */
  body {
    min-width: 100% !important;
  }
  body.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
  }
  #container {}
}
@media screen and (max-width: 896px) {
  

  body {
		min-width: inherit;
	}
	body.fixed {
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;

	}
	#container {
	}
	.pc {
		display: none !important;
	}
  
  

	#main p {
		line-height: 2;
		letter-spacing: 0.01em;
    font-size: 1.4rem!important;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
  .txt_center {
    text-align: left;
  }
  }

#topNewsWrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 40px;
  position: relative;
  background: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}

#topNewsWrapper h2 {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 30px;
  color: #333;
}

#topNews {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#topNews p {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 2px dotted #ff69b4; /* 濃いめのピンク */
  font-size: 1.7rem;
  text-align: left;
  line-height: 1.6;
  color: #444;
}

#topNews .news-date {
  font-weight: bold;
  color: #e91e63;
  margin-right: 12px;
}

#topNews .news-title {
  color: #222;
}

.news-button {
  text-align: right;
  margin-top: 30px;
}

.news-button a {
  display: inline-block;
  background: #e91e63;
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 1rem;
  transition: background 0.3s ease;
}

.news-button a:hover {
  background: #c2185b;
}



/* コンテナ幅：PC 80%、SP 100% */
.gallery-wrap {
  width: 80%;
  max-width: 1400px;     /* 任意。不要なら削除 */
  margin: 0 auto;
}
@media (max-width: 896px) {
  .gallery-wrap { 
	  width: 100%; 
	  padding: 0 12px;
	}
}

/* グリッド：PC 4列、SP 1列 */
.daily-gallery {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 896px) {
  .daily-gallery { grid-template-columns: repeat(1, 1fr); }
}

/* サムネイル */
.daily-gallery img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 9px; /* 角丸不要なら削除 */
  cursor: zoom-in;
}

/* モーダル */
.img-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.85);
  display: none;                 /* .open で表示 */
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 2vw;
}
.img-modal.open { display: flex; }
.img-modal img {
  max-width: 90vw;
  max-height: 90vh;
  display: block;
  cursor: zoom-out;
  border-radius: 8px;
}
/* モーダル表示中に背景スクロールさせない */
body.no-scroll { overflow: hidden; }

/* 既存の .inner があれば不要。なければ以下で中央寄せ＆余白 */
.section .inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 16px;
}

/* 画像100%＆余白リセット */
.schedule-figure { margin: 0; }
.schedule-figure img {
  display: block;
  width: 100%;
  height: auto;
}
  
/* 見出しを視覚的に隠す（スクリーンリーダー用） */
.visually-hidden {
  position: absolute !important;
  clip: rect(1px,1px,1px,1px);
  width: 1px; height: 1px;
  margin: -1px; overflow: hidden; padding: 0; border: 0;
}

/* 画像の長押しメニューやドラッグ保存の抑止（完全ではないけど実用的） */
img {
  -webkit-touch-callout: none; /* iOS Safariの長押しメニュー対策 */
  -webkit-user-drag: none;     /* 画像ドラッグを抑止 */
  user-select: none;           /* 選択を抑止（テキスト影響なし） */
}
