@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');

.sp,.spnavi{
	display:none !important;
}

.anchor{
    display: block;
    width: 100%;
    height: 0px;
    float: left;
    clear: both;
}

/*アニメーション要素のスタイル*/
.fade{
	opacity : 0;
	visibility: hidden;
	transition: 1.2s;
    transition-delay: 0.25s;
    transform: translateY(30px);
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

*{
	margin:0;
	padding:0;
}

img{
	display: block;
	max-width: 100%;
	height: auto;
	border:0;
	border-style:none;
}

a{
	color: #000;
	word-break: break-all !important;
}

a img {
	border:0;
    border-style:none;
}

html{
	height:100%;
}

body{
	font-family: 'Montserrat', sans-serif;
    font-family: 'Noto Sans JP', sans-serif;
    width:100%;
	height:100%;
	margin:0;
    animation: fadeIn 1.2s ease 0s 1 normal;
    -webkit-animation: fadeIn 1.2s ease 0s 1 normal;
}

header ul {
	list-style:none;
}

header{
	display: block;
	position: absolute;
	width: 100%;
	height: 80px;
	margin: 0 !important;
	top:0;
	z-index: 10 !important;
    background-color: #fff;
}
#topimg{
	display: block;
    position: relative;
	min-width: 100%;
	width: 100% !important;
    height: 80%;
    min-height: 80vh;
	margin-top: 80px;
	z-index: 1;
    background-color: #000;
    float: left;
    clear: both;
}
#topimg img{
	display: block;
	width: 100% !important;
	height: 80vh;
    object-fit: cover !important;
    object-position: center center !important;
    overflow: hidden;
}
.mainlogo{
	display: block;
    position: absolute;
    top:0;
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
    mix-blend-mode:soft-light !important;
    z-index: 11;
}
#header_bg{
	display: block;
    position: relative;
	min-width: 100%;
	width: 100% !important;
    height: 350px;
	margin-top: 80px;
    margin-bottom: 40px !important;
	z-index: 1;
    background-color: #000;
    float: left;
    clear: both;
}
#header_bg img{
	display: block;
	width: 100% !important;
	height: 350px;
    object-fit: cover !important;
    object-position: center center !important;
    overflow: hidden;
}
main{
	display: block;
	width: 100%;
    min-height: 300px;
	margin: 0 0 0 0;
	float: left;
	clear: both;
}
main section{
	display: block;
	width: 100%;
	margin: 0 0 0 0;
	float: left;
	clear: both;
}
main section article{
	display: block;
	width: 100%;
	min-height: auto;
    height: auto;
	margin: 0 auto 0 auto;
	overflow: auto;
	overflow-x: hidden;
	overflow-y: hidden;
    float: none;
	clear: both;
}

footer{
	display: block;
	width: 100%;
    text-align: center;
	padding:0;
	margin: 80px 0 0 0;
	float: left;
	clear: both;
}

#secondary footer{
	/*border-top: solid 1px #999;*/
    padding-top: 70px;
    background-color: #EEE9E1;
}

#logo a{
	display: inline;
	position: absolute;
	text-decoration: none;
	width: 137px;
	height: 50px;
	margin: 15px 0 0 40px;
	z-index: 6;
    transition-duration: 0.2s;
}
#logo a:hover{
    filter: alpha(opacity=40);
	-moz-opacity:0.40;
	opacity:0.40;
	transition-duration: 0.2s;
}

.copyright{
	display: block;
	font-family: Arial, Helvetica, "sans-serif" !important;
	width:100%;
	text-align:center;
	color: #fff !important;
	font-size:10px;
    background-color: #604c3f;
	padding: 15px 0 !important;
	margin:100px 0 0 0 !important;
	float: left;
	clear: both;
}

nav{
	display: block;
	width: 100%;
	position: absolute;
	top: 0;
}
#gnavi{
	display: inline-block;
    width: auto;
    position: relative;
    font-size: 18px;
    font-weight: 400;
	text-align: right !important;
    padding-right: 53px;
	margin: 27px auto 0 auto;
    flex-wrap:wrap;
    justify-content: space-between;
    float: right;
    clear: both;
    z-index: 10;
}
#gnavi li{
	display: inline;
    width: auto;
	padding: 0 0 0 30px;
	margin: 0;
	clear: none;
}
#gnavi li a{
    text-decoration: none;
    width: 100%;
    color: #000;
    text-align: center;
	transition-duration: 0.2s;
}
#gnavi li a:hover{
	filter: alpha(opacity=40);
	-moz-opacity:0.40;
	opacity:0.40;
	transition-duration: 0.2s;
}

