@charset "UTF-8";
html,body{
	padding:0;
	margin:0;
	font-family: "Montserrat", Arial, "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	line-height: 1.8rem;
}
html {
	scroll-behavior: smooth;
}
body {
   text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
}

@media print {
    body {
        zoom: 0.68;
        -webkit-print-color-adjust: exact;
    }
}

    :root {
      --green:      #68A69B;
      --green-light:#D1E3E6;
      --green-mid:  #c6e0ce;
      --green-deep:  #68A69B;
      --yellow:     #f7c94b;
      --text:       #2d2d2d;
      --text-sub:   #666;
      --white:      #ffffff;
      --radius:     20px;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: "Montserrat", Arial, "M PLUS Rounded 1c", sans-serif;
		font-weight: 400;
      background: #fff;
      color: var(--text);
      line-height: 1.8;
	  position: relative;
    }

    /* ========= NAVIGATION ========= */
	
	#drawer {
		display: none;
	}
	.menu {
		display:  flex;
		flex-wrap: wrap;
		justify-content: end;
		align-items: start;
		margin-bottom: 40px;

	}
	.menu h2 {
		display: none;
	}

	.menu ul.gnav {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		place-items: center;
		justify-content: center;
		background: #fff;
		font-size: 1rem;
		padding: 15px 10px 15px 40px;
		border-radius: 30px;
		width: calc(100% - 80px);
		max-width: 80%;
		margin-right: 30px;
	}
	.menu ul.gnav li {
		position:relative;
	}
	.menu ul.gnav li::before {
		position: absolute;
		top: 2px;
		left: -30px;
	}
	.menu ul.gnav li:nth-child(1)::before {
		content: url('../img/icon-nav02.svg');
	}
	.menu ul.gnav li:nth-child(2)::before {
		content: url('../img/icon-nav03.svg');
	}
	.menu ul.gnav li:nth-child(3)::before {
		content: url('../img/icon-nav01.svg');
	}
	.menu ul.gnav li:nth-child(4)::before {
		content: url('../img/icon-nav04.svg');
	}
	.menu ul.gnav li:nth-child(5)::before {
		content: url('../img/icon-nav05.svg');
	}
	.menu ul.h-insta {
		padding: 0;
		margin: 0;
	}
	
	.menu ul.h-insta li a  {
		visibility:hidden;
	}
	.menu ul.h-insta li a::before  {
		visibility:visible;
		content: '';
		display: block;
		width: 60px;
		height: 60px;
		background: url(../img/h-instagram.png) center center no-repeat;
		background-size: cover;

	}
	:target {
  scroll-margin-top: 50px; /* ヘッダーの高さ＋αくらいに設定 */
}


	
@media screen and (max-width:820px){
	/* toggle button */
	#drawer {
		display: none;
	}
	label {
		cursor: pointer;
		position: fixed;
	}
	header .open {
		z-index: 2;
		top: 8px;
		right: 8px;
		width: 48px;
		height: 48px;
		border-radius: 48px;
		/*background: #86c0de;*/
		background: #68C135;
		transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	header .open:hover {
		background: #4381b0;
	}
	header .open::before,
	header .open::after {
		content: "";
	}
	header .open span,
	header .open::before,
	header .open::after {
		content: "";
		position: absolute;
		top: calc(50% - 1px);
		left: 30%;
		width: 40%;
		border-bottom: 2px solid white;
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	header .open::before {
		transform: translateY(-8px);
	}
	header .open::after {
		transform: translateY(8px);
	}
	header .close {
		z-index: 1;
		inset: 0;
		pointer-events: none;
		transition: background .6s;
	}
	#drawer:checked + .open {
		/*background: #dc6688;*/
		background: #7699b9;
		transform: translateX(-280px);
	}
	#drawer:checked + .open span {
		transform: scaleX(0);
	}
	#drawer:checked + .open::before {
		transform: rotate(135deg) scaleX(1.2);
	}
	#drawer:checked + .open::after {
		transform: rotate(-135deg) scaleX(1.2);
	}
	#drawer:checked ~ .close {
		pointer-events: auto;
		background: rgba(0,0,0,.3);
	}
	/* drawer menu */
	.menu {
		z-index: 111111;
		display: block;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 280px;
		height: 100%;
		margin: 0;
		padding: 10px;
		box-sizing: border-box;
		background: rgba(0,0,0,.8);
		transform: translateX(100%);
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.menu h2 {
		display: block;
		color: white;
		font-family: "Ubuntu Condensed", sans-serif;
		font-weight: 400;
		letter-spacing: .1em;
		text-align: center;
	}
	.menu ul.gnav {
		display: inline;
		background: transparent;
		width: 100%;
		font-size: 1.4;
		padding: 0;
		border-radius: 0;
	}
	.menu ul {
		margin: 0;
		padding: 0;
	}
	.menu li {
		line-height: 1.4;
	}
	.menu li:not(:first-child) {
		border-top: 1px solid rgba(255,255,255,.6);
	}
	.menu a {
		display: block;
		padding: 1em 2em;
		color: white;
		text-decoration: inherit;
		transition: background .6s;
	}
	.menu a:hover {
		background: black;
	}
	#drawer:checked ~ .menu {
		transform: none;
	}
	.menu ul.h-insta li a  {
		visibility:visible;
		border-top: 1px solid rgba(255,255,255,.6);
	}
	.menu ul.h-insta li a::before {
		visibility:hidden;
		content: '';
		display: block;
		width: 100%;
		height: auto;
		background:none;
	}
}

