@charset "utf-8";

/* = Common Layout
-------------------------------------------------------------- */
.content-width {
	box-sizing: border-box;
	width: 1000px;
	margin: 0 auto;
}

/* =Layout
-------------------------------------------------------------- */
#wrapper,
#header {
	min-width: 1040px;
}
@media screen and (max-width: 736px) {
	#wrapper,
	#header {
		min-width: 100%;
	}
}
@media screen and (max-width: 481px) {
	#masthead {
		width: 480px; /* for iPhone */
	}
}

#container {
	padding-bottom: 100px;
}
.home #container {
	padding-bottom: 0;
}

.section:not(:first-child) {
	padding-top: 100px;
}

.two-columns {
	display: table;
	table-layout: fixed;
}
.two-columns #content {
	display: table-cell;
	vertical-align: top;
	width: 690px;
	padding-right: 30px;
	box-sizing: border-box;
}
.two-columns #sidebar {
	display: table-cell;
	vertical-align: top;
	width: 310px;
	padding-left: 29px;
	border-left: 1px solid #ddd;
	box-sizing: border-box;
}

@media screen and (max-width: 736px) {
	/* =SP Layout
	-------------------------------------------------------------- */
	.two-columns,
	.two-columns #content,
	.two-columns #sidebar {
		display: block;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		border-left: none;
	}
	.two-columns {
		padding-left: 3%;
		padding-right: 3%;
	}
}

/* =Firstvisual
-------------------------------------------------------------- */

#firstvisual {
	background: url(../images/common/bg_texture.png) no-repeat center center / cover;
	padding-block: 70px 110px;
}
#firstvisual .titlebox {
	text-align: left;
	margin: 0;
}
#firstvisual .titlebox small {
	font-size: 1.8rem;
	line-height: 1;
	font-weight: var(--weight-bold);
	position: relative;
	display: flex;
	gap: 10px;
	align-items: center;

}
#firstvisual .titlebox small::before {
	content: url(../images/common/leaf.png);
}
#firstvisual .titlebox h1,
#firstvisual .titlebox h2 {
	font-size: 5.2rem;
	line-height: 1;
	margin: 25px 0 0;
}

@media screen and (max-width: 736px) {
	#firstvisual .inner {
		height: 320px;
	}
	#firstvisual .titlebox h1,
	#firstvisual .titlebox h2 {
		font-size: 3.6rem;
	}
}

/* =Breadcrumbs
-------------------------------------------------------------- */

#breadcrumbs {
	font-size: 13px;
	margin: 10px 0 40px 0;
	text-align: right;
}

/* =Title
-------------------------------------------------------------- */

/* 記事一覧タイトル */
.archive-title {
	font-size: 2.4rem;
	margin-bottom: 3rem;
}
.entry-title {
	margin-top: 0;
	font-size: 30px;
}

/* =Content
-------------------------------------------------------------- */

.entry-content {
	margin: 4rem 0;
}

/* =News, Blog
-------------------------------------------------------------- */

#news_list,
#blog_list {
	list-style: none;
}
#news_list li,
#blog_list li {
	border-bottom: 1px solid var(--color-line-gray);
	overflow: hidden;
	padding: 20px 0;
	list-style: none;
}
#blog_list li {
	display: flex;
}
#blog_list li .imgbox {
	width: 160px;
	flex-shrink: 0;
	margin-right: 20px;
}
#news_list li .entry-meta,
#blog_list li .entry-meta,
.single #content .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 15px;
	align-items: center;
	font-size: 1.4rem;
}
#news_list li .entry-meta span a,
.entry-meta span.term a {
	display: inline-block;
	padding: 0 30px;
	background: var(--color-bd-gray);
}
.single #content .entry-meta span {
	font-size: 1.5rem;
}
.single #content .entry-meta span.term a {
	font-size: 1.4rem;
}
#news_list li h3,
#blog_list li h3 {
	font-size: 1.5rem;
	margin: 20px 0 0;
}

