@charset "UTF-8";

#page {
	padding-top: 20px;
	background: url(../img/news/bg.png);
}

#page.single {
	padding-top: 0;
}

#page .main_innr {
	max-width: 930px;
	width: 90%;
	margin: 0 auto;
	text-align: left;
}

#page .pagettl {
	position: relative;
}

#page .pagettl h1,
#page .pagettl .txt {
	display: inline-block;
	position: absolute;
	top: 23vw;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#page .pagettl .txt {
	top: 6vw;
}

#page .pagettl h1 span,
#page .pagettl .txt span {
	display: inline;
	font-size: 32px;
	background-color: #fff;
	border-radius: 999px;
	padding: .5em 2em;
	color: #de89b7;
}


@media screen and (max-width: 767px) {

	#page .pagettl h1,
	#page .pagettl .txt {
		top: 30vw;
	}

	#page .pagettl .txt {
		top: 15vw;
	}

	#page .pagettl h1 span,
	#page .pagettl .txt span {
		font-size: 6.4vw;
		padding: .5em 1.5em;
	}
}


#page .contentswrap {
	display: flex;
	justify-content: space-between;
	text-align: left;
	margin-top: 80px;
	padding-bottom: 100px;
}

#page .contentswrap article,
#page .contentswrap.archive .box {
	width: 630px;
}

#page .contentswrap.archive .box {
	margin-top: 0;
}

#page .contentswrap.archive .box h1 {
	font-size: 24px;
	margin-bottom: 2em;
	padding: 5px 15px;
	letter-spacing: 2px;
	color: #333;
	border-left: 3px solid #00bb85;
}


#page .contentswrap aside {
	width: 250px;
}

#page .contentswrap aside dl {
	margin: 0;
	margin-bottom: 40px;
	padding: 0;
}

#page .contentswrap aside dl dt {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #333;
	padding-bottom: .2em;
	letter-spacing: 1px;
	color: #333;
}

#page .contentswrap aside dl dd ul li {
	padding: 10px 0;
	list-style: none;
	border-bottom: 1px dotted #666;
	padding-left: 2em;
	text-indent: -2em;
	color: #333;
}

#page .contentswrap aside dl dd ul li a {
	font-size: 14px;
	margin-left: 10px;
	color: #333;
}

#page .contentswrap aside dl dd ul li::before {
	font-family: FontAwesome;
	margin-left: 10px;
	content: "\f105";
	font-size: 70%;
	color: #666;
}



@media screen and (max-width: 767px) {
	#page .contentswrap {
		flex-direction: column;
		width: 100%;
		margin: 0 auto;
		padding-bottom: 5vw;
		margin-top: 10vw;
	}

	#page .contentswrap article,
	#page .contentswrap.archive .box {
		width: 100%;
	}

	#page .contentswrap.archive .box h1 {
		font-size: 5vw;
		padding: 2vw 4vw;
	}

	#page .contentswrap aside {
		width: 100%;
		margin-top: 20vw;
	}

	#page .contentswrap aside dl {
		margin-bottom: 10vw;
	}

	#page .contentswrap aside dl dt {
		font-size: 5vw;
	}

	#page .contentswrap aside dl dd ul li a {
		font-size: 4vw;
	}
}

.catettlbox {
	padding-bottom: 40px;
	margin-right: 30px;
}

.catettl {
	font-size: 20px;
	border-bottom: 1px solid #333;
	padding-bottom: .3em;
	padding-left: .4em;
	color: #333;
}

.notfound {
	padding: 100px 0;
	text-align: center;
}

.notfound p {
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	.notfound {
		padding: 10vw 0;
		text-align: left;
	}

	.notfound p {
		margin-top: 1em;
	}

	.catettlbox {
		padding-bottom: 10vw;
		margin-right: 0px;
	}

	.catettl {
		font-size: 5vw;
	}
}

.main {
	max-width: 660px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}

/* .newslist ---------------*/

.newslist {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
	gap: 4%;
}

.newslist ul {
	list-style: none;
	border-top: dotted 1px #ccc;
}

.newslist ul li {
	padding: 1em .5em;
	font-size: 18px;
	border-bottom: dotted 1px #ccc;
}

.newslist ul li span.day {
	color: #999;
}

.newslist ul li a {
	margin-left: 1em;
	color: #383833;
}

.newslist ul li span.cate {
	display: inline-block;
	font-size: 85%;
	background-color: #333;
	color: #fff;
	line-height: 1em;
	padding: .4em .5em;
	margin-right: 1em;
}


.newslist .item {
	width: 29%;
	text-align: left;
	color: #333;
	font-size: 15px;
	padding-bottom: 40px;
}

.newslist .item img {
	border-radius: 20px;
}

.newslist .headline {
	display: flex;
	align-items: flex-start;
	margin-top: 10px;
	font-size: 13px;
}

.newslist .headline .cate {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	background-color: #fff;
	border-radius: 999px;
	padding: .5em .2em;
	font-size: 12px;
}

.newslist .headline .cate.c01 {
	color: #888;
}

.newslist .headline .cate.c02 {
	color: #de89b7;
}

.newslist .headline .cate.c03 {
	color: #c4cb00;
}

.newslist .headline a {
	color: #333;
	font-size: 14px;
}

.newslist .headline .ttl {
	margin-left: 1em;
}

.newslist .list {
	margin-top: 50px;
	display: inline-block;
	color: #fff;
	background-color: #de89b7;
	padding: .2em 3em;
	font-size: 20px;
	border-radius: 999px;
}

.newslist .list:hover {
	transition: .3s;
	opacity: .7;
}



@media screen and (max-width: 767px) {
	.newslist {
		width: 100%;
		margin: 0 auto;
		margin-top: 0;
		padding: 0;
		padding-bottom: 10vw;
	}

	.newslist .wrap {
		position: relative;
		background: url(../../img/index/bg_news_sp.jpg) no-repeat;
		background-size: 100% auto;
		background-position-x: center;
		width: 100%;
		height: auto;
	}


	.newslist .innr {
		padding: 10vw 0;
	}

	.newslist h2 {
		font-size: 6vw;
		padding: .5em 2em;
		margin-top: 24vw;
	}

	.newslist .flex_box {
		display: block;
		position: relative;
		bottom: auto;
		left: auto;
		right: auto;
		width: 70%;
		margin: 0 auto;
		margin-top: 20vw;
	}

	.newslist .item {
		width: 100%;
		font-size: 3.5vw;
		margin-top: 0;
	}

	.newslist .headline {
		margin-top: 5vw;
		font-size: 4vw;
	}

	.newslist .headline a {
		font-size: 4.4vw;
	}

	.newslist .headline .cate {
		font-size: 4vw;
	}

	.newslist .list {
		margin-top: 4vw;
		font-size: 4vw;
		padding-top: .5em;
		padding-bottom: .5em;
	}
}


@media screen and (max-width: 767px) {
	.newslist ul li {
		font-size: 3.6vw;
	}

	.newslist ul li a {
		display: block;
		margin-left: 0;
		margin-top: .3em;
	}
}

#textbody {
	box-sizing: border-box;
	background-color: #fff;
	padding: 30px;
	border-radius: 30px;
}

#textbody .blocks-gallery-grid,
#textbody .wp-block-gallery {
	padding-left: 0;
}

#textbody .ggmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 60%;
	margin-top: 30px;
}

#textbody .ggmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	#textbody .ggmap {
		padding-top: 75%;
		margin-top: 5vw;
	}
}