.container {
	width: 100%;
	padding: 0 20px;
}
@media print, screen and (min-width:768px) {
	.container {
		max-width: 1240px;
		margin: 0 auto;
	}
}

 /* ========= HEADER ========= */
    header {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
      padding: 30px 0 0 0;
      gap: 16px;
	  background: url('../img/bg_main.png') center center no-repeat;
	  background-size: cover;
	  height: 650px;
	  width: 100%;
    }

header .container .hero {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  place-items: center;
  justify-content: center;
}

header .container .hero .hero-text h1 {
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing : 2px;                /* 文字間 */
  text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
	}
header .container .hero .hero-text h1 span {
	display: block;
	text-shadow: none;
	font-size: .8rem;
	letter-spacing: 0;
	color: var(--white);
	background: #2B7E31;
	padding: 0 1.5rem;
	border-radius: var(--radius);
	width: 10.5rem;
}
header .container .hero .hero-text h2 {
	font-size: 2.2rem;
	line-height: 3rem;
	margin-top: 0rem;
	font-weight: 500;
	color: #2B7E31;
	letter-spacing : 4px;
	text-align: center;
  text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}
header .container .hero .hero-text p.tel {
	font-size: 1.7rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	text-align: center;
	position: relative;
	display: block;
	width: 16rem;
	margin: 2rem auto 1rem 4rem;
	
}
header .container .hero .hero-text p.tel:before {
	content: url(../img/h-tel.svg);
	position: absolute;
	left: -2rem;
}

@media print, screen and (min-width:821px) {
	header .container .hero {
	grid-template-columns: repeat(2, 1fr);
	}
	
	
	header .container .hero .hero-text h1 {
	/*font-size: 3rem;*/
	font-size: clamp(14px, 4.5vw, 3rem);
	
	}
	header .container .hero .hero-text h1 span {
		font-size: 1rem;
		width: 12.5rem;
	}
	header .container .hero .hero-text h2 {
	/*font-size: 3rem;*/
	font-size: clamp(14px, 4.5vw, 3rem);
		line-height: 4rem;
		margin-top: 1rem;
	}
	header .container .hero .hero-text p.tel {
	font-size: 2rem;
	width: 18rem;
	}
}
    /* ========= HERO ========= */
    .hero {
      position: relative;
      overflow: hidden;
	  width: 100%;
	  
    }



    /* ========= SLIDE ========= */
    .swiper.mainSlide {
      width: 330px;
	  max-width: 70%;
	  aspect-ratio: 1 / 1;
	  object-fit: cover;
	  order: 2;
    }
	
@media print, screen and (min-width:821px) {
    .swiper.mainSlide {
      width: 460px;
	  max-width: auto;
	}
	.swiper.mainSlide {
		order: 1;
	}
	.hero-text {
		order: 2;
	}
}

    .mainSlide .swiper-slide {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 90px;
      font-size: 22px;
      font-weight: bold;
      color: #fff;
    }

    .mainSlide .swiper-slide:nth-child(1n) {
      background: url('../img/slide01.webp') center center no-repeat;
	  background-size: cover;
    }

    .mainSlide .swiper-slide:nth-child(2n) {
      background: url('../img/slide02.webp') center center no-repeat;
	  background-size: cover;
    }

    .mainSlide .swiper-slide:nth-child(3n) {
      background: url('../img/slide03.webp') center center no-repeat;
	  background-size: cover;
    }

    .mainSlide .swiper-slide:nth-child(4n) {
      background: url('../img/slide04.webp') center center no-repeat;
	  background-size: cover;
    }

    .mainSlide .swiper-slide:nth-child(5n) {
      background: url('../img/slide05.webp') center center no-repeat;
	  background-size: cover;
    }

    .mainSlide .swiper-slide:nth-child(6n) {
      background: url('../img/slide06.webp') center center no-repeat;
	  background-size: cover;
    }
	

	
    /* ========= MAIN ========= */
    main {
/*      max-width: 860px;
      margin: 48px auto;
      padding: 0 20px;*/
	  width:100%;
    }
	main .row {
		display: flex;
		flex-wrap: wrap;
	}
	main .row {
		display: flex;
		flex-wrap: wrap;
	}


    /* ========= NEWS ========= */
