@charset "UTF-8";

/* ------------------------------
    page_ttl
------------------------------ */

.page_ttl {
	width: 100%;
	height: 300px;
	background: url(../img/topics/bg_pagettl.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	position: relative;
}

@media screen and (max-width: 768px) {
	.page_ttl {
		height: 150px;
		background: url(../img/topics/bg_pagettl_sp.jpg) no-repeat;
		background-size: cover;
		background-position: center center;
	}
}

/* ------------------------------
    topics_list
------------------------------ */

.topics_list {
	background: url(../img/common/bg04.png) repeat;
	padding: 100px 0 215px;
}

.topics_list .cate_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-bottom: 70px;
}

.topics_list .cate_area li,
.topics_list .cate_area li a {
	font-family: 'Chathura', sans-serif;
	font-size: 3.3rem;
	width: 150px;
	text-align: center;
	position: relative;
}

.topics_list .cate_area li a {
	display: block;
	padding: 0 0 14px;
	background: url(../img/topics/bg_cate.png) no-repeat;
	background-position: center bottom;
}

.topics_list .cate_area li.current {
	color: #DA7B00;
	padding: 0 0 14px;
	background: url(../img/topics/bg_cate_current.png) no-repeat;
	background-position: center bottom;
}

.topics_list .cate_area li + li {
	margin-left: calc((100% - (150px * 6)) / 5);
}


.topics_list .list {
	flex-wrap: wrap;
	padding-bottom: 90px;
	background: url(../img/common/border_yoko.png) no-repeat;
	background-position: center bottom;
}

.topics_list .list a {
	display: block;
	width: 319px;
}

.topics_list .list a .img {
	overflow: hidden;
}

.topics_list .list a .img img{
	width: 100%;
	transition: .3s;
}

.topics_list .list a:hover .img img{
	transform: scale(1.2);
}

.topics_list .list a + a {
	margin-left: calc((100% - (319px * 3)) / 2);
}

.topics_list .list a:nth-child(3n + 1) {
	margin-left: 0;
}

.topics_list .list a:nth-child(n + 4) {
	margin-top: 60px;
}

.topics_list .list a .cate {
	display: inline-block;
	padding-bottom: 5px;
	font-size: 3.4rem;
	background: url(../img/topics/bg_cate02.png) repeat-x;
	background-position: center bottom;
	margin: 15px 0 10px;
}

.topics_list .list a .date {
	font-size: 3.4rem;
}

.topics_list .list a .ttl {
	font-size: 1.7rem;
	line-height: 1.7;
}


/* pager */

.page-navi-below .wp-pagenavi {
	text-align: center;
	margin-top: 40px;
}

.page-navi-below .wp-pagenavi a,
.page-navi-below .wp-pagenavi span {
	color: #000;
	border: none;
	font-size: 3.6rem;
	line-height: 36px;
	font-family: 'Chathura', sans-serif;
	margin: 0 12px;
	padding: 0;
	display: inline-block;
	width: 23px;
}

.page-navi-below .wp-pagenavi a:hover, .wp-pagenavi span.current {
	border:none;
}

.page-navi-below .wp-pagenavi span.current {
	color: #DA7B00;
	border-bottom: 2px solid #DA7B00;
}

.page-navi-below .wp-pagenavi .previouspostslink,
.page-navi-below .wp-pagenavi .nextpostslink {
	width: auto;
}

@media screen and (max-width: 768px) {
	.topics_list {
		background: url(../img/common/bg04.png) repeat;
		padding: 30px 0 65px;
	}

	.topics_list .cate_area {
		width: 100%;
		/*		max-width: 500px;*/
		margin: 0 auto 44px;
	}
	.topics_list .cate_area li {
		font-size: 2.5rem;
		width: 32%;
	}
	.topics_list .cate_area li a {
		font-size: 2.5rem;
		width: 100%;
	}
	.topics_list .cate_area li a {
		padding: 0 0 9px;
		background-size: 100% 7px;
		background-position: center bottom;
	}

	.topics_list .cate_area li.current {
		padding: 0 0 9px;
		background-size: 100% 7px;
		background-position: center bottom;
	}
	.topics_list .cate_area li + li {
		margin-left: 2%;
	}
	.topics_list .cate_area li:nth-child(3n + 1) {
		margin-left: 0;
	}
	.topics_list .cate_area li:nth-of-type(n + 4){
		margin-top: 20px;
	}

	.topics_list .list {
		display: block;
		padding-bottom: 45px;
		background-size: 100% 2px;
	}
	.topics_list .list a {
		display: flex;
		width: 100%;
		align-items: flex-start;
	}
	.topics_list .list a + a {
		margin-left: 0;
		margin-top: 33px;
	}
	.topics_list .list a:nth-child(n + 4) {
		margin-top: 33px;
	}
	.topics_list .list a .img {
		width: 45%;
		max-width: 250px;
		min-width: 130px;
		margin-right: 16px;
	}
	.topics_list .list a .txt {
		width: calc(100% - 45%);
	}
	.topics_list .list a .cate {
		padding-bottom: 2px;
		font-size: 2.5rem;
		background-size: 100% 5px;
		margin: -6px 0 5px;
	}
	.topics_list .list a .date {
		font-size: 2.5rem;
	}
	.topics_list .list a .ttl {
		font-size: 1.2rem;
		line-height: 1.45;
	}


	/* pager */
	.pager {
		margin-top: 15px;
		justify-content: space-between;
		max-width: 400px;
	}
	.pager li {
		line-height: 20px;
	}
	.pager li + li {
		margin-left: 3px;
	}
	.pager a,
	.pager span {
		width: 13px;
		height: 20px;
		font-size: 2rem;
	}

	.pager span {
		color: #DA7B00;
		border-bottom: 1px solid #DA7B00;
	}
	.pager .prev {
		margin-right: 9px;
	}
	.pager .next {
		margin-left: 12px;
	}
	.pager .prev a,
	.pager .next a {
		width: auto;
	}
}



