@charset "utf-8";


/* --------------------------------------------------------------
	共通
-------------------------------------------------------------- */
@font-face {
    font-family: 'myfont';
    src: url('myfonts/WDXLLubrifontJPN-Regular.ttf') format('truetype');
}
@font-face {
    font-family: 'myfont2';
    src: url('myfonts/Kapakana-Regular.ttf') format('truetype');
}
body {}
a {
    text-decoration: none;
    color: #333;
}
p a {/* 文章中のテキストリンク */
	color: #03C;
	text-decoration: underline;
}
p a:hover,
p a:active {
	color: #F30;
	text-decoration: none;
}
img {
	width: auto;
	height: auto;
	max-width: 100%;
}



/* --------------------------------------------------------------
	ヘッダー
-------------------------------------------------------------- */

header#header {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 140%;

	display: flex;
/*	justify-content: space-between;*/
	align-items: center;
	z-index: 10;
}
#sitelogo {
	margin-right:auto;/* ロゴのみ左寄せ */
}
#sitelogo a {
	display: block;
	width: 260px;
	padding: 10px;
	max-width: 96%;
	height: auto;
}



/* --------------------------------------------------------------
	フッター
-------------------------------------------------------------- */
footer#footer {
	background: #380;
}
footer#footer p.copyrights {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 5px;
	display: block;
	text-align: right;
	color: #FFF;
	font-size: 80%;
}




/* --------------------------------------------------------------
	PageTop
-------------------------------------------------------------- */
#footer #page-top {
	position: fixed;
	bottom: 25px;
	right: 15px;
	font-size: 140%;
	z-index: 100;/* メインコンテンツより上位、Ｇメニューより下位に設定 */
}
#footer #page-top a {
	display: block;
	width: 60px;
	height: 60px;
	background: rgba(0,0,0,0.3);
}
#footer #page-top a::before,
#footer #page-top a::after {
	content: "";
	display: block;
	width: 15px;
	height: 3px;
	background: #FFF;
	position: absolute;
	top: 27px;
}
#footer #page-top a::before {
	transform: rotate(45deg);
	left: 27px;
}
#footer #page-top a::after {
	transform: rotate(-45deg);
	right: 27px;
}
#footer #page-top a:hover,
#footer #page-top a:active {
	background: rgba(30,80,0,0.6);
}

/* --------------------------------------------------------------
	メインコンテンツ
-------------------------------------------------------------- */
#topphoto {
	padding: 70px 20px;
	background-image: url(images/second-topphoto.jpg);
	background-size: cover;
}
#topphoto h1 {
	width: 96%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 130px 0 80px;
	text-align: center;
	color: #fff;
	font-weight: 600;
	font-size: min(600%, 10.5vw);
	line-height: 1.0;
	text-shadow: 0 0 2px #039, 0 0 5px #039, 0 0 10px #039, 0 0 20px #039;
	background: url(images/sasazu-mark.png) center no-repeat;
	background-size: contain;
}
#topphoto h1 span {
	display: inline-block;
	transform: rotate(-7.5deg);
	font-family: 'myfont';
}
#topphoto h1 span:nth-of-type(1),
#topphoto h1 span:nth-of-type(2) {}
#topphoto h1 span:nth-of-type(1):first-letter,
#topphoto h1 span:nth-of-type(2):first-letter {
	color: #FE0;
}
#topphoto h1 span:nth-of-type(3) {
	font-family: 'myfont2';
}

#main-content {
	width: 94%;
	max-width: 1080px;
	margin: -80px auto 50px;

	box-shadow: 0 0 10px #777;
	background: #FFF;
}
section {}
section .post_box {
	padding: 10px 30px 30px;
	font-size: 150%;
}
#main-content section {}
#main-content section .post_box {}