#topics {
margin: 30px auto;
}
#topics .row {
		align-items: start;
		justify-content: space-around
	}
#topics .row .topics-content {
		width:100%;
      background: var(--white);
      border-radius: var(--radius);
      border: 1px solid var(--green);
	margin-bottom: 30px;
	}

#topics .row .topics-side {
		width: 100%;
		padding: 30px;
      background: var(--green);
	  color: var(--white);
	  border-radius: var(--radius);
	  font-size: .9rem;
	}
#topics .row .topics-side ul li a {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	height: 86px;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	background: var(--white);
	border-radius: var(--radius);
	margin-top: 20px;
	color: #000;
	line-height: 1rem;
	padding: 20px 0;
	transition: 0.6s;
	}
#topics .row .topics-side ul li a span{
	width: 100%;
	display:block;
	text-align: center;
	
	}
	#topics .row .topics-side ul li a span.child{
	font-weight: 400;
	}
#topics .row .topics-side ul li a:hover {
	background: var(--green-light);
}
@media print, screen and (min-width:821px) {
	#topics .row .topics-content {
			width: calc(100% - 350px);
		}
	
	#topics .row .topics-side {
			width: 300px;
		}
}

	
    #news-container {
		padding: 30px;
      /*overflow: hidden;*/
      overflow: visible;
    }

	section-heading {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 24px auto;
    }