/* ------------------------------
    topics_detail
------------------------------ */

.topics_detail{
	background: url(../img/common/bg04.png) repeat;
	padding: 100px 0 50px;
}

.topics_detail .main_contents{
	width: 792px;
	margin: 0 auto;
}

.topics_detail .main_contents .cate {
	display: inline-block;
	font-size: 3.6rem;
	padding-bottom: 10px;
	color: #DA7B00;
	background: url(../img/topics/bg_cate_current.png) no-repeat;
	background-position: center bottom;
	min-width: 150px;
	text-align: center;
	margin-bottom: 20px;
}

.topics_detail .main_contents .date {
	font-size: 3.6rem;
	margin-bottom: 20px;
}

.topics_detail .main_contents h3 {
	font-size: 2.6rem;
	padding: 20px;
	line-height: 1.9;
	background: url(../img/common/border_yoko.png),
	url(../img/common/border_yoko.png);
	background-repeat: no-repeat;
	background-position: left top, left bottom;
	margin-bottom: 35px;
}
.topics_detail .main_contents h3 + .img{
	margin-top: 65px;
}
.topics_detail .main_contents .img {
	margin-bottom: 50px;
}

.topics_detail .main_contents .img > p {
	font-size: 1.5rem;
	line-height: 1.6;
	margin-top: 10px;
}

.topics_detail .main_contents .border {
	padding-bottom: 50px;
	background: url(../img/topics/bg_line02.png) no-repeat;
	background-position: center bottom;
	margin-bottom: 74px;
	border: none;
}

.topics_detail .main_contents .font_midashi {
	font-size: 2.2rem;
	line-height: 1.5;
	margin-bottom: 15px;
}

.topics_detail .main_contents p {
	font-size: 1.7rem;
	line-height: 2.5;
}

.topics_detail .main_contents p > a {
	color: #0072FF;
	text-decoration: underline;
}

.topics_detail .main_contents .col2 {
	display: flex;
	margin-bottom: 60px;
}

.topics_detail .main_contents .col2 > div {
	width: 384px;
}

.topics_detail .main_contents .col2 > div + div {
	margin-left: calc(100% - (384px * 2));
}


.topics_detail .main_contents h2 {
	background: url(../img/topics/bg_h2.png) repeat-x;
	width: 100%;
	height: 87px;
	font-size: 2.8rem;
	color: #EDDFC4;
	line-height: 87px;
	padding-left: 25px;
	margin-bottom: 35px;
	letter-spacing: 0.1em;
}

.topics_detail .main_contents h3 + p {
	font-size: 1.7rem;
	line-height: 2.58;
}

.topics_detail .main_contents ul {
	background: rgba(255, 255, 255, 0.3);
	padding: 36px 50px 50px;
	margin: 50px auto 56px;
}

.topics_detail .main_contents ul li {
	font-size: 1.8rem;
	line-height: 1.5;
	letter-spacing: -1px;
	text-indent: -28px;
	padding-left: 28px;
}

.topics_detail .main_contents ul li + li {
	margin-top: 20px;
}

.topics_detail .main_contents li::before {
	content: "";
	width: 18px;
	height: 18px;
	background: #FF8D00;
	display: inline-block;
	margin-right: 10px;
	position: relative;
	top: 1px;
}

.topics_detail .main_contents .btn_area {
	margin-bottom: 130px;
}

.topics_detail .main_contents .btn_area p:first-child {
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 10px;
}

.topics_detail .main_contents .btn a {
	position: relative;
	width: 364px;
	height: 82px;
	display: block;
	margin: 0 auto;
	color: #000;
	text-decoration: none;
}

.topics_detail .main_contents .btn a span {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: rgba(255, 141, 0, 0.9);
	font-size: 2rem;
	text-align: center;
	line-height: 82px;
	z-index: 2;
}

.topics_detail .main_contents .btn a::after {
	content: '';
	position: absolute;
	display: block;
	top: 7px;
	left: 7px;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: url(../img/common/bg_btn.png) repeat;
}

.topics_detail .main_contents .back_btn{
	margin-bottom: 146px;
	margin-top: 6rem;
}

.topics_detail .main_contents .back_btn a span::after {
	content: "";
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 48px;
	margin: -6px auto 0;
	width: 10px;
	height: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(-135deg);
}