@media screen and (max-width: 736px) {
	#news_list li h3 {
		margin-left: 0;
		clear: both;
		padding-top: 1rem;
		font-size: 1.5rem;
	}
}

/* 記事のページャー */
/*.page-links {
	text-align: center;
	padding: 20px 0;
	clear: both;
	font-size: 0;
	vertical-align: middle;
}
.page-links a,
.page-links span {
	vertical-align: middle;
}
.page-links span.number,
.page-links span.pre,
.page-links span.next {
	border: 1px solid #000;
	border-radius: 5px;
	background: #000;
	color: #fff;
	font-size: 15px;
	padding: 5px 15px;
	margin: 0 2px;
	text-decoration: none;
	font-weight: bold;
	display: inline-block;
	line-height: 28px;
	vertical-align: middle;
}
.page-links span.number {
	font-size: 17px;
}
.page-links span.pre,
.page-links span.next {
	margin: 0 8px;
}
.page-links a span {
	background: #FFF !important;
	border: 1px solid #999!important;
	color: #000!important;
}
.page-links a span:hover {
	color: #000!important;
	border: 1px solid #000!important;
}
.page-links .before,
.page-links .after {
	border: none;
}
.page-links .before .next,
.page-links .after .pre {
	display: none;
}*/

.wp-pagenavi a:hover, .wp-pagenavi span {
	background-color: var(--color-main-green);
	border-color: var(--color-main-green);
}


/* =reco box
-------------------------------------------------------------- */
.reco_box {
	margin: 5rem 0 0;
}

/* =tag_list
-------------------------------------------------------------- */
.tag_list {
	margin: 2rem 0;
}
.tag_list li {
	font-size: 1.3rem;
	margin-right: 1.5em;
}
.tag_list li a {
	font-size: 1.5rem;
}
.tag_list li a::before {
	content: "\f292";
	font-family: FontAwesome;
	font-size: 1em;
	font-weight: inherit;
	margin-right: 0.3rem;
}

/* = related
-------------------------------------------------------------- */
.yarpp-related ul.wpp-list a h3 {
	font-size: 1.5rem;
	min-height: 2em;
}

/* =nav-below
-------------------------------------------------------------- */
#nav-below {
	padding: 2rem 0 0;
	font-size: 1.4rem;
	border-top: 1px solid #ddd;
	margin-bottom: 4rem;
	overflow: hidden;
}
#nav-below div.nav-previous {
	float: left;
	width: 50%;
}
#nav-below div.nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

#nav-below .left {
	width: 50%;
	box-sizing: border-box;
	float: left;
}
#nav-below .right {
	width: 50%;
	box-sizing: border-box;
	text-align: right;
	border-left: 1px solid #ddd;
	float: right;
}
#nav-below h3 {
	font-size: 1.4rem;
	margin: 0 0 1.5rem 0;
}
#nav-below a {
	display: table;
	width: 100%;
}
#nav-below .imgbox {
	display: table-cell;
	vertical-align: middle;
	width: 74px;
	border-radius: 5px;
	border: 1px solid #ccc;
	overflow: hidden;box-sizing: border-box;
}
#nav-below a img {
	width: 100%;
}
#nav-below a h4 {
	display: table-cell;
	vertical-align: middle;
	padding: 0 1rem;
	line-height: 1.25;
	-webkit-font-smoothing: initial;
	-moz-osx-font-smoothing: unset;
}
#nav-below .first,
#nav-below .last {
	margin: 3.8rem 0 0;
}

@media screen and (max-width: 736px) {
	#nav-below {
		margin-bottom: 4rem;
	}
	#nav-below a h4 {
		font-size: 1.3rem;
	}
}

/* =item_garally
-------------------------------------------------------------- */