.wave-green {
	  padding-bottom: 10px;
	  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22200%22%20height%3D%226%22%20viewBox%3D%220%200%20200%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M200.002%200.423333C198.45%200.846%20197.335%201.52067%20196.306%202.14467C194.732%203.09867%20193.245%204%20190.224%204C187.203%204%20185.716%203.09867%20184.141%202.14467C182.483%201.13933%20180.602%200%20177.023%200C173.443%200%20171.563%201.13933%20169.905%202.14467C168.331%203.09867%20166.843%204%20163.823%204C160.802%204%20159.315%203.09867%20157.741%202.14467C156.083%201.13933%20154.202%200%20150.623%200C147.045%200%20145.164%201.13933%20143.505%202.14467C141.931%203.09867%20140.444%204%20137.423%204C134.403%204%20132.915%203.09867%20131.341%202.14467C129.682%201.13933%20127.801%200%20124.221%200C120.641%200%20118.762%201.13933%20117.103%202.14467C115.529%203.09867%20114.042%204%20111.021%204C108.001%204%20106.515%203.09867%20104.94%202.14467C103.281%201.13933%20101.401%200%2097.822%200C94.2427%200%2092.3627%201.13933%2090.704%202.14467C89.13%203.09867%2087.6433%204%2084.6227%204C81.602%204%2080.1147%203.09867%2078.5407%202.14467C76.882%201.13933%2075.002%200%2071.4227%200C67.8433%200%2065.9627%201.13933%2064.3033%202.14467C62.7287%203.09867%2061.242%204%2058.2207%204C55.1993%204%2053.7133%203.09867%2052.1393%202.14467C50.4807%201.13933%2048.6007%200%2045.0213%200C41.442%200%2039.562%201.13933%2037.9033%202.14467C36.3293%203.09867%2034.8427%204%2031.822%204C28.8013%204%2027.3147%203.09867%2025.7407%202.14467C24.082%201.13933%2022.202%200%2018.6233%200C15.0447%200%2013.164%201.13933%2011.5053%202.14467C9.93133%203.09867%208.444%204%205.42333%204C2.824%204%201.36133%203.332%200%202.538V4.81267C1.32933%205.46933%202.98067%206%205.42333%206C9.00267%206%2010.8827%204.86067%2012.5413%203.85533C14.1153%202.90133%2015.6027%202%2018.6233%202C21.644%202%2023.13%202.90133%2024.704%203.85533C26.3627%204.86067%2028.2433%206%2031.822%206C35.4007%206%2037.2807%204.86067%2038.9393%203.85533C40.5133%202.90133%2042%202%2045.0207%202C48.0413%202%2049.528%202.90133%2051.1027%203.85533C52.7613%204.86067%2054.6413%206%2058.2207%206C61.8%206%2063.6807%204.86067%2065.3393%203.85533C66.914%202.90067%2068.4007%202%2071.422%202C74.4433%202%2075.9293%202.90133%2077.504%203.85533C79.1627%204.86067%2081.0433%206%2084.6227%206C88.202%206%2090.082%204.86067%2091.7407%203.85533C93.3147%202.90133%2094.8013%202%2097.822%202C100.843%202%20102.329%202.90133%20103.903%203.85533C105.562%204.86067%20107.442%206%20111.021%206C114.599%206%20116.48%204.86067%20118.139%203.85533C119.713%202.90133%20121.201%202%20124.221%202C127.242%202%20128.729%202.90133%20130.304%203.85533C131.963%204.86%20133.843%206%20137.423%206C141.002%206%20142.882%204.86067%20144.541%203.85533C146.115%202.90133%20147.603%202%20150.623%202C153.644%202%20155.131%202.90133%20156.705%203.85533C158.363%204.86067%20160.243%206%20163.823%206C167.402%206%20169.282%204.86067%20170.941%203.85533C172.515%202.90133%20174.002%202%20177.023%202C180.043%202%20181.531%202.90133%20183.105%203.85533C184.764%204.86067%20186.645%206%20190.224%206C193.803%206%20195.683%204.86067%20197.343%203.85533C198.172%203.35267%20198.984%202.86867%20200.002%202.51933V0.423333Z%22%20fill%3D%22%2368A69B%22%2F%3E%3C%2Fsvg%3E') no-repeat center bottom;
}
.wave-white {
	  padding-bottom: 10px;
	  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22200%22%20height%3D%226%22%20viewBox%3D%220%200%20200%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M200%200.423333C198.448%200.846%20197.333%201.52067%20196.304%202.14467C194.73%203.09867%20193.243%204%20190.222%204C187.201%204%20185.714%203.09867%20184.139%202.14467C182.481%201.13933%20180.6%200%20177.021%200C173.442%200%20171.562%201.13933%20169.903%202.14467C168.329%203.09867%20166.842%204%20163.821%204C160.8%204%20159.314%203.09867%20157.74%202.14467C156.081%201.13933%20154.2%200%20150.622%200C147.043%200%20145.163%201.13933%20143.504%202.14467C141.93%203.09867%20140.443%204%20137.422%204C134.401%204%20132.914%203.09867%20131.339%202.14467C129.681%201.13933%20127.8%200%20124.22%200C120.64%200%20118.761%201.13933%20117.102%202.14467C115.528%203.09867%20114.041%204%20111.02%204C108%204%20106.514%203.09867%20104.939%202.14467C103.28%201.13933%20101.4%200%2097.821%200C94.2417%200%2092.3617%201.13933%2090.7031%202.14467C89.1291%203.09867%2087.6425%204%2084.6218%204C81.6012%204%2080.1139%203.09867%2078.5399%202.14467C76.8812%201.13933%2075.0012%200%2071.422%200C67.8427%200%2065.962%201.13933%2064.3027%202.14467C62.728%203.09867%2061.2414%204%2058.2201%204C55.1988%204%2053.7128%203.09867%2052.1388%202.14467C50.4802%201.13933%2048.6002%200%2045.0209%200C41.4416%200%2039.5616%201.13933%2037.903%202.14467C36.329%203.09867%2034.8423%204%2031.8217%204C28.801%204%2027.3144%203.09867%2025.7404%202.14467C24.0818%201.13933%2022.2018%200%2018.6231%200C15.0445%200%2013.1639%201.13933%2011.5052%202.14467C9.93123%203.09867%208.44392%204%205.42328%204C2.82397%204%201.36132%203.332%200%202.538V4.81267C1.32932%205.46933%202.98064%206%205.42328%206C9.00258%206%2010.8826%204.86067%2012.5412%203.85533C14.1152%202.90133%2015.6025%202%2018.6231%202C21.6438%202%2023.1298%202.90133%2024.7038%203.85533C26.3624%204.86067%2028.243%206%2031.8217%206C35.4003%206%2037.2803%204.86067%2038.9389%203.85533C40.5129%202.90133%2041.9996%202%2045.0202%202C48.0409%202%2049.5275%202.90133%2051.1022%203.85533C52.7608%204.86067%2054.6408%206%2058.2201%206C61.7994%206%2063.68%204.86067%2065.3387%203.85533C66.9133%202.90067%2068.4%202%2071.4213%202C74.4426%202%2075.9286%202.90133%2077.5032%203.85533C79.1619%204.86067%2081.0425%206%2084.6218%206C88.2011%206%2090.0811%204.86067%2091.7398%203.85533C93.3137%202.90133%2094.8004%202%2097.821%202C100.842%202%20102.328%202.90133%20103.902%203.85533C105.561%204.86067%20107.441%206%20111.02%206C114.598%206%20116.479%204.86067%20118.138%203.85533C119.712%202.90133%20121.199%202%20124.22%202C127.241%202%20128.728%202.90133%20130.303%203.85533C131.961%204.86%20133.842%206%20137.421%206C141.001%206%20142.881%204.86067%20144.54%203.85533C146.114%202.90133%20147.601%202%20150.622%202C153.642%202%20155.129%202.90133%20156.703%203.85533C158.362%204.86067%20160.242%206%20163.821%206C167.4%206%20169.28%204.86067%20170.939%203.85533C172.513%202.90133%20174%202%20177.021%202C180.042%202%20181.529%202.90133%20183.104%203.85533C184.762%204.86067%20186.643%206%20190.222%206C193.801%206%20195.681%204.86067%20197.341%203.85533C198.17%203.35267%20198.982%202.86867%20200%202.51933V0.423333Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E') no-repeat center bottom;
}

    h2.wave-green {
      font-size: 2rem;
      color: var(--green-deep);
      flex: 1;
	  text-align: center;
	  font-weight: 700;
	  line-height: 3rem;
	  position: relative;
	  margin: 30px auto 0;
    }
    h3.wave-green {
      font-size: 1.5rem;
      color: var(--green-deep);
      flex: 1;
	  text-align: center;
	  font-weight: 700;
	  line-height: 2rem;
	  position: relative;
    }