.topics_detail .main_contents .video_area {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	height: 0;
	overflow: hidden;
	margin-bottom: 100px;
}

.topics_detail .main_contents .video_area iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.topics_detail .main_contents .map_area{
	position: relative;
	margin-bottom: 100px;
}
.topics_detail .main_contents .map_area .googlemap {
	width: 100%;
	height: 518px;
}
.topics_detail .main_contents .map_area .map_btn a{
	width: 216px;
	height: 38px;
	line-height: 38px;
	background: #FF8D00;
	position: absolute;
	left: 0;
	bottom: 0;
	text-align: center;
	color: #000;
	text-decoration: none;
}

.topics_detail .main_contents blockquote {
	background: #f4f4f4;
	padding: 1em;
	border-left: 4px solid #FF8D00;
	margin: 1rem;
}

.new_topics.topics_list{
	padding: 0;
}
.new_topics .list{
	background: none;
}
.new_topics .ttl_list{
	font-size: 2.2rem;
	line-height: 1.6;
	padding-bottom: 15px;
	background: url(../img/common/border_yoko.png) no-repeat;
	background-position: center bottom;
	padding-left: 10px;
	margin-bottom: 57px;
}

@media screen and (max-width: 768px) {
	.topics_detail{
		padding: 25px 0 50px;
	}

	.topics_detail .main_contents{
		width: 100%;
		padding: 0 5%;
	}

	.topics_detail .main_contents .cate {
		font-size: 2.5rem;
		padding-bottom: 5px;
		background-size: 100% 5px;
		min-width: 75px;
		margin-bottom: 10px;
	}

	.topics_detail .main_contents .date {
		font-size: 2.5rem;
		margin-bottom: 10px;
	}

	.topics_detail .main_contents h3 {
		font-size: 1.6rem;
		padding: 10px 5px;
		line-height: 1.6;
		background-size: 100% 3px;
		margin-bottom: 20px;
	}

	.topics_detail .main_contents .img.sp100 {
		width: 100vw;
		margin: 0 -5vw 30px;
	}

	.topics_detail .main_contents .img > p {
		font-size: 1.2rem;
		margin-top: 5px;
	}

	.topics_detail .main_contents {
		padding-bottom: 25px;
		margin-bottom: 30px;
	}

	.topics_detail .main_contents .font_midashi {
		font-size: 1.3rem;
		line-height: 1.5;
		margin-bottom: 10px;
	}

	.topics_detail .main_contents p {
		font-size: 1.2rem;
		line-height: 2;
	}

	.topics_detail .main_contents .col2 {
		display: block;
		margin-bottom: 30px;
	}

	.topics_detail .main_contents .col2 > div {
		width: 100%;
	}

	.topics_detail .main_contents .col2 > div + div {
		margin-left: 0;
	}


	.topics_detail .main_contents h2 {
		background-size: auto 60px;
		width: 100%;
		height: 60px;
		font-size: 1.6rem;
		line-height: 60px;
		padding-left: 17px;
		margin-bottom: 35px;
	}

	.topics_detail .main_contents h3 + p {
		font-size: 1.2rem;
		line-height: 2;
	}

	.topics_detail .main_contents ul {
		padding: 20px 17px 25px;
		margin: 25px auto 30px;
	}

	.topics_detail .main_contents ul li {
		font-size: 1.2rem;
		text-indent: -17px;
		padding-left: 17px;
	}

	.topics_detail .main_contents ul li + li {
		margin-top: 10px;
	}

	.topics_detail .main_contents li::before {
		width: 12px;
		height: 12px;
		margin-right: 5px;
	}

	.topics_detail .main_contents .btn_area {
		margin-bottom: 80px;
	}

	.topics_detail .main_contents .btn_area p:first-child {
		font-size: 1.3rem;
	}

	.topics_detail .main_contents .btn a {
		width: 70%;
		min-width: 255px;
		height: 72px;
	}

	.topics_detail .main_contents .btn a span {
		font-size: 1.5rem;
		line-height: 72px;
	}

	.topics_detail .main_contents .btn a::after {
		top: 6px;
		left: 6px;
		background-size: 8px 8px;
	}

	.topics_detail .main_contents .back_btn{
		margin-bottom: 45px;
	}

	.topics_detail .main_contents .back_btn a span::after {
		left: 30px;
		margin: -4px auto 0;
		width: 10px;
		height: 10px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
	}


	.topics_detail .main_contents .video_area {
		margin-bottom: 45px;
	}

	.topics_detail .main_contents .map_area{
		margin-bottom: 45px;
	}
	.topics_detail .main_contents .map_area iframe {
		height: 276px;
	}
	.topics_detail .main_contents .map_area .map_btn a{
		width: 40%;
		min-width: 140px;
		font-size: 1.2rem;
		height: 28px;
		line-height: 28px;
	}
	.new_topics .ttl_list{
		font-size: 1.5rem;
		padding-bottom: 8px;
		background-size: auto 2px;
		padding-left: 0;
		margin-bottom: 30px;
	}
	.topics_detail .main_contents .map_area .googlemap {
		height: 60vw;
	}
}
