@charset "UTF-8";

/* ------------------------------------------------------------
  Reset / Normalize (lightweight)
  - 目的：ブラウザ差を潰し、上書きしやすい土台を作る
------------------------------------------------------------ */

/* box model を統一（疑似要素も含める） */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 主要ブロックの余白を落とす（列挙より意図が明確） */
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
  margin: 0;
}

/* リストの見た目を消す（必要な箇所で戻す前提） */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* テーブル */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 画像・メディアの扱いを安定させる */
picture, svg, video, canvas {
  display: block;
  max-width: 100%;
  height: auto;
}
img {
  max-width: 100%;
  height: auto;
}

/* フォーム部品のフォントを揃える（デフォ差対策） */
button, input, select, textarea {
  font: inherit;
}

/* リンクは必要に応じてプロジェクト方針で */
a {
  color: inherit;
  text-decoration: none; /* 下線を残したいならここは消す */
}



/* ------------------------------------------------------------
  Base
------------------------------------------------------------ */

html {
  line-height: 1.5;          /* ここで基準を決める */
  -webkit-text-size-adjust: 100%;
  /* 旧来の overflow-y: scroll 相当の「ガタつき防止」目的なら検討
     対応が気になる場合は overflow-y: scroll のままでもOK */
  /* scrollbar-gutter: stable; */
}

body {
  font-family: "Noto Sans JP", Arial, sans-serif;
  line-height: 1.5;
  position:relative;
}

/* ------------------------------------------------------------
  Utility: PC / SP switch
  - クラス名はそのまま維持
------------------------------------------------------------ */
@media (min-width: 768px) {
  .pcOFF { display: none; }   /* 基本は !important なし推奨 */
}
@media (max-width: 767px) {
  .spOFF { display: none; }
}

/* !important が必要な運用（既存CSSが強すぎて負ける等）なら、ここだけ戻す */
/*
@media (min-width: 768px) { .pcOFF { display: none !important; } }
@media (max-width: 767px) { .spOFF { display: none !important; } }
*/


/* ----------
#wrapper
   ---------- */
#wrapper{
	margin-top:96px;
}

/* SP */
@media screen and (max-width: 767px) {
	#wrapper{
		margin-top:73px;
	}
}



/* ----------
pageHeader
   ---------- */

.pageHeader {
}

.pageHeader .inner {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
	padding-bottom: clamp(20.0000px, calc(5.8594vw + -25.0000px), 35.0000px);
	margin-bottom: clamp(22.0000px, calc(7.0313vw + -32.0000px), 40.0000px);
	border-bottom:solid 1px #EFEFEF;
}

/* ---- */

/* ---- */
.pageHeader .inner .tit {
	font-size: clamp(20.0000px, calc(3.1250vw + -4.0000px), 28.0000px);
	text-align:center;
}