@media print, screen and (min-width:821px) {
    h2.wave-green {
      font-size: 2.4rem;
    }
}
	h3.wave-white {
      font-size: 1.1rem;
      color: var(--white);
      flex: 1;
	  text-align: center;
	  font-weight: 700;
	  position: relative;
	  margin: 0 auto  20px;
    }
	
    h2.wave-green span,
	h3.wave-green span {
      font-size: 1rem;
	  line-height: 1.8rem;
      color: var(--text);
      display: block;
	  text-align: center;
	  font-weight: 400;
    }
	
#topics .row .topics-content .section-heading h2 {
	display:block;
	margin: 30px auto 0;
	position: relative;
	width: 15rem;
}
#topics .row .topics-content .section-heading h2:before {
	content: '';
	display:block;
	width: 50px;
	height: 60px;
	position: absolute;
	left:-2rem;
	top: 1.3rem;
	background: url('../img/topics-h2.png') no-repeat center center;
	background-size: contain;
}
	

    .news-item {
     display: flex;
  flex-direction: column;
  gap: 4px;
      padding: 14px 16px;
      border-bottom: 1px dotted #BBE0F2;
      transition: background 0.2s;
    }
    .news-item:last-child { border-bottom: none; }
    .news-item:hover { background: var(--green-light); }

/* PC：横並び */
@media print, screen and (min-width: 821px) {
  .news-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0 16px;
    padding: 18px 24px;
  }
}
    .news-date-col {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 5px;
      padding-top: 3px;
	  font-weight: 700;
    }
    .news-date {
      font-size: 0.82rem;
      white-space: nowrap;
    }
    .badge-new {
      display: inline-block;
      background: #e74c3c;
      color: white;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      padding: 2px 8px;
      border-radius: 4px;
      line-height: 1.6;
    }

    .news-body { display: flex; flex-direction: column; gap: 6px; }

    .news-title {
      font-weight: 700;
      font-size: 0.95rem;
      color: var(--text);
    }
    .news-detail {
      font-size: 0.88rem;
      color: var(--text-sub);
      line-height: 1.7;
    }

    /* ── リンクボタン ── */
    .news-link {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      margin-top: 2px;
      padding: 4px 12px;
      border-radius: 6px;
      font-size: 0.82rem;
      font-weight: 700;
      text-decoration: none;
      transition: opacity 0.2s;
      width: fit-content;
    }
    .news-link:hover { opacity: 0.75; }

    /* PDFは赤系 */
    .news-link.pdf {
      background: #fdecea;
      color: #c0392b;
      border: 1px solid #f5b7b1;
    }
    /* 外部リンクは緑系 */
    .news-link.external {
      background: var(--green-light);
      color: var(--green);
      border: 1px solid var(--green-mid);
    }

    /* ========= MORE ========= */