.post_box h2 {
	margin: 1.0em 0;
	text-align: center;
	line-height: 2.0;
	font-size: 180%;
	font-weight: 600;
	color: #583;
}
.post_box h3 {
	font-size: 130%;
/*	border-bottom: dashed 2px #690;*/
	border-bottom: 3px solid #CDA;
	padding: 0 1em;
	margin: 1.0em 0;
}
.post_box h4 {
	font-size: 120%;
	position: relative;
	padding-left: 2.0em;
	margin: 0.5em;
	line-height: 2.0;
}
.post_box h4::before {
	content: "";
	display: inline-block;
	width: 1.4em;
	height: 1.4em;
	background: #690;
	border-radius: 50%;
	position: absolute;
	left: 0.2em;
	top: 0.2em;
}
.post_box h5 {
	margin-bottom: 1.0em;
	font-size: 110%;
	color: #369;
	font-weight: 600;
}
.post_box .txt_box p {
	text-indent: 1.0em;
	margin-bottom: 1.0em;
	line-height: 1.6;
}



/* --------------------------------------------------------------
	各コンテンツページ
-------------------------------------------------------------- */


/* 投稿ナビゲーション（お知らせ等のページ送り）
----------------------------------*/
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.nav-links {
  margin: 20px auto 0px;
  line-height: 2em;
  text-align: center;
}
a.page-numbers,
.nav-links .current {
	color: #333333;
	padding: 2px .4em;
	background: #FFFFFF;
	border:solid 1px #999999;
}
a.page-numbers:hover {
	color: #006600;
	background: #E6F1DE;
}
.nav-links .current {
	color: #006600;
	background: #E6F1DE;
}
.nav-links .next,
.nav-links .prev {
	border: 0;
	background: transparent;
	text-decoration:underline;
}
.nav-links .next:hover,
.nav-links .prev:hover {
	background: transparent;
  text-decoration: none;
}



/* お知らせ一覧
----------------------------------*/
.news-list {
	margin-bottom: 50px;
}
.news-list dl {
	overflow: hidden;
	margin-bottom: 1.0em;
	padding-bottom: 1.0em;
	border-bottom: dashed 2px #BD9;
}
.news-list dl > dt {
	clear: left;
	float: left;
	width: 9.0em;
}
.news-list dl > dd {
	oveflow: hidden;
}
.news-list dl > dd a:hover {
	color: #F30;
}



/* ささづ苑だより一覧
----------------------------------*/
div.letter-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 50px;
}
div.letter-list > div {
	width: calc(25% - 9px);
	margin-bottom: 20px;
}
@media only screen and (min-width: 960px){/* 960px～ */
 div.letter-list > div {
	width: calc(25% - 9px);
 }
}
@media only screen and (min-width: 640px) and (max-width: 959px){/* 640px～959px */
 div.letter-list > div {
	width: calc(33% - 8px);
 }
}
@media only screen and (min-width: 480px) and (max-width: 639px){/* ～639px */
 div.letter-list > div {
	width: calc(50% - 12px);
 }
}
@media only screen and (max-width: 479px){/* ～639px */
 div.letter-list > div {
	width: 100%;
 }
}

div.letter-list > div a {
	text-decoration: none;
}
div.letter-list > div a:hover {
	opacity: 0.4;
}

div.letter-list > div a p {
	padding-bottom: 0;
}
div.letter-list > div a img {
	margin: 5px;
	border: 1px solid #CCC;
}
div.letter-list > div a p time {
	display: block;
	font-size: 85%;
	text-decoration: underline;
}

#category-list {
	margin-top: 50px;
	border-top: 1px solid #CCC;
}
#category-list ul {
	overflow: hidden;
}
#category-list ul li {
	float: left;
	margin-right: 10px;
}
#category-list ul li a {
	font-size: 85%;
	display: inline-block;
	background: #CEA;
	padding: 2px 10px;
	border-radius: 15px;
	color: #000;
}
#category-list ul li a:hover {
	background: #6B2;
	color: #FFF;
}