/* Wide Breakpoint */
@media screen and (max-width: 980px) {
  .pageHeader .inner {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
}



/* ----------
breadcrumb
   ---------- */

.breadcrumb {
  width: 100%;
  max-width:1400px;
  margin:0 auto;
	margin-bottom: clamp(30.0000px, calc(3.9063vw + 0.0000px), 40.0000px);

  padding: 14px 0;
  background: #fff;
  color: #2D6540;
  font-size: clamp(13.0000px, calc(0.3906vw + 10.0000px), 14.0000px);
  font-weight: 600;
  line-height: 1.4;
}

.breadcrumb * {
  box-sizing: border-box;
}

/* ---- */

/* ---- */
.breadcrumb .breadcrumb__lst {
  display: flex;
  align-items: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 先頭アイコン */
.breadcrumb .breadcrumb__lst::before {
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: url("/shared/img/breadcrumb_icon.png") no-repeat center / contain;
}

.breadcrumb .breadcrumb__lst .breadcrumb__lst__item {
  display: inline-flex;
  align-items: center;
  color: #2D6540;
  white-space: nowrap;
}

.breadcrumb .breadcrumb__lst .breadcrumb__lst__item:not(:last-child)::after {
  content: ">";
  display: inline-block;
  margin-left: 10px;
  color: #222222;
  opacity: 0.9;
}

.breadcrumb .breadcrumb__lst .breadcrumb__lst__item a {
  color: #2D6540;
  text-decoration: none;
}

.breadcrumb .breadcrumb__lst .breadcrumb__lst__item a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 最後の要素（現在地） */
.breadcrumb .breadcrumb__lst .breadcrumb__lst__item:last-child {
  color: #222222;
}

/* Wide Breakpoint */
@media screen and (max-width: 1400px) {
  .breadcrumb {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding: 12px 0;
  }

  .breadcrumb .breadcrumb__lst {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .breadcrumb .breadcrumb__lst::-webkit-scrollbar {
    display: none;
  }

  .breadcrumb .breadcrumb__lst .breadcrumb__lst__item {
    flex: 0 0 auto;
  }
}




/* ----------
footer
   ---------- */
.footer{
}

.footer .inner{
}

/* ---- */
.footer .footer__lnkBox{
	background:#2D6540;
}

.footer .footer__lnkBox .footer__lnkBox__lnk{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:35px 0;

	display:flex;
	gap:0;
	flex-wrap:wrap;

}

.footer .footer__lnkBox .footer__lnkBox__lnk .item{
	width:20%;
	text-align:center;
}
.footer .footer__lnkBox .footer__lnkBox__lnk .item:first-child{
	text-align:left;
}
.footer .footer__lnkBox .footer__lnkBox__lnk .item:last-child{
	text-align:right;
}

.footer .footer__lnkBox .footer__lnkBox__lnk .item a{
	color:#fff;
	font-size: clamp(13.0000px, calc(0.7813vw + 7.0000px), 15.0000px);
	text-decoration:underline;
}

/* ---- */
.footer .footer__infoBox{
	background:#2B2B2B;
}
.footer__infoBox__inner{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:35px 0;

	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-end;

	color:#fff;
}
.footer .footer__infoBox .footer__infoBox__info{
	display:flex;
	flex-wrap:wrap;
	gap:15px;
}

.footer .footer__infoBox .footer__infoBox__info .logo{
}

.footer .footer__infoBox .footer__infoBox__info .logo a{
}

.footer .footer__infoBox .footer__infoBox__info .logo img{
	width:100%;
	max-width:257px;
	height:auto;
}

.footer .footer__infoBox .footer__infoBox__info .info{
	font-size: clamp(11.0000px, calc(0.3906vw + 8.0000px), 12.0000px);
}

.footer .footer__infoBox .footer__infoBox__info .info .info__add{
	display:block;
}

.footer .footer__infoBox .footer__infoBox__info .info .info__tit{
	display:block;
}

.footer .footer__infoBox .footer__infoBox__info .info .info__tel{
	display:block;
}

/* ---- */
.footer .footer__infoBox .footer__infoBox__address{
	font-size: clamp(10.0000px, calc(0.7813vw + 4.0000px), 12.0000px);
	font-style:normal;
	text-align:right;
}

/* Wide Breakpoint */
@media screen and (max-width: 1200px) {
	.footer .footer__lnkBox .footer__lnkBox__lnk{
	}
	.footer__infoBox__inner{
		max-width:calc( 100% - 30px);
	}
}
@media screen and (max-width: 1200px) {

	.footer .footer__lnkBox .footer__lnkBox__lnk{
		padding:0;
	}
	.footer .footer__lnkBox .footer__lnkBox__lnk .item{
		width:50%;
		text-align:center !important;
	}
	.footer .footer__lnkBox .footer__lnkBox__lnk .item a{
		display:block;
		text-decoration:none;
		width:100%;
		padding:15px 0;
	}
	.footer .footer__lnkBox .footer__lnkBox__lnk .item:first-child{
		width:100%;
		border-bottom:dashed 1px #fff;
	}	
	.footer .footer__lnkBox .footer__lnkBox__lnk .item:nth-child(2) {
		border-right:dashed 1px #fff;
		border-bottom:dashed 1px #fff;
	}
	
	.footer .footer__lnkBox .footer__lnkBox__lnk .item:nth-child(3) {
		border-bottom:dashed 1px #fff;
	}
	
	.footer .footer__lnkBox .footer__lnkBox__lnk .item:nth-child(4) {
		border-right:dashed 1px #fff;
	}
	
	.footer .footer__lnkBox .footer__lnkBox__lnk .item:last-child {
	}


}

/* SP */
@media screen and (max-width: 1000px) {
	.footer .footer__infoBox .footer__infoBox__info{
		width:100%;
		margin-bottom:15px;
	}

	.footer .footer__infoBox .footer__infoBox__info .logo{
		width:100%;
		text-align:center;
	}
	.footer .footer__infoBox .footer__infoBox__info .logo a{
		text-align:center;
	}
	.footer .footer__infoBox .footer__infoBox__info .info{
		width:100%;
		text-align:center;
	}
	.footer .footer__infoBox .footer__infoBox__address{
		width:100%;
		text-align:center;
	}
}


/* SP */
@media screen and (max-width: 767px) {
}




/* ----------
.topMainContent
---------- */
.topMainContent{
	padding:30px 0 100px;

	background:url(../img/topMainContent_bk.png) no-repeat center center;
	background-size:cover;
}
.topMainContent__inner{
	width:100%;
	max-width:1400px;
	margin:0 auto;
}
@media screen and (max-width: 1400px) {
	.topMainContent__inner{
		max-width:calc( 100% - 30px);
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.topMainContent{
		padding:30px 0 100px;
	}
	.topMainContent{
		background-image:url(../img/topMainContent_sp_bk.png);
	}
}


/* ----------
topInformation
   ---------- */
.topInformation{
}

.topInformation .inner{
	width:100%;
	background:#fff;
	padding:20px;

	display:flex;
	flex-wrap:wrap;
	gap:30px 2.5%;
}


/* ---- */
.topInformation .topInformation__calender{
	width:350px;
}

.topInformation .topInformation__calender .topInformation__calender__titAre{
	margin-bottom: clamp(25.0000px, calc(3.9063vw + -5.0000px), 35.0000px);

	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
}

.topInformation .topInformation__calender .topInformation__calender__titAre .tit{
	margin-top:2px;
}

.topInformation .topInformation__calender .topInformation__calender__titAre .tit span{
	display:inline-block;
	background:url(../img/topInformation__calender__titAre_icon.png) no-repeat left center;
	background-size: clamp(28.0000px, calc(2.3438vw + 10.0000px), 34.0000px) auto;
	padding-left:40px;
	font-size: clamp(14.0000px, calc(1.5625vw + 2.0000px), 18.0000px);
}

.topInformation .topInformation__calender .topInformation__calender__titAre .lnk {
	background:#2D6540;
	display:block;
	text-box: trim-both cap alphabetic;
	padding: 10px 5px;
}	
.topInformation .topInformation__calender .topInformation__calender__titAre .lnk span{
	display:inline block;
	background:url(../img/topInformation__calender__titAre_lnk_icon.png) no-repeat 3px center;
	background-size:clamp(15.0000px, calc(1.1719vw + 6.0000px), 18.0000px) auto;
	text-box: trim-both cap alphabetic;
	padding-left:23px;
	font-size: 13px;
	color:#fff;
}


/* ---- */
.topInformation .topInformation__calender .topInformation__calenderBox{
	background:#E6F0E7;
	padding:clamp(5.0000px, calc(3.9063vw + -25.0000px), 15.0000px);
}

.topInformation .topInformation__calender .topInformation__calenderBox .googleCalenderArea{
}
.topInformation .topInformation__calender .topInformation__calenderBox .googleCalenderArea iframe{
	display:block;
	width:100%;
	height:250px;
}

.topInformation .topInformation__calender .topInformation__calenderBox .txt{
	color:#DB372D;
	font-size:12px;
}


/* ---- */
.topInformation .topInformation__news{
	width:calc(100% - ( 2.5% + 350px));
}

.topInformation .topInformation__news .topInformation__news__titAre{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
}

.topInformation .topInformation__news .topInformation__news__titAre .tit{
	margin-bottom: clamp(25.0000px, calc(3.9063vw + -5.0000px), 35.0000px);
}

.topInformation .topInformation__news .topInformation__news__titAre .tit span{
	display:inline-block;
	background:url(../img/topInformation__news__titAre_icon.png) no-repeat left center;
	background-size: clamp(28.0000px, calc(2.3438vw + 10.0000px), 34.0000px) auto;
	padding-left:45px;
	font-size: clamp(14.0000px, calc(1.5625vw + 2.0000px), 18.0000px);
}

.topInformation .topInformation__news .topInformation__news__titAre .lnk{
	background:url(../img/topInformationLst_arrow.png) no-repeat right 5px center;
	border:solid 1px #2D6540;
	font-size: clamp(14.0000px, calc(1.5625vw + 2.0000px), 18.0000px);
	color:#2D6540;
	padding:6px 20px 6px 10px;
}


/* ---- */
.topInformation .topInformation__news .topInformationLstBox{
}

.topInformation .topInformation__news .topInformationLst{
	display:flex;
	flex-direction:column;
}

.topInformation .topInformation__news .topInformationLst .item{
	width:100%;
	padding:10px 20px;
	border-bottom:solid 1px #F3F2F4;
	font-size: clamp(14.0000px, calc(0.3906vw + 11.0000px), 15.0000px);

	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.topInformation .topInformation__news .topInformationLst .item:last-child{
	border:none;
}

.topInformation .topInformation__news .topInformationLst .item .date{
	width:95px;
	color:#ACACAC;
}

.topInformation .topInformation__news .topInformationLst .item .lnk{
	width:calc(100% - (95px + 10px));
	background:url(../img/topInformationLst_arrow.png) no-repeat right 5px;
	padding-right:15px;
}
.topInformation .topInformation__news .topInformationLst .item .lnk:hover{
	color:#2D6540;
}


/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	/* ---- */
	.topInformation .topInformation__calender{
		width:100%;
	}

	/* ---- */
	.topInformation .topInformation__news{
		width:100%;
	}


	.topInformation .topInformation__news .topInformationLst{
		display:flex;
		flex-direction:column;
	}

	.topInformation .topInformation__news .topInformationLst .item{
		width:100%;
		padding:10px 0px;
	}

	.topInformation .topInformation__news .topInformationLst .item .date{
		width:100%;
	}
	.topInformation .topInformation__news .topInformationLst .item .lnk{
		width:100%;
	}


}



/* CSS（完全なソースコード例） */
/* ----------
topBannerArea
---------- */
.topBannerArea{
  background: #eaf2ea;          /* 画像の薄いグリーン帯の雰囲気 */
  padding: 18px 0 50px;
  overflow-x:clip;
}

.topBannerArea .inner{
  max-width: 1400px;            /* PC最大幅 1600px */

  margin: 0 auto;               /* コンテンツ中央揃え */
	margin-top:-80px;

  padding: 0 0px;              /* 端の余白 */
  position: relative;           /* 矢印の絶対配置用 */
}

/* Slick対象 */
.topBannerArea__list{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* スライド間の余白（ガター） */
.topBannerArea__list .slick-slide{
  padding: 0 10px;
  box-sizing: border-box;
}

/* クリック領域・画像 */
.topBannerArea__item a{
  display: block;
  overflow: hidden;
  text-decoration: none;
}

.topBannerArea__item img{
  display: block;
  width: 100%;
  height: auto;
}

/* Slickのデフォルト矢印・ドットを調整 */
.topBannerArea .slick-dots{
  display: none !important; /* デザイン上、不要なら非表示 */
}

/* カスタム矢印 */
.topBannerArea .slick-arrow{
  width: 56px;
  height: 56px;
  z-index: 5;
}

.topBannerArea .slick-prev,
.topBannerArea .slick-next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  width:60px;
  height:auto;
}

.topBannerArea .slick-prev{ left: -30px; }
.topBannerArea .slick-next{ right: -30px; }

/* slick-theme.css の疑似要素アイコンを消す */
.topBannerArea .slick-prev:before,
.topBannerArea .slick-next:before{
  content: "";
}

/* 画像矢印の見た目 */
.topBannerArea .topBannerArea__arrowImg{
  display: block;
  width: 60px;
  height: 60px;
}

/* 矢印の無効化時 */
.topBannerArea .slick-disabled{
  opacity: .3;
  pointer-events: none;
}
/* SP */
@media screen and (max-width: 1450px) {

  .topBannerArea .slick-arrow{
    width: 48px;
    height: 48px;
  }

  .topBannerArea .topBannerArea__arrowImg{
    width: 48px;
    height: 48px;
  }

	.topBannerArea .slick-prev{ left: -15px; }
	.topBannerArea .slick-next{ right: -27px; }
}


/* Wide Breakpoint */
@media screen and (max-width: 1400px) {
  .topBannerArea .inner{
    width: calc(100% - 30px);   /* 既存方針に合わせる */
    padding: 0;
  }
}



/* SP */
@media screen and (max-width: 767px) {
  .topBannerArea{
    padding: 14px 0;
  }

  .topBannerArea .slick-arrow{
    width: 48px;
    height: 48px;
  }

  .topBannerArea .topBannerArea__arrowImg{
    width: 48px;
    height: 48px;
  }

	.topBannerArea .slick-prev{ left: -15px; }
	.topBannerArea .slick-next{ right: -27px; }
}


/* SP */
@media screen and (max-width: 450px) {
	.topBannerArea__list .slick-slide{
	  padding: 0 0px;
	}
  .topBannerArea .slick-arrow{
    width: 35px;
    height: 35px;
  }

  .topBannerArea .topBannerArea__arrowImg{
    width: 35px;
    height: 35px;
  }

	.topBannerArea .slick-prev{ left: -15px; }
	.topBannerArea .slick-next{ right: -40px; }
}

/* -------------
 *
 * ------------- */
.googleCalenderArea-Detail{
}
.googleCalenderArea-Detail iframe{
	display:block;
	width:100%;
}