#more-wrapper {
  overflow: hidden;
  height: 0;
  transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
   /* #more-wrapper.open { max-height: 6000px; }*/

    .btn-more {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      width: auto;
      margin: 16px auto;
      padding: 5px 30px;
	  background: var(--green);
	  color: var(--white)!important; 
      border: 1px solid var(--green);
      border-radius: 20px;
      color: var(--green);
      font-size: 0.9rem;
      cursor: pointer;
      letter-spacing: 0.05em;
      transition: background 0.2s, color 0.2s;
    }
    .btn-more:hover { background: var(--white); color: var(--green)!important; }
    .btn-more .arrow {
      display: inline-block;
      transition: transform 0.35s;
    }
    .btn-more.open .arrow { transform: rotate(180deg); }

    /* ========= LOADING / ERROR ========= */
    .news-loading, .news-error {
      padding: 32px;
      text-align: center;
      color: var(--text-sub);
      font-size: 0.9rem;
    }
    .news-error { color: #c0392b; }


.links {
	padding: 30px;
	border: 1px solid var(--green);
	border-radius: var(--radius);
	margin: 30px auto;
	text-align: center;
	
}

.links .section-heading h2 {
	display:block;
	margin: 30px auto 0;
}
.links ul {
	width: 100%;
	margin: 30px auto 20px;
}
.links ul li a {
	display: block;
	width: 100%;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%220.5%22%20y%3D%220.5%22%20width%3D%228%22%20height%3D%228%22%20stroke%3D%22white%22%2F%3E%3Cpath%20d%3D%22M2%2011H11V2%22%20stroke%3D%22white%22%2F%3E%3C%2Fsvg%3E') no-repeat,  var(--green);
	background-position: right 20px center;
	color: var(--white);
	padding: 5px;
	border-radius: 30px;
	border: 1px solid var(--green);
	font-weight: 700;
	font-size: 1rem;
	margin-bottom: 10px;
		transition: background .6s;
}
.links ul li a:hover {
background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%220.5%22%20y%3D%220.5%22%20width%3D%228%22%20height%3D%228%22%20stroke%3D%22%2368C135%22%2F%3E%3Cpath%20d%3D%22M2%2011H11V2%22%20stroke%3D%22%2368C135%22%2F%3E%3C%2Fsvg%3E') no-repeat, var(--white);
	background-position: right 20px center;
	color: var(--green);
}


@media print, screen and (min-width:821px) {
	.links {
		width:98%;
		
	}
	.links ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 9%;
		align-items: stretch;
		width: 80%;
		margin: 30px auto 0;
	}
}




.swiper.dailySwiper  {
      width: 100%;
	  margin: 50px auto;
    }
.swiper.dailySwiper .swiper-slide {
      width: 400px;
	  aspect-ratio: 4 / 3;
	  object-fit: cover;
    }
	

.slider-container {
  padding-bottom: 40px;
  position: relative;
}

.daily-pagination {
  position: relative !important;
  margin-top: 20px;
  bottom: 0 !important;
}

.daily-pagination .swiper-pagination-bullet {
  background: #68C135; /* 例：黒色にする */
  margin: 0 5px !important;
  height: 15px;
  width: 15px!important;
}
@media print, screen and (min-width:821px) {

}

    .dailySwiper .swiper-slide {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 20px;
	  overflow: hidden;
    }


    .dailySwiper .swiper-slide img {
      width: 100%;
    }
.gmap {
	margin: 50px auto;
}
.gmap iframe {
	width: 100%;
	height: 400px;
}


.index-image img {
	max-width: 100%;
}

#oneday,
#dailylife,
#aboutus,
#accessmap {
	padding: 50px 0;
}

#oneday,
#dailylife {
	background: #ffffff;
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(229, 255, 215, 1) 50%, rgba(229, 255, 215, 1) 100%);
}
#oneday .index-image {
	margin: 0 auto;
	text-align:center;
	order: 2;
}
#oneday .row .oneday-content {
		order: 1;
	}
#oneday .index-image img {
	width: 475px;
	margin: 0 auto;
	max-width: 100%;
}
@media print, screen and (min-width:821px) {
	#oneday .index-image {
		order: 1;
	}
	#oneday .row .oneday-content {
		order: 2;
	}
	#oneday .index-image img {
		max-width: 100%;
	}
}

