/** fonts **/

.biz-udpmincho-regular {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-style: normal;
}

// <weight>: Use a value from 200 to 900
// <uniquifier>: Use a unique and descriptive class name

.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.hina-mincho-regular {
  font-family: "Hina Mincho", serif;
  font-weight: 400;
  font-style: normal;
}


// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.m-plus-1-<uniquifier> {
  font-family: "M PLUS 1", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


/******* Base style style *******/

#container {
	width:100%;
	height:100%;
}

header {
	background-color: #FFF;
	box-sizing: border-box;
	height: 100%;
	position: fixed;
	top: 0;
	width: 240px;
	overflow-x:hidden;
}

header h1 {
	width:240px;
	padding-top:50px;
	display: flex;
	justify-content: center; /* 縦書き時の上下方向（主軸）の中央揃え */
	align-items: center;    /* 縦書き時の左右方向（交差軸）の中央揃え */
	writing-mode: vertical-rl;
	
	font-family: "Hina Mincho", serif;
	font-weight:100;
	color:#000;
	font-size:32px;
	letter-spacing:3px;
	
	background: url(../img/background02.png) no-repeat center 0;
	background-size:32px 32px;
	margin-top:70px;
	margin-bottom:50px;
}

header nav ul {
	display:flex;
	flex-wrap:wrap;
	width:100%;
	border-top:1px solid #ccc;
}

header nav ul li {
	width:100%;
	text-align:center;
	
	border-bottom:1px solid #ccc;
}

header nav ul li a {
	display:block;
	color:#000;
	height:75px;
	line-height:75px;
	font-family: "Noto Serif JP", serif;
	text-decoration:none;
	font-size:19px;
}

header nav ul li a:hover {
	background:#EEEEEE;
	transition: 0.5s;
}

footer {
	background:#fff;
	border-top: 1px solid #C6C6C6;
}

footer .inner {
	width:calc(100% - 160px);
	max-width:900px;
	padding:40px 80px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

footer .inner h3 {
	font-family: "Hina Mincho", serif;
	font-weight:100;
	color:#000;
	font-size:24px;
	letter-spacing:3px;
	
	background: url(../img/background02.png) no-repeat left center;
	background-size:24px 24px;
	padding-left:30px;
}

footer .inner p.tel {
	font-size:26px;
	font-weight:100;
	font-family: "BIZ UDPMincho", serif;
}

footer .inner p.tel span {
	font-size:15px;
	color:#fff;
	background:#aaa;
	font-family: "M PLUS 1", sans-serif;
	font-weight:400;
	padding:6px 5px 7px 5px;
	margin-right:10px;
	vertical-align: 0.5ex;
}

footer .inner .copy {
	width:100%;
	text-align:center;
	font-size:15px;
	font-family: "Shippori Mincho", serif;
	padding:40px 0 20px 0;
}

/**/

#contents .widthfix {
	width:100%;
	max-width:1060px;
}

#contents {
	background:#F7F7F7;
	padding-left:240px;
}

#contents .white {
	background:#fff;
	height:50px;
	width:100%;
}

#contents .mainvisual {
	width:100%;
}

#contents .mainvisual img {
	width:100%;
	max-width:1060px;
}

/**/
#contents #about {
	text-align:center;
	padding:110px 0 60px 0;
	background:url(../img/background01.png) no-repeat center 150px;
}

#contents #about h2 {
	font-size:34px;
	font-weight:300;
	font-family: "Shippori Mincho", serif;
	letter-spacing:2px;
	margin-bottom:50px;
}

#contents #about h2 span.en_sub{
	font-size:18px;
	color:#aaa;
	display:block;
	padding:10px 0;
}

#contents #about p.intro {
	font-size:18px;
	line-height:230%;
	margin-bottom:50px;
	font-family: "Shippori Mincho", serif;
	padding:0 50px;
}

#contents #about .schedule {
	display:flex;
	justify-conten:space-between;
	margin:0 auto 50px auto;
	padding:0 50px;
}


#contents #about .schedule div {
	width:53%;
	text-align:left;
}

#contents #about .schedule h3 {
	font-size:25px;
	font-family: "Shippori Mincho", serif;
	font-weight:300;
	background:url(../img/ico_01.png) no-repeat left center;
	padding:0 0 0 25px;
	margin-bottom:30px;
}