#slider.flexslider {
	border: none;
	margin: 2.5rem 0 1.5rem;
}
#slider.flexslider .slides > li {
	position: relative;
}
#slider.flexslider .slides > li .imgbox {
	border: 1px solid #ddd;
}
#slider.flexslider .slides > li .flex-caption {
	position: absolute;
	bottom: 1px;
	left: 1px;
	width : -webkit-calc(100% - 2px) ;
	width : calc(100% - 2px) ;
	margin: 0;
	padding: 0.8rem 1.5rem;
	background: rgba(255,255,255,0.8);
	font-weight: normal;
	box-sizing: border-box;
	color: #000;
	font-size: 15px;
}
#carousel.flexslider {
	border: none;
	margin-bottom: 3rem;
}
.flex-direction-nav li {
	list-style: none;
}
.flex-direction-nav a {
	line-height: 1;
}
#carousel.flexslider li .imgbox {
	box-sizing: border-box;
	border: 1px solid #ddd;
}
#carousel.flexslider li img {
	opacity: 0.5;
}
#carousel.flexslider li.flex-active-slide img,
#carousel.flexslider li img:hover {
	opacity: 1;
	cursor: pointer;
}

/* =Sidebar
-------------------------------------------------------------- */

.common-title {
	margin: 0 0 1.2rem;
	font-size: 1.8rem;
	border-bottom: 3px solid #ddd;
	padding-bottom: 0.8rem;
}

.sidebox {
	margin-bottom: 50px;
}
.side_cat {
	margin: 2rem 0;
}
.side_cat > li {
	position: relative;
	padding-left: 20px;
	margin-top: 0.5rem;
	list-style: none;
	font-size: 1.5rem;
}
.side_cat > li:before {
	position: absolute;
	content: '';
	top: 0.5em;
	left: 0;
	width: 0.9em;
	height: 0.9em;
	margin: auto;
	background: #eee;
	border-radius: 50%;
}

@media screen and (max-width: 736px) {
	.sidebox {
		margin: 5rem 0 0;
	}
}

/* = Sidebar list
-------------------------------------------------------------- */

ul.wpp-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.wpp-list li {
	list-style: none;
}
ul.wpp-list li a {
	display: flex;
	margin: 1rem 0;
	overflow: hidden;
}
ul.wpp-list li a .thumb {
	margin-right: 10px;
	width: 76px;
	flex-shrink: 0;
}
ul.wpp-list li a .thumb .imgbox {
	overflow: hidden;
	border-radius: 5px;
}
ul.wpp-list li a .thumb .imgbox img {
	width: 100%;
	height: auto;
}
ul.wpp-list li a .cont h3 {
	font-size: 1.4rem;
	margin: 0 0 10px 0;
	line-height: 1.25;
}

@media screen and (max-width: 736px) {
	ul.wpp-list a h3 {
		margin-bottom: 0.5rem;
		font-size: 1.5rem;
	}
}

/* =Admin
-------------------------------------------------------------- */
#wpadminbar {
	position: fixed;
}
@media screen and (max-width: 736px) {
	html {
		margin-top: 0!important;
	}
	#wpadminbar {
		display: none!important;
	}
}

/* =パララックス対策
-------------------------------------------------------------- */

@media only screen and (max-width: 736px), only screen and (max-device-width: 1024px) {
	/* iPad パララックス対策 */
	section, div {
		background-attachment: scroll!important;
	}
}

@media screen and (max-width: 736px) {
	.content-width {
		width: 100%!important;
		width: 480px!important;
		margin-left: auto!important;
		margin-right: auto!important;
		padding-left: 3%!important;
		padding-right: 3%!important;
	}
}

/* = Responsive
-------------------------------------------------------------- */
@media screen and (min-width: 737px) {
	.sp {
		display: none!important;
	}
}
@media screen and (max-width: 736px) {
	.pc {
		display: none!important;
	}
	#wrapper {
		overflow: hidden;
		min-width: 100%!important;
	}
}
@media screen and (max-width: 481px) {
	#wrapper {
		width: 480px;
	}
}