#oneday .row {
	justify-content: space-around;
}

#oneday .row .oneday-content .section-heading h2 {
	display:block;
	margin: 30px auto 0;
	position: relative;
	width: 15rem;
}
#oneday .row .oneday-content .section-heading h2:before {
	content: '';
	display:block;
	width: 57px;
	height: 60px;
	position: absolute;
	left:-2rem;
	top: 1.3rem;
	background: url('../img/oneday-h2.png') no-repeat center center;
	background-size: contain;
}
#oneday .index-image {
	width: 100%;
}
#oneday .oneday-content {
	width: 100%;
}
#oneday .oneday-content dl {
	display:flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 30px 0;
}

#oneday .oneday-content dl dt {
	width: 9rem;
	font-weight: 500;
	padding: 5px 1rem 0 0;
	text-align: right;
}
#oneday .oneday-content dl dd {
	width: calc(100% - 9rem);
	padding: 5px 0;
}
@media print, screen and (min-width:821px) {
	#oneday .index-image {
		width: 539px;
		max-with: 50%;
	}
	#oneday .index-image img {
		max-with: 100%;
	}
	#oneday .oneday-content {
		width: 40%;
	}
}

#aboutus .row {
	justify-content: center;
	align-items: start;
}
#aboutus .row .aboutus-content {

 border: 1px solid var(--green);
 border-radius: 20px;
 margin: 0 30px;
 padding: 0 30px 30px;
}
#aboutus .row .aboutus-content .row {
padding-bottom: 2rem;
}

#aboutus .row .aboutus-content p {
	text-align: center;
}
#aboutus .row .aboutus-content .section-heading h2 {
	display:block;
	margin: 30px auto 0;
	position: relative;
	width: 15rem;
}
#aboutus .row .aboutus-content .section-heading h2:before {
	content: '';
	display:block;
	width: 60px;
	height: 52px;
	position: absolute;
	left:-1.7rem;
	top: 1.3rem;
	background: url('../img/aboutus-h2.png') no-repeat center center;
	background-size: contain;
}
@media print, screen and (min-width:821px) {
#aboutus .row {
	justify-content: center;
	align-items: start;
	
}
	#aboutus .row .aboutus-content .section-heading h2:before {
		left:-3rem;
		top: 1.3rem;
	}
}

#aboutus .row .aboutus-content .inner {
	width: 100%;
	margin: 30px auto 0;
}
#aboutus .row .aboutus-content p.notice {
	text-align: center;
}
#aboutus .row .aboutus-content .inner p.notice {
	font-size: .85rem;
}

@media print, screen and (min-width:821px) {
	#aboutus .row .aboutus-content {
	width: 100%;
	}
	#aboutus .row .aboutus-content .row {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}
	#aboutus .row .aboutus-content .inner {
		width: 40%;
		border-left: 1px dashed #ccc;
		padding: 0 20px;
	}
	#aboutus .row .aboutus-content .inner:first-child {
		width: 30%;
		border:none;
	}
	#aboutus .row .aboutus-content .inner:last-child {
		width: 30%;
	}
}
#aboutus .index-image {
	width: 100%;
}
#aboutus .aboutus-content {
	width: 100%;
}
#aboutus .aboutus-content dl {
	display:flex;
	flex-wrap: wrap;
	width: auto;
	margin: 10px auto;
	
}
#aboutus .aboutus-content .inner table {
	width: auto;
	margin: 1rem auto;
}

#aboutus .aboutus-content .inner table th,
#aboutus .aboutus-content .inner table td {
	padding: 5px 0;
}
#aboutus .aboutus-content .inner table th {
	text-wrap: nowrap;
	font-weight: 500;
	padding: 5px 1rem 5px 0;
}

#aboutus .aboutus-content .inner table span {
	display: inline-block;
}


#aboutus .index-image {
		width: 475px;
		max-width: 100%;
		margin: 30px auto;
}

@media print, screen and (min-width:821px) {
	#aboutus .index-image {
		width: 475px;
	}
	#aboutus .aboutus-content {
		width: calc(100% - 770px);
	}
}