#contents #about .schedule dl {
	display:flex;
	flex-wrap:wrap;
	padding-left:25px;
	font-family: "Shippori Mincho", serif;
	font-size:17px;
}

#contents #about .schedule dl dt {
	width:40%;
	border:1px solid #3D3D3D;
	padding:5px 10px;
	text-align:center;
	margin-right:5px;
	margin-bottom:15px;
}

#contents #about .schedule dl dd {
	width:calc(60% - 37px);
	padding:5px 0px;
}

#contents #about .schedule img {
	width:95%;
	height:auto;
	margin:0;
}


/**/
#contents #about ul.gallery {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:0 50px;
}

#contents #about ul.gallery li {
	position:relative;
	width:30%;
	margin-bottom:40px;
}

#contents #about ul.gallery li img {
	width:100%;
}

#contents #about ul.gallery li p {
	position:absolute;
	bottom:0;
	left:0;
	color:#fff;
	background: linear-gradient(to right, rgba(0, 0, 0, 1) 90%,  transparent 100%);
	padding:7px 20px 4px 10px;
	font-size:18px;
	text-align:left;
}

#contents #about ul.gallery li p.small {
	font-size:15px;
	padding:8px 20px 6px 10px;
}
	
	
/**/
#contents #memorial {
	text-align:center;
	padding:0 50px 70px 50px;
	background:url(../img/background03.jpg) repeat-x;
	background-size:cover
}	

#contents #memorial .context {
	width:100%;
	max-width:960px;
	position:relative;
}

#contents #memorial .context h2 {
	position:absolute;
	right:0;
	top:3em;
	
	writing-mode: vertical-rl;
	font-family: "Hina Mincho", serif;
	font-weight:100;
	color:#000;
	font-size:43px;
	letter-spacing:3px;
	line-height:170%;
	text-align:left;
	text-indent: -3em; /* 2行目以降を1文字分下へずらす（字下げ） */
}

#contents #memorial .context p {
	width:73%;
	text-align:left;
	font-size:17px;
	line-height:260%;
	font-family: "Shippori Mincho", serif;
	padding:60px 0 80px 0;
}

#contents #memorial ul {
	display:flex;
	justify-content:space-between;
	width:100%;
	max-width:960px;
}


#contents #memorial ul li {
	width:22%;
	margin-bottom:20px;
}


#contents #memorial ul li img {
	width:100%;
}

/**/
#contents #information {
	text-align:center;
	padding:110px 50px 60px 50px;
	width:calc(100% - 100px);
	max-width:calc(1060px - 100px);
}

#contents #information h2 {
	font-size:34px;
	font-weight:300;
	font-family: "Shippori Mincho", serif;
	letter-spacing:2px;
	margin-bottom:50px;
}

#contents #information h2 span.en_sub{
	font-size:18px;
	color:#aaa;
	display:block;
	padding:10px 0;
}

#contents #information h3 {
	text-align:left;
	font-size:25px;
	font-family: "Shippori Mincho", serif;
	font-weight:300;
	background:url(../img/ico_01.png) no-repeat left center;
	padding:0 0 0 25px;
	margin-bottom:50px;
}

#contents #information dl {
	display:flex;
	flex-wrap:wrap;
	text-align:left;
	margin-bottom:60px;
}

#contents #information dl dt {
	width:18%;
	font-size:19px;
	font-weight:bold;
}

#contents #information dl dd {
	width:80%;
	font-size:19px;
	margin-bottom:30px;
	padding:0 0 0 2%;
	line-height:180%;
}

#contents #information dl dd h4 {
	margin-bottom:5px;
	font-size:22px;
}

#contents #information dl dd p {
	margin-bottom:20px;
}

#contents #information dl dd span {
	font-size:80%;
}

#contents #information dl dd img {
	width:100%;
	margin-bottom:40px;
}

#contents #information ul.gallery {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

#contents #information ul.gallery li {
	position:relative;
	width:30%;
	margin-bottom:50px;
}

#contents #information ul.gallery li img {
	width:100%;
}

#contents #information ul.gallery li p {
	position:absolute;
	bottom:0;
	left:0;
	color:#fff;
	background: linear-gradient(to right, rgba(0, 0, 0, 1) 90%,  transparent 100%);
	padding:7px 20px 4px 10px;
	font-size:18px;
	text-align:left;
}