.header_topics_area{
    display: block;
    position: relative;
    width: 100%;
    height: 30px;
    background-color: #604c3f;
    float: left;
    clear: both;
    top:80px;
    z-index: 10;
}
.header_topics_area dl{
    display: inline-block;
    color: #fff;
    font-size: 11px;
    margin-top: 6px;
    margin-right: 50px;
    float: right;
}
.header_topics_area dl a{
    color: #fff;
}
.header_topics_area dl a:hover{
    text-decoration: none;
}
.header_topics_area dl dt{
    display: inline;
    font-weight: 500;
    padding-right: 5px;
}
.header_topics_area dl dd{
    display: inline;
    font-weight: 400;
}
.header_topics_area dl dd span{
    color:#D4B688;
    padding-left: 4px;
}

.lead_area{
    display: block;
    position: relative;
    width: 100%;
    margin: -100px 0 0 0;
    float: left;
    clear: both;
    z-index: 11;
}
.lead_area article{
    display: block;
    width:calc(100% - 100px);
    max-width: 1000px;
    text-align: center;
    background-color: #fff;
    background-image: url("../images/lead_bg.png");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% 8px;
    padding: 60px 0 0 0;
    margin: 0 auto 80px auto;
}
.lead_area article p{
    font-size: 20px;
    line-height: 180%;
    letter-spacing: 1px;
    margin-bottom: 35px;
}
.lead_area article p strong{
    font-size: 24px;
    line-height: 140%;
    font-weight: 500;
    color: #956134;
}

footer p{
    font-size: 15px;
    line-height: 220%;
    font-weight: 400;
    letter-spacing: 1px;
}
footer p strong{
    display: block;
    width: 100%;
    font-size: 18px !important;
    line-height: 150% !important;
    font-weight: 500;
    color: #956134;
    margin-bottom: 25px;
    float: left;
    clear: both;
}
.tel{
    font-size: 21px;
}
.tel a{
    text-decoration: none;
    line-height: 240% !important;
}

.photo_area{
    display: block;
    width: 100%;
    float: left;
    clear: both;
}
.photo_area article{
    display: flex;
    width: 90% !important;
    max-width: 950px;
    text-align: center;
    margin: 0 auto;
    flex-wrap:wrap;
    justify-content: space-between;
    float: none;
    clear: both;
}

.photo_area article img{
    display: inline-block;
    width: 31%;
    max-width: 300px;
    margin-bottom: 30px;
}
.topics_area{
    display: block;
    width: 100%;
    float: left;
    clear: both;
}
.topics_area .topics{
    display: block;
    width: 100%;
    text-align: center;
    float: left;
    clear: both;
}
.topics_area .topics p{
    font-size:15px;
    line-height: 150%;
    font-weight: 400;
    margin-bottom: 15px;
}
.topics_area .topics p span{
    font-weight: 500;
    margin-right: 15px;
}
.topics_area .topics p a:hover{
    text-decoration: none;
}
.access_area{
    display: block;
    width: 100%;
    text-align: center;
    float: left;
    clear: both;
}
section h2{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 18px;
    font-weight: 600 !important;
    color: #604c3f;
    margin: 120px 0 30px 0;
    float: left;
    clear: both;
}

.contents_area article{
    display: block;
    width: 90%;
    max-width: 1000px;
    font-size: 15px;
    margin: 0 auto !important;
}

.contents_area article p{
    text-align: left;
    font-size: 15px;
    line-height: 180%;
    margin-bottom: 25px;
}

.contents_area article h3{
    text-align: left;
    font-size: 25px !important;
    font-weight: 300 !important;
    color: #604c3f !important;
    margin-bottom: 30px !important;
}

aside{
    display: block;
    width: 230px;
    float: right;
}
#secondary .blog_list{
    display: table;
    width: calc(100% - 280px);
    font-weight: 400;
    margin: 0;
    float: left;
}
#secondary .blog_list dt{
    display: table-cell;
    width: 200px;
    font-weight: bold;
    margin: 0 20px 12px 0;
    float: left;
    clear: both;
}
#secondary .blog_list dd{
    display: table-cell;
    width: 100% !important;
    margin: 0 0 32px 0;
    float: left;
    clear: both;
}
#secondary .blog_list dd strong{
    font-weight: 400;
    font-size: 16px !important;
}
#secondary .blog_list dd strong a:hover{
    text-decoration: none;
}
#secondary .blog_list hr{
    display: block;
    width: 100% !important;
    height: 30px !important;
    border: 0;
    border-top: solid 1px #ccc;
    margin: 0 0 0 0;
    float: left;
    clear: both;
}
.contents_area article .news_excerpt p{
    display: block;
    width: 100%;
    font-size: 14px !important;
    line-height: 150%;
    font-weight: 400;
    color: #333 !important;
    margin: 10px 0 0 0;
    float: left;
    clear: both;
}