#dailylife .dailylife-content .section-heading h2 {
	display:block;
	margin: 30px auto 0;
	position: relative;
	width: 15rem;
}
#dailylife .dailylife-content .section-heading h2:before {
	content: '';
	display:block;
	width: 40px;
	height: 60px;
	position: absolute;
	left:-3rem;
	top: 1.3rem;
	background: url('../img/dailylife-h2.png') no-repeat center center;
	background-size: contain;
}
#accessmap {
	
}
#accessmap .address {
	max-width: 35rem;
	width: 100%;
	margin: 30px auto;
}
#accessmap .accessmap-content .section-heading h2 {
	display:block;
	margin: 30px auto 0;
	position: relative;
	width: 17rem;
}
#accessmap .accessmap-content .section-heading h2:before {
	content: '';
	display:block;
	width: 60px;
	height: 35px;
	position: absolute;
	left:-4rem;
	top: 2rem;
	background: url('../img/accessmap-h2.png') no-repeat center center;
	background-size: contain;
}



#sister-school {
	background: var(--green-light);
	padding: 30px 0;
	height: calc(100vh - 94px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#sister-school .sister-school-content .section-heading h2 {
	display:block;
	margin: 30px auto 0;
	position: relative;
	width: 18rem;
}
#sister-school .sister-school-content .section-heading h2:before {
	content: '';
	display:block;
	width: 51px;
	height: 60px;
	position: absolute;
	left:-1rem;
	top: -.5rem;
	background: url('../img/sister-h2.png') no-repeat center center;
	background-size: contain;
}
#sister-school .sister-school-content ul {
	width: 100%;
	margin: 30px auto 20px;
}
#sister-school .sister-school-content ul li a {
	display: block;
	width: 100%;
	background: #fff;
	padding: 10px 0px 10px 10px;
	border-radius: 30px;
	border: 1px solid #C9C9C9;
	font-weight: 700;
	font-size: 1.4rem;
	margin-bottom: 10px;
	text-align:center;
}
#sister-school .sister-school-content ul li a span {
	font-size: 1rem;
}
#sister-school .sister-school-content ul li.htotsuka a {
	background: url('../img/icon-link-htotsuka.png') no-repeat left 15px center, #fff;
	background-size: 39px 40px;
	transition: .6s;
}
#sister-school .sister-school-content ul li.konandai a {
	background: url('../img/icon-link-konandai.png') no-repeat left 15px center, #fff;
	background-size: 35px 40px;
	transition: .6s;
}
#sister-school .sister-school-content ul li.aoba a {
	background: url('../img/icon-link-aoba.png') no-repeat left 15px center, #fff;
	background-size: 40px 35px;
	transition: .6s;
}
#sister-school .sister-school-content ul li.oofuna a {
	background: url('../img/icon-link-oofuna.png') no-repeat left 15px center, #fff;
	background-size: 40px 40px;
	transition: .6s;
}
#sister-school .sister-school-content ul li.htotsuka a:hover {
	background: url('../img/icon-link-htotsuka.png') no-repeat left 15px center, var(--green-light);
	background-size: 39px 40px;
}
#sister-school .sister-school-content ul li.konandai a:hover {
	background: url('../img/icon-link-konandai.png') no-repeat left 15px center, var(--green-light);
	background-size: 35px 40px;
}
#sister-school .sister-school-content ul li.aoba a:hover {
	background: url('../img/icon-link-aoba.png') no-repeat left 15px center, var(--green-light);
	background-size: 40px 35px;
}
#sister-school .sister-school-content ul li.oofuna a:hover {
	background: url('../img/icon-link-oofuna.png') no-repeat left 15px center, var(--green-light);
	background-size: 40px 40px;
}
@media print, screen and (min-width:768px) {
	#sister-school .sister-school-content ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 3%;
		align-items: stretch;
		width: 100%;
		max-width: 1020px;
	}
	
	#sister-school .sister-school-content ul li a {
		font-size: clamp(15px, 1.8vw, 1.4rem);
	}
	#sister-school .sister-school-content ul li a span {
		font-size: clamp(12px, 1.1vw, 1rem);
	}
}






    /* ========= FOOTER ========= */
    footer {
      background: var(--green);
      color: rgba(255,255,255,0.85);
      text-align: center;
      padding: 28px 20px;
      font-size: 1.3rem;
	  font-weight: 500;
    }
	
	.page-top-btn {
  /* 固定位置とサイズ */
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 70px;
  height: 70px;
  
  /* 円形と中央揃え（2行対応） */
  background: #68C135;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  line-height: 1.2;
  text-decoration: none;
  
  /* フェード用の初期設定 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 9999;
}
	.page-top-btn:hover {
      background: var(--green-deep);
		
	}
/* 表示状態 */
.page-top-btn.is-show {
  opacity: 1;
  visibility: visible;
}