#contents #information .map {
	margin-bottom:50px;
}
	
	
/******* PC style *******/
@media only screen and (min-width: 768px) {
.sp {
	display:none;
}
}

/******* SP style *******/
@media only screen and (max-width: 767px) {
	
.pc {
	display:none;
}
	
header {
	background-color: #FFF;
	height: auto;
	width: 100%;
	position:static;
}

header h1 {
	width:230px;
	display: block;
	text-align:center;
	writing-mode: horizontal-tb;
	
	font-family: "Hina Mincho", serif;
	font-weight:100;
	color:#000;
	font-size:32px;
	letter-spacing:3px;
	padding:0 0 0 35px;
	background:url(../img/background02.png) no-repeat left center;
	background-size:32px 32px;
	margin:30px auto 30px auto;
}

header nav ul {
	display:flex;
	flex-wrap:wrap;
	width:100%;
	border-top:1px solid #ccc;
}

header nav ul li {
	width:50%;
	text-align:center;
	
	border-bottom:1px solid #ccc;
}

header nav ul li a {
	display:block;
	color:#000;
	height:auto;
	line-height:250%;
	font-family: "Noto Serif JP", serif;
	text-decoration:none;
	font-size:19px;
}




/**/

footer {
	background:#fff;
	border-top: 1px solid #C6C6C6;
}

footer .inner {
	width:calc(100% - 100px);
	padding:40px 50px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	text-align:center;
}

footer .inner h3 {
	font-family: "Hina Mincho", serif;
	font-weight:100;
	color:#000;
	font-size:24px;
	letter-spacing:3px;
	
	background:url(../img/background02.png) no-repeat left center;
	background-size:24px 24px;
	display:block;
	margin:0 auto 30px auto;
}

footer .inner p.tel {
	width:100%;
	font-size:20px;
}

footer .inner p.tel span {
	font-size:13px;
	color:#fff;
	background:#aaa;
	font-family: "M PLUS 1", sans-serif;
	font-weight:400;
	padding:5px 5px 6px 5px;
	margin-right:5px;
	vertical-align: 0.5ex;
}

footer .inner .copy {
	width:100%;
	text-align:center;
	font-size:13px;
	font-family: "Shippori Mincho", serif;
	padding:30px 0 0 0;
}


/**/
#contents .widthfix {
	width:100%;
	max-width:100%;
}

#contents {
	padding-left:0;
}






/**/

#contents #about {
	padding:50px 0;
}

#contents #about .schedule {
	flex-wrap:wrap;
}


#contents #about .schedule div {
	width:100%;
}

#contents #about .schedule dl {
	padding-left:0;
}

#contents #about .schedule dl dt {
	width:50%;
	margin-right:10px;
}

#contents #about .schedule dl dd {
	width:calc(50% - 42px);
}

#contents #about .schedule img {
	width:100%;
}

#contents #about ul.gallery li {
	width:100%;
	margin-bottom:50px;
}




/**/
#contents #memorial {
	text-align:center;
	padding:0 50px 70px 50px;
	background:url(../img/background03.jpg) repeat-x;
	background-size:cover
}	

#contents #memorial .context {
	width:100%;
	max-width:960px;
	position:relative;
}

#contents #memorial .context h2 {
	position:static;
	writing-mode: horizontal-tb;
	text-indent: 0; /* 2行目以降を1文字分下へずらす（字下げ） */
	margin-bottom:0;
}

#contents #memorial .context p {
	width:100%;
	text-align:left;
	font-size:17px;
	line-height:260%;
	font-family: "Shippori Mincho", serif;
	padding:30px 0 80px 0;
}

#contents #memorial ul {
	display:flex;
	flex-wrap:wrap;
}


#contents #memorial ul li {
	width:48%;
	margin-bottom:20px;
}


/**/
#contents #information {
	padding:50px 50px 0 50px;
}

#contents #information dl dt {
	width:100%;
	padding:0;
	margin-bottom:10px;
}

#contents #information dl dd {
	width:100%;
	padding:0;
	line-height:150%;
}

#contents #information ul.gallery li {
	width:100%;
}


}