.info_navi{
	display: flex;
	width: 100%;
    padding: 10px 0 0 0;
	margin: 80px auto 0 auto;
    font-size: 10px;
    color: #000;
    flex-direction: row;
    justify-content: space-around;
    border-top: solid 1px #ccc;
	float: none;
	clear: both;
}
.icon-prev{
	display: block;
	width: 200px;
	height: auto;
    text-align: left;
	float: left;
}

.icon-next{
	display: block;
	width: 200px;
	height: auto;
    text-align: right;
	float: left;
}
.icon-list{
	display: block;
	width: 200px;
	height: auto;
    text-align: center;
	float: left
}
.info_navi a{
    text-decoration: none;
    color: #666 !important;
}
.info_navi a:hover{
    color: #5BA2A7 !important;
}

.category_article dt span{
    display: inline-block;
    width: 100px;
    color: #fff;
    font-size: 9px !important;
    line-height: 9px !important;
    text-align: center !important;
    font-weight: normal !important;
    padding: 4px 0 4px 0;
    margin: 4px 0 0 0 !important;
    border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
    vertical-align: top  !important;
    float: right;
}
.category1{
    background-color: #A3D7B5;
}
.category4{
    background-color: #ADD6E2;
}
.category5{
    background-color: #D6CC94;
}
.category6{
    background-color: #DEC58C;
}
.category7{
    background-color: #F3CAF8;
}
.categor8{
    background-color: #E4C137;
}

/* pager */
.pager{
	display:block;
	width:100%;
	height:20px;
	text-align:center;
	font-size:16px;
    font-weight: 400;
	margin:0 0 0 0;
	float:left;
	clear:both;
}

a.page-numbers,
.pager .current{
	color: #333;
	text-decoration: none;
	margin:0 10px;
}
.pager .current{
	color:#D90000;
    font-weight: 600;
}

#sidebar{
    display: block;
    width: 230px !important;
    margin-top: -85px !important;
    float: right;
}
#sidebar ul{
    display: block;
    width: 100%;
    margin-bottom: 50px !important;
    float: left;
    clear: both;
}
#sidebar ul li{
    width: calc(100% - 30px) !important;
    margin-bottom: 10px !important;
    margin-left: 30px;
    float: left;
    clear: both !important;
}
#sidebar ul li a{
    display: inline;
    width: 100%;
    font-size: 13px !important;
    line-height: 120% !important;
    clear: both !important;
}
#sidebar ul li a:hover{
    text-decoration: none;
}

.snavi_title strong{
    display: block;
    width: 100%;
    font-size: 22px !important;
    font-weight: 300 !important;
    color: #604c3f !important;
    margin: 0 0 20px 0;
    float: left;
    clear: both;
}

.single_article .date{
    display: block;
    width: 200px;
    font-weight: bold;
    margin: 0 0 50px 0;
    clear: both;
}
.single_article .date span{
    display: inline-block;
    width: 100px;
    color: #fff;
    font-size: 9px !important;
    line-height: 9px !important;
    text-align: center !important;
    font-weight: normal !important;
    padding: 4px 0 4px 0;
    margin: 4px 0 0 0 !important;
    border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
    vertical-align: top  !important;
    float: right;
}
.single_article_title strong{
    display: block;
    width: 100%;
    text-align: left;
    font-size: 20px !important;
    line-height: 140%;
    font-weight: 600 !important;
    color: #604c3f !important;
    border-bottom: solid 1px #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px !important;
    float: left;
    clear: both;
}

/* メディアファイルレイアウト */
.alignleft,.alignnone{
	display: inline-block;
	float:left !important;
	margin:0 20px 20px 0;
}

.alignright{
	display: inline-block;
	float:right !important; 
	margin:0 0 20px 20px;
    clear: right;
    
}
.aligncenter{
	display:block;
	margin:0 auto 20px auto;
	float:none;
	clear:both;
}
